Repository: splunk/addonfactory-ucc-generator (language: python)

Issue:
Feature request: Custom Mapping default value
### Description

A default value for custom mapping could be great, especially for boolean custom mapping (that could be undefined)

I can propose something like : 
"mapping": {
    "1": "Checked",
    "true": "Checked",
    "0": "Unchecked",
    "false": "Unchecked",
    "default": "Not defined"
}


Discussion / hints:
Thanks for raising it, seems like a nice feature to implement. We will take care of that and release in 2 weeks.

Fix patch:
diff --git a/.licenserc.yaml b/.licenserc.yaml
index 47ba5b296..c2309add2 100644
--- a/.licenserc.yaml
+++ b/.licenserc.yaml
@@ -27,7 +27,7 @@ header:
     - "poetry.lock"
     - "ui/yarn.lock"
     - "docs/**"
-    - "splunk_add_on_ucc_framework/templates/*"
+    - "splunk_add_on_ucc_framework/templates/**"
     - "splunk_add_on_ucc_framework/commands/modular_alert_builder/arf_template/**"
     - "tests/**"
     - "README.md"
diff --git a/docs/advanced/custom_mapping.md b/docs/advanced/custom_mapping.md
index 55413c340..746b139b7 100644
--- a/docs/advanced/custom_mapping.md
+++ b/docs/advanced/custom_mapping.md
@@ -1,5 +1,7 @@
 We can use this feature to map each field with meaningful value to display in the table. For example, the category field contains 1, 2, and 4 values, but when those values are displayed, the user might get confused as those values do not signify the meaning of their mapping. To avoid this confusion, the user can map each field with meaningful value as shown in the following example:
 
+If you have fields that are not mandatory but you would like to display them inside table, you can use default value option by providing ```"[[default]]"``` as one of parameters (check example bellow). It is a way to provide some meaningful information for form fields that have not been filled (fill empty cells in table).
+
 ### Usage
 
 ```json
@@ -22,7 +24,8 @@ We can use this feature to map each field with meaningful value to display in th
                 "mapping": {
                     "1": "Global",
                     "2": "US Gov",
-                    "4": "China"
+                    "4": "China",
+                    "[[default]]": "Unknown"
                 }
             }
         ],
@@ -47,7 +50,7 @@ We can use this feature to map each field with meaningful value to display in th
             "field": "category",
             "label": "Region Category",
             "type": "singleSelect",
-            "required": true,
+            "required": false,
             "defaultValue": 1,
             "options": {
                 "disableSearch": true,
diff --git a/docs/dashboard.md b/docs/dashboard.md
index b8d58f755..5676baa07 100644
--- a/docs/dashboard.md
+++ b/docs/dashboard.md
@@ -21,9 +21,15 @@ As of now, 4 pre-built panels are supported:
 * Errors in the add-on.
 * Resource consumption.
 
-**IMPORTANT**: To fully use the panels available on the monitoring dashboard, use the `solnlib.log`'s [`events_ingested` function](https://github.com/splunk/addonfactory-solutions-library-python/blob/v4.14.0/solnlib/log.py#L253), available from **version 4.14**, to record events.
+**IMPORTANT**:
 
-The above function takes 5 positional parameters which are:
+* To fully use the panels available on the monitoring dashboard, use the `solnlib.log`'s [`events_ingested` function](https://github.com/splunk/addonfactory-solutions-library-python/blob/v5.2.0/solnlib/log.py#L280), to record events.
+Due to some changes in dashboard queries in UCC version **5.49.0**, you must use `solnlib` in at least version **5.2.0**.
+* Sometimes, especially with a short data collection period, the first chart in the overview section may not display data when the **all time** period is selected.
+This is because the `join` function used to aggregate data volume and number of ingested events does not have a default **span** for the **all time** range.
+Over time, the problem should automatically disappear.
+
+The above `events_ingested` function takes 5 positional parameters which are:
 
 * `logger`
 * `modular_input_name`
@@ -35,10 +41,15 @@ and 2 optional named parameters:
 
 * `account`
 * `host`
+* `license_usage_source` (available from version 5.2)
 
 If you additionally provide `account` and `host` arguments - you will get a better visibility in your dashboard.
 Please note that as a `modular_input_name` you should pass the full input in the format: **`demo_input://my_input_1`**.
 
+If for your add-on `license usage` file writes data in a source format that doesn't fit the above, the `events_ingested` function in **solnlib v5.2**
+has an additional, optional parameter `license_usage_source` that allows for proper data correlation
+between license usage and data written by the `events_ingested` function.
+
 Example of an `events_ingested` function:
 
 ```python
diff --git a/docs/entity/components.md b/docs/entity/components.md
index 6be179ff0..899e77871 100644
--- a/docs/entity/components.md
+++ b/docs/entity/components.md
@@ -526,6 +526,56 @@ See the following example:
 }
 ```
 
+## `Index`
+
+A field used to specify [index](https://docs.splunk.com/Splexicon:Index).
+
+<h3> Attributes </h3>
+
+| Property     | Type    | Description                                                                                                                      |
+|--------------|---------|----------------------------------------------------------------------------------------------------------------------------------|
+| type*        | string  | To specify the type of entity to be rendered in inputs or configuration form.                                                    |
+| field*       | string  | To define a particular entity field.                                                                                             |
+| label*       | string  | Text displayed next to entity field.                                                                                             |
+| defaultValue | string  | The initial input value.                                                                                                         |
+| help         | string  | Help text gives context about a fields input, such as how the input will be used. It is displayed directly below an input field. |
+| required     | string  | To specify whether the field is required or not.                                                                                 |
+
+
+See the following examples:
+
+Only required attributes provided:
+
+```json
+{
+    "type": "index",
+    "field": "index",
+    "label": "Index"
+}
+```
+
+All attributes provided:
+
+```json
+{
+    "type": "index",
+    "field": "index",
+    "label": "Index",
+    "help": "An index is a type of data repository. Select the index in which you want to collect the events.",
+    "defaultValue": "main",
+    "required": true
+}
+```
+
+Index field has two internal validators:
+
+1. REGEX that forces index names to start with a letter or digit and can only contain letters, numbers, underscores or hyphens.
+2. LENGTH which allows for an index name to have of 1 to 80 characters.
+
+`endpointUrl` for that entity is `data/indexes?search=isInternal=0+disabled=0`
+
+During the build process, new index field will be converted to a full [definition](https://github.com/splunk/addonfactory-ucc-generator/blob/main/splunk_add_on_ucc_framework/entity/index_entity.py#L23) and saved in the globalConfig in the output directory.
+
 ## `Custom`
 
 Custom type entity enables us to create our own custom inputs within the Form components. As a result, we may include our own custom input fields on the form. Visit the [Custom Control](../custom_ui_extensions/custom_control.md) page to learn more.
diff --git a/docs/entity/modifyFieldsOnValue.md b/docs/entity/modifyFieldsOnValue.md
index 0aef91230..b58bf2183 100644
--- a/docs/entity/modifyFieldsOnValue.md
+++ b/docs/entity/modifyFieldsOnValue.md
@@ -16,6 +16,7 @@ This feature allows to specify conditions to modify other fields based on curren
 | display                                          | boolean                   | Declares display property of target component                |
 | value                                            | string, number or boolean | Declares current value of target component                   |
 | disabled                                         | boolean                   | Declares if component should be disabled (enable = false)    |
+| required                                         | boolean                   | Declares if component should be required                     |
 | help                                             | string                    | Declares help text                                           |
 | label                                            | string                    | Declares label text                                          |
 | markdownMessage                                  | object                    | Declares markdown message to display                         |
@@ -92,7 +93,8 @@ This feature allows to specify conditions to modify other fields based on curren
                         "markdownType": "text",
                         "text": "New markdown message for other values",
                         "color": "red"
-                    }
+                    },
+                    "required": false
                 }
             ]
         },
@@ -110,7 +112,8 @@ This feature allows to specify conditions to modify other fields based on curren
                         "markdownType": "link",
                         "text": "New markdown message for value 'a' as username",
                         "link": "https://splunk.github.io/addonfactory-ucc-generator/"
-                    }
+                    },
+                    "required": true
                 }
             ]
         },
@@ -124,6 +127,7 @@ This feature allows to specify conditions to modify other fields based on curren
                     "label": "New label for value 'aa' as username",
                     "value":"New value for value 'aa' as username",
                     "help": "New help for value 'aa' as username",
+                    "required": true
                 }
             ]
         },
@@ -143,7 +147,8 @@ This feature allows to specify conditions to modify other fields based on curren
                         "link": "https://splunk.github.io/addonfactory-ucc-generator/",
                         "token": "token",
                         "linkText": "for value"
-                    }
+                    },
+                    "required": true
                 }
             ]
         },
@@ -161,7 +166,8 @@ This feature allows to specify conditions to modify other fields based on curren
                     "markdownMessage": {
                         "markdownType": "text",
                         "text": "markdown message plain text used only when editing entity"
-                    }
+                    },
+                    "required": false
                 }
             ]
         }
diff --git a/poetry.lock b/poetry.lock
index 87ac26649..23efb44e5 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -2,13 +2,13 @@
 
 [[package]]
 name = "addonfactory-splunk-conf-parser-lib"
-version = "0.4.0"
+version = "0.4.3"
 description = "Splunk .conf files parser"
 optional = false
-python-versions = ">=3.7,<4.0"
+python-versions = "<4.0,>=3.7"
 files = [
-    {file = "addonfactory_splunk_conf_parser_lib-0.4.0-py3-none-any.whl", hash = "sha256:9567b6c8cb87668c1120517fb6001f9cf3c04d07c923f57385b0bb025df42c24"},
-    {file = "addonfactory_splunk_conf_parser_lib-0.4.0.tar.gz", hash = "sha256:e892cd26dc9708512f864a397ed101579cceefe2c408ea5be2dc5032d2edf05d"},
+    {file = "addonfactory_splunk_conf_parser_lib-0.4.3-py3-none-any.whl", hash = "sha256:16a66c1829eec876c21b2d2ee2b2ef305bc23516837fc0e63d5e7512c06d357d"},
+    {file = "addonfactory_splunk_conf_parser_lib-0.4.3.tar.gz", hash = "sha256:847e2eb34b3be35d1e5d3d5a2cdaec1ccd33cc687b7bbd1f3f746184f16b1479"},
 ]
 
 [[package]]
@@ -1335,6 +1335,7 @@ files = [
     {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"},
     {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"},
     {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"},
+    {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"},
     {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"},
     {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"},
     {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"},
@@ -1650,13 +1651,13 @@ watchmedo = ["PyYAML (>=3.10)"]
 
 [[package]]
 name = "webdriver-manager"
-version = "4.0.1"
+version = "4.0.2"
 description = "Library provides the way to automatically manage drivers for different browsers"
 optional = false
 python-versions = ">=3.7"
 files = [
-    {file = "webdriver_manager-4.0.1-py2.py3-none-any.whl", hash = "sha256:d7970052295bb9cda2c1a24cf0b872dd2c41ababcc78f7b6b8dc37a41e979a7e"},
-    {file = "webdriver_manager-4.0.1.tar.gz", hash = "sha256:25ec177c6a2ce9c02fb8046f1b2732701a9418d6a977967bb065d840a3175d87"},
+    {file = "webdriver_manager-4.0.2-py2.py3-none-any.whl", hash = "sha256:75908d92ecc45ff2b9953614459c633db8f9aa1ff30181cefe8696e312908129"},
+    {file = "webdriver_manager-4.0.2.tar.gz", hash = "sha256:efedf428f92fd6d5c924a0d054e6d1322dd77aab790e834ee767af392b35590f"},
 ]
 
 [package.dependencies]
@@ -1730,4 +1731,4 @@ testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more
 [metadata]
 lock-version = "2.0"
 python-versions = "^3.7"
-content-hash = "c542f96c8441e92240503a85287767b54700bd4877e04cc27452ce6e56885399"
+content-hash = "b8706782dcaed29f95cbd6f7bd241830bb5e21017480e91c6421501360804554"
diff --git a/pyproject.toml b/pyproject.toml
index 164d2a0e7..79940c4ff 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -41,7 +41,7 @@ classifiers = [
 [tool.poetry.dependencies]
 python = "^3.7"
 jinja2 = ">=2,<4"
-addonfactory-splunk-conf-parser-lib = "*"
+addonfactory-splunk-conf-parser-lib = "^0.4.3"
 dunamai = "^1.9.0"
 jsonschema = "^4.4.0"
 PyYAML = "^6.0"
diff --git a/splunk_add_on_ucc_framework/commands/build.py b/splunk_add_on_ucc_framework/commands/build.py
index 13a5ba69a..ead09345f 100644
--- a/splunk_add_on_ucc_framework/commands/build.py
+++ b/splunk_add_on_ucc_framework/commands/build.py
@@ -677,8 +677,7 @@ def generate(
     if not os.path.exists(default_meta_conf_path):
         os.makedirs(os.path.join(output_directory, ta_name, "metadata"), exist_ok=True)
         meta_conf = meta_conf_lib.MetaConf()
-        meta_conf.create_default()
-        meta_conf.write(default_meta_conf_path)
+        meta_conf.write_default(default_meta_conf_path)
         logger.info(
             f"Created default {meta_conf_lib.DEFAULT_META_FILE_NAME} file in the output folder"
         )
diff --git a/splunk_add_on_ucc_framework/commands/modular_alert_builder/arf_template/default_html_theme/textarea.html b/splunk_add_on_ucc_framework/commands/modular_alert_builder/arf_template/default_html_theme/textarea.html
new file mode 100644
index 000000000..d3f9bd2d2
--- /dev/null
+++ b/splunk_add_on_ucc_framework/commands/modular_alert_builder/arf_template/default_html_theme/textarea.html
@@ -0,0 +1,6 @@
+{% extends "basecontrol.html" %}
+{% from "helper.html" import expand_ctrl_props with context %}
+{% block control %}
+<textarea name="action.{{ mod_alert.short_name }}.param.{{ param.name }}"
+		id="{{ mod_alert.short_name }}_{{ param.name }}" {{ expand_ctrl_props(param) }}></textarea>
+{% endblock %}
\ No newline at end of file
diff --git a/splunk_add_on_ucc_framework/dashboard.py b/splunk_add_on_ucc_framework/dashboard.py
index e189ba811..52b5bf1d5 100644
--- a/splunk_add_on_ucc_framework/dashboard.py
+++ b/splunk_add_on_ucc_framework/dashboard.py
@@ -62,9 +62,7 @@
     "| join _time [search index=_internal source=*{addon_name}* action=events_ingested "
     '| timechart sum(n_events) as \\"Number of events\\" ]'
 )
-errors_count = (
-    "index=_internal source=*{addon_name}* ERROR | timechart count as Errors by exc_l"
-)
+errors_count = "index=_internal source=*{addon_name}* log_level=ERROR | timechart count as Errors by exc_l"
 events_count = (
     "index=_internal source=*{addon_name}* action=events_ingested | "
     'timechart sum(n_events) as \\"Number of events\\"'
@@ -133,7 +131,7 @@
     '| rename event_input as \\"Input\\", events as \\"Number of events\\", sparkevent as \\"Event trendline\\"'
 )
 
-errors_list_query = "index=_internal source=*{addon_name}* ERROR"
+errors_list_query = "index=_internal source=*{addon_name}* log_level=ERROR"
 
 resource_cpu_query = (
     "index = _introspection component=PerProcess data.args=*{addon_name}* "
diff --git a/splunk_add_on_ucc_framework/entity/__init__.py b/splunk_add_on_ucc_framework/entity/__init__.py
index 692da5c5d..67e614780 100644
--- a/splunk_add_on_ucc_framework/entity/__init__.py
+++ b/splunk_add_on_ucc_framework/entity/__init__.py
@@ -13,19 +13,24 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-from typing import Dict, Any
+from typing import Dict, Any, List, Optional
 
 from splunk_add_on_ucc_framework.entity.entity import Entity
 from splunk_add_on_ucc_framework.entity.interval_entity import IntervalEntity
-
+from splunk_add_on_ucc_framework.entity.index_entity import IndexEntity
 
 ENTITY_TYPES = [
     IntervalEntity,
+    IndexEntity,
 ]
 
 
-def resolve_entity(entity_definition: Dict[str, Any]) -> Entity:
-    for entity_type in ENTITY_TYPES:
+def resolve_entity(
+    entity_definition: Dict[str, Any],
+    entity_types: Optional[List[Any]] = None,
+) -> Entity:
+    entity_types = entity_types if entity_types else ENTITY_TYPES
+    for entity_type in entity_types:
         entity = entity_type.from_definition(entity_definition)
 
         if entity is not None:
@@ -38,5 +43,8 @@ def expand_entity(entity_definition: Dict[str, Any]) -> Dict[str, Any]:
     return resolve_entity(entity_definition).long_form()
 
 
-def collapse_entity(entity_definition: Dict[str, Any]) -> Dict[str, Any]:
-    return resolve_entity(entity_definition).short_form()
+def collapse_entity(
+    entity_definition: Dict[str, Any],
+    entity_types: Optional[List[Any]] = None,
+) -> Dict[str, Any]:
+    return resolve_entity(entity_definition, entity_types).short_form()
diff --git a/splunk_add_on_ucc_framework/entity/index_entity.py b/splunk_add_on_ucc_framework/entity/index_entity.py
new file mode 100644
index 000000000..41bbd6699
--- /dev/null
+++ b/splunk_add_on_ucc_framework/entity/index_entity.py
@@ -0,0 +1,60 @@
+#
+# Copyright 2024 Splunk Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+from typing import Optional, Dict, Any
+
+from splunk_add_on_ucc_framework.entity.entity import Entity
+
+
+class IndexEntity(Entity):
+    def long_form(self) -> Dict[str, Any]:
+        definition = {
+            "type": "singleSelect",
+            "field": self["field"],
+            "label": self["label"],
+            "defaultValue": "default",
+            "options": {
+                "endpointUrl": "data/indexes?search=isInternal=0+disabled=0",
+                "denyList": "^_.*$",
+                "createSearchChoice": True,
+            },
+            "validators": [
+                {
+                    "type": "regex",
+                    "errorMsg": "Index names must begin with a letter or a number "
+                    "and must contain only letters, numbers, underscores or hyphens.",
+                    "pattern": r"^[a-zA-Z0-9][a-zA-Z0-9\\_\\-]*$",
+                },
+                {
+                    "type": "string",
+                    "errorMsg": "Length of index name should be between 1 and 80.",
+                    "minLength": 1,
+                    "maxLength": 80,
+                },
+            ],
+        }
+
+        for name in ("help", "required", "defaultValue"):
+            if name in self:
+                definition[name] = self[name]
+
+        return definition
+
+    @classmethod
+    def from_definition(cls, definition: Dict[str, Any]) -> Optional[Entity]:
+        if definition.get("type") == "index":
+            return cls(definition)
+
+        return None
diff --git a/splunk_add_on_ucc_framework/global_config_update.py b/splunk_add_on_ucc_framework/global_config_update.py
index 51238317f..dc0d49d80 100644
--- a/splunk_add_on_ucc_framework/global_config_update.py
+++ b/splunk_add_on_ucc_framework/global_config_update.py
@@ -17,7 +17,10 @@
 from typing import Any, Dict, Tuple, List, Optional
 
 from splunk_add_on_ucc_framework import global_config as global_config_lib, utils
-from splunk_add_on_ucc_framework.entity import collapse_entity
+from splunk_add_on_ucc_framework.entity import (
+    collapse_entity,
+    IntervalEntity,
+)
 from splunk_add_on_ucc_framework.global_config import GlobalConfig
 from splunk_add_on_ucc_framework.tabs import resolve_tab
 from splunk_add_on_ucc_framework.exceptions import GlobalConfigValidatorException
@@ -215,7 +218,9 @@ def handle_global_config_update(global_config: global_config_lib.GlobalConfig) -
 
     if _version_tuple(version) < _version_tuple("0.0.7"):
         global_config.update_schema_version("0.0.7")
-        _dump_with_migrated_entities(global_config, global_config.original_path)
+        _dump_with_migrated_entities(
+            global_config, global_config.original_path, [IntervalEntity]
+        )
         logger.info("Updated globalConfig schema to version 0.0.7")
 
     if _version_tuple(version) < _version_tuple("0.0.8"):
@@ -233,21 +238,32 @@ def _dump_with_migrated_tabs(global_config: GlobalConfig, path: str) -> None:
     _dump(global_config.content, path, global_config._is_global_config_yaml)
 
 
-def _dump_with_migrated_entities(global_config: GlobalConfig, path: str) -> None:
-    _collapse_entities(global_config.content["pages"].get("inputs", {}).get("services"))
-    _collapse_entities(global_config.content["pages"]["configuration"].get("tabs"))
-    _collapse_entities(global_config.content.get("alerts"))
+def _dump_with_migrated_entities(
+    global_config: GlobalConfig,
+    path: str,
+    entity_type: List[Any],
+) -> None:
+    _collapse_entities(
+        global_config.content["pages"].get("inputs", {}).get("services"), entity_type
+    )
+    _collapse_entities(
+        global_config.content["pages"]["configuration"].get("tabs"), entity_type
+    )
+    _collapse_entities(global_config.content.get("alerts"), entity_type)
 
     _dump(global_config.content, path, global_config._is_global_config_yaml)
 
 
-def _collapse_entities(items: Optional[List[Dict[Any, Any]]]) -> None:
+def _collapse_entities(
+    items: Optional[List[Dict[Any, Any]]],
+    entity_type: List[Any],
+) -> None:
     if items is None:
         return
 
     for item in items:
         for i, entity in enumerate(item.get("entity", [])):
-            item["entity"][i] = collapse_entity(entity)
+            item["entity"][i] = collapse_entity(entity, entity_type)
 
 
 def _dump(content: Dict[Any, Any], path: str, is_yaml: bool) -> None:
diff --git a/splunk_add_on_ucc_framework/meta_conf.py b/splunk_add_on_ucc_framework/meta_conf.py
index 87bcca078..6a7533820 100644
--- a/splunk_add_on_ucc_framework/meta_conf.py
+++ b/splunk_add_on_ucc_framework/meta_conf.py
@@ -13,7 +13,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-import addonfactory_splunk_conf_parser_lib as conf_parser
 
 DEFAULT = """
 # Application-level permissions
@@ -27,12 +26,6 @@
 
 
 class MetaConf:
-    def __init__(self) -> None:
-        self._meta_conf = conf_parser.TABConfigParser()
-
-    def create_default(self) -> None:
-        self._meta_conf.read_string(DEFAULT)
-
-    def write(self, path: str) -> None:
+    def write_default(self, path: str) -> None:
         with open(path, "w") as fd:
-            self._meta_conf.write(fd)
+            fd.write(DEFAULT)
diff --git a/splunk_add_on_ucc_framework/schema/schema.json b/splunk_add_on_ucc_framework/schema/schema.json
index ec0312fc4..8bc755dd9 100644
--- a/splunk_add_on_ucc_framework/schema/schema.json
+++ b/splunk_add_on_ucc_framework/schema/schema.json
@@ -1561,6 +1561,9 @@
           },
           {
             "$ref": "#/definitions/IntervalEntity"
+          },
+          {
+            "$ref": "#/definitions/IndexEntity"
           }
         ]
       }
@@ -2256,6 +2259,10 @@
           "type": "boolean",
           "description": "Declares if component should be disabled (enable = false)"
         },
+        "required": {
+          "type": "boolean",
+          "description": "Declares if component should be required"
+        },
         "help": {
           "type": "string",
           "description": "Declares help text of target component"
@@ -2782,6 +2789,31 @@
           "pattern": "^(?:-1|\\d+(?:\\.\\d+)?)$"
         }
       ]
+    },
+    "IndexEntity": {
+      "type": "object",
+      "properties": {
+        "type": {
+          "const": "index"
+        },
+        "field": {
+          "$ref": "#/definitions/Field"
+        },
+        "label": {
+          "type": "string"
+        },
+        "defaultValue": {
+          "type": "string"
+        },
+        "help": {
+          "$ref": "#/definitions/help"
+        },
+        "required": {
+          "$ref": "#/definitions/required"
+        }
+      },
+      "required": ["type", "field", "label"],
+      "additionalProperties": false
     }
   },
   "type": "object",
diff --git a/splunk_add_on_ucc_framework/templates/globalConfig.json.init-template b/splunk_add_on_ucc_framework/templates/globalConfig.json.init-template
index c7ba02792..bac9af02f 100644
--- a/splunk_add_on_ucc_framework/templates/globalConfig.json.init-template
+++ b/splunk_add_on_ucc_framework/templates/globalConfig.json.init-template
@@ -95,6 +95,11 @@
                             "help": "Time interval of the data input, in seconds.",
                             "required": true
                         },
+                        {
+                            "type": "index",
+                            "field": "index",
+                            "label": "Index"
+                        },
                         {
                             "type": "singleSelect",
                             "label": "Account to use",
diff --git a/ui/package.json b/ui/package.json
index a9bc3909d..adb45302b 100644
--- a/ui/package.json
+++ b/ui/package.json
@@ -21,23 +21,23 @@
     "test-storybook:update-snapshots": "yarn run test-storybook -u"
   },
   "dependencies": {
-    "@splunk/dashboard-action-buttons": "^27.2.0",
-    "@splunk/dashboard-context": "^27.2.0",
-    "@splunk/dashboard-core": "^27.2.0",
-    "@splunk/dashboard-presets": "^27.2.0",
-    "@splunk/dashboard-state": "^27.2.0",
+    "@splunk/dashboard-action-buttons": "^27.3.1",
+    "@splunk/dashboard-context": "^27.3.1",
+    "@splunk/dashboard-core": "^27.3.1",
+    "@splunk/dashboard-presets": "^27.3.1",
+    "@splunk/dashboard-state": "^27.3.1",
+    "@splunk/dashboard-types": "^27.3.1",
     "@splunk/react-icons": "^4.6.0",
-    "@splunk/dashboard-types": "^27.2.0",
     "@splunk/react-page": "^7.1.0",
     "@splunk/react-toast-notifications": "^0.11.3",
-    "@splunk/react-ui": "^4.33.0",
+    "@splunk/react-ui": "^4.34.0",
     "@splunk/search-job": "^3.1.0",
     "@splunk/splunk-utils": "^3.1.0",
-    "@splunk/themes": "^0.19.0",
-    "@splunk/ui-utils": "^1.6.0",
-    "@splunk/visualization-context": "^26.1.2",
-    "@storybook/test": "^8.2.5",
-    "axios": "^1.7.2",
+    "@splunk/themes": "^0.20.0",
+    "@splunk/ui-utils": "^1.7.0",
+    "@splunk/visualization-context": "^26.2.1",
+    "@storybook/test": "^8.2.9",
+    "axios": "^1.7.4",
     "immutability-helper": "^3.1.1",
     "license-webpack-plugin": "^4.0.2",
     "lodash": "^4.17.21",
@@ -45,38 +45,38 @@
     "react": "^16.14.0",
     "react-dom": "^16.14.0",
     "react-is": "^16.13.1",
-    "react-router-dom": "^6.25.1",
+    "react-router-dom": "^6.26.1",
     "styled-components": "^5.3.11",
     "uuid": "^10.0.0",
     "zod": "^3.23.8"
   },
   "devDependencies": {
-    "@babel/core": "^7.24.9",
-    "@babel/eslint-parser": "^7.24.8",
+    "@babel/core": "^7.25.2",
+    "@babel/eslint-parser": "^7.25.1",
     "@babel/plugin-transform-runtime": "^7.24.7",
-    "@babel/preset-env": "^7.24.8",
+    "@babel/preset-env": "^7.25.3",
     "@babel/preset-react": "^7.24.7",
     "@kickstartds/core": "^4.0.5",
     "@kickstartds/storybook-addon-jsonschema": "^4.0.0",
     "@splunk/babel-preset": "^4.0.0",
     "@splunk/eslint-config": "^4.0.0",
     "@splunk/webpack-configs": "^7.0.2",
-    "@storybook/addon-a11y": "^8.2.5",
-    "@storybook/addon-essentials": "^8.2.5",
-    "@storybook/addon-interactions": "^8.2.5",
-    "@storybook/addon-links": "^8.2.5",
+    "@storybook/addon-a11y": "^8.2.9",
+    "@storybook/addon-essentials": "^8.2.9",
+    "@storybook/addon-interactions": "^8.2.9",
+    "@storybook/addon-links": "^8.2.9",
     "@storybook/addon-webpack5-compiler-babel": "^3.0.3",
-    "@storybook/blocks": "^8.2.5",
-    "@storybook/react": "^8.2.5",
-    "@storybook/react-webpack5": "^8.2.5",
+    "@storybook/blocks": "^8.2.9",
+    "@storybook/react": "^8.2.9",
+    "@storybook/react-webpack5": "^8.2.9",
     "@storybook/test-runner": "^0.19.1",
     "@testing-library/dom": "^8.20.1",
-    "@testing-library/jest-dom": "^6.4.6",
+    "@testing-library/jest-dom": "^6.4.8",
     "@testing-library/react": "^12.1.5",
     "@testing-library/user-event": "^14.5.2",
     "@types/jest": "^29.5.12",
     "@types/js-yaml": "^4.0.9",
-    "@types/node": "^20.14.11",
+    "@types/node": "^20.16.1",
     "@types/react": "^16.14.60",
     "@typescript-eslint/eslint-plugin": "^6.21.0",
     "@typescript-eslint/parser": "^6.21.0",
@@ -90,7 +90,7 @@
     "eslint-config-prettier": "^7.2.0",
     "eslint-import-resolver-typescript": "^3.6.1",
     "eslint-plugin-import": "^2.29.1",
-    "eslint-plugin-jest": "^28.6.0",
+    "eslint-plugin-jest": "^28.8.0",
     "eslint-plugin-jsx-a11y": "^6.9.0",
     "eslint-plugin-prettier": "^4.2.1",
     "eslint-plugin-react": "^7.35.0",
@@ -101,17 +101,17 @@
     "jest-environment-jsdom": "^29.7.0",
     "jest-image-snapshot": "^6.4.0",
     "js-yaml": "^4.1.0",
-    "msw": "^2.3.2",
+    "msw": "^2.3.5",
     "msw-storybook-addon": "^2.0.3",
     "prettier": "^2.8.8",
     "querystring-es3": "^0.2.1",
-    "storybook": "^8.2.5",
+    "storybook": "^8.2.9",
     "style-loader": "^4.0.0",
     "stylelint": "^14.16.1",
     "ts-node": "^10.9.2",
-    "typescript": "^5.5.3",
+    "typescript": "^5.5.4",
     "undici": "^5.28.4",
-    "url": "^0.11.3",
+    "url": "^0.11.4",
     "webpack": "^5.93.0",
     "webpack-cli": "^5.1.4",
     "webpack-dev-server": "^5.0.4",
@@ -122,7 +122,7 @@
     "@types/react": "^16.14.60",
     "css-what": "^5.1.0",
     "glob-parent": "^5.1.2",
-    "postcss": "^8.4.39",
+    "postcss": "^8.4.41",
     "semver": "^7.6.3",
     "strip-ansi": "^6.0.1",
     "string-width": "^4.2.3"
diff --git a/ui/src/components/BaseFormView/BaseFormTypes.ts b/ui/src/components/BaseFormView/BaseFormTypes.ts
index fe88dd40b..f9d500048 100644
--- a/ui/src/components/BaseFormView/BaseFormTypes.ts
+++ b/ui/src/components/BaseFormView/BaseFormTypes.ts
@@ -57,6 +57,7 @@ export interface BaseFormStateData {
         modifiedEntitiesData?: {
             help?: string;
             label?: string;
+            required?: boolean;
         };
     };
 }
diff --git a/ui/src/components/BaseFormView/BaseFormView.tsx b/ui/src/components/BaseFormView/BaseFormView.tsx
index 896af0d1d..11e30a52b 100644
--- a/ui/src/components/BaseFormView/BaseFormView.tsx
+++ b/ui/src/components/BaseFormView/BaseFormView.tsx
@@ -618,7 +618,12 @@ class BaseFormView extends PureComponent<BaseFormProps, BaseFormState> {
             }
 
             // require elements for UI when they are visible
+            // or if data modification is applicable
+            // modification takes precedence over requiredWhenVisible
             temEntities = temEntities?.map((entity) => {
+                const requiredModification =
+                    this.state?.data?.[entity.field].modifiedEntitiesData?.required;
+
                 if (
                     entity?.type !== 'helpLink' &&
                     entity?.type !== 'oauth' &&
@@ -626,9 +631,16 @@ class BaseFormView extends PureComponent<BaseFormProps, BaseFormState> {
                     entity?.options?.requiredWhenVisible &&
                     this?.state?.data?.[entity.field].display
                 ) {
-                    return { required: true, ...entity };
+                    return {
+                        ...entity,
+                        required: requiredModification ?? true,
+                    };
                 }
-                return entity;
+
+                return {
+                    ...entity,
+                    required: requiredModification ?? entity.required,
+                };
             });
 
             // Validation of form fields on Submit
@@ -1299,7 +1311,6 @@ class BaseFormView extends PureComponent<BaseFormProps, BaseFormState> {
                         if (!temState) {
                             return null;
                         }
-
                         return (
                             <ControlWrapper
                                 key={e.field}
diff --git a/ui/src/components/ControlWrapper/ControlWrapper.tsx b/ui/src/components/ControlWrapper/ControlWrapper.tsx
index 00f757397..1bcef56ac 100644
--- a/ui/src/components/ControlWrapper/ControlWrapper.tsx
+++ b/ui/src/components/ControlWrapper/ControlWrapper.tsx
@@ -47,6 +47,7 @@ interface ControlWrapperProps {
     modifiedEntitiesData?: {
         help?: string;
         label?: string;
+        required?: boolean;
     };
 }
 
@@ -125,8 +126,8 @@ class ControlWrapper extends React.PureComponent<ControlWrapperProps> {
             </>
         );
 
-        const isFieldRequired =
-            this.props.entity?.required === undefined
+        const isFieldRequired = // modifiedEntitiesData takes precedence over entity
+            this.props?.modifiedEntitiesData?.required || this.props.entity?.required === undefined
                 ? 'oauth_field' in (this.props.entity || {}) // if required is undefined use true for oauth fields and false for others
                 : this.props.entity?.required; // if required present use required
 
diff --git a/ui/src/components/FormModifications/FormModifications.ts b/ui/src/components/FormModifications/FormModifications.ts
index 6e81c7fed..85d7b1471 100644
--- a/ui/src/components/FormModifications/FormModifications.ts
+++ b/ui/src/components/FormModifications/FormModifications.ts
@@ -33,8 +33,8 @@ export const handleStateFieldModificationProp = (
 };
 
 export const handleEntityModificationProp = (
-    key: 'help' | 'label',
-    propValue: string,
+    key: 'help' | 'label' | 'required',
+    propValue: string | boolean,
     fieldId: string,
     state: BaseFormState
 ) => {
@@ -114,8 +114,8 @@ const isStateField = (
     propKey === 'disabled' ||
     propKey === 'markdownMessage';
 
-const isEntityField = (propKey: string): propKey is 'help' | 'label' =>
-    propKey === 'help' || propKey === 'label';
+const isEntityField = (propKey: string): propKey is 'help' | 'label' | 'required' =>
+    propKey === 'help' || propKey === 'label' || propKey === 'required';
 
 const getStateAfterModification = (
     modificationKey: string,
@@ -131,7 +131,10 @@ const getStateAfterModification = (
             stateShallowCopy
         );
     }
-    if (isEntityField(modificationKey) && typeof modificationValue === 'string') {
+    if (
+        isEntityField(modificationKey) &&
+        (typeof modificationValue === 'string' || typeof modificationValue === 'boolean')
+    ) {
         return handleEntityModificationProp(
             modificationKey,
             modificationValue,
@@ -152,7 +155,6 @@ export const getModifiedState = (
 ) => {
     let stateShallowCopy = { ...state };
     let shouldUpdateState = false;
-
     entitiesToModify.forEach((entity: EntitiesAllowingModifications) => {
         const modifications = getModificationForEntity(entity, stateShallowCopy, mode);
 
diff --git a/ui/src/components/table/CustomTableRow.jsx b/ui/src/components/table/CustomTableRow.jsx
index 5b42da5e9..20f45300a 100644
--- a/ui/src/components/table/CustomTableRow.jsx
+++ b/ui/src/components/table/CustomTableRow.jsx
@@ -15,6 +15,7 @@ import { _ } from '@splunk/ui-utils/i18n';
 
 import CustomTableControl from './CustomTableControl';
 import { ActionButtonComponent } from './CustomTableStyle';
+import { getTableCellValue } from './table.utils';
 
 const TableCellWrapper = styled(Table.Cell)`
     padding: 2px;
@@ -171,13 +172,7 @@ function CustomTableRow(props) {
                                 data-column={header.field}
                                 key={header.field}
                             >
-                                {headerMapping[header.field] &&
-                                Object.prototype.hasOwnProperty.call(
-                                    headerMapping[header.field],
-                                    row[header.field]
-                                )
-                                    ? headerMapping[header.field][row[header.field]]
-                                    : row[header.field]}
+                                {getTableCellValue(row, header.field, headerMapping[header.field])}
                             </Table.Cell>
                         );
                     }
diff --git a/ui/src/components/table/TableConsts.ts b/ui/src/components/table/TableConsts.ts
new file mode 100644
index 000000000..d729c93d9
--- /dev/null
+++ b/ui/src/components/table/TableConsts.ts
@@ -0,0 +1,1 @@
+export const LABEL_FOR_DEFAULT_TABLE_CELL_VALUE = '[[default]]';
diff --git a/ui/src/components/table/TableExpansionRowData.jsx b/ui/src/components/table/TableExpansionRowData.jsx
index adcae33e4..2088b72f9 100644
--- a/ui/src/components/table/TableExpansionRowData.jsx
+++ b/ui/src/components/table/TableExpansionRowData.jsx
@@ -2,6 +2,8 @@ import React from 'react';
 import DL from '@splunk/react-ui/DefinitionList';
 import { _ } from '@splunk/ui-utils/i18n';
 
+import { getTableCellValue } from './table.utils';
+
 /**
  * Generates the definition list rows for the expansion view based on the provided row data and moreInfo configuration.
  *
@@ -10,23 +12,18 @@ import { _ } from '@splunk/ui-utils/i18n';
  * @returns {Array} - An array of React elements representing the definition list rows.
  */
 export function getExpansionRowData(row, moreInfo) {
-    const DefinitionLists = [];
-
-    if (moreInfo?.length) {
-        moreInfo.forEach((val) => {
+    return (
+        moreInfo?.reduce((definitionLists, val) => {
             const label = _(val.label);
-            // Remove extra rows which are empty in moreInfo
-            if (val.field in row && row[val.field] !== null && row[val.field] !== '') {
-                DefinitionLists.push(<DL.Term key={val.field}>{label}</DL.Term>);
-                DefinitionLists.push(
-                    <DL.Description key={`${val.field}_decr`}>
-                        {val.mapping && val.mapping[row[val.field]]
-                            ? val.mapping[row[val.field]]
-                            : String(row[val.field])}
-                    </DL.Description>
+            const cellValue = getTableCellValue(row, val.field, val.mapping);
+            // Remove extra rows which are empty in moreInfo and default value is not provided
+            if (cellValue) {
+                definitionLists.push(<DL.Term key={val.field}>{label}</DL.Term>);
+                definitionLists.push(
+                    <DL.Description key={`${val.field}_decr`}>{cellValue}</DL.Description>
                 );
             }
-        });
-    }
-    return DefinitionLists;
+            return definitionLists;
+        }, []) || []
+    );
 }
diff --git a/ui/src/components/table/table.utils.ts b/ui/src/components/table/table.utils.ts
index adb329550..ea0b1633f 100644
--- a/ui/src/components/table/table.utils.ts
+++ b/ui/src/components/table/table.utils.ts
@@ -1,6 +1,22 @@
 import { AcceptableFormRecord } from '../../types/components/shareableTypes';
 import { isTrue } from '../../util/considerFalseAndTruthy';
+import { LABEL_FOR_DEFAULT_TABLE_CELL_VALUE } from './TableConsts';
 
 export function isReadonlyRow(readonlyFieldId: string | undefined, row: AcceptableFormRecord) {
     return Boolean(readonlyFieldId && readonlyFieldId in row && isTrue(row[readonlyFieldId]));
 }
+
+export function getTableCellValue(
+    row: AcceptableFormRecord,
+    field: string,
+    mapping: Record<string, string>
+) {
+    const value = row[field];
+    const valueIsEmpty = value === null || value === undefined || value === '';
+    if (!valueIsEmpty) {
+        return mapping?.[String(value)] || value;
+    }
+
+    const defaultValue = mapping?.[LABEL_FOR_DEFAULT_TABLE_CELL_VALUE];
+    return defaultValue || value;
+}
diff --git a/ui/src/pages/Dashboard/Error.tsx b/ui/src/pages/Dashboard/Error.tsx
index 84006ebba..a499af6f9 100644
--- a/ui/src/pages/Dashboard/Error.tsx
+++ b/ui/src/pages/Dashboard/Error.tsx
@@ -70,7 +70,7 @@ export const ErrorDashboard = ({
         // search call to for error types
         const mySearchJob = SearchJob.create(
             {
-                search: `index=_internal source=*${globalConfig.meta.restRoot}* ERROR | dedup exc_l | table exc_l`,
+                search: `index=_internal source=*${globalConfig.meta.restRoot}* log_level=ERROR | dedup exc_l | table exc_l`,
                 earliest_time: '0', // all time
                 latest_time: 'now',
             },
diff --git a/ui/src/types/globalConfig/entities.ts b/ui/src/types/globalConfig/entities.ts
index e9ab23d90..58fa0f228 100644
--- a/ui/src/types/globalConfig/entities.ts
+++ b/ui/src/types/globalConfig/entities.ts
@@ -75,6 +75,7 @@ const FieldToModify = z.object({
             display: z.boolean().optional(),
             value: z.union([z.number(), z.string(), z.boolean()]).optional(),
             disabled: z.boolean().optional(),
+            required: z.boolean().optional(),
             help: z.string().optional(),
             label: z.string().optional(),
             markdownMessage: MarkdownMessageType.optional(),
diff --git a/ui/yarn.lock b/ui/yarn.lock
index e39b31c39..8c9e94604 100644
--- a/ui/yarn.lock
+++ b/ui/yarn.lock
@@ -23,12 +23,17 @@
     "@babel/highlight" "^7.24.7"
     picocolors "^1.0.0"
 
-"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.24.8":
-  version "7.24.9"
-  resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.9.tgz#53eee4e68f1c1d0282aa0eb05ddb02d033fc43a0"
-  integrity sha512-e701mcfApCJqMMueQI0Fb68Amflj83+dvAvHawoBpAz+GDjCIyGHzNwnefjsWJ3xiYAqqiQFoWbspGYBdb2/ng==
+"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.24.8", "@babel/compat-data@^7.25.0":
+  version "7.25.0"
+  resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.0.tgz#6b226a5da3a686db3c30519750e071dce292ad95"
+  integrity sha512-P4fwKI2mjEb3ZU5cnMJzvRsRKGBUcs8jvxIoRmr6ufAY9Xk2Bz7JubRTTivkw55c7WQJfTECeqYVa+HZ0FzREg==
+
+"@babel/compat-data@^7.25.2":
+  version "7.25.2"
+  resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.2.tgz#e41928bd33475305c586f6acbbb7e3ade7a6f7f5"
+  integrity sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==
 
-"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.18.9", "@babel/core@^7.22.5", "@babel/core@^7.23.0", "@babel/core@^7.23.7", "@babel/core@^7.23.9", "@babel/core@^7.24.4", "@babel/core@^7.24.9", "@babel/core@^7.7.5":
+"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.18.9", "@babel/core@^7.22.5", "@babel/core@^7.23.0", "@babel/core@^7.23.7", "@babel/core@^7.23.9", "@babel/core@^7.24.4", "@babel/core@^7.7.5":
   version "7.24.9"
   resolved "https://registry.npmjs.org/@babel/core/-/core-7.24.9.tgz#dc07c9d307162c97fa9484ea997ade65841c7c82"
   integrity sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg==
@@ -49,21 +54,42 @@
     json5 "^2.2.3"
     semver "^6.3.1"
 
-"@babel/eslint-parser@^7.24.8":
-  version "7.24.8"
-  resolved "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.24.8.tgz#bc655255fa4ded3694cc10ef3dbea6d69639c831"
-  integrity sha512-nYAikI4XTGokU2QX7Jx+v4rxZKhKivaQaREZjuW3mrJrbdWJ5yUfohnoUULge+zEEaKjPYNxhoRgUKktjXtbwA==
+"@babel/core@^7.25.2":
+  version "7.25.2"
+  resolved "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz#ed8eec275118d7613e77a352894cd12ded8eba77"
+  integrity sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==
+  dependencies:
+    "@ampproject/remapping" "^2.2.0"
+    "@babel/code-frame" "^7.24.7"
+    "@babel/generator" "^7.25.0"
+    "@babel/helper-compilation-targets" "^7.25.2"
+    "@babel/helper-module-transforms" "^7.25.2"
+    "@babel/helpers" "^7.25.0"
+    "@babel/parser" "^7.25.0"
+    "@babel/template" "^7.25.0"
+    "@babel/traverse" "^7.25.2"
+    "@babel/types" "^7.25.2"
+    convert-source-map "^2.0.0"
+    debug "^4.1.0"
+    gensync "^1.0.0-beta.2"
+    json5 "^2.2.3"
+    semver "^6.3.1"
+
+"@babel/eslint-parser@^7.25.1":
+  version "7.25.1"
+  resolved "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.1.tgz#469cee4bd18a88ff3edbdfbd227bd20e82aa9b82"
+  integrity sha512-Y956ghgTT4j7rKesabkh5WeqgSFZVFwaPR0IWFm7KFHFmmJ4afbG49SmfW4S+GyRPx0Dy5jxEWA5t0rpxfElWg==
   dependencies:
     "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1"
     eslint-visitor-keys "^2.1.0"
     semver "^6.3.1"
 
-"@babel/generator@^7.22.5", "@babel/generator@^7.24.8", "@babel/generator@^7.24.9", "@babel/generator@^7.7.2":
-  version "7.24.10"
-  resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.24.10.tgz#a4ab681ec2a78bbb9ba22a3941195e28a81d8e76"
-  integrity sha512-o9HBZL1G2129luEUlG1hB4N/nlYNWHnpwlND9eOMclRqqu1YDy2sSYVCFUZwl8I1Gxh+QSRrP2vD7EpUmFVXxg==
+"@babel/generator@^7.22.5", "@babel/generator@^7.24.9", "@babel/generator@^7.25.0", "@babel/generator@^7.7.2":
+  version "7.25.0"
+  resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz#f858ddfa984350bc3d3b7f125073c9af6988f18e"
+  integrity sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==
   dependencies:
-    "@babel/types" "^7.24.9"
+    "@babel/types" "^7.25.0"
     "@jridgewell/gen-mapping" "^0.3.5"
     "@jridgewell/trace-mapping" "^0.3.25"
     jsesc "^2.5.1"
@@ -94,25 +120,34 @@
     lru-cache "^5.1.1"
     semver "^6.3.1"
 
-"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.24.7", "@babel/helper-create-class-features-plugin@^7.24.8":
-  version "7.24.8"
-  resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.8.tgz#47f546408d13c200c0867f9d935184eaa0851b09"
-  integrity sha512-4f6Oqnmyp2PP3olgUMmOwC3akxSm5aBYraQ6YDdKy7NcAMkDECHWG0DEnV6M2UAkERgIBhYt8S27rURPg7SxWA==
+"@babel/helper-compilation-targets@^7.25.2":
+  version "7.25.2"
+  resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz#e1d9410a90974a3a5a66e84ff55ef62e3c02d06c"
+  integrity sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==
+  dependencies:
+    "@babel/compat-data" "^7.25.2"
+    "@babel/helper-validator-option" "^7.24.8"
+    browserslist "^4.23.1"
+    lru-cache "^5.1.1"
+    semver "^6.3.1"
+
+"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.24.7", "@babel/helper-create-class-features-plugin@^7.25.0":
+  version "7.25.0"
+  resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.0.tgz#a109bf9c3d58dfed83aaf42e85633c89f43a6253"
+  integrity sha512-GYM6BxeQsETc9mnct+nIIpf63SAyzvyYN7UB/IlTyd+MBg06afFGp0mIeUqGyWgS2mxad6vqbMrHVlaL3m70sQ==
   dependencies:
     "@babel/helper-annotate-as-pure" "^7.24.7"
-    "@babel/helper-environment-visitor" "^7.24.7"
-    "@babel/helper-function-name" "^7.24.7"
     "@babel/helper-member-expression-to-functions" "^7.24.8"
     "@babel/helper-optimise-call-expression" "^7.24.7"
-    "@babel/helper-replace-supers" "^7.24.7"
+    "@babel/helper-replace-supers" "^7.25.0"
     "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7"
-    "@babel/helper-split-export-declaration" "^7.24.7"
+    "@babel/traverse" "^7.25.0"
     semver "^6.3.1"
 
-"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.24.7":
-  version "7.24.7"
-  resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.24.7.tgz#be4f435a80dc2b053c76eeb4b7d16dd22cfc89da"
-  integrity sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==
+"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.24.7", "@babel/helper-create-regexp-features-plugin@^7.25.0":
+  version "7.25.0"
+  resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.0.tgz#17afe5d23b3a833a90f0fab9c2ae69fea192de5c"
+  integrity sha512-q0T+dknZS+L5LDazIP+02gEZITG5unzvb6yIjcmj5i0eFrs5ToBV2m2JGH4EsE/gtP8ygEGLGApBgRIZkTm7zg==
   dependencies:
     "@babel/helper-annotate-as-pure" "^7.24.7"
     regexpu-core "^5.3.1"
@@ -129,29 +164,7 @@
     lodash.debounce "^4.0.8"
     resolve "^1.14.2"
 
-"@babel/helper-environment-visitor@^7.24.7":
-  version "7.24.7"
-  resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz#4b31ba9551d1f90781ba83491dd59cf9b269f7d9"
-  integrity sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==
-  dependencies:
-    "@babel/types" "^7.24.7"
-
-"@babel/helper-function-name@^7.24.7":
-  version "7.24.7"
-  resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz#75f1e1725742f39ac6584ee0b16d94513da38dd2"
-  integrity sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==
-  dependencies:
-    "@babel/template" "^7.24.7"
-    "@babel/types" "^7.24.7"
-
-"@babel/helper-hoist-variables@^7.24.7":
-  version "7.24.7"
-  resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz#b4ede1cde2fd89436397f30dc9376ee06b0f25ee"
-  integrity sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==
-  dependencies:
-    "@babel/types" "^7.24.7"
-
-"@babel/helper-member-expression-to-functions@^7.24.7", "@babel/helper-member-expression-to-functions@^7.24.8":
+"@babel/helper-member-expression-to-functions@^7.24.8":
   version "7.24.8"
   resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz#6155e079c913357d24a4c20480db7c712a5c3fb6"
   integrity sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==
@@ -167,16 +180,25 @@
     "@babel/traverse" "^7.24.7"
     "@babel/types" "^7.24.7"
 
-"@babel/helper-module-transforms@^7.24.7", "@babel/helper-module-transforms@^7.24.8", "@babel/helper-module-transforms@^7.24.9":
-  version "7.24.9"
-  resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.9.tgz#e13d26306b89eea569180868e652e7f514de9d29"
-  integrity sha512-oYbh+rtFKj/HwBQkFlUzvcybzklmVdVV3UU+mN7n2t/q3yGHbuVdNxyFvSBO1tfvjyArpHNcWMAzsSPdyI46hw==
+"@babel/helper-module-transforms@^7.24.7", "@babel/helper-module-transforms@^7.24.8", "@babel/helper-module-transforms@^7.24.9", "@babel/helper-module-transforms@^7.25.0":
+  version "7.25.0"
+  resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.0.tgz#3ffc23c473a2769a7e40d3274495bd559fdd2ecc"
+  integrity sha512-bIkOa2ZJYn7FHnepzr5iX9Kmz8FjIz4UKzJ9zhX3dnYuVW0xul9RuR3skBfoLu+FPTQw90EHW9rJsSZhyLQ3fQ==
+  dependencies:
+    "@babel/helper-module-imports" "^7.24.7"
+    "@babel/helper-simple-access" "^7.24.7"
+    "@babel/helper-validator-identifier" "^7.24.7"
+    "@babel/traverse" "^7.25.0"
+
+"@babel/helper-module-transforms@^7.25.2":
+  version "7.25.2"
+  resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz#ee713c29768100f2776edf04d4eb23b8d27a66e6"
+  integrity sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==
   dependencies:
-    "@babel/helper-environment-visitor" "^7.24.7"
     "@babel/helper-module-imports" "^7.24.7"
     "@babel/helper-simple-access" "^7.24.7"
-    "@babel/helper-split-export-declaration" "^7.24.7"
     "@babel/helper-validator-identifier" "^7.24.7"
+    "@babel/traverse" "^7.25.2"
 
 "@babel/helper-optimise-call-expression@^7.24.7":
   version "7.24.7"
@@ -190,23 +212,23 @@
   resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz#94ee67e8ec0e5d44ea7baeb51e571bd26af07878"
   integrity sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==
 
-"@babel/helper-remap-async-to-generator@^7.24.7":
-  version "7.24.7"
-  resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.24.7.tgz#b3f0f203628522713849d49403f1a414468be4c7"
-  integrity sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==
+"@babel/helper-remap-async-to-generator@^7.24.7", "@babel/helper-remap-async-to-generator@^7.25.0":
+  version "7.25.0"
+  resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz#d2f0fbba059a42d68e5e378feaf181ef6055365e"
+  integrity sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==
   dependencies:
     "@babel/helper-annotate-as-pure" "^7.24.7"
-    "@babel/helper-environment-visitor" "^7.24.7"
-    "@babel/helper-wrap-function" "^7.24.7"
+    "@babel/helper-wrap-function" "^7.25.0"
+    "@babel/traverse" "^7.25.0"
 
-"@babel/helper-replace-supers@^7.24.7":
-  version "7.24.7"
-  resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.7.tgz#f933b7eed81a1c0265740edc91491ce51250f765"
-  integrity sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==
+"@babel/helper-replace-supers@^7.24.7", "@babel/helper-replace-supers@^7.25.0":
+  version "7.25.0"
+  resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz#ff44deac1c9f619523fe2ca1fd650773792000a9"
+  integrity sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==
   dependencies:
-    "@babel/helper-environment-visitor" "^7.24.7"
-    "@babel/helper-member-expression-to-functions" "^7.24.7"
+    "@babel/helper-member-expression-to-functions" "^7.24.8"
     "@babel/helper-optimise-call-expression" "^7.24.7"
+    "@babel/traverse" "^7.25.0"
 
 "@babel/helper-simple-access@^7.24.7":
   version "7.24.7"
@@ -224,13 +246,6 @@
     "@babel/traverse" "^7.24.7"
     "@babel/types" "^7.24.7"
 
-"@babel/helper-split-export-declaration@^7.24.7":
-  version "7.24.7"
-  resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz#83949436890e07fa3d6873c61a96e3bbf692d856"
-  integrity sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==
-  dependencies:
-    "@babel/types" "^7.24.7"
-
 "@babel/helper-string-parser@^7.24.8":
   version "7.24.8"
   resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz#5b3329c9a58803d5df425e5785865881a81ca48d"
@@ -246,23 +261,22 @@
   resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz#3725cdeea8b480e86d34df15304806a06975e33d"
   integrity sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==
 
-"@babel/helper-wrap-function@^7.24.7":
-  version "7.24.7"
-  resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.24.7.tgz#52d893af7e42edca7c6d2c6764549826336aae1f"
-  integrity sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==
+"@babel/helper-wrap-function@^7.25.0":
+  version "7.25.0"
+  resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz#dab12f0f593d6ca48c0062c28bcfb14ebe812f81"
+  integrity sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==
   dependencies:
-    "@babel/helper-function-name" "^7.24.7"
-    "@babel/template" "^7.24.7"
-    "@babel/traverse" "^7.24.7"
-    "@babel/types" "^7.24.7"
+    "@babel/template" "^7.25.0"
+    "@babel/traverse" "^7.25.0"
+    "@babel/types" "^7.25.0"
 
-"@babel/helpers@^7.24.8":
-  version "7.24.8"
-  resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.8.tgz#2820d64d5d6686cca8789dd15b074cd862795873"
-  integrity sha512-gV2265Nkcz7weJJfvDoAEVzC1e2OTDpkGbEsebse8koXUJUXPsCMi7sRo/+SPMuMZ9MtUPnGwITTnQnU5YjyaQ==
+"@babel/helpers@^7.24.8", "@babel/helpers@^7.25.0":
+  version "7.25.0"
+  resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.0.tgz#e69beb7841cb93a6505531ede34f34e6a073650a"
+  integrity sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==
   dependencies:
-    "@babel/template" "^7.24.7"
-    "@babel/types" "^7.24.8"
+    "@babel/template" "^7.25.0"
+    "@babel/types" "^7.25.0"
 
 "@babel/highlight@^7.24.7":
   version "7.24.7"
@@ -274,25 +288,47 @@
     js-tokens "^4.0.0"
     picocolors "^1.0.0"
 
-"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.0", "@babel/parser@^7.23.9", "@babel/parser@^7.24.7", "@babel/parser@^7.24.8", "@babel/parser@^7.7.0":
-  version "7.24.8"
-  resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.24.8.tgz#58a4dbbcad7eb1d48930524a3fd93d93e9084c6f"
-  integrity sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==
+"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.0", "@babel/parser@^7.23.9", "@babel/parser@^7.24.8", "@babel/parser@^7.25.0", "@babel/parser@^7.7.0":
+  version "7.25.0"
+  resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.25.0.tgz#9fdc9237504d797b6e7b8f66e78ea7f570d256ad"
+  integrity sha512-CzdIU9jdP0dg7HdyB+bHvDJGagUv+qtzZt5rYCWwW6tITNqV9odjp6Qu41gkG0ca5UfdDUWrKkiAnHHdGRnOrA==
 
-"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.24.7":
-  version "7.24.7"
-  resolved "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.7.tgz#fd059fd27b184ea2b4c7e646868a9a381bbc3055"
-  integrity sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ==
+"@babel/parser@^7.25.3":
+  version "7.25.3"
+  resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.25.3.tgz#91fb126768d944966263f0657ab222a642b82065"
+  integrity sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==
   dependencies:
-    "@babel/helper-environment-visitor" "^7.24.7"
-    "@babel/helper-plugin-utils" "^7.24.7"
+    "@babel/types" "^7.25.2"
 
-"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.24.7":
-  version "7.24.7"
-  resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.7.tgz#468096ca44bbcbe8fcc570574e12eb1950e18107"
-  integrity sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==
+"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.0":
+  version "7.25.0"
+  resolved "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.0.tgz#328275f22d809b962978d998c6eba22a233ac8aa"
+  integrity sha512-dG0aApncVQwAUJa8tP1VHTnmU67BeIQvKafd3raEx315H54FfkZSz3B/TT+33ZQAjatGJA79gZqTtqL5QZUKXw==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.7"
+    "@babel/helper-plugin-utils" "^7.24.8"
+    "@babel/traverse" "^7.25.0"
+
+"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.3":
+  version "7.25.3"
+  resolved "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz#dca427b45a6c0f5c095a1c639dfe2476a3daba7f"
+  integrity sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.24.8"
+    "@babel/traverse" "^7.25.3"
+
+"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.25.0":
+  version "7.25.0"
+  resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz#cd0c583e01369ef51676bdb3d7b603e17d2b3f73"
+  integrity sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.24.8"
+
+"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.25.0":
+  version "7.25.0"
+  resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz#749bde80356b295390954643de7635e0dffabe73"
+  integrity sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.24.8"
 
 "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.24.7":
   version "7.24.7"
@@ -303,13 +339,13 @@
     "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7"
     "@babel/plugin-transform-optional-chaining" "^7.24.7"
 
-"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.24.7":
-  version "7.24.7"
-  resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.7.tgz#71b21bb0286d5810e63a1538aa901c58e87375ec"
-  integrity sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg==
+"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.25.0":
+  version "7.25.0"
+  resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz#3a82a70e7cb7294ad2559465ebcb871dfbf078fb"
+  integrity sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==
   dependencies:
-    "@babel/helper-environment-visitor" "^7.24.7"
-    "@babel/helper-plugin-utils" "^7.24.7"
+    "@babel/helper-plugin-utils" "^7.24.8"
+    "@babel/traverse" "^7.25.0"
 
 "@babel/plugin-proposal-class-properties@^7.2.1":
   version "7.18.6"
@@ -497,15 +533,15 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.24.7"
 
-"@babel/plugin-transform-async-generator-functions@^7.24.7":
-  version "7.24.7"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.7.tgz#7330a5c50e05181ca52351b8fd01642000c96cfd"
-  integrity sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g==
+"@babel/plugin-transform-async-generator-functions@^7.25.0":
+  version "7.25.0"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.0.tgz#b785cf35d73437f6276b1e30439a57a50747bddf"
+  integrity sha512-uaIi2FdqzjpAMvVqvB51S42oC2JEVgh0LDsGfZVDysWE8LrJtQC2jvKmOqEYThKyB7bDEb7BP1GYWDm7tABA0Q==
   dependencies:
-    "@babel/helper-environment-visitor" "^7.24.7"
-    "@babel/helper-plugin-utils" "^7.24.7"
-    "@babel/helper-remap-async-to-generator" "^7.24.7"
+    "@babel/helper-plugin-utils" "^7.24.8"
+    "@babel/helper-remap-async-to-generator" "^7.25.0"
     "@babel/plugin-syntax-async-generators" "^7.8.4"
+    "@babel/traverse" "^7.25.0"
 
 "@babel/plugin-transform-async-to-generator@^7.24.7":
   version "7.24.7"
@@ -523,12 +559,12 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.24.7"
 
-"@babel/plugin-transform-block-scoping@^7.24.7":
-  version "7.24.7"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.7.tgz#42063e4deb850c7bd7c55e626bf4e7ab48e6ce02"
-  integrity sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==
+"@babel/plugin-transform-block-scoping@^7.25.0":
+  version "7.25.0"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz#23a6ed92e6b006d26b1869b1c91d1b917c2ea2ac"
+  integrity sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.7"
+    "@babel/helper-plugin-utils" "^7.24.8"
 
 "@babel/plugin-transform-class-properties@^7.22.5", "@babel/plugin-transform-class-properties@^7.24.7":
   version "7.24.7"
@@ -547,18 +583,16 @@
     "@babel/helper-plugin-utils" "^7.24.7"
     "@babel/plugin-syntax-class-static-block" "^7.14.5"
 
-"@babel/plugin-transform-classes@^7.24.8":
-  version "7.24.8"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.8.tgz#ad23301fe5bc153ca4cf7fb572a9bc8b0b711cf7"
-  integrity sha512-VXy91c47uujj758ud9wx+OMgheXm4qJfyhj1P18YvlrQkNOSrwsteHk+EFS3OMGfhMhpZa0A+81eE7G4QC+3CA==
+"@babel/plugin-transform-classes@^7.25.0":
+  version "7.25.0"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.0.tgz#63122366527d88e0ef61b612554fe3f8c793991e"
+  integrity sha512-xyi6qjr/fYU304fiRwFbekzkqVJZ6A7hOjWZd+89FVcBqPV3S9Wuozz82xdpLspckeaafntbzglaW4pqpzvtSw==
   dependencies:
     "@babel/helper-annotate-as-pure" "^7.24.7"
     "@babel/helper-compilation-targets" "^7.24.8"
-    "@babel/helper-environment-visitor" "^7.24.7"
-    "@babel/helper-function-name" "^7.24.7"
     "@babel/helper-plugin-utils" "^7.24.8"
-    "@babel/helper-replace-supers" "^7.24.7"
-    "@babel/helper-split-export-declaration" "^7.24.7"
+    "@babel/helper-replace-supers" "^7.25.0"
+    "@babel/traverse" "^7.25.0"
     globals "^11.1.0"
 
 "@babel/plugin-transform-computed-properties@^7.24.7":
@@ -591,6 +625,14 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.24.7"
 
+"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.25.0":
+  version "7.25.0"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz#809af7e3339466b49c034c683964ee8afb3e2604"
+  integrity sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==
+  dependencies:
+    "@babel/helper-create-regexp-features-plugin" "^7.25.0"
+    "@babel/helper-plugin-utils" "^7.24.8"
+
 "@babel/plugin-transform-dynamic-import@^7.24.7":
   version "7.24.7"
   resolved "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz#4d8b95e3bae2b037673091aa09cd33fecd6419f4"
@@ -631,14 +673,23 @@
     "@babel/helper-plugin-utils" "^7.24.7"
     "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7"
 
-"@babel/plugin-transform-function-name@^7.24.7":
-  version "7.24.7"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.7.tgz#6d8601fbffe665c894440ab4470bc721dd9131d6"
-  integrity sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==
+"@babel/plugin-transform-function-name@^7.25.0":
+  version "7.25.0"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.0.tgz#d17890029ceefb45189ea203b404a496263a8412"
+  integrity sha512-CQmfSnK14eYu82fu6GlCwRciHB7mp7oLN+DeyGDDwUr9cMwuSVviJKPXw/YcRYZdB1TdlLJWHHwXwnwD1WnCmQ==
   dependencies:
-    "@babel/helper-compilation-targets" "^7.24.7"
-    "@babel/helper-function-name" "^7.24.7"
-    "@babel/helper-plugin-utils" "^7.24.7"
+    "@babel/helper-compilation-targets" "^7.24.8"
+    "@babel/helper-plugin-utils" "^7.24.8"
+    "@babel/traverse" "^7.25.0"
+
+"@babel/plugin-transform-function-name@^7.25.1":
+  version "7.25.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz#b85e773097526c1a4fc4ba27322748643f26fc37"
+  integrity sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==
+  dependencies:
+    "@babel/helper-compilation-targets" "^7.24.8"
+    "@babel/helper-plugin-utils" "^7.24.8"
+    "@babel/traverse" "^7.25.1"
 
 "@babel/plugin-transform-json-strings@^7.24.7":
   version "7.24.7"
@@ -655,6 +706,13 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.24.7"
 
+"@babel/plugin-transform-literals@^7.25.2":
+  version "7.25.2"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz#deb1ad14fc5490b9a65ed830e025bca849d8b5f3"
+  integrity sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.24.8"
+
 "@babel/plugin-transform-logical-assignment-operators@^7.24.7":
   version "7.24.7"
   resolved "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz#a58fb6eda16c9dc8f9ff1c7b1ba6deb7f4694cb0"
@@ -687,15 +745,15 @@
     "@babel/helper-plugin-utils" "^7.24.8"
     "@babel/helper-simple-access" "^7.24.7"
 
-"@babel/plugin-transform-modules-systemjs@^7.24.7":
-  version "7.24.7"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.7.tgz#f8012316c5098f6e8dee6ecd58e2bc6f003d0ce7"
-  integrity sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw==
+"@babel/plugin-transform-modules-systemjs@^7.25.0":
+  version "7.25.0"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz#8f46cdc5f9e5af74f3bd019485a6cbe59685ea33"
+  integrity sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==
   dependencies:
-    "@babel/helper-hoist-variables" "^7.24.7"
-    "@babel/helper-module-transforms" "^7.24.7"
-    "@babel/helper-plugin-utils" "^7.24.7"
+    "@babel/helper-module-transforms" "^7.25.0"
+    "@babel/helper-plugin-utils" "^7.24.8"
     "@babel/helper-validator-identifier" "^7.24.7"
+    "@babel/traverse" "^7.25.0"
 
 "@babel/plugin-transform-modules-umd@^7.24.7":
   version "7.24.7"
@@ -900,13 +958,14 @@
     "@babel/helper-plugin-utils" "^7.24.8"
 
 "@babel/plugin-transform-typescript@^7.24.7", "@babel/plugin-transform-typescript@^7.8.3":
-  version "7.24.8"
-  resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.8.tgz#c104d6286e04bf7e44b8cba1b686d41bad57eb84"
-  integrity sha512-CgFgtN61BbdOGCP4fLaAMOPkzWUh6yQZNMr5YSt8uz2cZSSiQONCQFWqsE4NeVfOIhqDOlS9CR3WD91FzMeB2Q==
+  version "7.25.0"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.0.tgz#56f47fb87b86a97caa9c7770920a1967d40ac86e"
+  integrity sha512-LZicxFzHIw+Sa3pzgMgSz6gdpsdkfiMObHUzhSIrwKF0+/rP/nuR49u79pSS+zIFJ1FeGeqQD2Dq4QGFbOVvSw==
   dependencies:
     "@babel/helper-annotate-as-pure" "^7.24.7"
-    "@babel/helper-create-class-features-plugin" "^7.24.8"
+    "@babel/helper-create-class-features-plugin" "^7.25.0"
     "@babel/helper-plugin-utils" "^7.24.8"
+    "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7"
     "@babel/plugin-syntax-typescript" "^7.24.7"
 
 "@babel/plugin-transform-unicode-escapes@^7.24.7":
@@ -940,19 +999,20 @@
     "@babel/helper-create-regexp-features-plugin" "^7.24.7"
     "@babel/helper-plugin-utils" "^7.24.7"
 
-"@babel/preset-env@^7.2.0", "@babel/preset-env@^7.24.4", "@babel/preset-env@^7.24.8":
-  version "7.24.8"
-  resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.8.tgz#e0db94d7f17d6f0e2564e8d29190bc8cdacec2d1"
-  integrity sha512-vObvMZB6hNWuDxhSaEPTKCwcqkAIuDtE+bQGn4XMXne1DSLzFVY8Vmj1bm+mUQXYNN8NmaQEO+r8MMbzPr1jBQ==
+"@babel/preset-env@^7.2.0", "@babel/preset-env@^7.24.4":
+  version "7.25.0"
+  resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.0.tgz#3fe92e470311e91478129efda101816c680f0479"
+  integrity sha512-vYAA8PrCOeZfG4D87hmw1KJ1BPubghXP1e2MacRFwECGNKL76dkA38JEwYllbvQCpf/kLxsTtir0b8MtxKoVCw==
   dependencies:
-    "@babel/compat-data" "^7.24.8"
+    "@babel/compat-data" "^7.25.0"
     "@babel/helper-compilation-targets" "^7.24.8"
     "@babel/helper-plugin-utils" "^7.24.8"
     "@babel/helper-validator-option" "^7.24.8"
-    "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.24.7"
-    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.24.7"
+    "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.25.0"
+    "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.25.0"
+    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.25.0"
     "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.7"
-    "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.24.7"
+    "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.25.0"
     "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2"
     "@babel/plugin-syntax-async-generators" "^7.8.4"
     "@babel/plugin-syntax-class-properties" "^7.12.13"
@@ -973,29 +1033,119 @@
     "@babel/plugin-syntax-top-level-await" "^7.14.5"
     "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6"
     "@babel/plugin-transform-arrow-functions" "^7.24.7"
-    "@babel/plugin-transform-async-generator-functions" "^7.24.7"
+    "@babel/plugin-transform-async-generator-functions" "^7.25.0"
     "@babel/plugin-transform-async-to-generator" "^7.24.7"
     "@babel/plugin-transform-block-scoped-functions" "^7.24.7"
-    "@babel/plugin-transform-block-scoping" "^7.24.7"
+    "@babel/plugin-transform-block-scoping" "^7.25.0"
     "@babel/plugin-transform-class-properties" "^7.24.7"
     "@babel/plugin-transform-class-static-block" "^7.24.7"
-    "@babel/plugin-transform-classes" "^7.24.8"
+    "@babel/plugin-transform-classes" "^7.25.0"
     "@babel/plugin-transform-computed-properties" "^7.24.7"
     "@babel/plugin-transform-destructuring" "^7.24.8"
     "@babel/plugin-transform-dotall-regex" "^7.24.7"
     "@babel/plugin-transform-duplicate-keys" "^7.24.7"
+    "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.25.0"
     "@babel/plugin-transform-dynamic-import" "^7.24.7"
     "@babel/plugin-transform-exponentiation-operator" "^7.24.7"
     "@babel/plugin-transform-export-namespace-from" "^7.24.7"
     "@babel/plugin-transform-for-of" "^7.24.7"
-    "@babel/plugin-transform-function-name" "^7.24.7"
+    "@babel/plugin-transform-function-name" "^7.25.0"
     "@babel/plugin-transform-json-strings" "^7.24.7"
     "@babel/plugin-transform-literals" "^7.24.7"
     "@babel/plugin-transform-logical-assignment-operators" "^7.24.7"
     "@babel/plugin-transform-member-expression-literals" "^7.24.7"
     "@babel/plugin-transform-modules-amd" "^7.24.7"
     "@babel/plugin-transform-modules-commonjs" "^7.24.8"
-    "@babel/plugin-transform-modules-systemjs" "^7.24.7"
+    "@babel/plugin-transform-modules-systemjs" "^7.25.0"
+    "@babel/plugin-transform-modules-umd" "^7.24.7"
+    "@babel/plugin-transform-named-capturing-groups-regex" "^7.24.7"
+    "@babel/plugin-transform-new-target" "^7.24.7"
+    "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.7"
+    "@babel/plugin-transform-numeric-separator" "^7.24.7"
+    "@babel/plugin-transform-object-rest-spread" "^7.24.7"
+    "@babel/plugin-transform-object-super" "^7.24.7"
+    "@babel/plugin-transform-optional-catch-binding" "^7.24.7"
+    "@babel/plugin-transform-optional-chaining" "^7.24.8"
+    "@babel/plugin-transform-parameters" "^7.24.7"
+    "@babel/plugin-transform-private-methods" "^7.24.7"
+    "@babel/plugin-transform-private-property-in-object" "^7.24.7"
+    "@babel/plugin-transform-property-literals" "^7.24.7"
+    "@babel/plugin-transform-regenerator" "^7.24.7"
+    "@babel/plugin-transform-reserved-words" "^7.24.7"
+    "@babel/plugin-transform-shorthand-properties" "^7.24.7"
+    "@babel/plugin-transform-spread" "^7.24.7"
+    "@babel/plugin-transform-sticky-regex" "^7.24.7"
+    "@babel/plugin-transform-template-literals" "^7.24.7"
+    "@babel/plugin-transform-typeof-symbol" "^7.24.8"
+    "@babel/plugin-transform-unicode-escapes" "^7.24.7"
+    "@babel/plugin-transform-unicode-property-regex" "^7.24.7"
+    "@babel/plugin-transform-unicode-regex" "^7.24.7"
+    "@babel/plugin-transform-unicode-sets-regex" "^7.24.7"
+    "@babel/preset-modules" "0.1.6-no-external-plugins"
+    babel-plugin-polyfill-corejs2 "^0.4.10"
+    babel-plugin-polyfill-corejs3 "^0.10.4"
+    babel-plugin-polyfill-regenerator "^0.6.1"
+    core-js-compat "^3.37.1"
+    semver "^6.3.1"
+
+"@babel/preset-env@^7.25.3":
+  version "7.25.3"
+  resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.3.tgz#0bf4769d84ac51d1073ab4a86f00f30a3a83c67c"
+  integrity sha512-QsYW7UeAaXvLPX9tdVliMJE7MD7M6MLYVTovRTIwhoYQVFHR1rM4wO8wqAezYi3/BpSD+NzVCZ69R6smWiIi8g==
+  dependencies:
+    "@babel/compat-data" "^7.25.2"
+    "@babel/helper-compilation-targets" "^7.25.2"
+    "@babel/helper-plugin-utils" "^7.24.8"
+    "@babel/helper-validator-option" "^7.24.8"
+    "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.25.3"
+    "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.25.0"
+    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.25.0"
+    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.7"
+    "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.25.0"
+    "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2"
+    "@babel/plugin-syntax-async-generators" "^7.8.4"
+    "@babel/plugin-syntax-class-properties" "^7.12.13"
+    "@babel/plugin-syntax-class-static-block" "^7.14.5"
+    "@babel/plugin-syntax-dynamic-import" "^7.8.3"
+    "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
+    "@babel/plugin-syntax-import-assertions" "^7.24.7"
+    "@babel/plugin-syntax-import-attributes" "^7.24.7"
+    "@babel/plugin-syntax-import-meta" "^7.10.4"
+    "@babel/plugin-syntax-json-strings" "^7.8.3"
+    "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
+    "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
+    "@babel/plugin-syntax-numeric-separator" "^7.10.4"
+    "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
+    "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
+    "@babel/plugin-syntax-optional-chaining" "^7.8.3"
+    "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
+    "@babel/plugin-syntax-top-level-await" "^7.14.5"
+    "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6"
+    "@babel/plugin-transform-arrow-functions" "^7.24.7"
+    "@babel/plugin-transform-async-generator-functions" "^7.25.0"
+    "@babel/plugin-transform-async-to-generator" "^7.24.7"
+    "@babel/plugin-transform-block-scoped-functions" "^7.24.7"
+    "@babel/plugin-transform-block-scoping" "^7.25.0"
+    "@babel/plugin-transform-class-properties" "^7.24.7"
+    "@babel/plugin-transform-class-static-block" "^7.24.7"
+    "@babel/plugin-transform-classes" "^7.25.0"
+    "@babel/plugin-transform-computed-properties" "^7.24.7"
+    "@babel/plugin-transform-destructuring" "^7.24.8"
+    "@babel/plugin-transform-dotall-regex" "^7.24.7"
+    "@babel/plugin-transform-duplicate-keys" "^7.24.7"
+    "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.25.0"
+    "@babel/plugin-transform-dynamic-import" "^7.24.7"
+    "@babel/plugin-transform-exponentiation-operator" "^7.24.7"
+    "@babel/plugin-transform-export-namespace-from" "^7.24.7"
+    "@babel/plugin-transform-for-of" "^7.24.7"
+    "@babel/plugin-transform-function-name" "^7.25.1"
+    "@babel/plugin-transform-json-strings" "^7.24.7"
+    "@babel/plugin-transform-literals" "^7.25.2"
+    "@babel/plugin-transform-logical-assignment-operators" "^7.24.7"
+    "@babel/plugin-transform-member-expression-literals" "^7.24.7"
+    "@babel/plugin-transform-modules-amd" "^7.24.7"
+    "@babel/plugin-transform-modules-commonjs" "^7.24.8"
+    "@babel/plugin-transform-modules-systemjs" "^7.25.0"
     "@babel/plugin-transform-modules-umd" "^7.24.7"
     "@babel/plugin-transform-named-capturing-groups-regex" "^7.24.7"
     "@babel/plugin-transform-new-target" "^7.24.7"
@@ -1085,41 +1235,60 @@
   integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==
 
 "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.0", "@babel/runtime@^7.14.0", "@babel/runtime@^7.17.8", "@babel/runtime@^7.2.0", "@babel/runtime@^7.21.5", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2":
-  version "7.24.8"
-  resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.8.tgz#5d958c3827b13cc6d05e038c07fb2e5e3420d82e"
-  integrity sha512-5F7SDGs1T72ZczbRwbGO9lQi0NLjQxzl6i4lJxLxfW9U5UluCSyEJeniWvnhl3/euNiqQVbo8zruhsDfid0esA==
+  version "7.25.0"
+  resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.0.tgz#3af9a91c1b739c569d5d80cc917280919c544ecb"
+  integrity sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==
   dependencies:
     regenerator-runtime "^0.14.0"
 
-"@babel/template@^7.22.5", "@babel/template@^7.24.7", "@babel/template@^7.3.3":
-  version "7.24.7"
-  resolved "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz#02efcee317d0609d2c07117cb70ef8fb17ab7315"
-  integrity sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==
+"@babel/template@^7.22.5", "@babel/template@^7.24.7", "@babel/template@^7.25.0", "@babel/template@^7.3.3":
+  version "7.25.0"
+  resolved "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz#e733dc3134b4fede528c15bc95e89cb98c52592a"
+  integrity sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==
   dependencies:
     "@babel/code-frame" "^7.24.7"
-    "@babel/parser" "^7.24.7"
-    "@babel/types" "^7.24.7"
+    "@babel/parser" "^7.25.0"
+    "@babel/types" "^7.25.0"
 
-"@babel/traverse@^7.18.9", "@babel/traverse@^7.24.7", "@babel/traverse@^7.24.8", "@babel/traverse@^7.4.5", "@babel/traverse@^7.7.0":
-  version "7.24.8"
-  resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.8.tgz#6c14ed5232b7549df3371d820fbd9abfcd7dfab7"
-  integrity sha512-t0P1xxAPzEDcEPmjprAQq19NWum4K0EQPjMwZQZbHt+GiZqvjCHjj755Weq1YRPVzBI+3zSfvScfpnuIecVFJQ==
+"@babel/traverse@^7.18.9", "@babel/traverse@^7.24.7", "@babel/traverse@^7.24.8", "@babel/traverse@^7.25.0", "@babel/traverse@^7.4.5", "@babel/traverse@^7.7.0":
+  version "7.25.0"
+  resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.0.tgz#e8533c0a57ed97921d1e5b20dd3db63d3efaebf5"
+  integrity sha512-ubALThHQy4GCf6mbb+5ZRNmLLCI7bJ3f8Q6LHBSRlSKSWj5a7dSUzJBLv3VuIhFrFPgjF4IzPF567YG/HSCdZA==
   dependencies:
     "@babel/code-frame" "^7.24.7"
-    "@babel/generator" "^7.24.8"
-    "@babel/helper-environment-visitor" "^7.24.7"
-    "@babel/helper-function-name" "^7.24.7"
-    "@babel/helper-hoist-variables" "^7.24.7"
-    "@babel/helper-split-export-declaration" "^7.24.7"
-    "@babel/parser" "^7.24.8"
-    "@babel/types" "^7.24.8"
+    "@babel/generator" "^7.25.0"
+    "@babel/parser" "^7.25.0"
+    "@babel/template" "^7.25.0"
+    "@babel/types" "^7.25.0"
     debug "^4.3.1"
     globals "^11.1.0"
 
-"@babel/types@^7.0.0", "@babel/types@^7.18.9", "@babel/types@^7.20.7", "@babel/types@^7.22.5", "@babel/types@^7.24.0", "@babel/types@^7.24.7", "@babel/types@^7.24.8", "@babel/types@^7.24.9", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0":
-  version "7.24.9"
-  resolved "https://registry.npmjs.org/@babel/types/-/types-7.24.9.tgz#228ce953d7b0d16646e755acf204f4cf3d08cc73"
-  integrity sha512-xm8XrMKz0IlUdocVbYJe0Z9xEgidU7msskG8BbhnTPK/HZ2z/7FP7ykqPgrUH+C+r414mNfNWam1f2vqOjqjYQ==
+"@babel/traverse@^7.25.1", "@babel/traverse@^7.25.2", "@babel/traverse@^7.25.3":
+  version "7.25.3"
+  resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.3.tgz#f1b901951c83eda2f3e29450ce92743783373490"
+  integrity sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==
+  dependencies:
+    "@babel/code-frame" "^7.24.7"
+    "@babel/generator" "^7.25.0"
+    "@babel/parser" "^7.25.3"
+    "@babel/template" "^7.25.0"
+    "@babel/types" "^7.25.2"
+    debug "^4.3.1"
+    globals "^11.1.0"
+
+"@babel/types@^7.0.0", "@babel/types@^7.18.9", "@babel/types@^7.20.7", "@babel/types@^7.22.5", "@babel/types@^7.24.0", "@babel/types@^7.24.7", "@babel/types@^7.24.8", "@babel/types@^7.24.9", "@babel/types@^7.25.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0":
+  version "7.25.0"
+  resolved "https://registry.npmjs.org/@babel/types/-/types-7.25.0.tgz#e6e3656c581f28da8452ed4f69e38008ec0ba41b"
+  integrity sha512-LcnxQSsd9aXOIgmmSpvZ/1yo46ra2ESYyqLcryaBZOghxy5qqOBjvCWP5JfkI8yl9rlxRgdLTTMCQQRcN2hdCg==
+  dependencies:
+    "@babel/helper-string-parser" "^7.24.8"
+    "@babel/helper-validator-identifier" "^7.24.7"
+    to-fast-properties "^2.0.0"
+
+"@babel/types@^7.25.2":
+  version "7.25.2"
+  resolved "https://registry.npmjs.org/@babel/types/-/types-7.25.2.tgz#55fb231f7dc958cd69ea141a4c2997e819646125"
+  integrity sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==
   dependencies:
     "@babel/helper-string-parser" "^7.24.8"
     "@babel/helper-validator-identifier" "^7.24.7"
@@ -1149,6 +1318,14 @@
   dependencies:
     statuses "^2.0.1"
 
+"@bundled-es-modules/tough-cookie@^0.1.6":
+  version "0.1.6"
+  resolved "https://registry.npmjs.org/@bundled-es-modules/tough-cookie/-/tough-cookie-0.1.6.tgz#fa9cd3cedfeecd6783e8b0d378b4a99e52bde5d3"
+  integrity sha512-dvMHbL464C0zI+Yqxbz6kZ5TOEp7GLW+pry/RWndAR8MJQAXZ2rPmIs8tziTZjeIyhSNZgZbCePtfSbdWqStJw==
+  dependencies:
+    "@types/tough-cookie" "^4.0.5"
+    tough-cookie "^4.1.4"
+
 "@cspotcode/source-map-support@^0.8.0":
   version "0.8.1"
   resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1"
@@ -1958,11 +2135,6 @@
   dependencies:
     "@types/mdx" "^2.0.0"
 
-"@mswjs/cookies@^1.1.0":
-  version "1.1.1"
-  resolved "https://registry.npmjs.org/@mswjs/cookies/-/cookies-1.1.1.tgz#8b519e2bd8f1577c530beed44a25578eb9a6e72c"
-  integrity sha512-W68qOHEjx1iD+4VjQudlx26CPIoxmIAtK4ZCexU0/UJBG6jYhcuyzKJx+Iw8uhBIGd9eba64XgWVgo20it1qwA==
-
 "@mswjs/interceptors@^0.29.0":
   version "0.29.1"
   resolved "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.29.1.tgz#e77fc58b5188569041d0440b25c9e9ebb1ccd60a"
@@ -2142,10 +2314,10 @@
     redux-thunk "^2.4.2"
     reselect "^4.1.8"
 
-"@remix-run/router@1.18.0":
-  version "1.18.0"
-  resolved "https://registry.npmjs.org/@remix-run/router/-/router-1.18.0.tgz#20b033d1f542a100c1d57cfd18ecf442d1784732"
-  integrity sha512-L3jkqmqoSVBVKHfpGZmLrex0lxR5SucGA0sUfFzGctehw+S/ggL9L/0NnC5mw6P8HUWpFZ3nQw3cRApjjWx9Sw==
+"@remix-run/router@1.19.1":
+  version "1.19.1"
+  resolved "https://registry.npmjs.org/@remix-run/router/-/router-1.19.1.tgz#984771bfd1de2715f42394c87fb716c1349e014f"
+  integrity sha512-S45oynt/WH19bHbIXjtli6QmwNYvaz+vtnubvNpNDvUOoA/OWh6j1OikIP3G+v5GHdxyC6EXoChG3HgYGEUfcg==
 
 "@sideway/address@^4.1.5":
   version "4.1.5"
@@ -2188,12 +2360,12 @@
   dependencies:
     "@sinonjs/commons" "^3.0.0"
 
-"@splunk/async-dynamic-options-evaluator@^26.1.2":
-  version "26.1.2"
-  resolved "https://registry.npmjs.org/@splunk/async-dynamic-options-evaluator/-/async-dynamic-options-evaluator-26.1.2.tgz#c235375e9f2e9866750bbe7763a4e9238e44d88b"
-  integrity sha512-6czA2WtPREwO52OZZhHSz6gTxlZ5D/oDCDN1c4KENK7ufUwKh9Vsh2sdlz0J0bwa1ND+4KMz4HPh4PUCIaQ5jQ==
+"@splunk/async-dynamic-options-evaluator@^26.2.1":
+  version "26.2.1"
+  resolved "https://registry.npmjs.org/@splunk/async-dynamic-options-evaluator/-/async-dynamic-options-evaluator-26.2.1.tgz#f3339f2b918b7e1f0509a55723cd2bec0c700541"
+  integrity sha512-XoO9DKIuHwkRXIHCL0m5FWXALJxLXipT18ZNIq3rPQgvlpShVK4eJLw3LEA9jWmBjsP1eqF0mcsnFwBLcwpPig==
   dependencies:
-    "@splunk/visualization-encoding" "^26.1.2"
+    "@splunk/visualization-encoding" "^26.2.1"
 
 "@splunk/babel-preset@^4.0.0":
   version "4.0.0"
@@ -2206,46 +2378,46 @@
     "@babel/preset-env" "^7.2.0"
     "@babel/preset-react" "^7.0.0"
 
-"@splunk/charting-bundle@^26.1.2":
-  version "26.1.2"
-  resolved "https://registry.npmjs.org/@splunk/charting-bundle/-/charting-bundle-26.1.2.tgz#4b77b404c78ffd16ae3a0eb166b43eb1249dd0fc"
-  integrity sha512-S/rG/uXc/RSOm9Ab0iV3rpdR+bVTN2d530jK/iHF/taTZKq3iaZdQDXKKq1wMivvILdLf59J0NrWjLLbClsEPg==
-
-"@splunk/dashboard-action-buttons@^27.2.0":
-  version "27.2.0"
-  resolved "https://registry.npmjs.org/@splunk/dashboard-action-buttons/-/dashboard-action-buttons-27.2.0.tgz#25b3c18aa531f48b22cc548f30b4c5fb721f88a5"
-  integrity sha512-d7mEYHoTHOF8H52uU8OsvZfoWzYAZwciytqxUpkQUSwkLlk+8jK143NUL4PYbI+cYihwDxPg9xtVRrPD2u7CUg==
-  dependencies:
-    "@splunk/dashboard-icons" "^27.2.0"
-    "@splunk/dashboard-telemetry" "^27.2.0"
-    "@splunk/dashboard-ui" "^27.2.0"
-    "@splunk/dashboard-utils" "^27.2.0"
-    "@splunk/react-icons" "^4.5.0"
+"@splunk/charting-bundle@^26.2.1":
+  version "26.2.1"
+  resolved "https://registry.npmjs.org/@splunk/charting-bundle/-/charting-bundle-26.2.1.tgz#7c1b5b7432020ee26781ba7be38e590817d262f8"
+  integrity sha512-BjQIOIcsal9ykiWavzVlaIkD9hqi0mC8uFHXSSyovLUjLzH0fAc372drSZR+IjRKp1eJkQarymyS/53SiWsrBA==
+
+"@splunk/dashboard-action-buttons@^27.3.1":
+  version "27.3.1"
+  resolved "https://registry.npmjs.org/@splunk/dashboard-action-buttons/-/dashboard-action-buttons-27.3.1.tgz#c6e93aa2d019dc4fc190e0e7a1ce5c831670828a"
+  integrity sha512-kIw+pQ3yJoE1dSOW2Jijsv4JCoCGrmwskhfZyEsUdIRXodoT9n+tIKQvdiBP4hKfuzjFWuHo1L/hjFp6rn0xKw==
+  dependencies:
+    "@splunk/dashboard-icons" "^27.3.1"
+    "@splunk/dashboard-telemetry" "^27.3.1"
+    "@splunk/dashboard-ui" "^27.3.1"
+    "@splunk/dashboard-utils" "^27.3.1"
+    "@splunk/react-icons" "^4.6.0"
     "@splunk/react-toast-notifications" "^0.11.1"
     "@splunk/react-ui" "^4.32.0"
-    "@splunk/themes" "^0.19.0"
+    "@splunk/themes" "^0.20.0"
     "@splunk/ui-utils" "^1.4.0"
     lodash "^4.17.21"
     prop-types "^15.7.2"
 
-"@splunk/dashboard-context@^27.2.0":
-  version "27.2.0"
-  resolved "https://registry.npmjs.org/@splunk/dashboard-context/-/dashboard-context-27.2.0.tgz#b26b22b2966df5b6fe342bc73ad6e4638e1168ad"
-  integrity sha512-8Rrh28+uuNgzpwYUQDMQwF+2NbbVkToz9YlUmd8RW5WNWQmgYaftdLF4B4nh6I+pPuLEMcPzW807ikC3Vtmgsw==
+"@splunk/dashboard-context@^27.3.1":
+  version "27.3.1"
+  resolved "https://registry.npmjs.org/@splunk/dashboard-context/-/dashboard-context-27.3.1.tgz#5f15fcc5f6b97436ef19b5190bb2996038cae25b"
+  integrity sha512-gwSDQuXVqHOsinctL3h3iq/s3T7fi/P+WNJtH0EVjmmnWZADuucXGBIZJQUgck7+20IQZ4bfb8COJoEsbAlPww==
   dependencies:
     "@dnd-kit/core" "^6.0.5"
     "@dnd-kit/sortable" "^7.0.1"
     "@dnd-kit/utilities" "^3.2.0"
-    "@splunk/dashboard-definition" "^27.2.0"
-    "@splunk/dashboard-icons" "^27.2.0"
-    "@splunk/dashboard-search" "^27.2.0"
-    "@splunk/dashboard-state" "^27.2.0"
-    "@splunk/dashboard-telemetry" "^27.2.0"
-    "@splunk/dashboard-utils" "^27.2.0"
-    "@splunk/datasource-utils" "^27.2.0"
-    "@splunk/datasources" "^27.2.0"
+    "@splunk/dashboard-definition" "^27.3.1"
+    "@splunk/dashboard-icons" "^27.3.1"
+    "@splunk/dashboard-search" "^27.3.1"
+    "@splunk/dashboard-state" "^27.3.1"
+    "@splunk/dashboard-telemetry" "^27.3.1"
+    "@splunk/dashboard-utils" "^27.3.1"
+    "@splunk/datasource-utils" "^27.3.1"
+    "@splunk/datasources" "^27.3.1"
     "@splunk/react-ui" "^4.32.0"
-    "@splunk/themes" "^0.19.0"
+    "@splunk/themes" "^0.20.0"
     "@splunk/ui-utils" "^1.4.0"
     "@types/mousetrap" "^1.6.5"
     lodash "^4.17.21"
@@ -2253,188 +2425,188 @@
     mousetrap "^1.6.3"
     prop-types "^15.7.2"
 
-"@splunk/dashboard-core@^27.2.0":
-  version "27.2.0"
-  resolved "https://registry.npmjs.org/@splunk/dashboard-core/-/dashboard-core-27.2.0.tgz#15a361c615bbaf57fc0de9e7040f28efa5b16147"
-  integrity sha512-SKR7c4A4aQ5O6VxP0KJw45sqpqWNIDwUYmZ/sm2FZ8yyF3to+dg4MDlk64jyyKrmvC+HNns0Cix/QiaDZ+EcKw==
+"@splunk/dashboard-core@^27.3.1":
+  version "27.3.1"
+  resolved "https://registry.npmjs.org/@splunk/dashboard-core/-/dashboard-core-27.3.1.tgz#eb81b77e12ebaf468b29031d63fae66dfe14bf14"
+  integrity sha512-oLSpo8Pt4lUuQxzpNn7OdHkmXYWwA9lIF8d5gabx633vsRdZSLOoxsFrw1omUSqkxgUyM9ZqDZkHGZK5qMny8g==
   dependencies:
     "@dnd-kit/core" "^6.0.5"
     "@dnd-kit/sortable" "^7.0.1"
     "@dnd-kit/utilities" "^3.2.0"
-    "@splunk/dashboard-definition" "^27.2.0"
-    "@splunk/dashboard-layouts" "^27.2.0"
-    "@splunk/dashboard-search" "^27.2.0"
-    "@splunk/dashboard-telemetry" "^27.2.0"
-    "@splunk/dashboard-ui" "^27.2.0"
-    "@splunk/dashboard-utils" "^27.2.0"
-    "@splunk/dashboard-validation" "^27.2.0"
-    "@splunk/datasource-utils" "^27.2.0"
-    "@splunk/datasources" "^27.2.0"
-    "@splunk/react-icons" "^4.5.0"
+    "@splunk/dashboard-definition" "^27.3.1"
+    "@splunk/dashboard-layouts" "^27.3.1"
+    "@splunk/dashboard-search" "^27.3.1"
+    "@splunk/dashboard-telemetry" "^27.3.1"
+    "@splunk/dashboard-ui" "^27.3.1"
+    "@splunk/dashboard-utils" "^27.3.1"
+    "@splunk/dashboard-validation" "^27.3.1"
+    "@splunk/datasource-utils" "^27.3.1"
+    "@splunk/datasources" "^27.3.1"
+    "@splunk/react-icons" "^4.6.0"
     "@splunk/react-ui" "^4.32.0"
-    "@splunk/themes" "^0.19.0"
+    "@splunk/themes" "^0.20.0"
     "@splunk/ui-utils" "^1.4.0"
-    "@splunk/visualization-icons" "^26.1.2"
+    "@splunk/visualization-icons" "^26.2.1"
     hash-it "^5.0.0"
     lodash "^4.17.21"
     prop-types "^15.7.2"
     react-full-screen "^1.0.2"
     rxjs "^5.5.12"
 
-"@splunk/dashboard-definition@^27.2.0":
-  version "27.2.0"
-  resolved "https://registry.npmjs.org/@splunk/dashboard-definition/-/dashboard-definition-27.2.0.tgz#391b7807e6f7ceb154f1b4a307511b2227b62564"
-  integrity sha512-yJaqVbmzcgUPx34+ODi4ARDpmcyQrsPVvVnAsB3jGDysWSuGEA3AeCqfuje3HOD5UKRjb9K0l2rCW61oAXEGAg==
+"@splunk/dashboard-definition@^27.3.1":
+  version "27.3.1"
+  resolved "https://registry.npmjs.org/@splunk/dashboard-definition/-/dashboard-definition-27.3.1.tgz#0addac3689d3402136484a4a80006992afd885d2"
+  integrity sha512-HGgV5TY7EgtRkzUI1HoScHZFpR4zMuQ6QH9mF3oAaTblttniuLNi1z0vd9WNkDYHvmWQQgeA5oDi4Q/xaLuqTA==
   dependencies:
-    "@splunk/dashboard-utils" "^27.2.0"
-    "@splunk/dashboard-validation" "^27.2.0"
+    "@splunk/dashboard-utils" "^27.3.1"
+    "@splunk/dashboard-validation" "^27.3.1"
     "@splunk/ui-utils" "^1.4.0"
     ajv "^8.5.0"
     fast-json-patch "^3.1.1"
     hash-it "^5.0.0"
     lodash "^4.17.21"
 
-"@splunk/dashboard-event-handlers@^27.2.0":
-  version "27.2.0"
-  resolved "https://registry.npmjs.org/@splunk/dashboard-event-handlers/-/dashboard-event-handlers-27.2.0.tgz#32545080153f60d772b5ee315452d66d170bbc08"
-  integrity sha512-ovNUcsRF+XuPrhn+vbQazYM3tj53c6VDZwkEyz8zKfWEMXAMKN973vl/+omat6DTcA2mem6hpZBHjnSv+dcoQQ==
+"@splunk/dashboard-event-handlers@^27.3.1":
+  version "27.3.1"
+  resolved "https://registry.npmjs.org/@splunk/dashboard-event-handlers/-/dashboard-event-handlers-27.3.1.tgz#8d056761dda3065c8b5c29cb5c29eaeb4c2b349b"
+  integrity sha512-7I8pswMKHkhx4rOnLNCIzkwKroscJCTi5fXzwp7/jSeQE9lg+J6pgw8q1Ui3n1zPTMBd6vusJOUA7E0RX17OMQ==
   dependencies:
-    "@splunk/dashboard-utils" "^27.2.0"
+    "@splunk/dashboard-utils" "^27.3.1"
 
-"@splunk/dashboard-icons@^27.2.0":
-  version "27.2.0"
-  resolved "https://registry.npmjs.org/@splunk/dashboard-icons/-/dashboard-icons-27.2.0.tgz#3645287ad871a6e0eb5c1e3c3b7287b4a39609fe"
-  integrity sha512-tCidA/UhHV6QaGhkPUNXhlXfZZUxxpQoHzaD8OiTIg0KfH3QEAz4p/+Dai1ftTPObDDQNmFRNdgQvy55cQ7eNg==
+"@splunk/dashboard-icons@^27.3.1":
+  version "27.3.1"
+  resolved "https://registry.npmjs.org/@splunk/dashboard-icons/-/dashboard-icons-27.3.1.tgz#34914e818681a19e5dd106a8b09ef83fea2a503f"
+  integrity sha512-vOi2WHavj9YghmoD5kuVBpj1K5L34D67laqWwUGi/yhzHS/OAd8rUhCWxjyTefv68HhrP4McVP7QsZ6jf9E5tw==
   dependencies:
-    "@splunk/dashboard-utils" "^27.2.0"
-    "@splunk/react-icons" "^4.5.0"
+    "@splunk/dashboard-utils" "^27.3.1"
+    "@splunk/react-icons" "^4.6.0"
     "@splunk/ui-utils" "^1.4.0"
     prop-types "^15.7.2"
 
-"@splunk/dashboard-inputs@^27.2.0":
-  version "27.2.0"
-  resolved "https://registry.npmjs.org/@splunk/dashboard-inputs/-/dashboard-inputs-27.2.0.tgz#bb61c4d0de941a3e7bed4954290f692119fb55d0"
-  integrity sha512-fI208s2CEMLhM6z784AX6mccUugj0/n5XH6XqanRX+H8mHPM5pYM7JYWKBErrJ9u9FHBzdTPM238IN3fEb6iEA==
+"@splunk/dashboard-inputs@^27.3.1":
+  version "27.3.1"
+  resolved "https://registry.npmjs.org/@splunk/dashboard-inputs/-/dashboard-inputs-27.3.1.tgz#72b12cf1cf4dfc284dac7725b6a1a5f6a1da9182"
+  integrity sha512-cndXmUj5NIvDLZ46KuW0oFje3bR1c2vJskEWZOJihz89GBGJ77nl0iTZvLsk+E2vgOTpdKDnMb8YlHan9zcRQw==
   dependencies:
-    "@splunk/dashboard-icons" "^27.2.0"
-    "@splunk/dashboard-telemetry" "^27.2.0"
-    "@splunk/dashboard-ui" "^27.2.0"
-    "@splunk/dashboard-utils" "^27.2.0"
+    "@splunk/dashboard-icons" "^27.3.1"
+    "@splunk/dashboard-telemetry" "^27.3.1"
+    "@splunk/dashboard-ui" "^27.3.1"
+    "@splunk/dashboard-utils" "^27.3.1"
     "@splunk/moment" "^0.7.0"
-    "@splunk/react-icons" "^4.5.0"
+    "@splunk/react-icons" "^4.6.0"
     "@splunk/react-time-range" "^9.2.0"
-    "@splunk/react-ui" "^4.32.0"
+    "@splunk/react-ui" "^4.33.0"
     "@splunk/splunk-utils" "^3.1.0"
-    "@splunk/themes" "^0.19.0"
+    "@splunk/themes" "^0.20.0"
     "@splunk/time-range-utils" "^3.2.0"
     "@splunk/ui-utils" "^1.4.0"
-    "@splunk/visualization-encoding" "^26.1.2"
-    "@splunk/visualization-encoding-parsers" "^26.1.2"
-    "@splunk/visualizations-shared" "^26.1.2"
+    "@splunk/visualization-encoding" "^26.2.1"
+    "@splunk/visualization-encoding-parsers" "^26.2.1"
+    "@splunk/visualizations-shared" "^26.2.1"
     lodash "^4.17.21"
     memoize-one "^5.2.1"
     prop-types "^15.7.2"
 
-"@splunk/dashboard-layouts@^27.2.0":
-  version "27.2.0"
-  resolved "https://registry.npmjs.org/@splunk/dashboard-layouts/-/dashboard-layouts-27.2.0.tgz#3ce92cd716fd506aee7849f1b33fedc2a1609559"
-  integrity sha512-dtC6zrN7gZPn+UsXmmtOhYrCvzvQWC5Pso4Odm99NUTxpNzpzObx0BDLlOH+8R+sevb9MwKe+RhidxmyK9mkPQ==
+"@splunk/dashboard-layouts@^27.3.1":
+  version "27.3.1"
+  resolved "https://registry.npmjs.org/@splunk/dashboard-layouts/-/dashboard-layouts-27.3.1.tgz#d197da33da660880c6f7ace434622a1e494334ae"
+  integrity sha512-ZvjBndINRjum4DrQSesivYogAcr2UvDwRZ6cHgrJpp2moAYTcKiDfEx8k+BA1oAKS1b/f8GBR68K5BGEbk5FNA==
   dependencies:
     "@dnd-kit/core" "^6.0.5"
-    "@splunk/dashboard-definition" "^27.2.0"
-    "@splunk/dashboard-state" "^27.2.0"
-    "@splunk/dashboard-telemetry" "^27.2.0"
-    "@splunk/dashboard-ui" "^27.2.0"
-    "@splunk/dashboard-utils" "^27.2.0"
-    "@splunk/react-icons" "^4.5.0"
-    "@splunk/themes" "^0.19.0"
+    "@splunk/dashboard-definition" "^27.3.1"
+    "@splunk/dashboard-state" "^27.3.1"
+    "@splunk/dashboard-telemetry" "^27.3.1"
+    "@splunk/dashboard-ui" "^27.3.1"
+    "@splunk/dashboard-utils" "^27.3.1"
+    "@splunk/react-icons" "^4.6.0"
+    "@splunk/themes" "^0.20.0"
     "@splunk/ui-utils" "^1.4.0"
-    "@splunk/visualization-color-palettes" "^26.1.2"
-    "@splunk/visualization-encoding" "^26.1.2"
-    "@splunk/visualizations" "^26.1.2"
-    "@splunk/visualizations-shared" "^26.1.2"
+    "@splunk/visualization-color-palettes" "^26.2.1"
+    "@splunk/visualization-encoding" "^26.2.1"
+    "@splunk/visualizations" "^26.2.1"
+    "@splunk/visualizations-shared" "^26.2.1"
     lodash "^4.17.21"
     memoize-one "^5.2.1"
     prop-types "^15.7.2"
     rxjs "^5.5.12"
 
-"@splunk/dashboard-presets@^27.2.0":
-  version "27.2.0"
-  resolved "https://registry.npmjs.org/@splunk/dashboard-presets/-/dashboard-presets-27.2.0.tgz#36fda86d4ea9764f9e68f4a09befed67449b3fe8"
-  integrity sha512-XWkZu4Q8AxoGo/3fS8K43tXPssLEiflg9OJgodFxZC/FgQYEXAvKoonsMAvKzHb6o+W1eFpTDkGy0y3/x3REmQ==
-  dependencies:
-    "@splunk/dashboard-event-handlers" "^27.2.0"
-    "@splunk/dashboard-icons" "^27.2.0"
-    "@splunk/dashboard-inputs" "^27.2.0"
-    "@splunk/dashboard-layouts" "^27.2.0"
-    "@splunk/dashboard-ui" "^27.2.0"
-    "@splunk/dashboard-utils" "^27.2.0"
-    "@splunk/dashboard-visualizations" "^26.1.2"
-    "@splunk/datasources" "^27.2.0"
-    "@splunk/react-icons" "^4.5.0"
+"@splunk/dashboard-presets@^27.3.1":
+  version "27.3.1"
+  resolved "https://registry.npmjs.org/@splunk/dashboard-presets/-/dashboard-presets-27.3.1.tgz#617343bde94227fa6befbd583f01d0cc608584a7"
+  integrity sha512-L3PzLIl3CSM22dIAFXsdM8HSRwlEcuA1/6sbIay7KJ/Kk9RHuCVt7+9DtsS/IUhJIMsxklHxGuCUbPBr6OaLrw==
+  dependencies:
+    "@splunk/dashboard-event-handlers" "^27.3.1"
+    "@splunk/dashboard-icons" "^27.3.1"
+    "@splunk/dashboard-inputs" "^27.3.1"
+    "@splunk/dashboard-layouts" "^27.3.1"
+    "@splunk/dashboard-ui" "^27.3.1"
+    "@splunk/dashboard-utils" "^27.3.1"
+    "@splunk/dashboard-visualizations" "^26.2.1"
+    "@splunk/datasources" "^27.3.1"
+    "@splunk/react-icons" "^4.6.0"
     "@splunk/ui-utils" "^1.4.0"
-    "@splunk/visualization-icons" "^26.1.2"
-    "@splunk/visualizations" "^26.1.2"
+    "@splunk/visualization-icons" "^26.2.1"
+    "@splunk/visualizations" "^26.2.1"
     lodash "^4.17.21"
 
-"@splunk/dashboard-search@^27.2.0":
-  version "27.2.0"
-  resolved "https://registry.npmjs.org/@splunk/dashboard-search/-/dashboard-search-27.2.0.tgz#5ca5f64051bb87f2a8ce354d7c1367512e6fd6d5"
-  integrity sha512-1JM+qa9RPHU92/BRDGIajFa4Ryk1KM3d44HQAl/NNQje0+dWUSQwfgRAGdTuI+fuvl1PKA2T2luIco9S3rNrrw==
+"@splunk/dashboard-search@^27.3.1":
+  version "27.3.1"
+  resolved "https://registry.npmjs.org/@splunk/dashboard-search/-/dashboard-search-27.3.1.tgz#db3b1898bb88f614632fe38be06d616c11c1a830"
+  integrity sha512-Dtv/GrjyECX859kOjH3qX3PV2xhqo7KyDC0u2LF2UUleSqb2YugbxBPePaEGSbp9Xw8vrDd0vRG1yKsluxHk/Q==
   dependencies:
-    "@splunk/dashboard-utils" "^27.2.0"
-    "@splunk/datasource-utils" "^27.2.0"
-    "@splunk/datasources" "^27.2.0"
+    "@splunk/dashboard-utils" "^27.3.1"
+    "@splunk/datasource-utils" "^27.3.1"
+    "@splunk/datasources" "^27.3.1"
     "@splunk/ui-utils" "^1.4.0"
     hash-it "^5.0.0"
     lodash "^4.17.21"
     rxjs "^5.5.12"
 
-"@splunk/dashboard-state@^27.2.0":
-  version "27.2.0"
-  resolved "https://registry.npmjs.org/@splunk/dashboard-state/-/dashboard-state-27.2.0.tgz#c7e7a44161ef6d2032921c986b215f98bb3b45e6"
-  integrity sha512-E8tXHGCsjIQxG17zf9qdbW+G2ecTS9ztFBwMiKCGsGLLrs+XQKwhfBiD6EvHdREzsyj2T5+7oxib1VEGZyF/3g==
+"@splunk/dashboard-state@^27.3.1":
+  version "27.3.1"
+  resolved "https://registry.npmjs.org/@splunk/dashboard-state/-/dashboard-state-27.3.1.tgz#fc92a42cb0c89d5ee8b4e172e6c3f0c40145a3eb"
+  integrity sha512-AkC7SdOi9on0KPc855zBSbpUea8st5q1aGLlMOjPQVsXHKKU3vhRI/RDlPGXydNx15Ck/IEL4J77Zh2P4+BJGw==
   dependencies:
     "@reduxjs/toolkit" "^1.9.4"
-    "@splunk/dashboard-definition" "^27.2.0"
-    "@splunk/dashboard-telemetry" "^27.2.0"
-    "@splunk/dashboard-utils" "^27.2.0"
+    "@splunk/dashboard-definition" "^27.3.1"
+    "@splunk/dashboard-telemetry" "^27.3.1"
+    "@splunk/dashboard-utils" "^27.3.1"
     "@splunk/ui-utils" "^1.4.0"
     lodash "^4.17.21"
     react-redux "^8.0.5"
 
-"@splunk/dashboard-telemetry@^27.2.0":
-  version "27.2.0"
-  resolved "https://registry.npmjs.org/@splunk/dashboard-telemetry/-/dashboard-telemetry-27.2.0.tgz#c17c985808491f1e9634a9e535f4ccfc5dd380db"
-  integrity sha512-884E7EFxjKq1+UZikvmPvF2Y7H3ZsDmw+EUP5T9k0oZwVQOlXUkT3HWoodA/1gsK84f3rm/4QZIaKAU4BXo7uQ==
+"@splunk/dashboard-telemetry@^27.3.1":
+  version "27.3.1"
+  resolved "https://registry.npmjs.org/@splunk/dashboard-telemetry/-/dashboard-telemetry-27.3.1.tgz#d66ae9cdaae3afcfc9d3af5041c1f0fb8ea30e37"
+  integrity sha512-TLkvIzMOP1+aCxSmX6OF8yyJABhZYuBVMbxROqDm7pQQ7yMJEmnwC419C74dZtG3qA7VAWQz3OzXjrgJ56fGPQ==
   dependencies:
-    "@splunk/dashboard-utils" "^27.2.0"
+    "@splunk/dashboard-utils" "^27.3.1"
     lodash "^4.17.21"
 
-"@splunk/dashboard-types@^27.2.0":
-  version "27.2.0"
-  resolved "https://registry.npmjs.org/@splunk/dashboard-types/-/dashboard-types-27.2.0.tgz#b9bca2001fbac2f38ba7b0bd1a3e2b89b6c926d0"
-  integrity sha512-9pGTGGSdaQt5tKxI8stX/kC2hSKhAEfllCWARl+CCiehprSABj2GSvMh4y0Ut88sWxt0bxOm7V/ksOKMBObjvg==
-
-"@splunk/dashboard-ui@^27.2.0":
-  version "27.2.0"
-  resolved "https://registry.npmjs.org/@splunk/dashboard-ui/-/dashboard-ui-27.2.0.tgz#5ef8f7bca07171b01b3f3c2292ce0f57113fc75e"
-  integrity sha512-YL7tcoBfyhjjYRIlWosNdf7UNPqZlU0OzWmGHSWmAahi73z/ORtbNsMJqtTr7Z2Ibh3D/6tAJ7nJRNrK16ZFog==
-  dependencies:
-    "@splunk/dashboard-definition" "^27.2.0"
-    "@splunk/dashboard-icons" "^27.2.0"
-    "@splunk/dashboard-telemetry" "^27.2.0"
-    "@splunk/dashboard-utils" "^27.2.0"
-    "@splunk/datasource-utils" "^27.2.0"
+"@splunk/dashboard-types@^27.3.1":
+  version "27.3.1"
+  resolved "https://registry.npmjs.org/@splunk/dashboard-types/-/dashboard-types-27.3.1.tgz#9423d797f6870d22c15f6f0400a0c077647170af"
+  integrity sha512-dn3tJ8pCe76rTrga2KCaNec2A3UXco+U/M+v0JMIS7Kp3NOpjp2l45TkZtd/1Le6CxNquIbRwuWM7aZKTLRgyQ==
+
+"@splunk/dashboard-ui@^27.3.1":
+  version "27.3.1"
+  resolved "https://registry.npmjs.org/@splunk/dashboard-ui/-/dashboard-ui-27.3.1.tgz#c23bb058c1219a9476fa80b2593e7018d169b91b"
+  integrity sha512-Qe9eNz1aGSEAqXIHRcLH4IjUK58SDUCw3QBuptMX+AKuqgD+Q9WXyAqjK9M0hebWi3u7ka6NmQZZHQpbKAf9hg==
+  dependencies:
+    "@splunk/dashboard-definition" "^27.3.1"
+    "@splunk/dashboard-icons" "^27.3.1"
+    "@splunk/dashboard-telemetry" "^27.3.1"
+    "@splunk/dashboard-utils" "^27.3.1"
+    "@splunk/datasource-utils" "^27.3.1"
     "@splunk/moment" "^0.7.0"
-    "@splunk/react-icons" "^4.5.0"
+    "@splunk/react-icons" "^4.6.0"
     "@splunk/react-search" "^5.0.0"
-    "@splunk/react-ui" "^4.32.0"
+    "@splunk/react-ui" "^4.33.0"
     "@splunk/splunk-utils" "^3.1.0"
-    "@splunk/themes" "^0.19.0"
+    "@splunk/themes" "^0.20.0"
     "@splunk/ui-utils" "^1.4.0"
-    "@splunk/visualization-icons" "^26.1.2"
-    "@splunk/visualizations-shared" "^26.1.2"
+    "@splunk/visualization-icons" "^26.2.1"
+    "@splunk/visualizations-shared" "^26.2.1"
     hoist-non-react-statics "^3.3.2"
     lodash "^4.17.21"
     memoize-one "^5.2.1"
@@ -2442,72 +2614,72 @@
     resize-observer-polyfill "^1.5.1"
     tinycolor2 "^1.4.1"
 
-"@splunk/dashboard-utils@^27.2.0":
-  version "27.2.0"
-  resolved "https://registry.npmjs.org/@splunk/dashboard-utils/-/dashboard-utils-27.2.0.tgz#698f1f288cf0889350008b207decf4dd4e3ca391"
-  integrity sha512-TX0BsFc8Yi2x5VNqNcEChRBNtZPy0Hp49e3XlzIZNRYiLoBKrppam2F7N+AAmNIxWNrsxz2nnwJmfjWqYxUYNA==
+"@splunk/dashboard-utils@^27.3.1":
+  version "27.3.1"
+  resolved "https://registry.npmjs.org/@splunk/dashboard-utils/-/dashboard-utils-27.3.1.tgz#68e9b8195f8c37839c7b520f5f5ed6fc8e39bab9"
+  integrity sha512-xKbLORre38V0e4aLGi/by9QDhTfE2iy6zfHk57vzRhQDwxSIRLYQ0pHXrN7rhsOQaUApISYyeyfWy7ix9yndGg==
   dependencies:
     "@splunk/moment" "^0.7.0"
     "@splunk/splunk-utils" "^3.1.0"
     "@splunk/ui-utils" "^1.4.0"
-    "@splunk/visualization-migrations" "^26.1.2"
+    "@splunk/visualization-migrations" "^26.2.1"
     ajv "^8.5.0"
     crypto-js "^4.0.0"
     jspdf "2.5.1"
     lodash "^4.17.21"
     memoize-one "^5.2.1"
 
-"@splunk/dashboard-validation@^27.2.0":
-  version "27.2.0"
-  resolved "https://registry.npmjs.org/@splunk/dashboard-validation/-/dashboard-validation-27.2.0.tgz#b1bbbdedd545820e65ec704cfb7a4893c1f04eaa"
-  integrity sha512-tmSgyd7ijZ0Y0W2gyYyQCbrifvLFDmNR3SMD1vJby6ptUXOl05AjW1K+hVXXAASU9CHaGQTNgRzJ/yzmkN4reg==
+"@splunk/dashboard-validation@^27.3.1":
+  version "27.3.1"
+  resolved "https://registry.npmjs.org/@splunk/dashboard-validation/-/dashboard-validation-27.3.1.tgz#6a9a652a5a6c99815aae04702d94a62d828a2b6c"
+  integrity sha512-78nJ+NJ8gaC7sgMMBeiaoo8G73YK3lurClfwwJAvJzq31JKhxZi+6Ke5r4nuc1STC4uHQQ10mWntwQRMb5VXnQ==
   dependencies:
     "@splunk/ui-utils" "^1.4.0"
     ajv "^8.5.0"
     ajv-errors "^3.0.0"
 
-"@splunk/dashboard-visualizations@^26.1.2":
-  version "26.1.2"
-  resolved "https://registry.npmjs.org/@splunk/dashboard-visualizations/-/dashboard-visualizations-26.1.2.tgz#ff6a94000e8797417516c07277cf12d39df8d266"
-  integrity sha512-bXUdp5EkkLluOpaxEfGCWxtsKwUWAMDwBRgdYj5ZVlgPrHewN527r+8FCEvif8vAd0EnX3+hFp/zmEOhYz0RmA==
+"@splunk/dashboard-visualizations@^26.2.1":
+  version "26.2.1"
+  resolved "https://registry.npmjs.org/@splunk/dashboard-visualizations/-/dashboard-visualizations-26.2.1.tgz#b99cefead0328248f8e34b7f3dcf10f89ce74ff7"
+  integrity sha512-yadU74iLlK2r8zEoceDz2Bn93exGuJYNLNWNH8Wb+mKlcD53lCqPDndA2vYYL/NkI9/t/PmFiYZfZaZTIZ2T7g==
   dependencies:
     "@babel/runtime" "^7.13.0"
-    "@splunk/charting-bundle" "^26.1.2"
+    "@splunk/charting-bundle" "^26.2.1"
     "@splunk/moment" "^0.6.0"
-    "@splunk/react-icons" "^4.0.1"
+    "@splunk/react-icons" "^4.6.0"
     "@splunk/react-sparkline" "^0.6.2"
-    "@splunk/react-ui" "^4.17.1"
-    "@splunk/react-visualizations" "^26.1.2"
+    "@splunk/react-ui" "^4.33.0"
+    "@splunk/react-visualizations" "^26.2.1"
     "@splunk/themes" "^0.19.0"
     "@splunk/ui-utils" "^1.2.1"
-    "@splunk/visualization-color-palettes" "^26.1.2"
-    "@splunk/visualization-encoding-parsers" "^26.1.2"
-    "@splunk/visualization-icons" "^26.1.2"
-    "@splunk/visualization-themes" "^26.1.2"
-    "@splunk/visualizations" "^26.1.2"
-    "@splunk/visualizations-shared" "^26.1.2"
+    "@splunk/visualization-color-palettes" "^26.2.1"
+    "@splunk/visualization-encoding-parsers" "^26.2.1"
+    "@splunk/visualization-icons" "^26.2.1"
+    "@splunk/visualization-themes" "^26.2.1"
+    "@splunk/visualizations" "^26.2.1"
+    "@splunk/visualizations-shared" "^26.2.1"
     chroma-js "^2.0.0"
     lodash "^4.17.21"
     numeral "^2.0.6"
     react-event-listener "^0.6.4"
     xmlserializer "^0.6.1"
 
-"@splunk/datasource-utils@^27.2.0":
-  version "27.2.0"
-  resolved "https://registry.npmjs.org/@splunk/datasource-utils/-/datasource-utils-27.2.0.tgz#ebb5432b3413e40bcee4ce4696506860daa81cab"
-  integrity sha512-rKfFnEoCKBmm07vK1fP+dtW4HHWijcGgyhJbiueBAinowodyzbdIzBI0c6eDg7BUERYrYoVnICk3TcM7TFZgyQ==
+"@splunk/datasource-utils@^27.3.1":
+  version "27.3.1"
+  resolved "https://registry.npmjs.org/@splunk/datasource-utils/-/datasource-utils-27.3.1.tgz#6fba09cb9ffd0c1e538ba927850d6f338cef05b8"
+  integrity sha512-Wf8xyoifbdSgnMeyL9tpz69K2F2jZm/6AfNxMa5hCIAydwREoOwUKdnJ3SXfXLWXneOj00WyRdZ56z4Z8vEqqQ==
   dependencies:
-    "@splunk/dashboard-utils" "^27.2.0"
+    "@splunk/dashboard-utils" "^27.3.1"
     lodash "^4.17.21"
 
-"@splunk/datasources@^27.2.0":
-  version "27.2.0"
-  resolved "https://registry.npmjs.org/@splunk/datasources/-/datasources-27.2.0.tgz#8baa85cc40b6fba6cfc5c544943d20a5ec83537c"
-  integrity sha512-xj2ONdEXET96Mvj72Uzmw8/r8/Y+/tR9U8dsPlwenESZbqVP6SCn7lCP7aj3CY0coO8X8vfJi6QZJjCKbKAu8Q==
+"@splunk/datasources@^27.3.1":
+  version "27.3.1"
+  resolved "https://registry.npmjs.org/@splunk/datasources/-/datasources-27.3.1.tgz#d4a29b1799349678ed8ba8321655f93e46ac5138"
+  integrity sha512-S3TjaQpKyPdIVEzbn0PG/lwXWoLIiFtgJvNWQ+p4m+lofJUebejIGuGuR9g9bJTeA5bmyXKIjvbJEH8cYKwkLA==
   dependencies:
-    "@splunk/dashboard-definition" "^27.2.0"
-    "@splunk/dashboard-utils" "^27.2.0"
-    "@splunk/datasource-utils" "^27.2.0"
+    "@splunk/dashboard-definition" "^27.3.1"
+    "@splunk/dashboard-utils" "^27.3.1"
+    "@splunk/datasource-utils" "^27.3.1"
     "@splunk/moment" "^0.7.0"
     "@splunk/search-job" "^3.1.0"
     "@splunk/splunk-utils" "^3.1.0"
@@ -2543,7 +2715,7 @@
     "@splunk/ui-utils" "^1.6.0"
     lodash "^4.17.14"
 
-"@splunk/react-events-viewer@^5.4.5":
+"@splunk/react-events-viewer@^5.4.6":
   version "5.4.6"
   resolved "https://registry.npmjs.org/@splunk/react-events-viewer/-/react-events-viewer-5.4.6.tgz#39b7aefb085f64395a7fd13d6a83c2b5f9afbe59"
   integrity sha512-/8u6hGaJ9hqmaIo0dbPKtU0QrUqrzis6OhSnr+vn/u8A8K+a7lBtRTCK5aPMtYj4hQh4Gi7tn0BI9Wo8snhaXw==
@@ -2570,7 +2742,7 @@
     prop-types "^15.6.0"
     react-is "^16.10.0"
 
-"@splunk/react-icons@^4.0.1", "@splunk/react-icons@^4.2.0", "@splunk/react-icons@^4.5.0", "@splunk/react-icons@^4.6.0":
+"@splunk/react-icons@^4.0.1", "@splunk/react-icons@^4.2.0", "@splunk/react-icons@^4.6.0":
   version "4.6.0"
   resolved "https://registry.npmjs.org/@splunk/react-icons/-/react-icons-4.6.0.tgz#102613beb23099ac39d095923b2464a314d1d751"
   integrity sha512-BE09UwENIHC9yH7t2ixEnW5TBkhFU/y9816f4+SQoLBLSVm4gns2ga98mK50k00kiwyvmz4IS+ah1peZn3aEaw==
@@ -2666,19 +2838,42 @@
     tinycolor2 "^1.4.1"
     use-typed-event-listener "^3.0.0"
 
-"@splunk/react-visualizations@^26.1.2":
-  version "26.1.2"
-  resolved "https://registry.npmjs.org/@splunk/react-visualizations/-/react-visualizations-26.1.2.tgz#b7a771723638f74e883583111e816afb134a5de7"
-  integrity sha512-dGwkfGyHoErzIeaqNf6+Y63aBw3k1rB5RqClLgvmQyZsvmAe1yWU9BIduM+OY61pkH4cvGIOz0yJlswKhqTEJQ==
+"@splunk/react-ui@^4.34.0":
+  version "4.34.0"
+  resolved "https://registry.npmjs.org/@splunk/react-ui/-/react-ui-4.34.0.tgz#458bb10eda381f7f7faeab5e8807e03466a30483"
+  integrity sha512-qdOsjtTis698nQv7+uVtPPKEO2r9Xb1RXCWpdVQd7tG3wp+s1KdunUUNHs2nWc5/cNmCNO/rI4CVhE7DUMbUCQ==
+  dependencies:
+    "@dnd-kit/core" "^6.1.0"
+    "@dnd-kit/modifiers" "^7.0.0"
+    "@dnd-kit/sortable" "^8.0.0"
+    "@dnd-kit/utilities" "^3.2.2"
+    "@splunk/react-icons" "^4.6.0"
+    "@splunk/themes" "^0.20.0"
+    "@splunk/ui-utils" "^1.7.0"
+    commonmark "^0.30.0"
+    commonmark-react-renderer "^4.3.2"
+    decimal.js-light "^2.2.3"
+    lodash "^4.17.14"
+    moment "^2.29.4"
+    prop-types "^15.6.2"
+    react-resize-detector "^3.2.1"
+    react-spring "9.2.4"
+    tinycolor2 "^1.4.1"
+    use-typed-event-listener "^3.0.0"
+
+"@splunk/react-visualizations@^26.2.1":
+  version "26.2.1"
+  resolved "https://registry.npmjs.org/@splunk/react-visualizations/-/react-visualizations-26.2.1.tgz#c193e427a4283be854b0b0e9655ed237bba8f692"
+  integrity sha512-tkLBSkuaTxKHi0nt4mXO0/LSo5XFQ7zE7IKAzyBdI6TX6GAdkZlGNareD0LfJg7iXHmXWTaxXoT6MMxRhS75Mw==
   dependencies:
     "@babel/runtime" "^7.13.0"
-    "@splunk/charting-bundle" "^26.1.2"
+    "@splunk/charting-bundle" "^26.2.1"
     "@splunk/moment" "^0.6.0"
     "@splunk/ui-utils" "^1.2.1"
-    "@splunk/visualization-color-palettes" "^26.1.2"
-    "@splunk/visualization-themes" "^26.1.2"
-    "@splunk/visualizations" "^26.1.2"
-    "@splunk/visualizations-shared" "^26.1.2"
+    "@splunk/visualization-color-palettes" "^26.2.1"
+    "@splunk/visualization-themes" "^26.2.1"
+    "@splunk/visualizations" "^26.2.1"
+    "@splunk/visualizations-shared" "^26.2.1"
     "@turf/bbox-clip" "^6.0.3"
     "@turf/helpers" "^6.1.4"
     chroma-js "^2.0.0"
@@ -2739,6 +2934,15 @@
     lodash "^4.17.14"
     tinycolor2 "^1.4.1"
 
+"@splunk/themes@^0.20.0":
+  version "0.20.0"
+  resolved "https://registry.npmjs.org/@splunk/themes/-/themes-0.20.0.tgz#fc6384fb8a808352c43c91a0c96f8e96acd73186"
+  integrity sha512-R4TWxzJD2gV2y/E8DsQe+yF7jJUokyYTuczmCU266A+Ov+DXWJRfyTtc7FzSBUxxWtvSPobDVWKMIqG/vVyZmg==
+  dependencies:
+    color-blend "^2.0.9"
+    lodash "^4.17.14"
+    tinycolor2 "^1.4.1"
+
 "@splunk/time-range-utils@^3.0.1", "@splunk/time-range-utils@^3.2.0":
   version "3.2.0"
   resolved "https://registry.npmjs.org/@splunk/time-range-utils/-/time-range-utils-3.2.0.tgz#6c13f8ff4a152428c2a932841f70d75ce728c531"
@@ -2758,81 +2962,89 @@
     keycode "^2.1.9"
     lodash "^4.17.21"
 
-"@splunk/visualization-color-palettes@^26.1.2":
-  version "26.1.2"
-  resolved "https://registry.npmjs.org/@splunk/visualization-color-palettes/-/visualization-color-palettes-26.1.2.tgz#7cceb363f2c8ca412699bdc41595a9721c1f1ec9"
-  integrity sha512-N7RO+DhzeZ0ZXK0WlBE4KQaVD+Jx38Xm48aGQD0AWGgW//Kh1upFzDVLXTArKP19eIkF/P4o81u1dIGnp8CP/w==
+"@splunk/ui-utils@^1.7.0":
+  version "1.7.0"
+  resolved "https://registry.npmjs.org/@splunk/ui-utils/-/ui-utils-1.7.0.tgz#a84fb35b2f5ecc19439fda877faa3650d54e3398"
+  integrity sha512-YGyrvwQ328yvUFczod8jTdqFWjWwOCVTBC2BZ8cUsZ3YlXOBBJBM+E+vP+NDbJQnEbjbT86qb12OHPp5TAjntw==
+  dependencies:
+    keycode "^2.1.9"
+    lodash "^4.17.21"
+
+"@splunk/visualization-color-palettes@^26.2.1":
+  version "26.2.1"
+  resolved "https://registry.npmjs.org/@splunk/visualization-color-palettes/-/visualization-color-palettes-26.2.1.tgz#6837b3913e5e1153afd953afef8c9f0ddc705f3f"
+  integrity sha512-djSMpT/Y/obYRg5LeQSaTWnAeSpuF/3AZhGkimL8ixYGpi06ZwgszN0o4A4PRT64ac6BrUxLwiBIh0TZ9F/aGA==
   dependencies:
     "@babel/runtime" "^7.13.0"
 
-"@splunk/visualization-context@^26.1.2":
-  version "26.1.2"
-  resolved "https://registry.npmjs.org/@splunk/visualization-context/-/visualization-context-26.1.2.tgz#82eef3e02b4b9e2124d075a3bb797174ec5c68d1"
-  integrity sha512-nnIfynr+2CwNkQriZTbs02O4b4SGjAkVmHTlybJJXKXGoknuuEzaxzLBqdpaAvgN0hyKO/fA1zq8+28HzEIzBQ==
+"@splunk/visualization-context@^26.2.1":
+  version "26.2.1"
+  resolved "https://registry.npmjs.org/@splunk/visualization-context/-/visualization-context-26.2.1.tgz#db191e66025a4114c75ecb46a709803f3db56ffa"
+  integrity sha512-fPROsk+gTCQdfQwTGVHSXspv4dGMF11OL8KDRRvLOSxqNf6cEEzxaCnhZFsLb9bPhlCil6YUdL0bOzChLUSFoA==
   dependencies:
     "@babel/runtime" "^7.13.0"
     "@splunk/ui-utils" "^1.2.1"
     uuid-v4 "^0.1.0"
 
-"@splunk/visualization-encoding-parsers@^26.1.2":
-  version "26.1.2"
-  resolved "https://registry.npmjs.org/@splunk/visualization-encoding-parsers/-/visualization-encoding-parsers-26.1.2.tgz#9b752e11edb84965ab02c9f93693ac94a7551883"
-  integrity sha512-s9+/ugQKay45prTbiTlNhz6x8rbFstOjpYnIJwOFwNmp0RZ2yxFOiFiUh90NBBmaiUYgyZ1GTJ5tFm+t3xLIjg==
+"@splunk/visualization-encoding-parsers@^26.2.1":
+  version "26.2.1"
+  resolved "https://registry.npmjs.org/@splunk/visualization-encoding-parsers/-/visualization-encoding-parsers-26.2.1.tgz#6e714123d12dcaafd448dcc742869dbad5d85caa"
+  integrity sha512-UggkFz0xtdGbfZm+rkWB2BZgcNFibHkpLEkmbOAQgLhiouZAfL+x5Pwq5nW5GgrMrwUiny0IC4IiqByQsNC8yg==
   dependencies:
     "@babel/runtime" "^7.13.0"
-    "@splunk/visualizations-shared" "^26.1.2"
+    "@splunk/visualizations-shared" "^26.2.1"
     chroma-js "^2.0.0"
     lodash "^4.17.21"
 
-"@splunk/visualization-encoding@^26.1.2":
-  version "26.1.2"
-  resolved "https://registry.npmjs.org/@splunk/visualization-encoding/-/visualization-encoding-26.1.2.tgz#a3038058e877457588e566aecbeb7415845e99af"
-  integrity sha512-GHc7EfsA/kuJsJ6hz2RWKJEbIh54PtEWi3GTnbiTtEzNB9l0eII8qkwyZji4rq8UohEv0uFPpZCjl/tfx3azFg==
+"@splunk/visualization-encoding@^26.2.1":
+  version "26.2.1"
+  resolved "https://registry.npmjs.org/@splunk/visualization-encoding/-/visualization-encoding-26.2.1.tgz#8f4d72aa41fd453ece3e88a2cb50fa7793e9429c"
+  integrity sha512-iK0393yKHFtJU3myyo6vB/7cv0pgv0b7yyJjgzGTalpxC4CpVrPplEp7JJDL03EjOsA1TRCSCtG7xEP0GfAAvA==
   dependencies:
     "@splunk/moment" "^0.6.1"
-    "@splunk/visualizations-shared" "^26.1.2"
+    "@splunk/visualizations-shared" "^26.2.1"
     chroma-js "^2.0.0"
     lodash "^4.17.21"
     nearley "^2.19.1"
     numbro "2.5.0"
 
-"@splunk/visualization-icons@^26.1.2":
-  version "26.1.2"
-  resolved "https://registry.npmjs.org/@splunk/visualization-icons/-/visualization-icons-26.1.2.tgz#1ac12bb58ae7ef7616d14536474694b301aed9e0"
-  integrity sha512-7oE1OH62k7cHpmnPjVmkxjlRocBtm+crKKPjL8O3/Z/OKqPZpEIQiGUnlazERqWiHTkxsViTXfr4/b4L3tZyNg==
+"@splunk/visualization-icons@^26.2.1":
+  version "26.2.1"
+  resolved "https://registry.npmjs.org/@splunk/visualization-icons/-/visualization-icons-26.2.1.tgz#af692a7ccf2e513c987efc81ae3ebfff49c0f190"
+  integrity sha512-9swSQo3Zkg8U308LBrfdxTqwa58MzekI6qzKu7vostY1AoUNNtXEmKzCbMw5dGDfQTQ6TVHC/+SvQAgFW9QOhA==
   dependencies:
     "@babel/runtime" "^7.13.0"
-    "@splunk/react-icons" "^4.0.1"
+    "@splunk/react-icons" "^4.6.0"
     "@splunk/ui-utils" "^1.2.1"
 
-"@splunk/visualization-migrations@^26.1.2":
-  version "26.1.2"
-  resolved "https://registry.npmjs.org/@splunk/visualization-migrations/-/visualization-migrations-26.1.2.tgz#b1f620678114f6a420984ed782789ff005a71fa6"
-  integrity sha512-nZ4FWIMngAzSfTkQO3o/uXCsQMqFPlVddiAmWjRAoXvJ4uXQbiu3mug5NRbCE4K7CFJ/Vo9A7A1mUnarcKnHMA==
+"@splunk/visualization-migrations@^26.2.1":
+  version "26.2.1"
+  resolved "https://registry.npmjs.org/@splunk/visualization-migrations/-/visualization-migrations-26.2.1.tgz#5c1f78fb7ca629e6c2f95bf3b5ef952527ae1cf1"
+  integrity sha512-xqFrKMLpVOdGcHN+h28Fq+Khqcv8rrgpNjk94iBcJTcb1MhB3tJ8TYzOEzgTj+pnLcl2tpz+X3XSWrD1Sn2WUg==
   dependencies:
     "@babel/runtime" "^7.13.0"
-    "@splunk/visualization-encoding" "^26.1.2"
-    "@splunk/visualization-encoding-parsers" "^26.1.2"
-    "@splunk/visualizations" "^26.1.2"
+    "@splunk/visualization-encoding" "^26.2.1"
+    "@splunk/visualization-encoding-parsers" "^26.2.1"
+    "@splunk/visualizations" "^26.2.1"
     lodash "^4.17.21"
 
-"@splunk/visualization-themes@^26.1.2":
-  version "26.1.2"
-  resolved "https://registry.npmjs.org/@splunk/visualization-themes/-/visualization-themes-26.1.2.tgz#eac76d0f661e717278b7345357cee14cdd406b82"
-  integrity sha512-nXzxOPRAUz6AsSXvcNOi61xDk8sPMjaiRfoIbyRZj+mIi0dyTs4viAnAM/ljoyZYRffCSDI4JSXy5ssS7JJWHg==
+"@splunk/visualization-themes@^26.2.1":
+  version "26.2.1"
+  resolved "https://registry.npmjs.org/@splunk/visualization-themes/-/visualization-themes-26.2.1.tgz#c38cc8190069993dfc8ebf5f0e0f8bd09a26b49a"
+  integrity sha512-PYoWVsMNOAIcnT0NQsfNJZFpPqP1VEItefnZsD8+EIJcfl2cIfOumZlS/NRSdKnJ1eKOiLHzew02EvJDPPwRwA==
   dependencies:
     "@babel/runtime" "^7.13.0"
     "@splunk/themes" "^0.19.0"
 
-"@splunk/visualizations-shared@^26.1.2":
-  version "26.1.2"
-  resolved "https://registry.npmjs.org/@splunk/visualizations-shared/-/visualizations-shared-26.1.2.tgz#430c7cad563787976e0645815a7ae429149c00fe"
-  integrity sha512-x0sNT2bb1AuQ0QIqcg92zmx9BJtv2XZJ8h5wa1KPtarTb9LtYEioXUPMaBxzLbHR7Tf5wHxyOUT2h2ttc5fO7g==
+"@splunk/visualizations-shared@^26.2.1":
+  version "26.2.1"
+  resolved "https://registry.npmjs.org/@splunk/visualizations-shared/-/visualizations-shared-26.2.1.tgz#5012f1e34884f6494c879fa8148ea709dfaa45aa"
+  integrity sha512-vYl+JbI+pKCfJ6F/ci2rkaFRf2Lv5tcm/BSLFozmEDCIey5/fVoSPQwZGM26dJRdvaTl8yxHacVycweqmMFneA==
   dependencies:
     "@babel/runtime" "^7.13.0"
     "@splunk/moment" "^0.6.1"
-    "@splunk/react-icons" "^4.0.1"
-    "@splunk/react-ui" "^4.17.1"
+    "@splunk/react-icons" "^4.6.0"
+    "@splunk/react-ui" "^4.33.0"
     "@splunk/themes" "^0.19.0"
     "@splunk/ui-utils" "^1.2.1"
     element-resize-detector "^1.1.14"
@@ -2840,28 +3052,28 @@
     numeral "^2.0.6"
     xmlserializer "^0.6.1"
 
-"@splunk/visualizations@^26.1.2":
-  version "26.1.2"
-  resolved "https://registry.npmjs.org/@splunk/visualizations/-/visualizations-26.1.2.tgz#5f586f98b97a4e7086ade080b93308a7abda1c64"
-  integrity sha512-+xv2YsH70oXWChaKLte3ujZjp1xT9MOJatoUoZMOSOg8hZQlMBq2OF6N4JUdR561DIcuyHOp6BVNZmUmTjuZPQ==
+"@splunk/visualizations@^26.2.1":
+  version "26.2.1"
+  resolved "https://registry.npmjs.org/@splunk/visualizations/-/visualizations-26.2.1.tgz#1ff1ec954863456860505a1ebd2a7bc7e295c171"
+  integrity sha512-jyJvVUbH2+Mo7FV7mNENKBIGQILB3QsuD7787JEZEn7cHHxeyJne9URBm/CYDWE1CpghrNe9474/NuKRy46JNQ==
   dependencies:
     "@babel/runtime" "^7.13.0"
     "@mdhnpm/rgb-hex-converter" "^1.0.3"
-    "@splunk/async-dynamic-options-evaluator" "^26.1.2"
-    "@splunk/charting-bundle" "^26.1.2"
+    "@splunk/async-dynamic-options-evaluator" "^26.2.1"
+    "@splunk/charting-bundle" "^26.2.1"
     "@splunk/moment" "^0.6.1"
-    "@splunk/react-events-viewer" "^5.4.5"
+    "@splunk/react-events-viewer" "^5.4.6"
     "@splunk/react-field-summary" "^0.11.0"
-    "@splunk/react-icons" "^4.0.1"
-    "@splunk/react-ui" "^4.17.1"
+    "@splunk/react-icons" "^4.6.0"
+    "@splunk/react-ui" "^4.33.0"
     "@splunk/themes" "^0.19.0"
     "@splunk/time-range-utils" "^3.0.1"
     "@splunk/ui-utils" "^1.2.1"
-    "@splunk/visualization-color-palettes" "^26.1.2"
-    "@splunk/visualization-encoding" "^26.1.2"
-    "@splunk/visualization-icons" "^26.1.2"
-    "@splunk/visualization-themes" "^26.1.2"
-    "@splunk/visualizations-shared" "^26.1.2"
+    "@splunk/visualization-color-palettes" "^26.2.1"
+    "@splunk/visualization-encoding" "^26.2.1"
+    "@splunk/visualization-icons" "^26.2.1"
+    "@splunk/visualization-themes" "^26.2.1"
+    "@splunk/visualizations-shared" "^26.2.1"
     "@xmldom/xmldom" "^0.8.4"
     cssesc "3.0.0"
     d3-array "^2.12.1"
@@ -2894,18 +3106,18 @@
   resolved "https://registry.npmjs.org/@splunkdev/cloud-sdk/-/cloud-sdk-15.0.0.tgz#30a49eb2e8f26eb1569c4e97402a473dc7f96883"
   integrity sha512-6oqdH9ljEpnnt6TjkkZuCo3w0IBJH6fiTKMsVIVjaZDBPaoUhxSdRFuXOO+SI/8qf21p+xaGYbepeKZ1ne2HTQ==
 
-"@storybook/addon-a11y@^8.2.5":
-  version "8.2.5"
-  resolved "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-8.2.5.tgz#37f712923ac8ed2ea0dd38b487d0b09f1854ab30"
-  integrity sha512-sQxX/6mVSF15JnB/HEPrfY43Z6SvgyzAQYfMvqWS+sQBK04busLJBWElQRgekZo80sDCq52mq98lm+ZgpZs42A==
+"@storybook/addon-a11y@^8.2.9":
+  version "8.2.9"
+  resolved "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-8.2.9.tgz#a32cebf454e0c518e4a609adc5ca7fb29dc3d852"
+  integrity sha512-9zm0Ecn2KUUKZbRsQM5l2KcQ8RHK6a9eqdQtOMjGagrdUvUstcf7XjBmV1W6PQE2Urj93ciz1cgx4T1AYQyKtA==
   dependencies:
-    "@storybook/addon-highlight" "8.2.5"
+    "@storybook/addon-highlight" "8.2.9"
     axe-core "^4.2.0"
 
-"@storybook/addon-actions@8.2.5":
-  version "8.2.5"
-  resolved "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.2.5.tgz#19f689b2520effa3f161fb23b0442c33d370c0d0"
-  integrity sha512-8kevyvbvEdo0qn+hL/ub/RVsCGlWvCgL6ZAsZm50aWl1GXPpXj3nggKnyJwgAGUQzDC0CDPlNpSOP4ri3NY8tw==
+"@storybook/addon-actions@8.2.9":
+  version "8.2.9"
+  resolved "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.2.9.tgz#5a27f07f276ec776fb768f5da9bfe2c43fe3e851"
+  integrity sha512-eh2teOqjga7aoClDVV+/b1gHJqsPwjiU1t+Hg/l4i2CkaBUNdYMEL90nR6fgReOdvvL5YhcPwJ8w38f9TrQcoQ==
   dependencies:
     "@storybook/global" "^5.0.0"
     "@types/uuid" "^9.0.1"
@@ -2913,35 +3125,35 @@
     polished "^4.2.2"
     uuid "^9.0.0"
 
-"@storybook/addon-backgrounds@8.2.5":
-  version "8.2.5"
-  resolved "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-8.2.5.tgz#b5490d9ec61da7f71fe1243ae7528566fb5f6abc"
-  integrity sha512-FZowGG+58qWHePjE6tGTTjT+m4/ZTI1uZD7GA++phdi5m8V/LGwJl8zBNZqUha/ygJ0i3Yvnj4tclWDSa8wtnQ==
+"@storybook/addon-backgrounds@8.2.9":
+  version "8.2.9"
+  resolved "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-8.2.9.tgz#7e3e8c939cc19c9f80f482db7e9391bda3d2dbb5"
+  integrity sha512-eGmZAd742ORBbQ6JepzBCko/in62T4Xg9j9LVa+Cvz/7L1C/RQSuU6sUwbRAsXaz+PMVDksPDCUUNsXl3zUL7w==
   dependencies:
     "@storybook/global" "^5.0.0"
     memoizerific "^1.11.3"
     ts-dedent "^2.0.0"
 
-"@storybook/addon-controls@8.2.5":
-  version "8.2.5"
-  resolved "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-8.2.5.tgz#a39568b5a93d0bebd93055d95574e11c1d24d460"
-  integrity sha512-8IoeEmiOyg5aTIyW4gdUUV/xJZk8y5bACkNhDTIepyfTZLoVNsVXS1tjqrG4EXQR6dNY4XV9dDIUIRI11/K6tQ==
+"@storybook/addon-controls@8.2.9":
+  version "8.2.9"
+  resolved "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-8.2.9.tgz#43f9ca53e2a709feee0c1fe6db3daee8953d2ddd"
+  integrity sha512-vaSE78KOE7SO0GrW4e+mdQphSNpvCX/FGybIRxyaKX9h8smoyUwRNHVyCS3ROHTwH324QWu7GDzsOVrnyXOv0A==
   dependencies:
     dequal "^2.0.2"
     lodash "^4.17.21"
     ts-dedent "^2.0.0"
 
-"@storybook/addon-docs@8.2.5":
-  version "8.2.5"
-  resolved "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-8.2.5.tgz#41e72c980dde7827619faf563730e4c5fce1a4ca"
-  integrity sha512-fJ2Aam6rQO5BVRIDrA4gVxxnVmMCkk4wC6RDi8oSTOcjM0FRl3ktv+6gPbNWq/+b8dqU23Y4wSyM4UUAIP0PAA==
+"@storybook/addon-docs@8.2.9":
+  version "8.2.9"
+  resolved "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-8.2.9.tgz#bc6737cab5b3620b9291de7c14f92ad92b5a90db"
+  integrity sha512-flDOxFIGmXg+6lVdwTLMOKsGob1WrT7rG98mn1SNW0Nxhg3Wg+9pQuq1GLxEzKtAgSflmu+xcBRfYhsogyDXkw==
   dependencies:
     "@babel/core" "^7.24.4"
     "@mdx-js/react" "^3.0.0"
-    "@storybook/blocks" "8.2.5"
-    "@storybook/csf-plugin" "8.2.5"
+    "@storybook/blocks" "8.2.9"
+    "@storybook/csf-plugin" "8.2.9"
     "@storybook/global" "^5.0.0"
-    "@storybook/react-dom-shim" "8.2.5"
+    "@storybook/react-dom-shim" "8.2.9"
     "@types/react" "^16.8.0 || ^17.0.0 || ^18.0.0"
     fs-extra "^11.1.0"
     react "^16.8.0 || ^17.0.0 || ^18.0.0"
@@ -2950,74 +3162,74 @@
     rehype-slug "^6.0.0"
     ts-dedent "^2.0.0"
 
-"@storybook/addon-essentials@^8.2.5":
-  version "8.2.5"
-  resolved "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-8.2.5.tgz#2d5099581417afeeda1457fbd8bc9c523ed0cd46"
-  integrity sha512-SmA4QOiI9/d9bycagStm1gtlt2iR1EpWXJnhct4oqcj5nxmp+jviyhv1Pb+Rm/zKNE5qcaI4AcRDRVTJRUwESw==
-  dependencies:
-    "@storybook/addon-actions" "8.2.5"
-    "@storybook/addon-backgrounds" "8.2.5"
-    "@storybook/addon-controls" "8.2.5"
-    "@storybook/addon-docs" "8.2.5"
-    "@storybook/addon-highlight" "8.2.5"
-    "@storybook/addon-measure" "8.2.5"
-    "@storybook/addon-outline" "8.2.5"
-    "@storybook/addon-toolbars" "8.2.5"
-    "@storybook/addon-viewport" "8.2.5"
+"@storybook/addon-essentials@^8.2.9":
+  version "8.2.9"
+  resolved "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-8.2.9.tgz#3dc29be7e8529869416e77e256cba10cf111ead1"
+  integrity sha512-B2d3eznGZvPIyCVtYX0UhrYcEfK+3Y2sACmEWpSwtk8KXomFEsZnD95m397BYDRw3/X6qeSLWxqgMfqDTEDeMA==
+  dependencies:
+    "@storybook/addon-actions" "8.2.9"
+    "@storybook/addon-backgrounds" "8.2.9"
+    "@storybook/addon-controls" "8.2.9"
+    "@storybook/addon-docs" "8.2.9"
+    "@storybook/addon-highlight" "8.2.9"
+    "@storybook/addon-measure" "8.2.9"
+    "@storybook/addon-outline" "8.2.9"
+    "@storybook/addon-toolbars" "8.2.9"
+    "@storybook/addon-viewport" "8.2.9"
     ts-dedent "^2.0.0"
 
-"@storybook/addon-highlight@8.2.5":
-  version "8.2.5"
-  resolved "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.2.5.tgz#a934623cf101e5c9b09e45f3959e3ae87dc88dea"
-  integrity sha512-fgzmilW3jGD68xYiR8sRjOB+joETc6/2+Fmj4S85BNnKy2ViXc1D+LHIw1id5/oT9MNN1i62D517EXRZkPakGw==
+"@storybook/addon-highlight@8.2.9":
+  version "8.2.9"
+  resolved "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.2.9.tgz#684b25461cd82373da49acb0cd704579d573ca0a"
+  integrity sha512-qdcazeNQoo9QKIq+LJJZZXvFZoLn+i4uhbt1Uf9WtW6oU/c1qxORGVD7jc3zsxbQN9nROVPbJ76sfthogxeqWA==
   dependencies:
     "@storybook/global" "^5.0.0"
 
-"@storybook/addon-interactions@^8.2.5":
-  version "8.2.5"
-  resolved "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-8.2.5.tgz#509dd41729b27f87854ff7224ef61f3423dcd527"
-  integrity sha512-YVdpU/VRrRvX3BUiYxno6jDttbbQxngOkgcY8u+LLXbo3LfFLeXwpUmJXvGOrIU1wDHsZ4FAPBS/beFntcFhBw==
+"@storybook/addon-interactions@^8.2.9":
+  version "8.2.9"
+  resolved "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-8.2.9.tgz#ead639bcdb3726ed180cf8afaf29bfba574b7bc0"
+  integrity sha512-oSxBkqpmp1Vm9v/G8mZeFNXD8k6T1NMgzUWzAx7R5m31rfObhoi5Fo1bKQT5BAhSSsdjjd7owTAFKdhwSotSKg==
   dependencies:
     "@storybook/global" "^5.0.0"
-    "@storybook/instrumenter" "8.2.5"
-    "@storybook/test" "8.2.5"
+    "@storybook/instrumenter" "8.2.9"
+    "@storybook/test" "8.2.9"
     polished "^4.2.2"
     ts-dedent "^2.2.0"
 
-"@storybook/addon-links@^8.2.5":
-  version "8.2.5"
-  resolved "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-8.2.5.tgz#647883573ad15f7ad59b83a4551031d186bf6571"
-  integrity sha512-jcD1/KXSqEE/QkQtBx3beD7UQJ3NQLEqYjCiF6UzsdFzcbfgAlfL5fKv8Lh/g8VynPcQzpfhMnSkj445EmF9hQ==
+"@storybook/addon-links@^8.2.9":
+  version "8.2.9"
+  resolved "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-8.2.9.tgz#9dbdebbbe28644e9c52ad2aad6bf4f0988871613"
+  integrity sha512-RhJzUNdDb7lbliwXb64HMwieIeJ+OQ2Ditue1vmSox6NsSd+pshR+okHpAyoP1+fW+dahNENwAS2Kt2QiI78FA==
   dependencies:
     "@storybook/csf" "0.1.11"
     "@storybook/global" "^5.0.0"
     ts-dedent "^2.0.0"
 
-"@storybook/addon-measure@8.2.5":
-  version "8.2.5"
-  resolved "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-8.2.5.tgz#d31d606c2d5b33cbe726399379272dcf622cd4e2"
-  integrity sha512-rC/kukXM+3Sd1U5Wboozs82p3rLaHBRCmQfk3bFhWyGKvbYWEWmSr7w0DLH8/X7pi1u8IMSqeRll7tDJrEXeaw==
+"@storybook/addon-measure@8.2.9":
+  version "8.2.9"
+  resolved "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-8.2.9.tgz#998995c31980d635132c42a8d621095e73adb9b6"
+  integrity sha512-XUfQtYRKWB2dfbPRmHuos816wt1JrLbtRld5ZC8J8ljeqZ4hFBPTQcgI5GAzZqjQuclLC0KuhlA/0bKxdxMMGA==
   dependencies:
     "@storybook/global" "^5.0.0"
     tiny-invariant "^1.3.1"
 
-"@storybook/addon-outline@8.2.5":
-  version "8.2.5"
-  resolved "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-8.2.5.tgz#d58ffc69cb910963b9f256e2205d635041400d23"
-  integrity sha512-YRS60tyZH79FfH9NEOndGVG/AmlXdYMd3nT2XfMBPZ+uTay/hcUzp6/wVsL+ucyVXi0avHbyNjY+iFP6m/MhRw==
+"@storybook/addon-outline@8.2.9":
+  version "8.2.9"
+  resolved "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-8.2.9.tgz#24d24efde347d48c372e128c12de9b6a6245b288"
+  integrity sha512-p22kI4W7MT0YJOCmg/FfhfH+NpZEDA5tgwstjazSg4ertyhaxziMwWZWiK2JCg0gOAfRJjoYjHz+6/u56iXwgQ==
   dependencies:
     "@storybook/global" "^5.0.0"
     ts-dedent "^2.0.0"
 
-"@storybook/addon-toolbars@8.2.5":
-  version "8.2.5"
-  resolved "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-8.2.5.tgz#a2c6cb465f9b8cde4be29b5725eb93d0afeb8107"
-  integrity sha512-XqjJxpXjTKurL81QF+Xa69J/8TSstXvLWVqeX+132C0//Yq3VeUir87hvI2qw/qbQT9sGeRX72vqKhoxS+kvIQ==
+"@storybook/addon-toolbars@8.2.9":
+  version "8.2.9"
+  resolved "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-8.2.9.tgz#a3d92f5fdc021e5578c1085062f9b7989624b569"
+  integrity sha512-9LMZZ2jRD86Jh6KXedDbAYs4eHj9HtJA9VhSEE2wiqMGwXozpySi7B1GWniNzmFfcgMQ4JHfmD/OrBVTK7Ca/w==
 
-"@storybook/addon-viewport@8.2.5":
-  version "8.2.5"
-  resolved "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-8.2.5.tgz#b9e7e45e52274020d3a842845a006a856fe6f3c1"
-  integrity sha512-QH2A+rzoMf8dcREOUpAsx1vvP7w3MQ8HbZCawk7KdkW/KS0L8zhkHfsNL9cfLcgCJA0wtOmRPD25ZVGoxUAHSA==
+"@storybook/addon-viewport@8.2.9":
+  version "8.2.9"
+  resolved "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-8.2.9.tgz#56f7273450b72384bb79e9ddeab2f633f869be73"
+  integrity sha512-lyM24+DJEt8R0YZkJKee34NQWv0REACU6lYDalqJNdKS1sEwzLGWxg1hZXnw2JFdBID9NGVvyYU2w6LDozOB0g==
   dependencies:
     memoizerific "^1.11.3"
 
@@ -3029,10 +3241,10 @@
     "@babel/core" "^7.23.7"
     babel-loader "^9.1.3"
 
-"@storybook/blocks@8.2.5", "@storybook/blocks@^8.2.5":
-  version "8.2.5"
-  resolved "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.2.5.tgz#e072ffeb691285e0e7e7a5993532649ddaa8fd75"
-  integrity sha512-SJXo9NxgdXEeFA4OgfMaffjOxFBrMFIq/27F6/Z+JEs6lHZhayaBsofFcVbKEtivsg9+MbOLnN1TbwgnjjRw5g==
+"@storybook/blocks@8.2.9", "@storybook/blocks@^8.2.9":
+  version "8.2.9"
+  resolved "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.2.9.tgz#3c9018619704cee23c9e69ff263e3c0aaa9a7ccc"
+  integrity sha512-5276q/s/UL8arwftuBXovUNHqYo/HPQFMGXEmjVVAMXUyFjzEAfKj3+xU897J6AuL+7XVZG32WnqA+X6LJMrcQ==
   dependencies:
     "@storybook/csf" "0.1.11"
     "@storybook/global" "^5.0.0"
@@ -3049,12 +3261,12 @@
     ts-dedent "^2.0.0"
     util-deprecate "^1.0.2"
 
-"@storybook/builder-webpack5@8.2.5":
-  version "8.2.5"
-  resolved "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-8.2.5.tgz#26bc83615fe61d100c066716d48ca49cd6b8e5e4"
-  integrity sha512-qY/CuTYNPBYmeLihfawfe6O+6dDErhQ+xbwjxabt5Ba2QqUPhJZ0WEhWt0UidCb+G4ommLC4HOgri1pVHPObbw==
+"@storybook/builder-webpack5@8.2.9":
+  version "8.2.9"
+  resolved "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-8.2.9.tgz#44a2176b466fea79643045e849a66454c17c7ab1"
+  integrity sha512-D3oYk4LkteWZ3QLcdUTu/0rUvVNUp/bWwEKAycZDr2uFCOhv8VoS2/l/TaHjn3wpyWpVVKS6GgdP72K++YVufg==
   dependencies:
-    "@storybook/core-webpack" "8.2.5"
+    "@storybook/core-webpack" "8.2.9"
     "@types/node" "^18.0.0"
     "@types/semver" "^7.3.4"
     browser-assert "^1.2.1"
@@ -3082,15 +3294,15 @@
     webpack-hot-middleware "^2.25.1"
     webpack-virtual-modules "^0.6.0"
 
-"@storybook/codemod@8.2.5":
-  version "8.2.5"
-  resolved "https://registry.npmjs.org/@storybook/codemod/-/codemod-8.2.5.tgz#0646b5a69d83bbbcfac626e57a37f43e8452d032"
-  integrity sha512-bUCvOqW3LUjz6epmTfocWBm0S7Ae52xmHvhVqgAUsKp9bVw2CGt9uaPR8dVE4IfI1yJZKRjf3u7Y60OTfWew4g==
+"@storybook/codemod@8.2.9":
+  version "8.2.9"
+  resolved "https://registry.npmjs.org/@storybook/codemod/-/codemod-8.2.9.tgz#f6c7f43a5aa326b64544ad6f10038edc32293827"
+  integrity sha512-3yRx1lFMm1FXWVv+CKDiYM4gOQPEfpcZAQrjfcumxSDUrB091pnU1PeI92Prj3vCdi4+0oPNuN4yDGNUYTMP/A==
   dependencies:
     "@babel/core" "^7.24.4"
     "@babel/preset-env" "^7.24.4"
     "@babel/types" "^7.24.0"
-    "@storybook/core" "8.2.5"
+    "@storybook/core" "8.2.9"
     "@storybook/csf" "0.1.11"
     "@types/cross-spawn" "^6.0.2"
     cross-spawn "^7.0.3"
@@ -3101,28 +3313,33 @@
     recast "^0.23.5"
     tiny-invariant "^1.3.1"
 
-"@storybook/components@^8", "@storybook/components@^8.2.5":
-  version "8.2.5"
-  resolved "https://registry.npmjs.org/@storybook/components/-/components-8.2.5.tgz#f2a9930879cd241312757d45af7b5f523c8593f6"
-  integrity sha512-/cqAzQ1w9tK44BvKDNkY3MxcqoDaMvZeI5c4rGh/nYMjulXV4cAOTSlVK07XfkOJENj/wHHSDz8tZTrl2FhmuQ==
+"@storybook/components@^8":
+  version "8.2.6"
+  resolved "https://registry.npmjs.org/@storybook/components/-/components-8.2.6.tgz#742ff3d9ebff763af8c8a1e2e2c991112e2a27ba"
+  integrity sha512-H8ckH1AnLkHtMtvJ3J8LxnmDtHxkJ7NJacGctHMRrsBIvdKTVwlT4su5nAVVJlan/PrEou+jESfw+OjjBYE5PA==
+
+"@storybook/components@^8.2.9":
+  version "8.2.9"
+  resolved "https://registry.npmjs.org/@storybook/components/-/components-8.2.9.tgz#a2394749d52940b7a224d1d4801d756b2750b488"
+  integrity sha512-OkkcZ/f/6o3GdFEEK9ZHKIGHWUHmavZUYs5xaSgU64bOrA2aqEFtfeWWitZYTv3Euhk8MVLWfyEMDfez0AlvDg==
 
 "@storybook/core-common@^8.0.0":
-  version "8.2.5"
-  resolved "https://registry.npmjs.org/@storybook/core-common/-/core-common-8.2.5.tgz#1abe9fdbd040a2c4cdc677b2d5cc60c05abee3c3"
-  integrity sha512-aTHOodg6uqGvx/pcS2DhypylFf0JUXoNIiT08Y/8xezXl1Wh+pgz8UuTCcD9Sv8WmdfvQUljWb+ltT6/MLErVw==
+  version "8.2.6"
+  resolved "https://registry.npmjs.org/@storybook/core-common/-/core-common-8.2.6.tgz#9e91485ac149f032bbcfad412d0d1e5214f8e9aa"
+  integrity sha512-PLBaCpX2FuuVNEaW3rOI2YtRJ5SSHhfB890ShKX/9XyD1rCjT3C11dgCNZ3Im1GLF/T6vKvfGc+5fie7W2Rjtg==
 
-"@storybook/core-webpack@8.2.5":
-  version "8.2.5"
-  resolved "https://registry.npmjs.org/@storybook/core-webpack/-/core-webpack-8.2.5.tgz#da64852831a6c777216459d5aa7b894a04afd4df"
-  integrity sha512-Kg1pgUavDM4wdKkvl6djNuyA9vhVaQcsU1nL8t14A9jjF8rqOqP40eunrR7oLf/QmvbWk35wThW3PJi0dvrBhg==
+"@storybook/core-webpack@8.2.9":
+  version "8.2.9"
+  resolved "https://registry.npmjs.org/@storybook/core-webpack/-/core-webpack-8.2.9.tgz#3a45f9815aad86ebe89e75562be26673d56c08da"
+  integrity sha512-6yL1su+d8IOTU+UkZqM9SeBcVc/G6vUHLsMdlWNyVtRus2JTMmT0K0/ll56jrm/ym0y98cxUOA1jsImkBubP2Q==
   dependencies:
     "@types/node" "^18.0.0"
     ts-dedent "^2.0.0"
 
-"@storybook/core@8.2.5":
-  version "8.2.5"
-  resolved "https://registry.npmjs.org/@storybook/core/-/core-8.2.5.tgz#1160ad2e46a0a03f8ec0815ef0b7b96351900ad5"
-  integrity sha512-KjaeIkbdcog4Jmx3MoSjQZpfESin1qHEcFiLoOkICOpuKsj37xdMFcuSre8IbcVGCJPkt1RvEmfeu1N90jOgww==
+"@storybook/core@8.2.9":
+  version "8.2.9"
+  resolved "https://registry.npmjs.org/@storybook/core/-/core-8.2.9.tgz#68f8659014e06f4f65f6dbdf1dd10850f31d23b3"
+  integrity sha512-wSER8FpA6Il/jPyDfKm3yohxDtuhisNPTonMVzd3ulNWR4zERLddyO3HrHJJwdqYHLNk4SBFzwMGpQZVws1y0w==
   dependencies:
     "@storybook/csf" "0.1.11"
     "@types/express" "^4.17.21"
@@ -3136,17 +3353,17 @@
     util "^0.12.4"
     ws "^8.2.3"
 
-"@storybook/csf-plugin@8.2.5":
-  version "8.2.5"
-  resolved "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-8.2.5.tgz#db3529fb10d2610628428e39a0fb839324fd197d"
-  integrity sha512-YpkvfDbKyilI54QMz/NyHGOlXxVeE+3LTKLx4GV/JrnGW+EtqQTYNaWWnTsesX0AsUICBAvxqyO9HtFtRjeL+Q==
+"@storybook/csf-plugin@8.2.9":
+  version "8.2.9"
+  resolved "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-8.2.9.tgz#1ef4a4f4bf6a601ffae110dc9722ded834e422fa"
+  integrity sha512-QQCFb3g12VQQEraDV1UfCmniGhQZKyT6oEt1Im6dzzPJj9NQk+6BjWoDep33CZhBHWoLryrMQd2fjuHxnFRNEA==
   dependencies:
     unplugin "^1.3.1"
 
 "@storybook/csf-tools@^8.0.0":
-  version "8.2.5"
-  resolved "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-8.2.5.tgz#33e60f6be6d6ab78482345f9030f95af27b19316"
-  integrity sha512-5EznbHIW1U937seDu61qmuwloPxu7VAEkNc3YZs36gQjP3ewaDx4mBvqTVim7saGhSDQ9uMH1W+T3XWumTm5HQ==
+  version "8.2.6"
+  resolved "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-8.2.6.tgz#f1e49c41469aa451a91aa1292839877fd67d5e64"
+  integrity sha512-gmPuSeX7zwulg8kViY4Cpi18P91psqrRdeO64PJdYqasLmKbsdWRSNFSKeGoV3tRUADSz6uIlEeaJGd7AZPEDw==
 
 "@storybook/csf@0.1.11", "@storybook/csf@^0.1.11":
   version "0.1.11"
@@ -3168,31 +3385,36 @@
   integrity sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==
 
 "@storybook/icons@^1.2.5":
-  version "1.2.9"
-  resolved "https://registry.npmjs.org/@storybook/icons/-/icons-1.2.9.tgz#bb4a51a79e186b62e2dd0e04928b8617ac573838"
-  integrity sha512-cOmylsz25SYXaJL/gvTk/dl3pyk7yBFRfeXTsHvTA3dfhoU/LWSq0NKL9nM7WBasJyn6XPSGnLS4RtKXLw5EUg==
+  version "1.2.10"
+  resolved "https://registry.npmjs.org/@storybook/icons/-/icons-1.2.10.tgz#d3d44912a3a88f3f04f77ce2c23a7e47e796f766"
+  integrity sha512-310apKdDcjbbX2VSLWPwhEwAgjxTzVagrwucVZIdGPErwiAppX8KvBuWZgPo+rQLVrtH8S+pw1dbUwjcE6d7og==
 
-"@storybook/instrumenter@8.2.5":
-  version "8.2.5"
-  resolved "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-8.2.5.tgz#35bd480ff9ef67d55003ed3fb6a19be656cdb65f"
-  integrity sha512-HeETFUYYZDM3A76oO8p7V1nCrxdAglhO+3FtPa2EqSWueYISANyOOTu/8NIW3EbKP3GsfWi509ofQhsLBHy9dQ==
+"@storybook/instrumenter@8.2.9":
+  version "8.2.9"
+  resolved "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-8.2.9.tgz#a809f9fb1ce738b2b50ba592d595f8961af92754"
+  integrity sha512-+DNjTbsMzlDggsvkhRuOy7aGvQJ4oLCPgunP5Se/3yBjG+M2bYDa0EmC5jC2nwZ3ffpuvbzaVe7fWf7R8W9F2Q==
   dependencies:
     "@storybook/global" "^5.0.0"
     "@vitest/utils" "^1.3.1"
     util "^0.12.4"
 
-"@storybook/manager-api@^8", "@storybook/manager-api@^8.2.5":
-  version "8.2.5"
-  resolved "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.2.5.tgz#8dfde1d980507f57e02fbf25519ae7c2abe29523"
-  integrity sha512-4UHRlpcbYF2UiO9tonafnJMC2wJXWjTXivHjuf3ehbJXmopkNe/4zLtNTRyf3Hozf4CuYtNotw0tXflBrGlIlw==
+"@storybook/manager-api@^8":
+  version "8.2.6"
+  resolved "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.2.6.tgz#87172bcac1deb5378246deb96d68c1d3357ff58e"
+  integrity sha512-uv36h/b5RhlajWtEg4cVPBYV8gZs6juux0nIE+6G9i7vt8Ild6gM9tW1KNabgZcaHFiyWJYCNWxJZoKjgUmXDg==
+
+"@storybook/manager-api@^8.2.9":
+  version "8.2.9"
+  resolved "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.2.9.tgz#f09a83fce286bc48783c75e7d7184dd8a5381527"
+  integrity sha512-mkYvUlfqDw+0WbxIynh5TcrotmoXlumEsOA4+45zuNea8XpEgj5cNBUCnmfEO6yQ85swqkS8YYbMpg1cZyu/Vw==
 
-"@storybook/preset-react-webpack@8.2.5":
-  version "8.2.5"
-  resolved "https://registry.npmjs.org/@storybook/preset-react-webpack/-/preset-react-webpack-8.2.5.tgz#ed9132ac06b632a67249bc017b8ccb4fa1b842f9"
-  integrity sha512-kKN+wXv9IdxtAmWLsCS621pHpCs4i+NIWJ7SZW5VfurQrkFme7+FxeXvph/ZKTi2Z2adU1b46Y/svPHBgMup2A==
+"@storybook/preset-react-webpack@8.2.9":
+  version "8.2.9"
+  resolved "https://registry.npmjs.org/@storybook/preset-react-webpack/-/preset-react-webpack-8.2.9.tgz#133f617433ebf22ff190754e0e0c6b121c83901e"
+  integrity sha512-uBLsUfwymWXGmfN/0vB7gLCC0CWDHc778605SWxakqFx7wGF1FZUW4R46qbDFrHTaKh+bundseRdy5/uklksLQ==
   dependencies:
-    "@storybook/core-webpack" "8.2.5"
-    "@storybook/react" "8.2.5"
+    "@storybook/core-webpack" "8.2.9"
+    "@storybook/react" "8.2.9"
     "@storybook/react-docgen-typescript-plugin" "1.0.6--canary.9.0c3f3b7.0"
     "@types/node" "^18.0.0"
     "@types/semver" "^7.3.4"
@@ -3205,10 +3427,15 @@
     tsconfig-paths "^4.2.0"
     webpack "5"
 
-"@storybook/preview-api@^8", "@storybook/preview-api@^8.0.0", "@storybook/preview-api@^8.2.5":
-  version "8.2.5"
-  resolved "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.2.5.tgz#f56c3227a418f7d797a6526b277c69360d47c0b7"
-  integrity sha512-C5A3MtubUM5Tq1An1gIqiEmiBX4ybaTzAeBuohsqToPmWHvM2uIdSl6XpTyQQJowkvrqBKjchqZUy/2mynX4lQ==
+"@storybook/preview-api@^8", "@storybook/preview-api@^8.0.0":
+  version "8.2.6"
+  resolved "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.2.6.tgz#8cb1f84d73bc83b9522ad15596084ef46b602575"
+  integrity sha512-5vTj2ndX5ng4nDntZYe+r8UwLjCIGFymhq5/r2adAvRKL+Bo4zQDWGO7bhvGJk16do2THb2JvPz49ComW9LLZw==
+
+"@storybook/preview-api@^8.2.9":
+  version "8.2.9"
+  resolved "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.2.9.tgz#e35ca783a1d98174e73223856397a9767766a737"
+  integrity sha512-D8/t+a78OJqQAcT/ABa1C4YM/OaLGQ9IvCsp3Q9ruUqDCwuZBj8bG3D4477dlY4owX2ycC0rWYu3VvuK0EmJjA==
 
 "@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0":
   version "1.0.6--canary.9.0c3f3b7.0"
@@ -3223,32 +3450,32 @@
     react-docgen-typescript "^2.2.2"
     tslib "^2.0.0"
 
-"@storybook/react-dom-shim@8.2.5":
-  version "8.2.5"
-  resolved "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.2.5.tgz#442bd8a5178c728e1649f1224a7814aed9b87da8"
-  integrity sha512-r+ZppgZR1AmM+2E9GRIaL/JjD3C/kl8sexD1mrGN4PBzrqqy6BNedHroWvf9JmfAvD/bp55peJ+LWAsSU/NvQQ==
+"@storybook/react-dom-shim@8.2.9":
+  version "8.2.9"
+  resolved "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.2.9.tgz#db31bdab3a995759a9e45b2dc2ca0888a75fc89d"
+  integrity sha512-uCAjSQEsNk8somVn1j/I1G9G/uUax5byHseIIV0Eq3gVXttGd7gaWcP+TDHtqIaenWHx4l+hCSuCesxiLWmx4Q==
 
-"@storybook/react-webpack5@^8.2.5":
-  version "8.2.5"
-  resolved "https://registry.npmjs.org/@storybook/react-webpack5/-/react-webpack5-8.2.5.tgz#038686510324b6fb642d8c4d81750d5c5c65da95"
-  integrity sha512-7DTYg++7XuGk+hg4B2VilCW7ABU0PWsa2lb9vzr2E6GZxCGf69QhF0p23kzsN2V2jcBsSBRiHPOJjq6kTLnXJQ==
+"@storybook/react-webpack5@^8.2.9":
+  version "8.2.9"
+  resolved "https://registry.npmjs.org/@storybook/react-webpack5/-/react-webpack5-8.2.9.tgz#cdd56ac71aaafc12a8850143942999490d3e3a61"
+  integrity sha512-c5udaEIFFlBfOQJlPsJvrhyK02B3ltZ86SS0j5bhOa6UgqYOo+KtKaVyegXWgsRw8vVO9ZdmXCfwVvFsHkgJdA==
   dependencies:
-    "@storybook/builder-webpack5" "8.2.5"
-    "@storybook/preset-react-webpack" "8.2.5"
-    "@storybook/react" "8.2.5"
+    "@storybook/builder-webpack5" "8.2.9"
+    "@storybook/preset-react-webpack" "8.2.9"
+    "@storybook/react" "8.2.9"
     "@types/node" "^18.0.0"
 
-"@storybook/react@8.2.5", "@storybook/react@^8.2.5":
-  version "8.2.5"
-  resolved "https://registry.npmjs.org/@storybook/react/-/react-8.2.5.tgz#9a1b57288e316b5820599222c833fa1e49c92949"
-  integrity sha512-Wgr7a8ZHSDIJyKNDEYdwwu+AEkaG1yM7UBBmROr8WrYHgKaC49ekEgY0i3bck6HArUvu3A6Z448mJTMY+XtK5Q==
+"@storybook/react@8.2.9", "@storybook/react@^8.2.9":
+  version "8.2.9"
+  resolved "https://registry.npmjs.org/@storybook/react/-/react-8.2.9.tgz#91348ab82e699a2d2f48b9721fe781782badc9ac"
+  integrity sha512-F2xZcTDxxjpbqt7eP8rEHmlksiKmE/qtPusEWEY4N4jK01kN+ncxSl8gkJpUohMEmAnVC5t/1v/sU57xv1DYpg==
   dependencies:
-    "@storybook/components" "^8.2.5"
+    "@storybook/components" "^8.2.9"
     "@storybook/global" "^5.0.0"
-    "@storybook/manager-api" "^8.2.5"
-    "@storybook/preview-api" "^8.2.5"
-    "@storybook/react-dom-shim" "8.2.5"
-    "@storybook/theming" "^8.2.5"
+    "@storybook/manager-api" "^8.2.9"
+    "@storybook/preview-api" "^8.2.9"
+    "@storybook/react-dom-shim" "8.2.9"
+    "@storybook/theming" "^8.2.9"
     "@types/escodegen" "^0.0.6"
     "@types/estree" "^0.0.51"
     "@types/node" "^18.0.0"
@@ -3293,13 +3520,13 @@
     nyc "^15.1.0"
     playwright "^1.14.0"
 
-"@storybook/test@8.2.5", "@storybook/test@^8.2.5":
-  version "8.2.5"
-  resolved "https://registry.npmjs.org/@storybook/test/-/test-8.2.5.tgz#8deef496ab1d9595b867ddff0754b9e8cb63b927"
-  integrity sha512-8fo5qh3dNTlcUsnpYB5klcsnjIhEpkyVC+KCqapDI/iFD6qDmZXzbEcP/HsVMICwGTanr2kFCmf5c8kfAiOMew==
+"@storybook/test@8.2.9", "@storybook/test@^8.2.9":
+  version "8.2.9"
+  resolved "https://registry.npmjs.org/@storybook/test/-/test-8.2.9.tgz#097be36f7618a98713661d548a44dfe584143758"
+  integrity sha512-O5JZ5S8UVVR7V0ru5AiF/uRO+srAVwji0Iik7ihy8gw3V91WQNMmJh2KkdhG0R1enYeBsYZlipOm+AW7f/MmOA==
   dependencies:
     "@storybook/csf" "0.1.11"
-    "@storybook/instrumenter" "8.2.5"
+    "@storybook/instrumenter" "8.2.9"
     "@testing-library/dom" "10.1.0"
     "@testing-library/jest-dom" "6.4.5"
     "@testing-library/user-event" "14.5.2"
@@ -3307,79 +3534,79 @@
     "@vitest/spy" "1.6.0"
     util "^0.12.4"
 
-"@storybook/theming@^8.2.5":
-  version "8.2.5"
-  resolved "https://registry.npmjs.org/@storybook/theming/-/theming-8.2.5.tgz#51615b3ca1ee43be7df92e99cd778d0a695d4362"
-  integrity sha512-EEOSmW55MeLB3iskf5uUqffsqu003tTta8XQ1Xg8em3gePxPsjqzQtly1Ws5PtRg1Zvt1Zc6NKHwabiVzxothA==
+"@storybook/theming@^8.2.9":
+  version "8.2.9"
+  resolved "https://registry.npmjs.org/@storybook/theming/-/theming-8.2.9.tgz#6eb066f8957272c0bcb0078a8a9bc378ca9311d3"
+  integrity sha512-OL0NFvowPX85N5zIYdgeKKaFm7V4Vgtci093vL3cDZT13LGH6GuEzJKkUFGuUGNPFlJc+EgTj0o6PYKrOLyQ6w==
 
-"@swc/core-darwin-arm64@1.7.0":
-  version "1.7.0"
-  resolved "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.7.0.tgz#fdc694dd6e8543f3efea0619a6fba9ce82939205"
-  integrity sha512-2ylhM7f0HwUwLrFYZAe/dse8PCbPsYcJS3Dt7Q8NT3PUn7vy6QOMxNcOPPuDrnmaXqQQO3oxdmRapguTxaat9g==
+"@swc/core-darwin-arm64@1.7.2":
+  version "1.7.2"
+  resolved "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.7.2.tgz#102d4a546b4e78b6ea3ca9006f4377e2c8615f61"
+  integrity sha512-Zb8KiGaESzOgh5HBnp6Vhs2fRpngHIT81JOfIo0oaGlzAckamnG7UAXC/yK6cQ8q2KXc78utJ/yq/NM2yVKLqw==
 
-"@swc/core-darwin-x64@1.7.0":
-  version "1.7.0"
-  resolved "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.7.0.tgz#a9a78ace5c7e43c8cb68d11c53d33a0bf966ca8e"
-  integrity sha512-SgVnN4gT1Rb9YfTkp4FCUITqSs7Yj0uB2SUciu5CV3HuGvS5YXCUzh+KrwpLFtx8NIgivISKcNnb41mJi98X8Q==
+"@swc/core-darwin-x64@1.7.2":
+  version "1.7.2"
+  resolved "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.7.2.tgz#12e4d2f9f41e0592ab622585de2a106ec13b539e"
+  integrity sha512-qb0HY9GEexpPm46Hb3OY7E6xb4r+eniiThm+0Gcnhf19EZV2ZlsCC8Rdbhmav33x++ZqSDzZ44fxMY2vnN5VDg==
 
-"@swc/core-linux-arm-gnueabihf@1.7.0":
-  version "1.7.0"
-  resolved "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.7.0.tgz#6861ac82fda01b68b44970d3b9aaa955d7311d98"
-  integrity sha512-+Z9Dayart1iKJQEJJ9N/KS4z5EdXJE3WPFikY0jonKTo4Dd8RuyVz5yLvqcIMeVdz/SwximATaL6iJXw7hZS9A==
+"@swc/core-linux-arm-gnueabihf@1.7.2":
+  version "1.7.2"
+  resolved "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.7.2.tgz#cd02959f7e1c39ed1fc2ce38ded0127b2aba9fc9"
+  integrity sha512-x2+MOK3RzH3yEkaukKtpDW/udM1x9GoYtXaLNqlq6ovAzZPQ9FDFI0pm1asL4akHUw3s7YTh1aUY7QscstJAHQ==
 
-"@swc/core-linux-arm64-gnu@1.7.0":
-  version "1.7.0"
-  resolved "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.7.0.tgz#aa0e3dac17807c73d501f52526115666d60ea7a6"
-  integrity sha512-UnLrCiZ1EI4shznJn0xP6DLgsXUSwtfsdgHhGYCrvbgVBBve3S9iFgVFEB3SPl7Q/TdowNbrN4zHU0oChfiNfw==
+"@swc/core-linux-arm64-gnu@1.7.2":
+  version "1.7.2"
+  resolved "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.7.2.tgz#6feb78cfa0dedcb389c9c5cf6cc88bad9ecbef24"
+  integrity sha512-4J3HGEDus7a9xnrJUFGyJJgvj4w+BFGiZvs08xbw4Z1ZN4uHJQiJiDsQEAWWciKUxrOndP3SocUq/GhEGiDm0g==
 
-"@swc/core-linux-arm64-musl@1.7.0":
-  version "1.7.0"
-  resolved "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.7.0.tgz#4bb226a4e9eabac4e1a3b3ffd7ea5955629c84ed"
-  integrity sha512-H724UANA+ptsfwKRr9mnaDa9cb5fw0oFysiGKTgb3DMYcgk3Od0jMTnXVPFSVpo7FlmyxeC9K8ueUPBOoOK6XA==
+"@swc/core-linux-arm64-musl@1.7.2":
+  version "1.7.2"
+  resolved "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.7.2.tgz#63071726eb6ab55952323842899314bc4043302a"
+  integrity sha512-4FhQmYbj8SCmir4pHRLSn8IIFmRKHTL3eZFtOpm26RLME7rXL7Yt33DpzIeTRoHFIesI5NEfaR38WU5mY7P1pA==
 
-"@swc/core-linux-x64-gnu@1.7.0":
-  version "1.7.0"
-  resolved "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.7.0.tgz#ee65d1362214e91de89414f41b3310ba5302c2c5"
-  integrity sha512-SY3HA0K0Dpqt1HIfMLGpwL4hd4UaL2xHP5oZXPlRQPhUDZrbb4PbI3ZJnh66c63eL4ZR8EJ+HRFI0Alx5p69Zw==
+"@swc/core-linux-x64-gnu@1.7.2":
+  version "1.7.2"
+  resolved "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.7.2.tgz#17b49cf337d6e68112812c746541f957fe55e4ad"
+  integrity sha512-Loz10Hy6z5mBIAOe6OInOVsYu+PVxyknCB3thtr7QH+uqEz6dcXhU2ERrO2Lf4dsTsFs/Wb80rv8zTSwB8dpsw==
 
-"@swc/core-linux-x64-musl@1.7.0":
-  version "1.7.0"
-  resolved "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.7.0.tgz#0868518771004753acb07d9871cf5b143b51dc30"
-  integrity sha512-cEJ2ebtV1v/5Ilb55E05J6F5SrHKQWzUttIhR5Mkayyo+yvPslcpByuFC3D+J7X1ebziTOBpWuMpUdjLfh3SMQ==
+"@swc/core-linux-x64-musl@1.7.2":
+  version "1.7.2"
+  resolved "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.7.2.tgz#ccbac5e7aa1d54d4ebb6c0bcbfcb4a3b4c08ac73"
+  integrity sha512-8p8qNWaLcTa+qHX4NSv1KNm8BQ6zPoLXuOBo9DtOEqc+K60IISGKPCAS7TJlCcv0q20JnmxZ/cEWW5Qo4TR4XQ==
 
-"@swc/core-win32-arm64-msvc@1.7.0":
-  version "1.7.0"
-  resolved "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.7.0.tgz#43048d67f871e798566c3883c991bed521ef3b9e"
-  integrity sha512-ecQOOmzEssz+m0pR4xDYCGuvn3E/l0nQ3tk5jp1NA1lsAy4bMV0YbYCHjptYvWL/UjhIerIp3IlCJ8x5DodSog==
+"@swc/core-win32-arm64-msvc@1.7.2":
+  version "1.7.2"
+  resolved "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.7.2.tgz#73a2684072c4da25a599ef24d49f4f423806c493"
+  integrity sha512-eNWAYOalBlFrhv/IVSQ1dxu7qIGuhxlUJZTYa8jsgLnKt93vAFd2cjLtKZ85k1OibBnq9PkKQyo4NKVr4hBavw==
 
-"@swc/core-win32-ia32-msvc@1.7.0":
-  version "1.7.0"
-  resolved "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.7.0.tgz#6e98f413e6469cfd00dcc7c106cb69f2c709e581"
-  integrity sha512-gz81seZkRn3zMnVOc7L5k6F4vQC82gIxmHiL+GedK+A37XI/X26AASU3zxvORnqQbwQYXQ+AEVckxBmFlz3v2g==
+"@swc/core-win32-ia32-msvc@1.7.2":
+  version "1.7.2"
+  resolved "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.7.2.tgz#9134e55e34b70416377d79941e45537257163633"
+  integrity sha512-BbpaCPCnbQHCzpQ9yDH3qp1Y5Ijd0NSMNk4qqESN2WWx0ojV2uBTjPou5NC2MZxk8fM3iJpJ05enf+IeaXuh6A==
 
-"@swc/core-win32-x64-msvc@1.7.0":
-  version "1.7.0"
-  resolved "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.7.0.tgz#79dfce878552f0a066a40c9cef524f4a8f872674"
-  integrity sha512-b5Fd1xEOw9uqBpj2lqsaR4Iq9UhiL84hNDcEsi6DQA7Y1l85waQAslTbS0E4/pJ1PISAs0jW0zIGLco1eaWBOg==
+"@swc/core-win32-x64-msvc@1.7.2":
+  version "1.7.2"
+  resolved "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.7.2.tgz#232d1944cf1573d1e8821ab15a9229de28ca42a8"
+  integrity sha512-21mf4Jg9Arx0lUnmRQtYd8IQB4WkY4LHJrvcz3EmKbwCTCXI5rQ6Ifnjk7EmG3Tizv0giHqQBQLu5NXWBz45Mg==
 
 "@swc/core@^1.5.22":
-  version "1.7.0"
-  resolved "https://registry.npmjs.org/@swc/core/-/core-1.7.0.tgz#81f4e7dadf03e1d7f9a5e48a87f5d857e8fc1468"
-  integrity sha512-d4vMzH6ICllDwlPuhset2h8gu/USHdbyfJim+2hQEdxC0UONtfpmu38XBgNqRjStrji1Q5M10jfeUZL3cu1i8g==
+  version "1.7.2"
+  resolved "https://registry.npmjs.org/@swc/core/-/core-1.7.2.tgz#03dd10d1f04476b025d70bce448691f8c4d0207a"
+  integrity sha512-mjIlT0e6ygKR8LZ1TjtNrDVMhnB8qpyYAdwexhuVHY255yDdDQCpuPGi20odwnE82QhFBSIWs4HcENDVO/yiMw==
   dependencies:
     "@swc/counter" "^0.1.3"
-    "@swc/types" "^0.1.9"
+    "@swc/types" "^0.1.12"
   optionalDependencies:
-    "@swc/core-darwin-arm64" "1.7.0"
-    "@swc/core-darwin-x64" "1.7.0"
-    "@swc/core-linux-arm-gnueabihf" "1.7.0"
-    "@swc/core-linux-arm64-gnu" "1.7.0"
-    "@swc/core-linux-arm64-musl" "1.7.0"
-    "@swc/core-linux-x64-gnu" "1.7.0"
-    "@swc/core-linux-x64-musl" "1.7.0"
-    "@swc/core-win32-arm64-msvc" "1.7.0"
-    "@swc/core-win32-ia32-msvc" "1.7.0"
-    "@swc/core-win32-x64-msvc" "1.7.0"
+    "@swc/core-darwin-arm64" "1.7.2"
+    "@swc/core-darwin-x64" "1.7.2"
+    "@swc/core-linux-arm-gnueabihf" "1.7.2"
+    "@swc/core-linux-arm64-gnu" "1.7.2"
+    "@swc/core-linux-arm64-musl" "1.7.2"
+    "@swc/core-linux-x64-gnu" "1.7.2"
+    "@swc/core-linux-x64-musl" "1.7.2"
+    "@swc/core-win32-arm64-msvc" "1.7.2"
+    "@swc/core-win32-ia32-msvc" "1.7.2"
+    "@swc/core-win32-x64-msvc" "1.7.2"
 
 "@swc/counter@^0.1.3":
   version "0.1.3"
@@ -3395,7 +3622,7 @@
     "@swc/counter" "^0.1.3"
     jsonc-parser "^3.2.0"
 
-"@swc/types@^0.1.9":
+"@swc/types@^0.1.12":
   version "0.1.12"
   resolved "https://registry.npmjs.org/@swc/types/-/types-0.1.12.tgz#7f632c06ab4092ce0ebd046ed77ff7557442282f"
   integrity sha512-wBJA+SdtkbFhHjTMYH+dEH1y4VpfGdAc2Kw/LK09i9bXd/K6j6PkDcFCEzb6iVfZMkPRrl/q0e3toqTAJdkIVA==
@@ -3444,10 +3671,10 @@
     lodash "^4.17.21"
     redent "^3.0.0"
 
-"@testing-library/jest-dom@^6.4.6":
-  version "6.4.7"
-  resolved "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.4.7.tgz#0f882b745f17a6a094d1d64d835a9440429f90f4"
-  integrity sha512-GaKJ0nijoNf30dWSOOzQEBkWBRk4rG3C/efw8zKrimNuZpnS/6/AEwo0WvZHgJxG84cNCgxt+mtbe1fsvfLp2A==
+"@testing-library/jest-dom@^6.4.8":
+  version "6.4.8"
+  resolved "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.4.8.tgz#9c435742b20c6183d4e7034f2b329d562c079daa"
+  integrity sha512-JD0G+Zc38f5MBHA4NgxQMR5XtO5Jx9g86jqturNTt2WUfRmLDIY7iKkWHDCCTiDuFMre6nxAD5wHw9W5kI4rGw==
   dependencies:
     "@adobe/css-tools" "^4.4.0"
     "@babel/runtime" "^7.9.2"
@@ -3807,19 +4034,26 @@
     "@types/node" "*"
 
 "@types/node@*", "@types/node@^20.14.11":
-  version "20.14.11"
-  resolved "https://registry.npmjs.org/@types/node/-/node-20.14.11.tgz#09b300423343460455043ddd4d0ded6ac579b74b"
-  integrity sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA==
+  version "20.14.12"
+  resolved "https://registry.npmjs.org/@types/node/-/node-20.14.12.tgz#129d7c3a822cb49fc7ff661235f19cfefd422b49"
+  integrity sha512-r7wNXakLeSsGT0H1AU863vS2wa5wBOK4bWMjZz2wj+8nBx+m5PeIn0k8AloSLpRuiwdRQZwarZqHE4FNArPuJQ==
   dependencies:
     undici-types "~5.26.4"
 
 "@types/node@^18.0.0":
-  version "18.19.41"
-  resolved "https://registry.npmjs.org/@types/node/-/node-18.19.41.tgz#27695cf2cac63f22c202b9217c0bcf3fb192a2f0"
-  integrity sha512-LX84pRJ+evD2e2nrgYCHObGWkiQJ1mL+meAgbvnwk/US6vmMY7S2ygBTGV2Jw91s9vUsLSXeDEkUHZIJGLrhsg==
+  version "18.19.42"
+  resolved "https://registry.npmjs.org/@types/node/-/node-18.19.42.tgz#b54ed4752c85427906aab40917b0f7f3d724bf72"
+  integrity sha512-d2ZFc/3lnK2YCYhos8iaNIYu9Vfhr92nHiyJHRltXWjXUBjEE+A4I58Tdbnw4VhggSW+2j5y5gTrLs4biNnubg==
   dependencies:
     undici-types "~5.26.4"
 
+"@types/node@^20.16.1":
+  version "20.16.1"
+  resolved "https://registry.npmjs.org/@types/node/-/node-20.16.1.tgz#0b44b15271d0e2191ca68faf1fbe506e06aed732"
+  integrity sha512-zJDo7wEadFtSyNz5QITDfRcrhqDvQI1xQNQ0VoizPjM/dVAODqqIUWbJPkvsxmTI0MYRGRikcdjMPhOssnPejQ==
+  dependencies:
+    undici-types "~6.19.2"
+
 "@types/normalize-package-data@^2.4.0":
   version "2.4.4"
   resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901"
@@ -3953,7 +4187,7 @@
   resolved "https://registry.npmjs.org/@types/tinycolor2/-/tinycolor2-1.4.6.tgz#670cbc0caf4e58dd61d1e3a6f26386e473087f06"
   integrity sha512-iEN8J0BoMnsWBqjVbWH/c0G0Hh7O21lpR2/+PrvAVgWdzL7eexIFm4JN/Wn10PTcmNdtS6U67r499mlWMXOxNw==
 
-"@types/tough-cookie@*":
+"@types/tough-cookie@*", "@types/tough-cookie@^4.0.5":
   version "4.0.5"
   resolved "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz#cb6e2a691b70cb177c6e3ae9c1d2e8b2ea8cd304"
   integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==
@@ -4048,13 +4282,13 @@
     "@typescript-eslint/types" "6.21.0"
     "@typescript-eslint/visitor-keys" "6.21.0"
 
-"@typescript-eslint/scope-manager@7.17.0":
-  version "7.17.0"
-  resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.17.0.tgz#e072d0f914662a7bfd6c058165e3c2b35ea26b9d"
-  integrity sha512-0P2jTTqyxWp9HiKLu/Vemr2Rg1Xb5B7uHItdVZ6iAenXmPo4SZ86yOPCJwMqpCyaMiEHTNqizHfsbmCFT1x9SA==
+"@typescript-eslint/scope-manager@8.2.0":
+  version "8.2.0"
+  resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.2.0.tgz#4a4bd7e7df5522acc8795c3b6f21e8c41b951138"
+  integrity sha512-OFn80B38yD6WwpoHU2Tz/fTz7CgFqInllBoC3WP+/jLbTb4gGPTy9HBSTsbDWkMdN55XlVU0mMDYAtgvlUspGw==
   dependencies:
-    "@typescript-eslint/types" "7.17.0"
-    "@typescript-eslint/visitor-keys" "7.17.0"
+    "@typescript-eslint/types" "8.2.0"
+    "@typescript-eslint/visitor-keys" "8.2.0"
 
 "@typescript-eslint/type-utils@6.21.0":
   version "6.21.0"
@@ -4076,10 +4310,10 @@
   resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz#205724c5123a8fef7ecd195075fa6e85bac3436d"
   integrity sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==
 
-"@typescript-eslint/types@7.17.0":
-  version "7.17.0"
-  resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.17.0.tgz#7ce8185bdf06bc3494e73d143dbf3293111b9cff"
-  integrity sha512-a29Ir0EbyKTKHnZWbNsrc/gqfIBqYPwj3F2M+jWE/9bqfEHg0AMtXzkbUkOG6QgEScxh2+Pz9OXe11jHDnHR7A==
+"@typescript-eslint/types@8.2.0":
+  version "8.2.0"
+  resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.2.0.tgz#dfe9895a2812f7c6bf7af863054c22a67060420c"
+  integrity sha512-6a9QSK396YqmiBKPkJtxsgZZZVjYQ6wQ/TlI0C65z7vInaETuC6HAHD98AGLC8DyIPqHytvNuS8bBVvNLKyqvQ==
 
 "@typescript-eslint/typescript-estree@5.62.0":
   version "5.62.0"
@@ -4108,13 +4342,13 @@
     semver "^7.5.4"
     ts-api-utils "^1.0.1"
 
-"@typescript-eslint/typescript-estree@7.17.0":
-  version "7.17.0"
-  resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.17.0.tgz#dcab3fea4c07482329dd6107d3c6480e228e4130"
-  integrity sha512-72I3TGq93t2GoSBWI093wmKo0n6/b7O4j9o8U+f65TVD0FS6bI2180X5eGEr8MA8PhKMvYe9myZJquUT2JkCZw==
+"@typescript-eslint/typescript-estree@8.2.0":
+  version "8.2.0"
+  resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.2.0.tgz#fbdb93a1c7ac7f1f96ae2de4fc97cd64c60ae894"
+  integrity sha512-kiG4EDUT4dImplOsbh47B1QnNmXSoUqOjWDvCJw/o8LgfD0yr7k2uy54D5Wm0j4t71Ge1NkynGhpWdS0dEIAUA==
   dependencies:
-    "@typescript-eslint/types" "7.17.0"
-    "@typescript-eslint/visitor-keys" "7.17.0"
+    "@typescript-eslint/types" "8.2.0"
+    "@typescript-eslint/visitor-keys" "8.2.0"
     debug "^4.3.4"
     globby "^11.1.0"
     is-glob "^4.0.3"
@@ -4149,15 +4383,15 @@
     eslint-scope "^5.1.1"
     semver "^7.3.7"
 
-"@typescript-eslint/utils@^6.0.0 || ^7.0.0":
-  version "7.17.0"
-  resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.17.0.tgz#815cd85b9001845d41b699b0ce4f92d6dfb84902"
-  integrity sha512-r+JFlm5NdB+JXc7aWWZ3fKSm1gn0pkswEwIYsrGPdsT2GjsRATAKXiNtp3vgAAO1xZhX8alIOEQnNMl3kbTgJw==
+"@typescript-eslint/utils@^6.0.0 || ^7.0.0 || ^8.0.0":
+  version "8.2.0"
+  resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.2.0.tgz#02d442285925f28d520587185f295f932702e733"
+  integrity sha512-O46eaYKDlV3TvAVDNcoDzd5N550ckSe8G4phko++OCSC1dYIb9LTc3HDGYdWqWIAT5qDUKphO6sd9RrpIJJPfg==
   dependencies:
     "@eslint-community/eslint-utils" "^4.4.0"
-    "@typescript-eslint/scope-manager" "7.17.0"
-    "@typescript-eslint/types" "7.17.0"
-    "@typescript-eslint/typescript-estree" "7.17.0"
+    "@typescript-eslint/scope-manager" "8.2.0"
+    "@typescript-eslint/types" "8.2.0"
+    "@typescript-eslint/typescript-estree" "8.2.0"
 
 "@typescript-eslint/visitor-keys@5.62.0":
   version "5.62.0"
@@ -4175,12 +4409,12 @@
     "@typescript-eslint/types" "6.21.0"
     eslint-visitor-keys "^3.4.1"
 
-"@typescript-eslint/visitor-keys@7.17.0":
-  version "7.17.0"
-  resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.17.0.tgz#680465c734be30969e564b4647f38d6cdf49bfb0"
-  integrity sha512-RVGC9UhPOCsfCdI9pU++K4nD7to+jTcMIbXTSOcrLqUEW6gF2pU1UUbYJKc9cvcRSK1UDeMJ7pdMxf4bhMpV/A==
+"@typescript-eslint/visitor-keys@8.2.0":
+  version "8.2.0"
+  resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.2.0.tgz#f6abb3b6508898a117175ddc11f9b9869cc96834"
+  integrity sha512-sbgsPMW9yLvS7IhCi8IpuK1oBmtbWUNP+hBdwl/I9nzqVsszGnNGti5r9dUtF5RLivHUFFIdRvLiTsPhzSyJ3Q==
   dependencies:
-    "@typescript-eslint/types" "7.17.0"
+    "@typescript-eslint/types" "8.2.0"
     eslint-visitor-keys "^3.4.3"
 
 "@ungap/structured-clone@^1.0.0", "@ungap/structured-clone@^1.2.0":
@@ -4434,7 +4668,7 @@ acorn@^7.4.1:
   resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
   integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
 
-acorn@^8.1.0, acorn@^8.11.0, acorn@^8.11.3, acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2, acorn@^8.9.0:
+acorn@^8.1.0, acorn@^8.11.0, acorn@^8.11.3, acorn@^8.12.1, acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2, acorn@^8.9.0:
   version "8.12.1"
   resolved "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248"
   integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==
@@ -4760,10 +4994,10 @@ axe-core@^4.2.0, axe-core@^4.9.1:
   resolved "https://registry.npmjs.org/axe-core/-/axe-core-4.9.1.tgz#fcd0f4496dad09e0c899b44f6c4bb7848da912ae"
   integrity sha512-QbUdXJVTpvUTHU7871ppZkdOLBeGUKBQWHkHrvN2V9IQWGMt61zf3B45BtzjxEJzYuj0JBjBZP/hmYS/R9pmAw==
 
-axios@^1.6.1, axios@^1.7.2:
-  version "1.7.2"
-  resolved "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz#b625db8a7051fbea61c35a3cbb3a1daa7b9c7621"
-  integrity sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==
+axios@^1.6.1, axios@^1.7.4:
+  version "1.7.4"
+  resolved "https://registry.npmjs.org/axios/-/axios-1.7.4.tgz#4c8ded1b43683c8dd362973c393f3ede24052aa2"
+  integrity sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==
   dependencies:
     follow-redirects "^1.15.6"
     form-data "^4.0.0"
@@ -5193,9 +5427,9 @@ case-sensitive-paths-webpack-plugin@^2.4.0:
   integrity sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==
 
 chai@^4.3.10:
-  version "4.4.1"
-  resolved "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz#3603fa6eba35425b0f2ac91a009fe924106e50d1"
-  integrity sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==
+  version "4.5.0"
+  resolved "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz#707e49923afdd9b13a8b0b47d33d732d13812fd8"
+  integrity sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==
   dependencies:
     assertion-error "^1.1.0"
     check-error "^1.0.3"
@@ -5203,7 +5437,7 @@ chai@^4.3.10:
     get-func-name "^2.0.2"
     loupe "^2.3.6"
     pathval "^1.1.1"
-    type-detect "^4.0.8"
+    type-detect "^4.1.0"
 
 chalk@^2.4.2:
   version "2.4.2"
@@ -6311,9 +6545,9 @@ ee-first@1.1.1:
   integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
 
 electron-to-chromium@^1.4.820:
-  version "1.4.833"
-  resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.833.tgz#463a37538b40ece154d4741eac4e9f076d9c3b32"
-  integrity sha512-aVGP9xK70Ysrzip1m5LoJjCp1EDrYzZ7Pg/O3QR1h3PAhmc8SNfSXV3kmmtkg5rNO42EcTYmLX3eFMgqALlGIA==
+  version "1.5.2"
+  resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.2.tgz#6126ad229ce45e781ec54ca40db0504787f23d19"
+  integrity sha512-kc4r3U3V3WLaaZqThjYz/Y6z8tJe+7K0bbjUVo3i+LWIypVdMx5nXCkwRe6SWbY6ILqLdc1rKcKmr3HoH7wjSQ==
 
 element-resize-detector@^1.1.14:
   version "1.2.4"
@@ -6357,9 +6591,9 @@ endent@^2.0.1:
     objectorarray "^1.0.5"
 
 enhanced-resolve@^5.12.0, enhanced-resolve@^5.17.0:
-  version "5.17.0"
-  resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz#d037603789dd9555b89aaec7eb78845c49089bc5"
-  integrity sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==
+  version "5.17.1"
+  resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz#67bfbbcc2f81d511be77d686a90267ef7f898a15"
+  integrity sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==
   dependencies:
     graceful-fs "^4.2.4"
     tapable "^2.2.0"
@@ -6550,9 +6784,9 @@ es6-error@^4.0.1:
   integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==
 
 esbuild-register@^3.5.0:
-  version "3.5.0"
-  resolved "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.5.0.tgz#449613fb29ab94325c722f560f800dd946dc8ea8"
-  integrity sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A==
+  version "3.6.0"
+  resolved "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.6.0.tgz#cf270cfa677baebbc0010ac024b823cbf723a36d"
+  integrity sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==
   dependencies:
     debug "^4.3.4"
 
@@ -6724,12 +6958,12 @@ eslint-plugin-import@^2.29.1:
     semver "^6.3.1"
     tsconfig-paths "^3.15.0"
 
-eslint-plugin-jest@^28.6.0:
-  version "28.6.0"
-  resolved "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.6.0.tgz#8410588d60bcafa68a91b6ec272e4a415502302a"
-  integrity sha512-YG28E1/MIKwnz+e2H7VwYPzHUYU4aMa19w0yGcwXnnmJH6EfgHahTJ2un3IyraUxNfnz/KUhJAFXNNwWPo12tg==
+eslint-plugin-jest@^28.8.0:
+  version "28.8.0"
+  resolved "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.8.0.tgz#54f597b5a3295ad04ec946baa245ad02b9b2bca0"
+  integrity sha512-Tubj1hooFxCl52G4qQu0edzV/+EZzPUeN8p2NnW5uu4fbDs+Yo7+qDVDc4/oG3FbCqEBmu/OC3LSsyiU22oghw==
   dependencies:
-    "@typescript-eslint/utils" "^6.0.0 || ^7.0.0"
+    "@typescript-eslint/utils" "^6.0.0 || ^7.0.0 || ^8.0.0"
 
 eslint-plugin-jsx-a11y@^6.9.0:
   version "6.9.0"
@@ -9535,9 +9769,9 @@ memfs@^3.4.1, memfs@^3.4.12:
     fs-monkey "^1.0.4"
 
 memfs@^4.6.0:
-  version "4.9.3"
-  resolved "https://registry.npmjs.org/memfs/-/memfs-4.9.3.tgz#41a3218065fe3911d9eba836250c8f4e43f816bc"
-  integrity sha512-bsYSSnirtYTWi1+OPMFb0M048evMKyUYe0EbtuGQgq6BVQM1g1W8/KIUJCCvjgI/El0j6Q4WsmMiBwLUBSw8LA==
+  version "4.9.4"
+  resolved "https://registry.npmjs.org/memfs/-/memfs-4.9.4.tgz#803eb7f2091d1c6198ec9ba9b582505ad8699c9e"
+  integrity sha512-Xlj8b2rU11nM6+KU6wC7cuWcHQhVINWCUgdPS4Ar9nPxLaOya3RghqK7ALyDW2QtGebYAYs6uEdEVnwPVT942A==
   dependencies:
     "@jsonjoy.com/json-pack" "^1.0.3"
     "@jsonjoy.com/util" "^1.1.2"
@@ -9763,15 +9997,15 @@ msw-storybook-addon@^2.0.3:
   dependencies:
     is-node-process "^1.0.1"
 
-msw@^2.3.2:
-  version "2.3.2"
-  resolved "https://registry.npmjs.org/msw/-/msw-2.3.2.tgz#ea4f45b51f833fa3b2215c4093bcda28dbe25a83"
-  integrity sha512-vDn6d6a50vxPE+HnaKQfpmZ4SVXlOjF97yD5FJcUT3v2/uZ65qvTYNL25yOmnrfCNWZ4wtAS7EbtXxygMug2Tw==
+msw@^2.3.5:
+  version "2.3.5"
+  resolved "https://registry.npmjs.org/msw/-/msw-2.3.5.tgz#424ad91b20a548d6b77fc26aca0c789e5cbc4764"
+  integrity sha512-+GUI4gX5YC5Bv33epBrD+BGdmDvBg2XGruiWnI3GbIbRmMMBeZ5gs3mJ51OWSGHgJKztZ8AtZeYMMNMVrje2/Q==
   dependencies:
     "@bundled-es-modules/cookie" "^2.0.0"
     "@bundled-es-modules/statuses" "^1.0.1"
+    "@bundled-es-modules/tough-cookie" "^0.1.6"
     "@inquirer/confirm" "^3.0.0"
-    "@mswjs/cookies" "^1.1.0"
     "@mswjs/interceptors" "^0.29.0"
     "@open-draft/until" "^2.1.0"
     "@types/cookie" "^0.6.0"
@@ -10559,9 +10793,9 @@ postcss-modules-values@^4.0.0:
     icss-utils "^5.0.0"
 
 postcss-resolve-nested-selector@^0.1.1:
-  version "0.1.1"
-  resolved "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz#29ccbc7c37dedfac304e9fff0bf1596b3f6a0e4e"
-  integrity sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==
+  version "0.1.4"
+  resolved "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.4.tgz#0068767902fb40f0e6cd7b24faee4fa4bc14a5da"
+  integrity sha512-R6vHqZWgVnTAPq0C+xjyHfEZqfIYboCBVSy24MjxEDm+tIh1BU4O6o7DP7AA7kHzf136d+Qc5duI4tlpHjixDw==
 
 postcss-safe-parser@^6.0.0:
   version "6.0.0"
@@ -10581,10 +10815,10 @@ postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0, postcss-value-parser@^
   resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
   integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
 
-postcss@^8.4.19, postcss@^8.4.33, postcss@^8.4.39:
-  version "8.4.39"
-  resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz#aa3c94998b61d3a9c259efa51db4b392e1bde0e3"
-  integrity sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==
+postcss@^8.4.19, postcss@^8.4.33, postcss@^8.4.41:
+  version "8.4.41"
+  resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz#d6104d3ba272d882fe18fc07d15dc2da62fa2681"
+  integrity sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==
   dependencies:
     nanoid "^3.3.7"
     picocolors "^1.0.1"
@@ -10740,7 +10974,7 @@ qs@6.11.0:
   dependencies:
     side-channel "^1.0.4"
 
-qs@^6.11.2, qs@^6.4.0:
+qs@^6.12.3, qs@^6.4.0:
   version "6.12.3"
   resolved "https://registry.npmjs.org/qs/-/qs-6.12.3.tgz#e43ce03c8521b9c7fd7f1f13e514e5ca37727754"
   integrity sha512-AWJm14H1vVaO/iNZ4/hO+HyaTehuy9nRqVdkTqlJt0HWvBiBIEXFmb4C0DGeYo3Xes9rrEW+TxHsaigCbN5ICQ==
@@ -10953,20 +11187,20 @@ react-resize-detector@^3.2.1:
     prop-types "^15.6.2"
     resize-observer-polyfill "^1.5.1"
 
-react-router-dom@^6.25.1:
-  version "6.25.1"
-  resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.25.1.tgz#b89f8d63fc8383ea4e89c44bf31c5843e1f7afa0"
-  integrity sha512-0tUDpbFvk35iv+N89dWNrJp+afLgd+y4VtorJZuOCXK0kkCWjEvb3vTJM++SYvMEpbVwXKf3FjeVveVEb6JpDQ==
+react-router-dom@^6.26.1:
+  version "6.26.1"
+  resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.26.1.tgz#a408892b41767a49dc94b3564b0e7d8e3959f623"
+  integrity sha512-veut7m41S1fLql4pLhxeSW3jlqs+4MtjRLj0xvuCEXsxusJCbs6I8yn9BxzzDX2XDgafrccY6hwjmd/bL54tFw==
   dependencies:
-    "@remix-run/router" "1.18.0"
-    react-router "6.25.1"
+    "@remix-run/router" "1.19.1"
+    react-router "6.26.1"
 
-react-router@6.25.1:
-  version "6.25.1"
-  resolved "https://registry.npmjs.org/react-router/-/react-router-6.25.1.tgz#70b4f1af79954cfcfd23f6ddf5c883e8c904203e"
-  integrity sha512-u8ELFr5Z6g02nUtpPAggP73Jigj1mRePSwhS/2nkTrlPU5yEkH1vYzWNyvSnSzeeE2DNqWdH+P8OhIh9wuXhTw==
+react-router@6.26.1:
+  version "6.26.1"
+  resolved "https://registry.npmjs.org/react-router/-/react-router-6.26.1.tgz#88c64837e05ffab6899a49df2a1484a22471e4ce"
+  integrity sha512-kIwJveZNwp7teQRI5QmwWo39A5bXRyqpH0COKKmPnyD2vBvDwgFXSqDUYtt1h+FEyfnE8eXr7oe0MxRzVwCcvQ==
   dependencies:
-    "@remix-run/router" "1.18.0"
+    "@remix-run/router" "1.19.1"
 
 react-spring@9.2.4:
   version "9.2.4"
@@ -11860,15 +12094,15 @@ stop-iteration-iterator@^1.0.0:
   dependencies:
     internal-slot "^1.0.4"
 
-storybook@^8.2.5:
-  version "8.2.5"
-  resolved "https://registry.npmjs.org/storybook/-/storybook-8.2.5.tgz#61b64f00709763492182f8128f4aa3bbe83bacc5"
-  integrity sha512-nfcly5CY3D6KuHbsfhScPaGeraRA9EJhO9GF00/dnI0GXW4ILS8Kwket515IkKAuKcdjdZis6maEuosbG//Kbg==
+storybook@^8.2.9:
+  version "8.2.9"
+  resolved "https://registry.npmjs.org/storybook/-/storybook-8.2.9.tgz#35a670cb72367709b6ad3627dfb77c5e25a339f0"
+  integrity sha512-S7Q/Yt4A+nu1O23rg39lQvBqL2Vg+PKXbserDWUR4LFJtfmoZ2xGO8oFIhJmvvhjUBvolw1q7QDeswPq2i0sGw==
   dependencies:
     "@babel/core" "^7.24.4"
     "@babel/types" "^7.24.0"
-    "@storybook/codemod" "8.2.5"
-    "@storybook/core" "8.2.5"
+    "@storybook/codemod" "8.2.9"
+    "@storybook/core" "8.2.9"
     "@types/semver" "^7.3.4"
     "@yarnpkg/fslib" "2.10.3"
     "@yarnpkg/libzip" "2.3.0"
@@ -12386,7 +12620,7 @@ toidentifier@1.0.1:
   resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
   integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
 
-tough-cookie@^4.1.2:
+tough-cookie@^4.1.2, tough-cookie@^4.1.4:
   version "4.1.4"
   resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz#945f1461b45b5a8c76821c33ea49c3ac192c1b36"
   integrity sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==
@@ -12490,11 +12724,16 @@ type-check@^0.4.0, type-check@~0.4.0:
   dependencies:
     prelude-ls "^1.2.1"
 
-type-detect@4.0.8, type-detect@^4.0.0, type-detect@^4.0.8:
+type-detect@4.0.8:
   version "4.0.8"
   resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
   integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
 
+type-detect@^4.0.0, type-detect@^4.1.0:
+  version "4.1.0"
+  resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz#deb2453e8f08dcae7ae98c626b13dddb0155906c"
+  integrity sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==
+
 type-fest@^0.18.0:
   version "0.18.1"
   resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f"
@@ -12594,7 +12833,7 @@ typedarray-to-buffer@^3.1.5:
   dependencies:
     is-typedarray "^1.0.0"
 
-typescript@^5.5.3:
+typescript@^5.5.4:
   version "5.5.4"
   resolved "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz#d9852d6c82bad2d2eda4fd74a5762a8f5909e9ba"
   integrity sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==
@@ -12631,6 +12870,11 @@ undici-types@~5.26.4:
   resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617"
   integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==
 
+undici-types@~6.19.2:
+  version "6.19.8"
+  resolved "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02"
+  integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==
+
 undici@^5.28.4:
   version "5.28.4"
   resolved "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz#6b280408edb6a1a604a9b20340f45b422e373068"
@@ -12723,14 +12967,14 @@ unpipe@1.0.0, unpipe@~1.0.0:
   integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
 
 unplugin@^1.3.1:
-  version "1.11.0"
-  resolved "https://registry.npmjs.org/unplugin/-/unplugin-1.11.0.tgz#09237b4011075e65c8f4d0ae06e221dee12750e3"
-  integrity sha512-3r7VWZ/webh0SGgJScpWl2/MRCZK5d3ZYFcNaeci/GQ7Teop7zf0Nl2pUuz7G21BwPd9pcUPOC5KmJ2L3WgC5g==
+  version "1.12.0"
+  resolved "https://registry.npmjs.org/unplugin/-/unplugin-1.12.0.tgz#a11d3eb565602190748b1f95ecc8590b0f7dcbb4"
+  integrity sha512-KeczzHl2sATPQUx1gzo+EnUkmN4VmGBYRRVOZSGvGITE9rGHRDGqft6ONceP3vgXcyJ2XjX5axG5jMWUwNCYLw==
   dependencies:
-    acorn "^8.11.3"
+    acorn "^8.12.1"
     chokidar "^3.6.0"
     webpack-sources "^3.2.3"
-    webpack-virtual-modules "^0.6.1"
+    webpack-virtual-modules "^0.6.2"
 
 update-browserslist-db@^1.1.0:
   version "1.1.0"
@@ -12755,13 +12999,13 @@ url-parse@^1.5.3:
     querystringify "^2.1.1"
     requires-port "^1.0.0"
 
-url@^0.11.0, url@^0.11.3:
-  version "0.11.3"
-  resolved "https://registry.npmjs.org/url/-/url-0.11.3.tgz#6f495f4b935de40ce4a0a52faee8954244f3d3ad"
-  integrity sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==
+url@^0.11.0, url@^0.11.4:
+  version "0.11.4"
+  resolved "https://registry.npmjs.org/url/-/url-0.11.4.tgz#adca77b3562d56b72746e76b330b7f27b6721f3c"
+  integrity sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==
   dependencies:
     punycode "^1.4.1"
-    qs "^6.11.2"
+    qs "^6.12.3"
 
 use-deep-compare@^1.1.0:
   version "1.3.0"
@@ -13077,7 +13321,7 @@ webpack-sources@^3.0.0, webpack-sources@^3.2.3:
   resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde"
   integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
 
-webpack-virtual-modules@^0.6.0, webpack-virtual-modules@^0.6.1:
+webpack-virtual-modules@^0.6.0, webpack-virtual-modules@^0.6.2:
   version "0.6.2"
   resolved "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz#057faa9065c8acf48f24cb57ac0e77739ab9a7e8"
   integrity sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==


Test patch:
diff --git a/tests/testdata/expected_addons/expected_addon_after_init/demo_addon_for_splunk/globalConfig.json b/tests/testdata/expected_addons/expected_addon_after_init/demo_addon_for_splunk/globalConfig.json
index 024fc40c2..caeb56871 100644
--- a/tests/testdata/expected_addons/expected_addon_after_init/demo_addon_for_splunk/globalConfig.json
+++ b/tests/testdata/expected_addons/expected_addon_after_init/demo_addon_for_splunk/globalConfig.json
@@ -95,6 +95,11 @@
                             "help": "Time interval of the data input, in seconds.",
                             "required": true
                         },
+                        {
+                            "type": "index",
+                            "field": "index",
+                            "label": "Index"
+                        },
                         {
                             "type": "singleSelect",
                             "label": "Account to use",
diff --git a/tests/testdata/expected_addons/expected_output_global_config_configuration/Splunk_TA_UCCExample/default/server.conf b/tests/testdata/expected_addons/expected_output_global_config_configuration/Splunk_TA_UCCExample/default/server.conf
index a9c28078c..f89d933c0 100644
--- a/tests/testdata/expected_addons/expected_output_global_config_configuration/Splunk_TA_UCCExample/default/server.conf
+++ b/tests/testdata/expected_addons/expected_output_global_config_configuration/Splunk_TA_UCCExample/default/server.conf
@@ -2,4 +2,3 @@
 conf_replication_include.splunk_ta_uccexample_settings = true
 conf_replication_include.splunk_ta_uccexample_account = true
 conf_replication_include.splunk_ta_uccexample_oauth = true
-
diff --git a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/README/alert_actions.conf.spec b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/README/alert_actions.conf.spec
index fbf462f84..12ca0db1e 100644
--- a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/README/alert_actions.conf.spec
+++ b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/README/alert_actions.conf.spec
@@ -5,4 +5,3 @@ param.all_incidents = <bool> All Incidents.
 param.table_list = <list> Table List.  It's default value is problem.
 param.action = <list> Action:. It's a required parameter. It's default value is update.
 param.account = <list> Select Account. It's a required parameter.
-
diff --git a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_example_input_two.py b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_example_input_two.py
index 8aaab8cfa..eb23cedcd 100644
--- a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_example_input_two.py
+++ b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_example_input_two.py
@@ -29,9 +29,14 @@
         required=True,
         encrypted=False,
         default='default',
-        validator=validator.String(
-            max_len=80, 
-            min_len=1, 
+        validator=validator.AllOf(
+            validator.Pattern(
+                regex=r"""^[a-zA-Z0-9][a-zA-Z0-9\\_\\-]*$""",
+            ),
+            validator.String(
+                max_len=80,
+                min_len=1,
+            )
         )
     ), 
     field.RestField(
diff --git a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/alert_actions.conf b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/alert_actions.conf
index a8439209e..77d525655 100644
--- a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/alert_actions.conf
+++ b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/alert_actions.conf
@@ -11,4 +11,3 @@ param.all_incidents = 0
 param.table_list = problem
 param.action = update
 param.account = 
-
diff --git a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/eventtypes.conf b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/eventtypes.conf
index 7f976cb9b..053deadaf 100644
--- a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/eventtypes.conf
+++ b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/eventtypes.conf
@@ -1,3 +1,2 @@
 [test_alert_modaction_result]
 search = sourcetype="test:incident"
-
diff --git a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/server.conf b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/server.conf
index a9c28078c..f89d933c0 100644
--- a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/server.conf
+++ b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/server.conf
@@ -2,4 +2,3 @@
 conf_replication_include.splunk_ta_uccexample_settings = true
 conf_replication_include.splunk_ta_uccexample_account = true
 conf_replication_include.splunk_ta_uccexample_oauth = true
-
diff --git a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/tags.conf b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/tags.conf
index 2f56dc25a..dc27f8eeb 100644
--- a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/tags.conf
+++ b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/tags.conf
@@ -1,3 +1,2 @@
 [eventtype=test_alert_modaction_result]
 modaction_result = enabled
-
diff --git a/tests/testdata/test_addons/package_global_config_everything/globalConfig.json b/tests/testdata/test_addons/package_global_config_everything/globalConfig.json
index 7c51ce276..6cc4acbfe 100644
--- a/tests/testdata/test_addons/package_global_config_everything/globalConfig.json
+++ b/tests/testdata/test_addons/package_global_config_everything/globalConfig.json
@@ -180,7 +180,8 @@
                                                             "markdownType": "text",
                                                             "text": "markdown message test",
                                                             "color": "red"
-                                                        }
+                                                        },
+                                                        "required": true
                                                     }
                                                 ]
                                             },
@@ -198,7 +199,8 @@
                                                             "markdownType": "link",
                                                             "text": "markdown message test conf page",
                                                             "link": "http://localhost:8000/en-GB/app/Splunk_TA_UCCExample/configuration"
-                                                        }
+                                                        },
+                                                        "required": false
                                                     }
                                                 ]
                                             },
@@ -211,7 +213,8 @@
                                                         "display": false,
                                                         "label": "Disabled on edit for oauth 3333",
                                                         "value": "test 3",
-                                                        "help": "Disabled on edit for test 3"
+                                                        "help": "Disabled on edit for test 3",
+                                                        "required": true
                                                     }
                                                 ]
                                             },
@@ -231,7 +234,8 @@
                                                             "link": "http://localhost:8000/en-GB/app/Splunk_TA_UCCExample/configuration",
                                                             "token": "token",
                                                             "linkText": "conf page"
-                                                        }
+                                                        },
+                                                        "required": false
                                                     }
                                                 ]
                                             },
@@ -247,7 +251,8 @@
                                                         "help": "Disabled on edit for test 5",
                                                         "markdownMessage": {
                                                             "text": "markdown message plain text"
-                                                        }
+                                                        },
+                                                        "required": true
                                                     }
                                                 ]
                                             }
@@ -964,22 +969,8 @@
                             "required": true
                         },
                         {
-                            "type": "singleSelect",
+                            "type": "index",
                             "label": "Index",
-                            "validators": [
-                                {
-                                    "type": "string",
-                                    "errorMsg": "Length of index name should be between 1 and 80.",
-                                    "minLength": 1,
-                                    "maxLength": 80
-                                }
-                            ],
-                            "defaultValue": "default",
-                            "options": {
-                                "endpointUrl": "data/indexes",
-                                "denyList": "^_.*$",
-                                "createSearchChoice": true
-                            },
                             "field": "index",
                             "required": true
                         },
@@ -1552,10 +1543,10 @@
     "meta": {
         "name": "Splunk_TA_UCCExample",
         "restRoot": "splunk_ta_uccexample",
-        "version": "5.48.1Rbfdf113d",
+        "version": "5.48.2Ra94cdc9a8",
         "displayName": "Splunk UCC test Add-on",
         "schemaVersion": "0.0.8",
-        "_uccVersion": "5.48.1",
+        "_uccVersion": "5.48.2",
         "supportedThemes": [
             "light",
             "dark"
diff --git a/tests/ui/test_input_page.py b/tests/ui/test_input_page.py
index 0a2d205bc..ec1ea90d0 100644
--- a/tests/ui/test_input_page.py
+++ b/tests/ui/test_input_page.py
@@ -2470,17 +2470,25 @@ def test_inputs_textarea_height(
         """
         input_page = InputPage(ucc_smartx_selenium_helper, ucc_smartx_rest_helper)
         input_page.table.edit_row("dummy_input_one")
-        min_textarea_height = 71
-        max_textarea_height = 311
+        min_textarea_height = 66
+        max_textarea_height = 306
+        tolerance = 5
         long_input = ""
         self.assert_util(
-            min_textarea_height, input_page.entity1.text_area.get_textarea_height
+            min_textarea_height - tolerance
+            <= input_page.entity1.text_area.get_textarea_height()
+            <= min_textarea_height + tolerance,
+            True,
         )
+
         for i in range(1, 50):
             long_input += f"{str(i)}\n"
         input_page.entity1.text_area.append_value(long_input)
         self.assert_util(
-            max_textarea_height, input_page.entity1.text_area.get_textarea_height
+            max_textarea_height - tolerance
+            <= input_page.entity1.text_area.get_textarea_height()
+            <= max_textarea_height + tolerance,
+            True,
         )
 
     @pytest.mark.execute_enterprise_cloud_true
diff --git a/tests/unit/entity/test_index_entity.py b/tests/unit/entity/test_index_entity.py
new file mode 100644
index 000000000..313ab8992
--- /dev/null
+++ b/tests/unit/entity/test_index_entity.py
@@ -0,0 +1,76 @@
+from splunk_add_on_ucc_framework.entity import IndexEntity
+
+
+def test_interval_min_definition():
+    definition = {"type": "index", "field": "index", "label": "Index"}
+    index = IndexEntity.from_definition(definition)
+
+    assert index == definition
+    assert index.short_form() == definition
+    assert index.long_form() == {
+        "type": "singleSelect",
+        "field": "index",
+        "label": "Index",
+        "defaultValue": "default",
+        "options": {
+            "endpointUrl": "data/indexes?search=isInternal=0+disabled=0",
+            "denyList": "^_.*$",
+            "createSearchChoice": True,
+        },
+        "validators": [
+            {
+                "type": "regex",
+                "errorMsg": "Index names must begin with a letter or a number and must contain only letters, "
+                "numbers, underscores or hyphens.",
+                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\\\_\\\\-]*$",
+            },
+            {
+                "type": "string",
+                "errorMsg": "Length of index name should be between 1 and 80.",
+                "minLength": 1,
+                "maxLength": 80,
+            },
+        ],
+    }
+
+
+def test_interval_max_definition():
+    definition = {
+        "type": "index",
+        "field": "index",
+        "label": "Index",
+        "defaultValue": "my_default",
+        "help": "help text",
+        "required": False,
+    }
+    index = IndexEntity.from_definition(definition)
+
+    assert index == definition
+    assert index.short_form() == definition
+    assert index.long_form() == {
+        "type": "singleSelect",
+        "field": "index",
+        "label": "Index",
+        "help": "help text",
+        "required": False,
+        "defaultValue": "my_default",
+        "options": {
+            "endpointUrl": "data/indexes?search=isInternal=0+disabled=0",
+            "denyList": "^_.*$",
+            "createSearchChoice": True,
+        },
+        "validators": [
+            {
+                "type": "regex",
+                "errorMsg": "Index names must begin with a letter or a number and must contain only letters, numbers, "
+                "underscores or hyphens.",
+                "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\\\_\\\\-]*$",
+            },
+            {
+                "type": "string",
+                "errorMsg": "Length of index name should be between 1 and 80.",
+                "minLength": 1,
+                "maxLength": 80,
+            },
+        ],
+    }
diff --git a/tests/unit/expected_results/errors_tab_definition.json b/tests/unit/expected_results/errors_tab_definition.json
index 16cc96b23..542c3e120 100644
--- a/tests/unit/expected_results/errors_tab_definition.json
+++ b/tests/unit/expected_results/errors_tab_definition.json
@@ -80,7 +80,7 @@
     "errors_tab_errors_count_ds": {
       "type": "ds.search",
       "options": {
-        "query": "index=_internal source=*splunk_ta_uccexample* ERROR | timechart count as Errors by exc_l",
+        "query": "index=_internal source=*splunk_ta_uccexample* log_level=ERROR | timechart count as Errors by exc_l",
         "queryParameters": {
           "earliest": "$errors_tab_time.earliest$",
           "latest": "$errors_tab_time.latest$"
@@ -90,7 +90,7 @@
     "errors_tab_errors_list_ds": {
       "type": "ds.search",
       "options": {
-        "query": "index=_internal source=*splunk_ta_uccexample* ERROR exc_l IN ($error_types$)",
+        "query": "index=_internal source=*splunk_ta_uccexample* log_level=ERROR exc_l IN ($error_types$)",
         "queryParameters": {
           "earliest": "$errors_tab_time.earliest$",
           "latest": "$errors_tab_time.latest$"
diff --git a/tests/unit/expected_results/overview_definition.json b/tests/unit/expected_results/overview_definition.json
index 4350d7416..1a84c92c5 100644
--- a/tests/unit/expected_results/overview_definition.json
+++ b/tests/unit/expected_results/overview_definition.json
@@ -112,7 +112,7 @@
     "overview_errors_count_ds": {
       "type": "ds.search",
       "options": {
-        "query": "index=_internal source=*splunk_ta_uccexample* ERROR | timechart count as Errors by exc_l",
+        "query": "index=_internal source=*splunk_ta_uccexample* log_level=ERROR | timechart count as Errors by exc_l",
         "queryParameters": {
           "earliest": "$overview_time.earliest$",
           "latest": "$overview_time.latest$"
diff --git a/tests/unit/test_global_config_update.py b/tests/unit/test_global_config_update.py
index 728780455..9f2ab16d8 100644
--- a/tests/unit/test_global_config_update.py
+++ b/tests/unit/test_global_config_update.py
@@ -12,6 +12,7 @@
     _dump_with_migrated_entities,
     _stop_build_on_placeholder_usage,
 )
+from splunk_add_on_ucc_framework.entity import IntervalEntity
 from splunk_add_on_ucc_framework import global_config as global_config_lib
 from splunk_add_on_ucc_framework.exceptions import GlobalConfigValidatorException
 
@@ -139,7 +140,9 @@ def test_entity_migration(tmp_path):
     assert '"type": "interval"' not in tmp_file_gc.read_text()
 
     global_config = global_config_lib.GlobalConfig(str(tmp_file_gc))
-    _dump_with_migrated_entities(global_config, global_config.original_path)
+    _dump_with_migrated_entities(
+        global_config, global_config.original_path, [IntervalEntity]
+    )
 
     assert '"type": "interval"' in tmp_file_gc.read_text()
 
diff --git a/tests/unit/test_meta_conf.py b/tests/unit/test_meta_conf.py
index 18864c6cb..db86c8dfb 100644
--- a/tests/unit/test_meta_conf.py
+++ b/tests/unit/test_meta_conf.py
@@ -7,11 +7,10 @@
 def test_create_default():
     meta_conf = meta_conf_lib.MetaConf()
     with tempfile.TemporaryDirectory() as temp_dir:
-        meta_conf.create_default()
         output_default_meta_path = os.path.join(
             temp_dir, meta_conf_lib.DEFAULT_META_FILE_NAME
         )
-        meta_conf.write(output_default_meta_path)
+        meta_conf.write_default(output_default_meta_path)
         expected_output = meta_conf_lib.DEFAULT
         with open(output_default_meta_path) as output_app_conf_fd:
             assert expected_output == output_app_conf_fd.read()
diff --git a/tests/unit/testdata/alert_actions.conf.generated b/tests/unit/testdata/alert_actions.conf.generated
index 017653013..4c7387665 100644
--- a/tests/unit/testdata/alert_actions.conf.generated
+++ b/tests/unit/testdata/alert_actions.conf.generated
@@ -11,4 +11,3 @@ param.all_incidents = 0
 param.table_list = problem
 param.action = two
 param.account = 
-
diff --git a/tests/unit/testdata/alert_actions.conf.spec.generated b/tests/unit/testdata/alert_actions.conf.spec.generated
index 652a556bd..a1e581f10 100644
--- a/tests/unit/testdata/alert_actions.conf.spec.generated
+++ b/tests/unit/testdata/alert_actions.conf.spec.generated
@@ -5,4 +5,3 @@ param.all_incidents = <bool> All Incidents.
 param.table_list = <list> Table List.  It's default value is problem.
 param.action = <list> Action:. It's a required parameter. It's default value is two.
 param.account = <list> Select Account. It's a required parameter.
-
diff --git a/tests/unit/testdata/app.conf.minimal.updated b/tests/unit/testdata/app.conf.minimal.updated
index 9435e570f..8ba25ae78 100644
--- a/tests/unit/testdata/app.conf.minimal.updated
+++ b/tests/unit/testdata/app.conf.minimal.updated
@@ -19,4 +19,3 @@ check_for_updates = false
 [ui]
 label = Title for Splunk_TA_UCCExample
 is_visible = true
-
diff --git a/tests/unit/testdata/app.conf.supported_themes b/tests/unit/testdata/app.conf.supported_themes
index 58e304ef1..9f4241032 100644
--- a/tests/unit/testdata/app.conf.supported_themes
+++ b/tests/unit/testdata/app.conf.supported_themes
@@ -21,4 +21,3 @@ check_for_updates = true
 [id]
 version = 1.0.0
 name = Splunk_TA_UCCExample
-
diff --git a/tests/unit/testdata/app.conf.updated b/tests/unit/testdata/app.conf.updated
index 7dc0ef228..922cb3599 100644
--- a/tests/unit/testdata/app.conf.updated
+++ b/tests/unit/testdata/app.conf.updated
@@ -24,4 +24,3 @@ name = Splunk_TA_UCCExample
 [triggers]
 reload.splunk_ta_uccexample_settings = simple
 reload.splunk_ta_uccexample_accounts = simple
-
diff --git a/tests/unit/testdata/app.conf.updated_not_visible b/tests/unit/testdata/app.conf.updated_not_visible
index f1bf0cebf..84c82f12f 100644
--- a/tests/unit/testdata/app.conf.updated_not_visible
+++ b/tests/unit/testdata/app.conf.updated_not_visible
@@ -20,4 +20,3 @@ check_for_updates = true
 [id]
 version = 1.0.0
 name = Splunk_TA_UCCExample
-
diff --git a/tests/unit/testdata/eventtypes.conf.generated b/tests/unit/testdata/eventtypes.conf.generated
index 7f976cb9b..053deadaf 100644
--- a/tests/unit/testdata/eventtypes.conf.generated
+++ b/tests/unit/testdata/eventtypes.conf.generated
@@ -1,3 +1,2 @@
 [test_alert_modaction_result]
 search = sourcetype="test:incident"
-
diff --git a/tests/unit/testdata/server.conf.generated b/tests/unit/testdata/server.conf.generated
index f0fd09c58..018fc34c9 100644
--- a/tests/unit/testdata/server.conf.generated
+++ b/tests/unit/testdata/server.conf.generated
@@ -2,4 +2,3 @@
 conf_replication_include.splunk_ta_ucc_example_settings = true
 conf_replication_include.splunk_ta_ucc_example_account = true
 conf_replication_include.splunk_ta_ucc_example_oauth = true
-
diff --git a/tests/unit/testdata/tags.conf.generated b/tests/unit/testdata/tags.conf.generated
index 2f56dc25a..dc27f8eeb 100644
--- a/tests/unit/testdata/tags.conf.generated
+++ b/tests/unit/testdata/tags.conf.generated
@@ -1,3 +1,2 @@
 [eventtype=test_alert_modaction_result]
 modaction_result = enabled
-
diff --git a/ui/src/components/table/tests/TableExpansionRowData.test.tsx b/ui/src/components/table/tests/TableExpansionRowData.test.tsx
new file mode 100644
index 000000000..d7f3df03b
--- /dev/null
+++ b/ui/src/components/table/tests/TableExpansionRowData.test.tsx
@@ -0,0 +1,67 @@
+import React from 'react';
+import { render, screen } from '@testing-library/react';
+import { getExpansionRowData } from '../TableExpansionRowData';
+import { LABEL_FOR_DEFAULT_TABLE_CELL_VALUE } from '../TableConsts';
+
+const moreInfo = [
+    { label: 'Name', field: 'name', mapping: { [LABEL_FOR_DEFAULT_TABLE_CELL_VALUE]: 'Unknown' } },
+    { label: 'Age', field: 'age' },
+    {
+        label: 'Country',
+        field: 'country',
+        mapping: { [LABEL_FOR_DEFAULT_TABLE_CELL_VALUE]: 'N/A' },
+    },
+];
+
+const getTermByText = (content: string) =>
+    screen.getAllByRole('term').find((term) => term.textContent === content);
+const getDefinitionByText = (content: string) =>
+    screen.getAllByRole('definition').find((definition) => definition.textContent === content);
+
+it('returns an empty array when moreInfo is undefined or empty', () => {
+    const result = getExpansionRowData({}, []);
+    expect(result).toEqual([]);
+});
+
+it('correctly processes non-empty moreInfo and returns expected React elements', async () => {
+    const row = { name: 'John Doe', age: 30, country: 'USA' };
+    render(<div>{getExpansionRowData(row, moreInfo)}</div>);
+
+    expect(screen.getAllByRole('definition')).toHaveLength(moreInfo.length);
+
+    expect(getTermByText('Name')).toBeInTheDocument();
+    expect(getDefinitionByText('John Doe')).toBeInTheDocument();
+
+    expect(getTermByText('Country')).toBeInTheDocument();
+    expect(getDefinitionByText('USA')).toBeInTheDocument();
+
+    expect(getTermByText('Age')).toBeInTheDocument();
+    expect(getDefinitionByText('30')).toBeInTheDocument();
+});
+it('excludes fields when not present in row and no default value is provided', async () => {
+    const row = { name: 'Jane Doe', country: 'Canada' };
+    render(<div>{getExpansionRowData(row, moreInfo)}</div>);
+
+    const userAge = screen.queryByText('30');
+    const ageTag = screen.queryByText('Age');
+
+    expect(userAge).not.toBeInTheDocument();
+    expect(ageTag).not.toBeInTheDocument();
+});
+
+it('includes fields with their default value when specified and field in row is empty or missing', () => {
+    const row = { age: 25 };
+    render(<div>{getExpansionRowData(row, moreInfo)}</div>);
+
+    expect(getDefinitionByText('Unknown')).toBeInTheDocument();
+    expect(getDefinitionByText('N/A')).toBeInTheDocument();
+});
+
+it('handles non-string values correctly, converting them to strings', () => {
+    const row = { name: 'Alice', age: null, country: undefined };
+    render(<div>{getExpansionRowData(row, moreInfo)}</div>);
+
+    expect(getDefinitionByText('Alice')).toBeInTheDocument();
+    expect(getDefinitionByText('N/A')).toBeInTheDocument();
+    expect(getDefinitionByText('Age')).toBeUndefined();
+});
diff --git a/ui/src/components/table/tests/table.utils.test.ts b/ui/src/components/table/tests/table.utils.test.ts
new file mode 100644
index 000000000..b4f96efa1
--- /dev/null
+++ b/ui/src/components/table/tests/table.utils.test.ts
@@ -0,0 +1,58 @@
+import { LABEL_FOR_DEFAULT_TABLE_CELL_VALUE } from '../TableConsts';
+import { getTableCellValue } from '../table.utils';
+
+it('should return row[field] if field exists in row and is not empty', () => {
+    const row = {
+        field1: 'value1',
+    };
+    const field = 'field1';
+    const mapping = {
+        [LABEL_FOR_DEFAULT_TABLE_CELL_VALUE]: 'defaultValue',
+    };
+    const result = getTableCellValue(row, field, mapping);
+    expect(result).toBe('value1');
+});
+
+it('should return mapping[LABEL_FOR_DEFAULT_TABLE_CELL_VALUE] if field does not exist in row and defaultValue exists in mapping', () => {
+    const row = {
+        field2: 'value2',
+    };
+    const field = 'field1';
+    const mapping = {
+        [LABEL_FOR_DEFAULT_TABLE_CELL_VALUE]: 'defaultValue',
+    };
+    const result = getTableCellValue(row, field, mapping);
+    expect(result).toBe('defaultValue');
+});
+
+it('should return row[field] if field exists in row and is empty but defaultValue does not exist in mapping', () => {
+    const row = {
+        field1: '',
+    };
+    const field = 'field1';
+    const mapping = {};
+    const result = getTableCellValue(row, field, mapping);
+    expect(result).toBe('');
+});
+
+it('should return undefined if field does not exist in row and defaultValue does not exist in mapping', () => {
+    const row = {
+        field2: '',
+    };
+    const field = 'field1';
+    const mapping = {};
+    const result = getTableCellValue(row, field, mapping);
+    expect(result).toBeUndefined();
+});
+
+it('should return correctly mapped value as field1 exists in row and its value should be mapped', () => {
+    const row = {
+        field1: 'someValue',
+    };
+    const field = 'field1';
+    const mapping = {
+        someValue: 'mappedValue',
+    };
+    const result = getTableCellValue(row, field, mapping);
+    expect(result).toBe('mappedValue');
+});