diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 00000000..5c097e7f --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,56 @@ +name: Docker Image Build and Analysis + +on: + schedule: + - cron: "0 0 * * *" # Schedule the workflow to run daily at midnight (UTC time). Adjust the time if needed. + workflow_dispatch: # Manual run trigger + inputs: + trigger-build: + description: 'Trigger a manual build and push' + default: 'true' + +jobs: + build-and-analyze: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Log in to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Build Docker image + id: build-image + run: | + echo "Building Docker image..." + docker build -t my-app-image:latest . + echo "Docker image built successfully." + + - name: Install Docker Scout + run: | + echo "Installing Docker Scout..." + curl -sSfL https://raw.githubusercontent.com/docker/scout-cli/main/install.sh | sh -s -- + echo "Docker Scout installed successfully." + + - name: Analyze Docker image with Docker Scout + id: analyze-image + run: | + echo "Analyzing Docker image with Docker Scout..." + docker scout cves my-app-image:latest > scout-results.txt + cat scout-results.txt # Print the report to the workflow logs for easy viewing + echo "Docker Scout analysis completed." + + - name: Post Comment on Issue or PR + run: | + COMMENT="**Docker Image Build and Analysis Report**\n\nThe Docker image was built and analyzed successfully.\n\n**Build Summary:**\n- Image Tag: my-app-image:latest\n\n**Analysis Report:**\n\`\`\`\n$(cat scout-results.txt)\n\`\`\`" + + # Post comment using GitHub API + curl -X POST \ + -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ + -H "Accept: application/vnd.github.v3+json" \ + -d "{\"body\": \"$COMMENT\"}" \ + "https://api.github.com/repos/NOXCIS/WGDashboard/issues/1/comments" # Replace '1' with the issue or PR number diff --git a/Dockerfile b/Dockerfile index dd204c40..d8e725bb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -60,4 +60,4 @@ COPY entrypoint.sh /entrypoint.sh # Exposing the default WireGuard Dashboard port for web access. EXPOSE 10086 -ENTRYPOINT ["/bin/bash", "/entrypoint.sh"] +ENTRYPOINT ["/bin/bash", "/entrypoint.sh"] \ No newline at end of file diff --git a/README.md b/README.md index 76b5a702..bc2267a3 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -> [!WARNING] -> For users who installed the Docker solution under `./docker`, please view this important message: https://github.com/donaldzou/WGDashboard/issues/333 +> [!NOTE] +> **Help Wanted 🎉**: Localizing WGDashboard to other languages! If you're willing to help, please visit https://github.com/donaldzou/WGDashboard/issues/397. Many thanks!

@@ -21,550 +21,18 @@ wakatime

-

Monitoring WireGuard is not convenient, need to remote access to server and type wg show. That's why this project is being created, to view all configurations and manage them in a easy way.

-

With all these awesome features, while keeping it simple, easy to install and use

+

Monitoring WireGuard is not convenient, in most case, you'll need to login to your server and type wg show. That's why this project is being created, to view and manage all WireGuard configurations in a easy way.

+

With all these awesome features, while keeping it easy to install and use

This project is not affiliate to the official WireGuard Project

-## 📣 What's New: v4.0 - -### 🎉 New Features - -- **Updated dashboard design**: Re-designed some of the section with more modern style and layout, the UI is faster and more responsive, it also uses less memory. But overall is still the same dashboard you're familiarized. -- **Docker Solution**: We now have 2 docker solutions! Thanks to @DaanSelen & @shuricksumy for providing them. For more information, please see the [Docker](#-docker-solutions) section below. -- **Peer Job Scheduler**: Now you can schedule jobs for each peer to either **restrict** or **delete** the peer if the peer's total / upload / download data usage exceeded a limit, or you can set a specific datetime to restrict or delete the peer. -- **Share Peer's QR Code with Public Link**: You can share a peer's QR code and `.conf` file without the need to loging in. -- **WGDashboard's REST API**: You can now request all the api endpoint used in the dashboard. For more details please review the [API Documentation](./docs/api-documents.md). -- **Logging**: Dashboard will now log all activity on the dashboard and API requests. -- **Time-Based One-Time Password (TOTP)**: You can enable this function to add one more layer of security, and generate the TOTP with your choice of authenticator. -- **Designs** - - **Real-time Graphs**: You can view real-time data changes with graphs in each configuration. - - **Night mode**: You know what that means, it avoids bugs ;) -- **Enforce Python Virtual Environment**: I noticed newer Python version (3.12) does not allow to install packages globally, and plus I think is a good idea to use venv. - -### 🧐 Other Changes -- **Deprecated jQuery from the project, and migrated and rewrote the whole front-end with Vue.js. This allows the dashboard is future proofed, and potential cross server access with a desktop app.** -- Rewrote the backend into a REST API structure -- Improved SQL query efficient -- Removed all templates, except for `index.html` where it will load the Vue.js app. -- Parsing names in `.conf` -- Minimized the need to read `.conf`, only when any `.conf` is modified - -### 🥘 New Experimental Features - - **Cross-Server Access**: Now you can access other servers that installed `v4` of WGDashboard through API key. - - **Desktop App**: Thanks to **Cross-Server Access**, you can now download an ElectronJS based desktop app of WGDashboard, and use that to access WGDashboard on different servers. - - > For more information, please scroll down to [🥘 Experimental Functions](#-experimental-functions) - -> I can't thank enough for all of you who wait for this release, and for those who are new to this project, welcome :) -> Also, huge thanks to who contributed to this major release: -> @bolgovrussia, @eduardorosabales, @Profik, @airgapper, @tokon2000, @bkeenke, @kontorskiy777, @bugsse, @Johnnykson, @DaanSelen, @shuricksumy and many others! -
- -## 📋 Table of Content - - - * [📣 What's New: v4.0](#-whats-new-v40) - * [🎉 New Features](#-new-features) - * [🧐 Other Changes](#-other-changes) - * [🥘 New Experimental Features](#-new-experimental-features) - * [📋 Table of Content](#-table-of-content) - * [💡 Features](#-features) - * [📝 Requirements](#-requirements) - * [Supported Operating Systems](#supported-operating-systems) - * [Existing WireGuard Configurations](#existing-wireguard-configurations) - * [🛠 Install](#-install) - * [Install Commands](#install-commands) - * [Ubuntu 20.04 LTS](#ubuntu-2004-lts) - * [Ubuntu 22.04 LTS & Ubuntu 24.02 LTS](#ubuntu-2204-lts--ubuntu-2402-lts) - * [Debian 12.6](#debian-126) - * [Debian 11.10](#debian-1110) - * [Red Hat Enterprise Linux 9.4 & CentOS 9-Stream](#red-hat-enterprise-linux-94--centos-9-stream) - * [Fedora 40 & Fedora 39 & Fedora 38](#fedora-40--fedora-39--fedora-38) - * [Manual Installation](#manual-installation) - * [🪜 Usage](#-usage) - * [Start/Stop/Restart WGDashboard](#startstoprestart-wgdashboard) - * [Autostart WGDashboard on boot (>= v2.2)](#autostart-wgdashboard-on-boot--v22) - * [✂️ Dashboard Configuration](#-dashboard-configuration) - * [Dashboard Configuration file](#dashboard-configuration-file) - * [Generating QR code and peer configuration file (.conf)](#generating-qr-code-and-peer-configuration-file-conf) - * [❓ How to update the dashboard?](#-how-to-update-the-dashboard) - * [**Please note for users who are using `v3 - v3.0.6` want to update to `v4.0`**](#please-note-for-users-who-are-using-v3---v306-want-to-update-to-v40) - * [**Please note for users who are using `v2.3.1` or below**](#please-note-for-users-who-are-using-v231-or-below) - * [🐬 Docker Solutions](#-docker-solutions) - * [Solution 1 from @DaanSelen](#solution-1-from-daanselen) - * [Solution 2 from @shuricksumy](#solution-2-from-shuricksumy) - * [📖 WGDashboard REST API Documentation & How to use API Key](#-wgdashboard-rest-api-documentation--how-to-use-api-key) - * [🥘 Experimental Features](#-experimental-features) - * [Cross-Server Access](#cross-server-access) - * [Desktop App](#desktop-app) - * [🔍 Screenshot](#-screenshot) - * [🕰️ Changelogs](#-changelogs) - - -## 💡 Features - -- Automatically look for existing WireGuard configuration under `/etc/wireguard` -- Easy to use interface, provided credential and TOTP protection to the dashboard -- Manage peers and configuration - - Add Peers or by bulk with auto-generated information - - Edit peer information - - Delete peers with ease - - Restrict peers - - Generate QR Code and `.conf` file for peers, share it through a public link - - Schedule jobs to delete / restrict peer when conditions are met -- View real time peer status -- Testing tool: Ping and Traceroute to your peer - - -## 📝 Requirements - -1. Supported operating systems. Please view the list below. -2. WireGuard & WireGuard-Tools (`wg-quick`) -3. Python 3.10 / 3.11 / 3.12 -4. `git`, `net-tools`, `sudo` (_This should only apply to RHEL 9 & 8, interestingly it doesn't have it preinstalled)_ - -### Supported Operating Systems -> [!NOTE] -> All operating systems below are tested by myself. All are ARM64 ran in UTM Virtual Machine. - -| Ubuntu | Debian | Red Hat Enterprise Linux | CentOS | Fedora | -|-----------|--------|--------------------------|----------|--------| -| 24.02 LTS | 12.6 | 9.4 | 9-Stream | 40 | -| 22.04 LTS | 11.10 | | | 39 | -| 20.04 LTS | | | | 38 | - -> [!TIP] -> If you installed WGDashboard on other systems without any issues, please let me know. Thank you! - -### Existing WireGuard Configurations - -> [!NOTE] -> This only applies to existing WireGuard Configuration under `/etc/wireguard` - -```ini -[Interface] -... -SaveConfig = true -# Need to include this line to allow WireGuard Tool to save your configuration, -# or if you just want it to monitor your WireGuard Interface and don't need to -# make any changes with the dashboard, you can set it to false. - -[Peer] -#Name# = Donald's iPhone -PublicKey = abcd1234 -AllowedIPs = 1.2.3.4/32 -``` -> [!TIP] -> With `v4`, WGDashboard will look for entry with `#Name# = abc...` in each peer and use that for the name. - -## 🛠 Install - -### Install Commands - -These commands are tested by myself in each OS. It contains commands to install WireGuard, Git, Net Tools, and even Python on some OS. - -> [!WARNING] -> Please make sure you understand these commands before you run them. - -#### Ubuntu 20.04 LTS - -```shell -sudo add-apt-repository ppa:deadsnakes/ppa -y && \ -sudo apt-get update -y && \ -sudo apt-get install python3.10 python3.10-distutils wireguard-tools net-tools --no-install-recommends -y && \ -git clone https://github.com/donaldzou/WGDashboard.git && \ -cd WGDashboard/src && \ -chmod +x ./wgd.sh && \ -./wgd.sh install && \ -sudo echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf && \ -sudo sysctl -p -``` -#### Ubuntu 22.04 LTS & Ubuntu 24.02 LTS - -```shell -sudo apt-get update -y && \ -sudo apt install wireguard-tools net-tools --no-install-recommends -y && \ -git clone https://github.com/donaldzou/WGDashboard.git && \ -cd ./WGDashboard/src && \ -chmod +x ./wgd.sh && \ -./wgd.sh install && \ -sudo echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf && \ -sudo sysctl -p /etc/sysctl.conf -``` -#### Debian 12.6 - -```shell -apt-get install sudo git iptables -y && \ -sudo apt-get update && \ -sudo apt install wireguard-tools net-tools && \ -git clone https://github.com/donaldzou/WGDashboard.git && \ -cd ./WGDashboard/src && \ -chmod +x ./wgd.sh && \ -./wgd.sh install && \ -sudo echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf && \ -sudo sysctl -p /etc/sysctl.conf -``` - -#### Debian 11.10 - -> [!WARNING] -> This commands will download Python 3.10's source code and build from it, since Debian 11.10 doesn't comes with Python 3.10 - -```shell -apt-get install sudo -y && \ -sudo apt-get update && \ -sudo apt install -y git iptables build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev wireguard-tools net-tools && \ -wget https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tgz && \ -tar -xvf Python-3.10.0.tgz && \ -cd Python-3.10.0 && \ -sudo ./configure --enable-optimizations && \ -sudo make && \ -sudo make altinstall && \ -cd .. && \ -git clone https://github.com/donaldzou/WGDashboard.git && \ -cd ./WGDashboard/src && \ -chmod +x ./wgd.sh && \ -./wgd.sh install && \ -sudo echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf && \ -sudo sysctl -p /etc/sysctl.conf -``` - -#### Red Hat Enterprise Linux 9.4 & CentOS 9-Stream - -```shell -sudo yum install wireguard-tools net-tools git python3.11 -y && \ -git clone https://github.com/donaldzou/WGDashboard.git && \ -cd ./WGDashboard/src && \ -chmod +x ./wgd.sh && \ -./wgd.sh install && \ -sudo echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf && \ -sudo sysctl -p /etc/sysctl.conf && \ -firewall-cmd --add-port=10086/tcp --permanent && \ -firewall-cmd --add-port=51820/udp --permanent && \ -firewall-cmd --reload -``` - -#### Fedora 40 & Fedora 39 & Fedora 38 - -```shell -sudo yum install wireguard-tools net-tools git -y && \ -git clone https://github.com/donaldzou/WGDashboard.git && \ -cd ./WGDashboard/src && \ -chmod +x ./wgd.sh && \ -./wgd.sh install && \ -sudo echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf && \ -sudo sysctl -p /etc/sysctl.conf && \ -firewall-cmd --add-port=10086/tcp --permanent && \ -firewall-cmd --add-port=51820/udp --permanent && \ -firewall-cmd --reload -``` - -### Manual Installation - > [!NOTE] -> To ensure a smooth installation process, please make sure Python 3.10/3.11/3.12, `git`, `wireguard-tools` and `net-tools` are installed :) - -1. Download WGDashboard - - ```shell - git clone https://github.com/donaldzou/WGDashboard.git wgdashboard - -2. Open the WGDashboard folder - - ```shell - cd wgdashboard/src - ``` - -3. Install WGDashboard - - ```shell - sudo chmod u+x wgd.sh && \ - sudo ./wgd.sh install - ``` - -4. Give read and execute permission to root of the WireGuard configuration folder, you can change the path if your configuration files are not stored in `/etc/wireguard` - - ```shell - sudo chmod -R 755 /etc/wireguard - ``` - -5. Run WGDashboard - - ```shell - sudo ./wgd.sh start - ``` - -6. Access dashboard - - Access your server with port `10086` (e.g. http://your_server_ip:10086), using username `admin` and password `admin`. See below how to change port and ip that the dashboard is running with. - - - -## 🪜 Usage - -#### Start/Stop/Restart WGDashboard - - -```shell -cd wgdashboard/src ------------------------------ -./wgd.sh start # Start the dashboard in background ------------------------------ -./wgd.sh debug # Start the dashboard in foreground (debug mode) ------------------------------ -./wgd.sh stop # Stop the dashboard ------------------------------ -./wgd.sh restart # Restart the dasboard -``` - -#### Autostart WGDashboard on boot (>= v2.2) - -In the `src` folder, it contained a file called `wg-dashboard.service`, we can use this file to let our system to autostart the dashboard after reboot. The following guide has tested on **Ubuntu**, most **Debian** based OS might be the same, but some might not. Please don't hesitate to provide your system if you have tested the autostart on another system. - -1. Changing the directory to the dashboard's directory - - ```shell - cd wgdashboard/src - ``` - -2. Get the full path of the dashboard's directory - - ```shell - pwd - #Output: /root/wgdashboard/src - ``` - - For this example, the output is `/root/wireguard-dashboard/src`, your path might be different since it depends on where you downloaded the dashboard in the first place. **Copy the the output to somewhere, we will need this in the next step.** - -3. Edit the service file, the service file is located in `wireguard-dashboard/src`, you can use other editor you like, here will be using `nano` - - ```shell - nano wg-dashboard.service - ``` - - You will see something like this: - - ```ini - [Unit] - After=syslog.target network-online.target - Wants=wg-quick.target - ConditionPathIsDirectory=/etc/wireguard - - [Service] - Type=forking - PIDFile=/gunicorn.pid - WorkingDirectory= - ExecStart=/wgd.sh start - ExecStop=/wgd.sh stop - ExecReload=/wgd.sh restart - TimeoutSec=120 - PrivateTmp=yes - Restart=always - - [Install] - WantedBy=multi-user.target - ``` - - Now, we need to replace all `` to the one you just copied from step 2. After doing this, the file will become something like this, your file might be different: - - **Be aware that after the value of `WorkingDirectory`, it does not have a `/` (slash).** And then save the file after you edited it - -4. Copy the service file to systemd folder - - ```bash - $ sudo cp wg-dashboard.service /etc/systemd/system/wg-dashboard.service - ``` - - To make sure you copy the file successfully, you can use this command `cat /etc/systemd/system/wg-dashboard.service` to see if it will output the file you just edited. - -5. Enable the service - - ```bash - $ sudo chmod 664 /etc/systemd/system/wg-dashboard.service - $ sudo systemctl daemon-reload - $ sudo systemctl enable wg-dashboard.service - $ sudo systemctl start wg-dashboard.service # <-- To start the service - ``` - -6. Check if the service run correctly - - ```bash - $ sudo systemctl status wg-dashboard.service - ``` - And you should see something like this - - ```shell - ● wg-dashboard.service - Loaded: loaded (/etc/systemd/system/wg-dashboard.service; enabled; vendor preset: enabled) - Active: active (running) since Wed 2024-08-14 22:21:47 EDT; 55s ago - Process: 494968 ExecStart=/home/donaldzou/Wireguard-Dashboard/src/wgd.sh start (code=exited, status=0/SUCCESS) - Main PID: 495005 (gunicorn) - Tasks: 5 (limit: 4523) - Memory: 36.8M - CPU: 789ms - CGroup: /system.slice/wg-dashboard.service - ├─495005 /home/donaldzou/Wireguard-Dashboard/src/venv/bin/python3 ./venv/bin/gunicorn --config ./gunicorn.conf.py - └─495007 /home/donaldzou/Wireguard-Dashboard/src/venv/bin/python3 ./venv/bin/gunicorn --config ./gunicorn.conf.py - - Aug 14 22:21:40 wg sudo[494978]: root : PWD=/home/donaldzou/Wireguard-Dashboard/src ; USER=root ; COMMAND=./venv/bin/gunicorn --config ./gunicorn.conf.py - Aug 14 22:21:40 wg sudo[494978]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=0) - Aug 14 22:21:40 wg wgd.sh[494979]: [WGDashboard] WGDashboard w/ Gunicorn will be running on 0.0.0.0:10086 - Aug 14 22:21:40 wg wgd.sh[494979]: [WGDashboard] Access log file is at ./log/access_2024_08_14_22_21_40.log - Aug 14 22:21:40 wg wgd.sh[494979]: [WGDashboard] Error log file is at ./log/error_2024_08_14_22_21_40.log - Aug 14 22:21:40 wg sudo[494978]: pam_unix(sudo:session): session closed for user root - Aug 14 22:21:45 wg wgd.sh[494968]: [WGDashboard] Checking if WGDashboard w/ Gunicorn started successfully - Aug 14 22:21:47 wg wgd.sh[494968]: [WGDashboard] WGDashboard w/ Gunicorn started successfully - Aug 14 22:21:47 wg wgd.sh[494968]: ------------------------------------------------------------ - Aug 14 22:21:47 wg systemd[1]: Started wg-dashboard.service. - ``` - - If you see `Active:` followed by `active (running) since...` then it means it run correctly. - -7. Stop/Start/Restart the service - - ```bash - sudo systemctl stop wg-dashboard.service # <-- To stop the service - sudo systemctl start wg-dashboard.service # <-- To start the service - sudo systemctl restart wg-dashboard.service # <-- To restart the service - ``` - -8. **And now you can reboot your system, and use the command at step 6 to see if it will auto start after the reboot, or just simply access the dashboard through your browser. If you have any questions or problem, please report it in the issue page.** - -## ✂️ Dashboard Configuration - -#### Dashboard Configuration file - -Since version 2.0, WGDashboard will be using a configuration file called `wg-dashboard.ini`, (It will generate automatically after first time running the dashboard). More options will include in future versions, and for now it included the following configurations: - -| | Description | Default | Edit Available | -|------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------|----------------| -| **`[Account]`** | *Configuration on account* | | | -| `username` | Dashboard login username | `admin` | Yes | -| `password` | Password, will be hash with SHA256 | `admin` hashed in SHA256 | Yes | -| | | | | -| **`[Server]`** | *Configuration on dashboard* | | | -| `wg_conf_path` | The path of all the Wireguard configurations | `/etc/wireguard` | Yes | -| `app_ip` | IP address the dashboard will run with | `0.0.0.0` | Yes | -| `app_port` | Port the the dashboard will run with | `10086` | Yes | -| `auth_req` | Does the dashboard need authentication to access, if `auth_req = false` , user will not be access the **Setting** tab due to security consideration. **User can only edit the file directly in system**. | `true` | **No** | -| `version` | Dashboard Version | `v4.0` | **No** | -| `dashboard_refresh_interval` | How frequent the dashboard will refresh on the configuration page | `60000ms` | Yes | -| `dashboard_sort` | How configuration is sorting | `status` | Yes | -| `dashboard_theme` | Dashboard Theme | `dark` | Yes | -| | | | | -| **`[Peers]`** | *Default Settings on a new peer* | | | -| `peer_global_dns` | DNS Server | `1.1.1.1` | Yes | -| `peer_endpoint_allowed_ip` | Endpoint Allowed IP | `0.0.0.0/0` | Yes | -| `peer_display_mode` | How peer will display | `grid` | Yes | -| `remote_endpoint` | Remote Endpoint (i.e where your peers will connect to) | *depends on your server's default network interface* | Yes | -| `peer_mtu` | Maximum Transmit Unit | `1420` | | -| `peer_keep_alive` | Keep Alive | `21` | Yes | - -#### Generating QR code and peer configuration file (.conf) - -Starting version 2.2, dashboard can now generate QR code and configuration file for each peer. Here is a template of what each QR code encoded with and the same content will be inside the file: - -```ini -[Interface] -PrivateKey = QWERTYUIOPO234567890YUSDAKFH10E1B12JE129U21= -Address = 0.0.0.0/32 -DNS = 1.1.1.1 - -[Peer] -PublicKey = QWERTYUIOPO234567890YUSDAKFH10E1B12JE129U21= -AllowedIPs = 0.0.0.0/0 -Endpoint = 0.0.0.0:51820 -``` - -| | Description | Default Value | Available in Peer setting | -| ----------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------- | -| **`[Interface]`** | | | | -| `PrivateKey` | The private key of this peer | Private key generated by WireGuard (`wg genkey`) or provided by user | Yes | -| `Address` | The `allowed_ips` of your peer | N/A | Yes | -| `DNS` | The DNS server your peer will use | `1.1.1.1` - Cloud flare DNS, you can change it when you adding the peer or in the peer setting. | Yes | -| **`[Peer]`** | | | | -| `PublicKey` | The public key of your server | N/A | No | -| `AllowedIPs` | IP ranges for which a peer will route traffic | `0.0.0.0/0` - Indicated a default route to send all internet and VPN traffic through that peer. | Yes | -| `Endpoint` | Your wireguard server ip and port, the dashboard will search for your server's default interface's ip. | `:` | Yes | - -## ❓ How to update the dashboard? - -#### **Please note for users who are using `v3 - v3.0.6` want to update to `v4.0`** -- Although theoretically updating through `wgd.sh` should work, but I still suggest you to update the dashboard manually. - -#### **Please note for users who are using `v2.3.1` or below** - -- For user who is using `v2.3.1` or below, please notice that all data that stored in the current database will **not** transfer to the new database. This is hard decision to move from TinyDB to SQLite. But SQLite does provide a thread-safe access and TinyDB doesn't. I couldn't find a safe way to transfer the data, so you need to do them manually... Sorry about that :pensive:。 But I guess this would be a great start for future development :sunglasses:. - - -1. Change your directory to `wgdashboard` - - ```shell - cd wgdashboard/src - ``` - -2. Update the dashboard - ```shell - git pull https://github.com/donaldzou/WGDashboard.git --force - ``` - -3. Install - - ```shell - sudo ./wgd.sh install - ``` - -Starting with `v3.0`, you can simply do `sudo ./wgd.sh update` !! (I hope) - -## 🐬 Docker Solutions - -Current, we have 2 beloved contributors provided solutions for hosting WGDashboard with Docker - -### Solution 1 from @DaanSelen - -Please visit [Docker-explain.md](./docker/Docker-explain.md) - -### Solution 2 from @shuricksumy - -Please visit [shuricksumy/docker-wgdashboard](https://github.com/shuricksumy/docker-wgdashboard) - -> For questions or issues related to Docker, please visit [#272](https://github.com/donaldzou/WGDashboard/issues/272) - -## 📖 WGDashboard REST API Documentation & How to use API Key - -Please visit the [API Documentation](./docs/api-documents.md) - -## 🥘 Experimental Features - -### Cross-Server Access - -Starting with `v4.0`, you can access WGDashboards on other server through one WGDashboard with API Keys - -![Cross Server Example](https://donaldzou.nyc3.cdn.digitaloceanspaces.com/wgdashboard-images/cross-server.gif) - -### Desktop App - -Since the major changes for `v4.0` is to move the whole front-end code to Vue.js. And with this change, we can take the -advantage of combining ElectronJS and Vue.js to create a Desktop version of WGDashboard. Currently, we provide an Universal macOS app and a Windows app. - -To download the app, please visit the [latest release](https://github.com/donaldzou/WGDashboard/releases). - -![ElectronJS App Demo](https://donaldzou.nyc3.cdn.digitaloceanspaces.com/wgdashboard-images/electronjs-app.gif) - -## 🔍 Screenshot - -![Sign In](https://donaldzou.nyc3.cdn.digitaloceanspaces.com/wgdashboard-images/sign-in.png) -![Cross Server](https://donaldzou.nyc3.cdn.digitaloceanspaces.com/wgdashboard-images/cross-server.png) -![Index](https://donaldzou.nyc3.cdn.digitaloceanspaces.com/wgdashboard-images/index.png) -![New Configuration](https://donaldzou.nyc3.cdn.digitaloceanspaces.com/wgdashboard-images/new-configuration.png) -![Settings](https://donaldzou.nyc3.cdn.digitaloceanspaces.com/wgdashboard-images/settings.png) -![Light-Dark Mode](https://donaldzou.nyc3.cdn.digitaloceanspaces.com/wgdashboard-images/light-dark.png) -![Configuration](https://donaldzou.nyc3.cdn.digitaloceanspaces.com/wgdashboard-images/configuration.png) -![Add Peers](https://donaldzou.nyc3.cdn.digitaloceanspaces.com/wgdashboard-images/add-peers.png) -![Ping](https://donaldzou.nyc3.cdn.digitaloceanspaces.com/wgdashboard-images/ping.png) -![Traceroute](https://donaldzou.nyc3.cdn.digitaloceanspaces.com/wgdashboard-images/traceroute.png) - -## 🕰️ Changelogs - -Please visit the [Changelogs.md](./docs/changelogs.md) +> To better manage documentation for this project. I've moved it to its own [repo](https://github.com/donaldzou/WGDashboard-Documentation). I will keep updating over there and leave this README only with important information. + +- [💡 Features](https://donaldzou.github.io/WGDashboard-Documentation/features.html) +- [📝 Requirements](https://donaldzou.github.io/WGDashboard-Documentation/requirements.html) +- [🛠 Install](https://donaldzou.github.io/WGDashboard-Documentation/install.html) +- [🪜 Usage](https://donaldzou.github.io/WGDashboard-Documentation/usage.html) +- [📖 API Documentation](https://donaldzou.github.io/WGDashboard-Documentation/api-documentation.html) +- [And much more...](https://donaldzou.github.io/WGDashboard-Documentation/) diff --git a/compose.yaml b/compose.yaml new file mode 100644 index 00000000..a75ef452 --- /dev/null +++ b/compose.yaml @@ -0,0 +1,26 @@ +services: + + wireguard-dashboard: + build: ./ + container_name: wiregate + cap_add: + - NET_ADMIN + - SYS_MODULE + restart: unless-stopped + environment: + - wg_net=10.0.0.1/24 + - wg_port=51820 + volumes: + - wgd_configs:/etc/wireguard + - wgd_app:/opt/wireguarddashboard/src + ports: + - 10086:10086/tcp + - 51820:51820/udp + sysctls: + - net.ipv4.ip_forward=1 + - net.ipv4.conf.all.src_valid_mark=1 + + +volumes: + wgd_configs: + wgd_app: \ No newline at end of file diff --git a/docker/alpine/builder.sh b/docker/alpine/builder.sh new file mode 100644 index 00000000..5511413e --- /dev/null +++ b/docker/alpine/builder.sh @@ -0,0 +1,43 @@ +venv_python="./venv/bin/python3" +venv_gunicorn="./venv/bin/gunicorn" +pythonExecutable="python3" + + +_check_and_set_venv(){ + VIRTUAL_ENV="./venv" + if [ ! -d $VIRTUAL_ENV ]; then + printf "[WGDashboard] Creating Python Virtual Environment under ./venv\n" + { $pythonExecutable -m venv $VIRTUAL_ENV; } >> ./log/install.txt + fi + + if ! $venv_python --version > /dev/null 2>&1 + then + printf "[WGDashboard] %s Python Virtual Environment under ./venv failed to create. Halting now.\n" "$heavy_crossmark" + kill $TOP_PID + fi + + source ${VIRTUAL_ENV}/bin/activate + +} + +build_core () { + if [ ! -d "log" ] + then + printf "[WGDashboard] Creating ./log folder\n" + mkdir "log" + fi + + + apk add --no-cache python3 net-tools python3-dev py3-virtualenv + _check_and_set_venv + printf "[WGDashboard] Upgrading Python Package Manage (PIP)\n" + { date; python3 -m pip install --upgrade pip; printf "\n\n"; } >> ./log/install.txt + printf "[WGDashboard] Building Bcrypt & Psutil\n" + { date; python3 -m pip install -r requirements.txt ; printf "\n\n"; } >> ./log/install.txt + printf "[WGDashboard] Build Successfull!\n" + printf "[WGDashboard] Clean Up Pip!\n" + { date; rm -rf /opt/wireguarddashboard/src/venv/lib/python3.12/site-packages/pip* ; printf "\n\n"; } >> ./log/install.txt + +} + +build_core diff --git a/docker/alpine/requirements.txt b/docker/alpine/requirements.txt new file mode 100644 index 00000000..074ed2f9 --- /dev/null +++ b/docker/alpine/requirements.txt @@ -0,0 +1,2 @@ +bcrypt +psutil diff --git a/src/dashboard.py b/src/dashboard.py index 369b9192..5ffd5a7d 100644 --- a/src/dashboard.py +++ b/src/dashboard.py @@ -33,7 +33,7 @@ from flask.json.provider import DefaultJSONProvider -DASHBOARD_VERSION = 'v4.0.2' +DASHBOARD_VERSION = 'v4.0.4' CONFIGURATION_PATH = os.getenv('CONFIGURATION_PATH', '.') DB_PATH = os.path.join(CONFIGURATION_PATH, 'db') if not os.path.isdir(DB_PATH): @@ -442,6 +442,8 @@ def __str__(self): return self.message def __init__(self, name: str = None, data: dict = None): + print(f"[WGDashboard] Initialized Configuration: {name}") + self.__parser: configparser.ConfigParser = configparser.ConfigParser(strict=False) self.__parser.optionxform = str self.__configFileModifiedTime = None @@ -588,83 +590,93 @@ def __getRestrictedPeers(self): restricted = sqlSelect("SELECT * FROM '%s_restrict_access'" % self.Name).fetchall() for i in restricted: self.RestrictedPeers.append(Peer(i, self)) - + + def configurationFileChanged(self) : + mt = os.path.getmtime(os.path.join(WG_CONF_PATH, f'{self.Name}.conf')) + changed = self.__configFileModifiedTime is None or self.__configFileModifiedTime != mt + self.__configFileModifiedTime = mt + return changed + def __getPeers(self): - mt = os.path.getmtime(os.path.join(WG_CONF_PATH, f'{self.Name}.conf')) - # if self.__configFileModifiedTime is None or self.__configFileModifiedTime != mt: - self.Peers = [] - with open(os.path.join(WG_CONF_PATH, f'{self.Name}.conf'), 'r') as configFile: - p = [] - pCounter = -1 - content = configFile.read().split('\n') - try: - peerStarts = content.index("[Peer]") - content = content[peerStarts:] - for i in content: - if not regex_match("#(.*)", i) and not regex_match(";(.*)", i): - if i == "[Peer]": - pCounter += 1 - p.append({}) - p[pCounter]["name"] = "" - else: - if len(i) > 0: - split = re.split(r'\s*=\s*', i, 1) - if len(split) == 2: - p[pCounter][split[0]] = split[1] + if self.configurationFileChanged(): + self.Peers = [] + with open(os.path.join(WG_CONF_PATH, f'{self.Name}.conf'), 'r') as configFile: + p = [] + pCounter = -1 + content = configFile.read().split('\n') + try: + peerStarts = content.index("[Peer]") + content = content[peerStarts:] + for i in content: + if not regex_match("#(.*)", i) and not regex_match(";(.*)", i): + if i == "[Peer]": + pCounter += 1 + p.append({}) + p[pCounter]["name"] = "" + else: + if len(i) > 0: + split = re.split(r'\s*=\s*', i, 1) + if len(split) == 2: + p[pCounter][split[0]] = split[1] + + if regex_match("#Name# = (.*)", i): + split = re.split(r'\s*=\s*', i, 1) + print(split) + if len(split) == 2: + p[pCounter]["name"] = split[1] - if regex_match("#Name# = (.*)", i): - split = re.split(r'\s*=\s*', i, 1) - print(split) - if len(split) == 2: - p[pCounter]["name"] = split[1] - - for i in p: - if "PublicKey" in i.keys(): - checkIfExist = sqlSelect("SELECT * FROM '%s' WHERE id = ?" % self.Name, - ((i['PublicKey']),)).fetchone() - if checkIfExist is None: - newPeer = { - "id": i['PublicKey'], - "private_key": "", - "DNS": DashboardConfig.GetConfig("Peers", "peer_global_DNS")[1], - "endpoint_allowed_ip": DashboardConfig.GetConfig("Peers", "peer_endpoint_allowed_ip")[ - 1], - "name": i.get("name"), - "total_receive": 0, - "total_sent": 0, - "total_data": 0, - "endpoint": "N/A", - "status": "stopped", - "latest_handshake": "N/A", - "allowed_ip": i.get("AllowedIPs", "N/A"), - "cumu_receive": 0, - "cumu_sent": 0, - "cumu_data": 0, - "traffic": [], - "mtu": DashboardConfig.GetConfig("Peers", "peer_mtu")[1], - "keepalive": DashboardConfig.GetConfig("Peers", "peer_keep_alive")[1], - "remote_endpoint": DashboardConfig.GetConfig("Peers", "remote_endpoint")[1], - "preshared_key": i["PresharedKey"] if "PresharedKey" in i.keys() else "" - } - sqlUpdate( - """ - INSERT INTO '%s' - VALUES (:id, :private_key, :DNS, :endpoint_allowed_ip, :name, :total_receive, :total_sent, - :total_data, :endpoint, :status, :latest_handshake, :allowed_ip, :cumu_receive, :cumu_sent, - :cumu_data, :mtu, :keepalive, :remote_endpoint, :preshared_key); - """ % self.Name - , newPeer) - # sqldb.commit() - self.Peers.append(Peer(newPeer, self)) - else: - sqlUpdate("UPDATE '%s' SET allowed_ip = ? WHERE id = ?" % self.Name, - (i.get("AllowedIPs", "N/A"), i['PublicKey'],)) - # sqldb.commit() - self.Peers.append(Peer(checkIfExist, self)) - except Exception as e: - print(f"[WGDashboard] {self.Name} Error: {str(e)}") - self.__configFileModifiedTime = mt + for i in p: + if "PublicKey" in i.keys(): + checkIfExist = sqlSelect("SELECT * FROM '%s' WHERE id = ?" % self.Name, + ((i['PublicKey']),)).fetchone() + if checkIfExist is None: + newPeer = { + "id": i['PublicKey'], + "private_key": "", + "DNS": DashboardConfig.GetConfig("Peers", "peer_global_DNS")[1], + "endpoint_allowed_ip": DashboardConfig.GetConfig("Peers", "peer_endpoint_allowed_ip")[ + 1], + "name": i.get("name"), + "total_receive": 0, + "total_sent": 0, + "total_data": 0, + "endpoint": "N/A", + "status": "stopped", + "latest_handshake": "N/A", + "allowed_ip": i.get("AllowedIPs", "N/A"), + "cumu_receive": 0, + "cumu_sent": 0, + "cumu_data": 0, + "traffic": [], + "mtu": DashboardConfig.GetConfig("Peers", "peer_mtu")[1], + "keepalive": DashboardConfig.GetConfig("Peers", "peer_keep_alive")[1], + "remote_endpoint": DashboardConfig.GetConfig("Peers", "remote_endpoint")[1], + "preshared_key": i["PresharedKey"] if "PresharedKey" in i.keys() else "" + } + sqlUpdate( + """ + INSERT INTO '%s' + VALUES (:id, :private_key, :DNS, :endpoint_allowed_ip, :name, :total_receive, :total_sent, + :total_data, :endpoint, :status, :latest_handshake, :allowed_ip, :cumu_receive, :cumu_sent, + :cumu_data, :mtu, :keepalive, :remote_endpoint, :preshared_key); + """ % self.Name + , newPeer) + # sqldb.commit() + self.Peers.append(Peer(newPeer, self)) + else: + sqlUpdate("UPDATE '%s' SET allowed_ip = ? WHERE id = ?" % self.Name, + (i.get("AllowedIPs", "N/A"), i['PublicKey'],)) + # sqldb.commit() + self.Peers.append(Peer(checkIfExist, self)) + except Exception as e: + print(f"[WGDashboard] {self.Name} Error: {str(e)}") + else: + self.Peers.clear() + checkIfExist = sqlSelect("SELECT * FROM '%s'" % self.Name).fetchall() + for i in checkIfExist: + self.Peers.append(Peer(i, self)) + def addPeers(self, peers: list): for p in peers: @@ -681,8 +693,6 @@ def searchPeer(self, publicKey): return False, None def allowAccessPeers(self, listOfPublicKeys): - # numOfAllowedPeers = 0 - # numOfFailedToAllowPeers = 0 if not self.getStatus(): self.toggleConfiguration() @@ -693,7 +703,15 @@ def allowAccessPeers(self, listOfPublicKeys): % (self.Name, self.Name,), (p['id'],)) sqlUpdate("DELETE FROM '%s_restrict_access' WHERE id = ?" % self.Name, (p['id'],)) - subprocess.check_output(f"wg set {self.Name} peer {p['id']} allowed-ips {p['allowed_ip']}", + + presharedKeyExist = len(p['preshared_key']) > 0 + rd = random.Random() + uid = uuid.UUID(int=rd.getrandbits(128), version=4) + if presharedKeyExist: + with open(f"{uid}", "w+") as f: + f.write(p['preshared_key']) + + subprocess.check_output(f"wg set {self.Name} peer {p['id']} allowed-ips {p['allowed_ip']}{f' preshared-key {uid}' if presharedKeyExist else ''}", shell=True, stderr=subprocess.STDOUT) else: return ResponseObject(False, "Failed to allow access of peer " + i) @@ -803,12 +821,11 @@ def getPeersLatestHandshake(self): else: status = "stopped" if int(latestHandshake[count + 1]) > 0: - sqldb.execute("UPDATE '%s' SET latest_handshake = ?, status = ? WHERE id= ?" % self.Name + sqlUpdate("UPDATE '%s' SET latest_handshake = ?, status = ? WHERE id= ?" % self.Name , (str(minus).split(".", maxsplit=1)[0], status, latestHandshake[count],)) else: - sqldb.execute("UPDATE '%s' SET latest_handshake = 'No Handshake', status = ? WHERE id= ?" % self.Name + sqlUpdate("UPDATE '%s' SET latest_handshake = 'No Handshake', status = ? WHERE id= ?" % self.Name , (status, latestHandshake[count],)) - sqldb.commit() count += 2 @@ -1284,16 +1301,20 @@ def _regexMatch(regex, text): return pattern.search(text) is not None -def _getConfigurationList() -> [WireguardConfiguration]: - configurations = {} +def _getConfigurationList(): + # configurations = {} for i in os.listdir(WG_CONF_PATH): if _regexMatch("^(.{1,}).(conf)$", i): i = i.replace('.conf', '') try: - configurations[i] = WireguardConfiguration(i) + if i in WireguardConfigurations.keys(): + if WireguardConfigurations[i].configurationFileChanged(): + WireguardConfigurations[i] = WireguardConfiguration(i) + else: + WireguardConfigurations[i] = WireguardConfiguration(i) except WireguardConfiguration.InvalidConfigurationFileException as e: print(f"{i} have an invalid configuration file.") - return configurations + def _checkIPWithRange(ip): @@ -1354,8 +1375,7 @@ def _generatePrivateKey() -> [bool, str]: except subprocess.CalledProcessError: return False, None - -def _getWireguardConfigurationAvailableIP(configName: str) -> tuple[bool, list[str]] | tuple[bool, None]: +def _getWireguardConfigurationAvailableIP(configName: str, all: bool = False) -> tuple[bool, list[str]] | tuple[bool, None]: if configName not in WireguardConfigurations.keys(): return False, None configuration = WireguardConfigurations[configName] @@ -1387,8 +1407,9 @@ def _getWireguardConfigurationAvailableIP(configName: str) -> tuple[bool, list[s if h not in existedAddress: availableAddress.append(ipaddress.ip_network(h).compressed) count += 1 - if network.version == 6 and count > 255: - break + if not all: + if network.version == 6 and count > 255: + break return True, availableAddress return False, None @@ -1534,7 +1555,7 @@ def API_SignOut(): @app.route(f'{APP_PREFIX}/api/getWireguardConfigurations', methods=["GET"]) def API_getWireguardConfigurations(): - # WireguardConfigurations = _getConfigurationList() + _getConfigurationList() return ResponseObject(data=[wc for wc in WireguardConfigurations.values()]) @@ -1841,17 +1862,7 @@ def API_addPeers(configName): if i not in availableIps[1]: return ResponseObject(False, f"This IP is not available: {i}") - config.addPeers([{"id": public_key, "allowed_ip": ''.join(allowed_ips)}]) - # subprocess.check_output( - # f"wg set {config.Name} peer {public_key} allowed-ips {''.join(allowed_ips)}", - # shell=True, stderr=subprocess.STDOUT) - # if len(preshared_key) > 0: - # subprocess.check_output( - # f"wg set {config.Name} peer {public_key} preshared-key {preshared_key}", - # shell=True, stderr=subprocess.STDOUT) - # subprocess.check_output( - # f"wg-quick save {config.Name}", shell=True, stderr=subprocess.STDOUT) - # config.getPeersList() + config.addPeers([{"id": public_key, "allowed_ip": ','.join(allowed_ips)}]) found, peer = config.searchPeer(public_key) if found: return peer.updatePeer(name, private_key, preshared_key, dns_addresses, ",".join(allowed_ips), @@ -2188,7 +2199,7 @@ def gunicornConfig(): WireguardConfigurations: dict[str, WireguardConfiguration] = {} -WireguardConfigurations = _getConfigurationList() +_getConfigurationList() def startThreads(): bgThread = threading.Thread(target=backGroundThread) diff --git a/src/entrypoint.sh b/src/entrypoint.sh new file mode 100644 index 00000000..c8056f24 --- /dev/null +++ b/src/entrypoint.sh @@ -0,0 +1,34 @@ +#!/bin/bash +echo "Starting the WireGuard Dashboard Docker container." + +clean_up() { + # Cleaning out previous data such as the .pid file and starting the WireGuard Dashboard. Making sure to use the python venv. + echo "Looking for remains of previous instances..." + if [ -f "/opt/wireguarddashboard/app/src/gunicorn.pid" ]; then + echo "Found old .pid file, removing." + rm /opt/wireguarddashboard/app/src/gunicorn.pid + else + echo "No remains found, continuing." + fi +} +ensure_blocking() { + sleep 1s + echo "Ensuring container continuation." + + # This function checks if the latest error log is created and tails it for docker logs uses. + if find "/opt/wireguarddashboard/src/log" -mindepth 1 -maxdepth 1 -type f | read -r; then + latestErrLog=$(find /opt/wireguarddashboard/src/log -name "error_*.log" | head -n 1) + latestAccLog=$(find /opt/wireguarddashboard/src/log -name "access_*.log" | head -n 1) + tail -f "${latestErrLog}" "${latestAccLog}" + fi + + # Blocking command in case of erroring. So the container does not quit. + sleep infinity +} + +{ date; clean_up; printf "\n\n"; } >> ./log/install.txt + +chmod u+x /opt/wireguarddashboard/src/wgd.sh +/opt/wireguarddashboard/src/wgd.sh install +/opt/wireguarddashboard/src/wgd.sh docker_start +ensure_blocking diff --git a/src/iptable-rules/postdown.sh b/src/iptable-rules/postdown.sh new file mode 100644 index 00000000..962772a2 --- /dev/null +++ b/src/iptable-rules/postdown.sh @@ -0,0 +1,13 @@ +#!/bin/bash +WIREGUARD_INTERFACE=ADMINS +WIREGUARD_LAN=10.0.0.1/24 +MASQUERADE_INTERFACE=eth0 + +CHAIN_NAME="WIREGUARD_$WIREGUARD_INTERFACE" + +iptables -t nat -D POSTROUTING -o $MASQUERADE_INTERFACE -j MASQUERADE -s $WIREGUARD_LAN + +# Remove and delete the WIREGUARD_wg0 chain +iptables -D FORWARD -j $CHAIN_NAME +iptables -F $CHAIN_NAME +iptables -X $CHAIN_NAME \ No newline at end of file diff --git a/src/iptable-rules/postup.sh b/src/iptable-rules/postup.sh new file mode 100644 index 00000000..0fc8b872 --- /dev/null +++ b/src/iptable-rules/postup.sh @@ -0,0 +1,26 @@ +#!/bin/bash +WIREGUARD_INTERFACE=ADMINS +WIREGUARD_LAN=10.0.0.1/24 +MASQUERADE_INTERFACE=eth0 + +iptables -t nat -I POSTROUTING -o $MASQUERADE_INTERFACE -j MASQUERADE -s $WIREGUARD_LAN + +# Add a WIREGUARD_wg0 chain to the FORWARD chain +CHAIN_NAME="WIREGUARD_$WIREGUARD_INTERFACE" +iptables -N $CHAIN_NAME +iptables -A FORWARD -j $CHAIN_NAME + +# Accept related or established traffic +iptables -A $CHAIN_NAME -o $WIREGUARD_INTERFACE -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT + +# Accept traffic from any Wireguard IP address connected to the Wireguard server +iptables -A $CHAIN_NAME -s $WIREGUARD_LAN -i $WIREGUARD_INTERFACE -j ACCEPT + +# Allow traffic to the local loopback interface +iptables -A $CHAIN_NAME -o lo -j ACCEPT + +# Drop everything else coming through the Wireguard interface +iptables -A $CHAIN_NAME -i $WIREGUARD_INTERFACE -j DROP + +# Return to FORWARD chain +iptables -A $CHAIN_NAME -j RETURN \ No newline at end of file diff --git a/src/static/app/dist/assets/bootstrap-icons.woff b/src/static/app/dist/assets/bootstrap-icons.woff index ae24c650..51204d27 100644 Binary files a/src/static/app/dist/assets/bootstrap-icons.woff and b/src/static/app/dist/assets/bootstrap-icons.woff differ diff --git a/src/static/app/dist/assets/bootstrap-icons.woff2 b/src/static/app/dist/assets/bootstrap-icons.woff2 index fff9d0cf..92c48302 100644 Binary files a/src/static/app/dist/assets/bootstrap-icons.woff2 and b/src/static/app/dist/assets/bootstrap-icons.woff2 differ diff --git a/src/static/app/dist/assets/index.css b/src/static/app/dist/assets/index.css index 4eddb06f..5c698016 100644 --- a/src/static/app/dist/assets/index.css +++ b/src/static/app/dist/assets/index.css @@ -3,10 +3,10 @@ * Copyright 2011-2023 The Bootstrap Authors * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */:root,[data-bs-theme=light]{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-primary: #0d6efd;--bs-secondary: #6c757d;--bs-success: #198754;--bs-info: #0dcaf0;--bs-warning: #ffc107;--bs-danger: #dc3545;--bs-light: #f8f9fa;--bs-dark: #212529;--bs-primary-rgb: 13, 110, 253;--bs-secondary-rgb: 108, 117, 125;--bs-success-rgb: 25, 135, 84;--bs-info-rgb: 13, 202, 240;--bs-warning-rgb: 255, 193, 7;--bs-danger-rgb: 220, 53, 69;--bs-light-rgb: 248, 249, 250;--bs-dark-rgb: 33, 37, 41;--bs-primary-text-emphasis: #052c65;--bs-secondary-text-emphasis: #2b2f32;--bs-success-text-emphasis: #0a3622;--bs-info-text-emphasis: #055160;--bs-warning-text-emphasis: #664d03;--bs-danger-text-emphasis: #58151c;--bs-light-text-emphasis: #495057;--bs-dark-text-emphasis: #495057;--bs-primary-bg-subtle: #cfe2ff;--bs-secondary-bg-subtle: #e2e3e5;--bs-success-bg-subtle: #d1e7dd;--bs-info-bg-subtle: #cff4fc;--bs-warning-bg-subtle: #fff3cd;--bs-danger-bg-subtle: #f8d7da;--bs-light-bg-subtle: #fcfcfd;--bs-dark-bg-subtle: #ced4da;--bs-primary-border-subtle: #9ec5fe;--bs-secondary-border-subtle: #c4c8cb;--bs-success-border-subtle: #a3cfbb;--bs-info-border-subtle: #9eeaf9;--bs-warning-border-subtle: #ffe69c;--bs-danger-border-subtle: #f1aeb5;--bs-light-border-subtle: #e9ecef;--bs-dark-border-subtle: #adb5bd;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 0, 0, 0;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size: 1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #212529;--bs-body-color-rgb: 33, 37, 41;--bs-body-bg: #fff;--bs-body-bg-rgb: 255, 255, 255;--bs-emphasis-color: #000;--bs-emphasis-color-rgb: 0, 0, 0;--bs-secondary-color: rgba(33, 37, 41, .75);--bs-secondary-color-rgb: 33, 37, 41;--bs-secondary-bg: #e9ecef;--bs-secondary-bg-rgb: 233, 236, 239;--bs-tertiary-color: rgba(33, 37, 41, .5);--bs-tertiary-color-rgb: 33, 37, 41;--bs-tertiary-bg: #f8f9fa;--bs-tertiary-bg-rgb: 248, 249, 250;--bs-heading-color: inherit;--bs-link-color: #0d6efd;--bs-link-color-rgb: 13, 110, 253;--bs-link-decoration: underline;--bs-link-hover-color: #0a58ca;--bs-link-hover-color-rgb: 10, 88, 202;--bs-code-color: #d63384;--bs-highlight-color: #212529;--bs-highlight-bg: #fff3cd;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0, 0, 0, .175);--bs-border-radius: .375rem;--bs-border-radius-sm: .25rem;--bs-border-radius-lg: .5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-xxl: 2rem;--bs-border-radius-2xl: var(--bs-border-radius-xxl);--bs-border-radius-pill: 50rem;--bs-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width: .25rem;--bs-focus-ring-opacity: .25;--bs-focus-ring-color: rgba(13, 110, 253, .25);--bs-form-valid-color: #198754;--bs-form-valid-border-color: #198754;--bs-form-invalid-color: #dc3545;--bs-form-invalid-border-color: #dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color: #dee2e6;--bs-body-color-rgb: 222, 226, 230;--bs-body-bg: #212529;--bs-body-bg-rgb: 33, 37, 41;--bs-emphasis-color: #fff;--bs-emphasis-color-rgb: 255, 255, 255;--bs-secondary-color: rgba(222, 226, 230, .75);--bs-secondary-color-rgb: 222, 226, 230;--bs-secondary-bg: #343a40;--bs-secondary-bg-rgb: 52, 58, 64;--bs-tertiary-color: rgba(222, 226, 230, .5);--bs-tertiary-color-rgb: 222, 226, 230;--bs-tertiary-bg: #2b3035;--bs-tertiary-bg-rgb: 43, 48, 53;--bs-primary-text-emphasis: #6ea8fe;--bs-secondary-text-emphasis: #a7acb1;--bs-success-text-emphasis: #75b798;--bs-info-text-emphasis: #6edff6;--bs-warning-text-emphasis: #ffda6a;--bs-danger-text-emphasis: #ea868f;--bs-light-text-emphasis: #f8f9fa;--bs-dark-text-emphasis: #dee2e6;--bs-primary-bg-subtle: #031633;--bs-secondary-bg-subtle: #161719;--bs-success-bg-subtle: #051b11;--bs-info-bg-subtle: #032830;--bs-warning-bg-subtle: #332701;--bs-danger-bg-subtle: #2c0b0e;--bs-light-bg-subtle: #343a40;--bs-dark-bg-subtle: #1a1d20;--bs-primary-border-subtle: #084298;--bs-secondary-border-subtle: #41464b;--bs-success-border-subtle: #0f5132;--bs-info-border-subtle: #087990;--bs-warning-border-subtle: #997404;--bs-danger-border-subtle: #842029;--bs-light-border-subtle: #495057;--bs-dark-border-subtle: #343a40;--bs-heading-color: inherit;--bs-link-color: #6ea8fe;--bs-link-hover-color: #8bb9fe;--bs-link-color-rgb: 110, 168, 254;--bs-link-hover-color-rgb: 139, 185, 254;--bs-code-color: #e685b5;--bs-highlight-color: #dee2e6;--bs-highlight-bg: #664d03;--bs-border-color: #495057;--bs-border-color-translucent: rgba(255, 255, 255, .15);--bs-form-valid-color: #75b798;--bs-form-valid-border-color: #75b798;--bs-form-invalid-color: #ea868f;--bs-form-invalid-border-color: #ea868f}*,*:before,*:after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:calc(1.325rem + .9vw)}@media (min-width: 1200px){h2,.h2{font-size:2rem}}h3,.h3{font-size:calc(1.3rem + .6vw)}@media (min-width: 1200px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small,.small{font-size:.875em}mark,.mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, 1));text-decoration:underline}a:hover{--bs-link-color-rgb: var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled,.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer:before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container-sm,.container{max-width:540px}}@media (min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media (min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media (min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}@media (min-width: 1400px){.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1320px}}:root{--bs-breakpoint-xs: 0;--bs-breakpoint-sm: 576px;--bs-breakpoint-md: 768px;--bs-breakpoint-lg: 992px;--bs-breakpoint-xl: 1200px;--bs-breakpoint-xxl: 1400px}.row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: .25rem}.g-1,.gy-1{--bs-gutter-y: .25rem}.g-2,.gx-2{--bs-gutter-x: .5rem}.g-2,.gy-2{--bs-gutter-y: .5rem}.g-3,.gx-3{--bs-gutter-x: 1rem}.g-3,.gy-3{--bs-gutter-y: 1rem}.g-4,.gx-4{--bs-gutter-x: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 3rem}.g-5,.gy-5{--bs-gutter-y: 3rem}@media (min-width: 576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: .25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: .25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: .5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: .5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 3rem}}@media (min-width: 768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: .25rem}.g-md-1,.gy-md-1{--bs-gutter-y: .25rem}.g-md-2,.gx-md-2{--bs-gutter-x: .5rem}.g-md-2,.gy-md-2{--bs-gutter-y: .5rem}.g-md-3,.gx-md-3{--bs-gutter-x: 1rem}.g-md-3,.gy-md-3{--bs-gutter-y: 1rem}.g-md-4,.gx-md-4{--bs-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 3rem}.g-md-5,.gy-md-5{--bs-gutter-y: 3rem}}@media (min-width: 992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: .25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: .25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: .5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: .5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 3rem}}@media (min-width: 1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: .25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: .25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: .5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: .5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 3rem}}@media (min-width: 1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: .25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: .25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: .5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: .5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.table{--bs-table-color-type: initial;--bs-table-bg-type: initial;--bs-table-color-state: initial;--bs-table-bg-state: initial;--bs-table-color: var(--bs-emphasis-color);--bs-table-bg: var(--bs-body-bg);--bs-table-border-color: var(--bs-border-color);--bs-table-accent-bg: transparent;--bs-table-striped-color: var(--bs-emphasis-color);--bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), .05);--bs-table-active-color: var(--bs-emphasis-color);--bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), .1);--bs-table-hover-color: var(--bs-emphasis-color);--bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), .075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem;color:var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-active{--bs-table-color-state: var(--bs-table-active-color);--bs-table-bg-state: var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state: var(--bs-table-hover-color);--bs-table-bg-state: var(--bs-table-hover-bg)}.table-primary{--bs-table-color: #000;--bs-table-bg: #cfe2ff;--bs-table-border-color: #a6b5cc;--bs-table-striped-bg: #c5d7f2;--bs-table-striped-color: #000;--bs-table-active-bg: #bacbe6;--bs-table-active-color: #000;--bs-table-hover-bg: #bfd1ec;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: #e2e3e5;--bs-table-border-color: #b5b6b7;--bs-table-striped-bg: #d7d8da;--bs-table-striped-color: #000;--bs-table-active-bg: #cbccce;--bs-table-active-color: #000;--bs-table-hover-bg: #d1d2d4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: #d1e7dd;--bs-table-border-color: #a7b9b1;--bs-table-striped-bg: #c7dbd2;--bs-table-striped-color: #000;--bs-table-active-bg: #bcd0c7;--bs-table-active-color: #000;--bs-table-hover-bg: #c1d6cc;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: #cff4fc;--bs-table-border-color: #a6c3ca;--bs-table-striped-bg: #c5e8ef;--bs-table-striped-color: #000;--bs-table-active-bg: #badce3;--bs-table-active-color: #000;--bs-table-hover-bg: #bfe2e9;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: #fff3cd;--bs-table-border-color: #ccc2a4;--bs-table-striped-bg: #f2e7c3;--bs-table-striped-color: #000;--bs-table-active-bg: #e6dbb9;--bs-table-active-color: #000;--bs-table-hover-bg: #ece1be;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: #f8d7da;--bs-table-border-color: #c6acae;--bs-table-striped-bg: #eccccf;--bs-table-striped-color: #000;--bs-table-active-bg: #dfc2c4;--bs-table-active-color: #000;--bs-table-hover-bg: #e5c7ca;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #f8f9fa;--bs-table-border-color: #c6c7c8;--bs-table-striped-bg: #ecedee;--bs-table-striped-color: #000;--bs-table-active-bg: #dfe0e1;--bs-table-active-color: #000;--bs-table-hover-bg: #e5e6e7;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #212529;--bs-table-border-color: #4d5154;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #fff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #fff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-moz-placeholder{color:var(--bs-secondary-color);opacity:1}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg: var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::-moz-placeholder,.form-floating>.form-control-plaintext::-moz-placeholder{color:transparent}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:not(:-moz-placeholder-shown),.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:not(:-moz-placeholder-shown)~label:after{position:absolute;top:1rem;right:.375rem;bottom:1rem;left:.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:focus~label:after,.form-floating>.form-control:not(:placeholder-shown)~label:after,.form-floating>.form-control-plaintext~label:after,.form-floating>.form-select~label:after{position:absolute;top:1rem;right:.375rem;bottom:1rem;left:.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:#6c757d}.form-floating>:disabled~label:after,.form-floating>.form-control:disabled~label:after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3.75rem + 1.5em)}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3.75rem + 1.5em)}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: .75rem;--bs-btn-padding-y: .375rem;--bs-btn-font-family: ;--bs-btn-font-size: 1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.5;--bs-btn-color: var(--bs-body-color);--bs-btn-bg: transparent;--bs-btn-border-width: var(--bs-border-width);--bs-btn-border-color: transparent;--bs-btn-border-radius: var(--bs-border-radius);--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);--bs-btn-disabled-opacity: .65;--bs-btn-focus-box-shadow: 0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color: #fff;--bs-btn-bg: #0d6efd;--bs-btn-border-color: #0d6efd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0b5ed7;--bs-btn-hover-border-color: #0a58ca;--bs-btn-focus-shadow-rgb: 49, 132, 253;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0a58ca;--bs-btn-active-border-color: #0a53be;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #0d6efd;--bs-btn-disabled-border-color: #0d6efd}.btn-secondary{--bs-btn-color: #fff;--bs-btn-bg: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5c636a;--bs-btn-hover-border-color: #565e64;--bs-btn-focus-shadow-rgb: 130, 138, 145;--bs-btn-active-color: #fff;--bs-btn-active-bg: #565e64;--bs-btn-active-border-color: #51585e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6c757d;--bs-btn-disabled-border-color: #6c757d}.btn-success{--bs-btn-color: #fff;--bs-btn-bg: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #157347;--bs-btn-hover-border-color: #146c43;--bs-btn-focus-shadow-rgb: 60, 153, 110;--bs-btn-active-color: #fff;--bs-btn-active-bg: #146c43;--bs-btn-active-border-color: #13653f;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #198754;--bs-btn-disabled-border-color: #198754}.btn-info{--bs-btn-color: #000;--bs-btn-bg: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #31d2f2;--bs-btn-hover-border-color: #25cff2;--bs-btn-focus-shadow-rgb: 11, 172, 204;--bs-btn-active-color: #000;--bs-btn-active-bg: #3dd5f3;--bs-btn-active-border-color: #25cff2;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #0dcaf0;--bs-btn-disabled-border-color: #0dcaf0}.btn-warning{--bs-btn-color: #000;--bs-btn-bg: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffca2c;--bs-btn-hover-border-color: #ffc720;--bs-btn-focus-shadow-rgb: 217, 164, 6;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffcd39;--bs-btn-active-border-color: #ffc720;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #ffc107;--bs-btn-disabled-border-color: #ffc107}.btn-danger{--bs-btn-color: #fff;--bs-btn-bg: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #bb2d3b;--bs-btn-hover-border-color: #b02a37;--bs-btn-focus-shadow-rgb: 225, 83, 97;--bs-btn-active-color: #fff;--bs-btn-active-bg: #b02a37;--bs-btn-active-border-color: #a52834;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #dc3545;--bs-btn-disabled-border-color: #dc3545}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #d3d4d5;--bs-btn-hover-border-color: #c6c7c8;--bs-btn-focus-shadow-rgb: 211, 212, 213;--bs-btn-active-color: #000;--bs-btn-active-bg: #c6c7c8;--bs-btn-active-border-color: #babbbc;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f8f9fa;--bs-btn-disabled-border-color: #f8f9fa}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #424649;--bs-btn-hover-border-color: #373b3e;--bs-btn-focus-shadow-rgb: 66, 70, 73;--bs-btn-active-color: #fff;--bs-btn-active-bg: #4d5154;--bs-btn-active-border-color: #373b3e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #212529;--bs-btn-disabled-border-color: #212529}.btn-outline-primary{--bs-btn-color: #0d6efd;--bs-btn-border-color: #0d6efd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0d6efd;--bs-btn-hover-border-color: #0d6efd;--bs-btn-focus-shadow-rgb: 13, 110, 253;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0d6efd;--bs-btn-active-border-color: #0d6efd;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #0d6efd;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0d6efd;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6c757d;--bs-btn-hover-border-color: #6c757d;--bs-btn-focus-shadow-rgb: 108, 117, 125;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6c757d;--bs-btn-active-border-color: #6c757d;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6c757d;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #198754;--bs-btn-hover-border-color: #198754;--bs-btn-focus-shadow-rgb: 25, 135, 84;--bs-btn-active-color: #fff;--bs-btn-active-bg: #198754;--bs-btn-active-border-color: #198754;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #198754;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #198754;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #0dcaf0;--bs-btn-focus-shadow-rgb: 13, 202, 240;--bs-btn-active-color: #000;--bs-btn-active-bg: #0dcaf0;--bs-btn-active-border-color: #0dcaf0;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #0dcaf0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0dcaf0;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffc107;--bs-btn-hover-border-color: #ffc107;--bs-btn-focus-shadow-rgb: 255, 193, 7;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffc107;--bs-btn-active-border-color: #ffc107;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #ffc107;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #ffc107;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #dc3545;--bs-btn-hover-border-color: #dc3545;--bs-btn-focus-shadow-rgb: 220, 53, 69;--bs-btn-active-color: #fff;--bs-btn-active-bg: #dc3545;--bs-btn-active-border-color: #dc3545;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #dc3545;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #dc3545;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f8f9fa;--bs-btn-hover-border-color: #f8f9fa;--bs-btn-focus-shadow-rgb: 248, 249, 250;--bs-btn-active-color: #000;--bs-btn-active-bg: #f8f9fa;--bs-btn-active-border-color: #f8f9fa;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #f8f9fa;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f8f9fa;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #212529;--bs-btn-hover-border-color: #212529;--bs-btn-focus-shadow-rgb: 33, 37, 41;--bs-btn-active-color: #fff;--bs-btn-active-bg: #212529;--bs-btn-active-border-color: #212529;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #212529;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #212529;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: 0 0 0 #000;--bs-btn-focus-shadow-rgb: 49, 132, 253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: .5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size: 1.25rem;--bs-btn-border-radius: var(--bs-border-radius-lg)}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: .25rem;--bs-btn-padding-x: .5rem;--bs-btn-font-size: .875rem;--bs-btn-border-radius: var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: .5rem;--bs-dropdown-spacer: .125rem;--bs-dropdown-font-size: 1rem;--bs-dropdown-color: var(--bs-body-color);--bs-dropdown-bg: var(--bs-body-bg);--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: var(--bs-border-radius);--bs-dropdown-border-width: var(--bs-border-width);--bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: .5rem;--bs-dropdown-box-shadow: var(--bs-box-shadow);--bs-dropdown-link-color: var(--bs-body-color);--bs-dropdown-link-hover-color: var(--bs-body-color);--bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: var(--bs-tertiary-color);--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: .25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: .5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle:after{display:none}.dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius, 0)}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255, 255, 255, .15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after{margin-left:0}.dropstart .dropdown-toggle-split:before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: var(--bs-border-width);--bs-nav-tabs-border-color: var(--bs-border-color);--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg: var(--bs-body-bg);--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius: var(--bs-border-radius);--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: .125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius: var(--bs-border-radius);--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion: reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color: rgba(255, 255, 255, .55);--bs-navbar-hover-color: rgba(255, 255, 255, .75);--bs-navbar-disabled-color: rgba(255, 255, 255, .25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: .5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: var(--bs-border-width);--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y: .5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), .03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: var(--bs-body-bg);--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: .75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.accordion{--bs-accordion-color: var(--bs-body-color);--bs-accordion-bg: var(--bs-body-bg);--bs-accordion-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, border-radius .15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: var(--bs-border-width);--bs-accordion-border-radius: var(--bs-border-radius);--bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: var(--bs-body-color);--bs-accordion-btn-bg: var(--bs-accordion-bg);--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform .2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23052c65'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color: #86b7fe;--bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: var(--bs-primary-text-emphasis);--bs-accordion-active-bg: var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed):after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button:after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion: reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x: 0;--bs-breadcrumb-padding-y: 0;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color: var(--bs-secondary-color);--bs-breadcrumb-item-padding-x: .5rem;--bs-breadcrumb-item-active-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x: .75rem;--bs-pagination-padding-y: .375rem;--bs-pagination-font-size: 1rem;--bs-pagination-color: var(--bs-link-color);--bs-pagination-bg: var(--bs-body-bg);--bs-pagination-border-width: var(--bs-border-width);--bs-pagination-border-color: var(--bs-border-color);--bs-pagination-border-radius: var(--bs-border-radius);--bs-pagination-hover-color: var(--bs-link-hover-color);--bs-pagination-hover-bg: var(--bs-tertiary-bg);--bs-pagination-hover-border-color: var(--bs-border-color);--bs-pagination-focus-color: var(--bs-link-hover-color);--bs-pagination-focus-bg: var(--bs-secondary-bg);--bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #0d6efd;--bs-pagination-active-border-color: #0d6efd;--bs-pagination-disabled-color: var(--bs-secondary-color);--bs-pagination-disabled-bg: var(--bs-secondary-bg);--bs-pagination-disabled-border-color: var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(var(--bs-border-width) * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: .75rem;--bs-pagination-font-size: 1.25rem;--bs-pagination-border-radius: var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x: .5rem;--bs-pagination-padding-y: .25rem;--bs-pagination-font-size: .875rem;--bs-pagination-border-radius: var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x: .65em;--bs-badge-padding-y: .35em;--bs-badge-font-size: .75em;--bs-badge-font-weight: 700;--bs-badge-color: #fff;--bs-badge-border-radius: var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius: var(--bs-border-radius);--bs-alert-link-color: inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color: var(--bs-primary-text-emphasis);--bs-alert-bg: var(--bs-primary-bg-subtle);--bs-alert-border-color: var(--bs-primary-border-subtle);--bs-alert-link-color: var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color: var(--bs-secondary-text-emphasis);--bs-alert-bg: var(--bs-secondary-bg-subtle);--bs-alert-border-color: var(--bs-secondary-border-subtle);--bs-alert-link-color: var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color: var(--bs-success-text-emphasis);--bs-alert-bg: var(--bs-success-bg-subtle);--bs-alert-border-color: var(--bs-success-border-subtle);--bs-alert-link-color: var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color: var(--bs-info-text-emphasis);--bs-alert-bg: var(--bs-info-bg-subtle);--bs-alert-border-color: var(--bs-info-border-subtle);--bs-alert-link-color: var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color: var(--bs-warning-text-emphasis);--bs-alert-bg: var(--bs-warning-bg-subtle);--bs-alert-border-color: var(--bs-warning-border-subtle);--bs-alert-link-color: var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color: var(--bs-danger-text-emphasis);--bs-alert-bg: var(--bs-danger-bg-subtle);--bs-alert-border-color: var(--bs-danger-border-subtle);--bs-alert-link-color: var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color: var(--bs-light-text-emphasis);--bs-alert-bg: var(--bs-light-bg-subtle);--bs-alert-border-color: var(--bs-light-border-subtle);--bs-alert-link-color: var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color: var(--bs-dark-text-emphasis);--bs-alert-bg: var(--bs-dark-bg-subtle);--bs-alert-border-color: var(--bs-dark-border-subtle);--bs-alert-link-color: var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height: 1rem;--bs-progress-font-size: .75rem;--bs-progress-bg: var(--bs-secondary-bg);--bs-progress-border-radius: var(--bs-border-radius);--bs-progress-box-shadow: var(--bs-box-shadow-inset);--bs-progress-bar-color: #fff;--bs-progress-bar-bg: #0d6efd;--bs-progress-bar-transition: width .6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color: var(--bs-body-color);--bs-list-group-bg: var(--bs-body-bg);--bs-list-group-border-color: var(--bs-border-color);--bs-list-group-border-width: var(--bs-border-width);--bs-list-group-border-radius: var(--bs-border-radius);--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: .5rem;--bs-list-group-action-color: var(--bs-secondary-color);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-tertiary-bg);--bs-list-group-action-active-color: var(--bs-body-color);--bs-list-group-action-active-bg: var(--bs-secondary-bg);--bs-list-group-disabled-color: var(--bs-secondary-color);--bs-list-group-disabled-bg: var(--bs-body-bg);--bs-list-group-active-color: #fff;--bs-list-group-active-bg: #0d6efd;--bs-list-group-active-border-color: #0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color: var(--bs-primary-text-emphasis);--bs-list-group-bg: var(--bs-primary-bg-subtle);--bs-list-group-border-color: var(--bs-primary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-primary-border-subtle);--bs-list-group-active-color: var(--bs-primary-bg-subtle);--bs-list-group-active-bg: var(--bs-primary-text-emphasis);--bs-list-group-active-border-color: var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color: var(--bs-secondary-text-emphasis);--bs-list-group-bg: var(--bs-secondary-bg-subtle);--bs-list-group-border-color: var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);--bs-list-group-active-color: var(--bs-secondary-bg-subtle);--bs-list-group-active-bg: var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color: var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color: var(--bs-success-text-emphasis);--bs-list-group-bg: var(--bs-success-bg-subtle);--bs-list-group-border-color: var(--bs-success-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-success-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-success-border-subtle);--bs-list-group-active-color: var(--bs-success-bg-subtle);--bs-list-group-active-bg: var(--bs-success-text-emphasis);--bs-list-group-active-border-color: var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color: var(--bs-info-text-emphasis);--bs-list-group-bg: var(--bs-info-bg-subtle);--bs-list-group-border-color: var(--bs-info-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-info-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-info-border-subtle);--bs-list-group-active-color: var(--bs-info-bg-subtle);--bs-list-group-active-bg: var(--bs-info-text-emphasis);--bs-list-group-active-border-color: var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color: var(--bs-warning-text-emphasis);--bs-list-group-bg: var(--bs-warning-bg-subtle);--bs-list-group-border-color: var(--bs-warning-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-warning-border-subtle);--bs-list-group-active-color: var(--bs-warning-bg-subtle);--bs-list-group-active-bg: var(--bs-warning-text-emphasis);--bs-list-group-active-border-color: var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color: var(--bs-danger-text-emphasis);--bs-list-group-bg: var(--bs-danger-bg-subtle);--bs-list-group-border-color: var(--bs-danger-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-danger-border-subtle);--bs-list-group-active-color: var(--bs-danger-bg-subtle);--bs-list-group-active-bg: var(--bs-danger-text-emphasis);--bs-list-group-active-border-color: var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color: var(--bs-light-text-emphasis);--bs-list-group-bg: var(--bs-light-bg-subtle);--bs-list-group-border-color: var(--bs-light-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-light-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-light-border-subtle);--bs-list-group-active-color: var(--bs-light-bg-subtle);--bs-list-group-active-bg: var(--bs-light-text-emphasis);--bs-list-group-active-border-color: var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color: var(--bs-dark-text-emphasis);--bs-list-group-bg: var(--bs-dark-bg-subtle);--bs-list-group-border-color: var(--bs-dark-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-dark-border-subtle);--bs-list-group-active-color: var(--bs-dark-bg-subtle);--bs-list-group-active-bg: var(--bs-dark-text-emphasis);--bs-list-group-active-border-color: var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity: .5;--bs-btn-close-hover-opacity: .75;--bs-btn-close-focus-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: .25;--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white,[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: .75rem;--bs-toast-padding-y: .5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size: .875rem;--bs-toast-color: ;--bs-toast-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-border-width: var(--bs-border-width);--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: var(--bs-border-radius);--bs-toast-box-shadow: var(--bs-box-shadow);--bs-toast-header-color: var(--bs-secondary-color);--bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-header-border-color: var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: .5rem;--bs-modal-color: ;--bs-modal-bg: var(--bs-body-bg);--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: var(--bs-border-width);--bs-modal-border-radius: var(--bs-border-radius-lg);--bs-modal-box-shadow: var(--bs-box-shadow-sm);--bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: var(--bs-border-width);--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: .5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media (min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media (min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: .5rem;--bs-tooltip-padding-y: .25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size: .875rem;--bs-tooltip-color: var(--bs-body-bg);--bs-tooltip-bg: var(--bs-emphasis-color);--bs-tooltip-border-radius: var(--bs-border-radius);--bs-tooltip-opacity: .9;--bs-tooltip-arrow-width: .8rem;--bs-tooltip-arrow-height: .4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-top .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-bottom .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size: .875rem;--bs-popover-bg: var(--bs-body-bg);--bs-popover-border-width: var(--bs-border-width);--bs-popover-border-color: var(--bs-border-color-translucent);--bs-popover-border-radius: var(--bs-border-radius-lg);--bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow: var(--bs-box-shadow);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: .5rem;--bs-popover-header-font-size: 1rem;--bs-popover-header-color: inherit;--bs-popover-header-bg: var(--bs-secondary-bg);--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: var(--bs-body-color);--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: .5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow:before,.popover .popover-arrow:after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header:before,.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translate(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translate(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-border-width: .25em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: .2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.offcanvas,.offcanvas-xxl,.offcanvas-xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: var(--bs-body-color);--bs-offcanvas-bg: var(--bs-body-bg);--bs-offcanvas-border-width: var(--bs-border-width);--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);--bs-offcanvas-transition: transform .3s ease-in-out;--bs-offcanvas-title-line-height: 1.5}@media (max-width: 575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 575.98px) and (prefers-reduced-motion: reduce){.offcanvas-sm{transition:none}}@media (max-width: 575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show{visibility:visible}}@media (min-width: 576px){.offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 767.98px) and (prefers-reduced-motion: reduce){.offcanvas-md{transition:none}}@media (max-width: 767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show{visibility:visible}}@media (min-width: 768px){.offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 991.98px) and (prefers-reduced-motion: reduce){.offcanvas-lg{transition:none}}@media (max-width: 991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show{visibility:visible}}@media (min-width: 992px){.offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce){.offcanvas-xl{transition:none}}@media (max-width: 1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show{visibility:visible}}@media (min-width: 1200px){.offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce){.offcanvas-xxl{transition:none}}@media (max-width: 1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show{visibility:visible}}@media (min-width: 1400px){.offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn:before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,#000c,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix:after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity, 1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity, 1))!important}.link-primary:hover,.link-primary:focus{color:RGBA(10,88,202,var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity, 1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity, 1))!important}.link-secondary:hover,.link-secondary:focus{color:RGBA(86,94,100,var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity, 1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity, 1))!important}.link-success:hover,.link-success:focus{color:RGBA(20,108,67,var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity, 1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity, 1))!important}.link-info:hover,.link-info:focus{color:RGBA(61,213,243,var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity, 1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity, 1))!important}.link-warning:hover,.link-warning:focus{color:RGBA(255,205,57,var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity, 1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity, 1))!important}.link-danger:hover,.link-danger:focus{color:RGBA(176,42,55,var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity, 1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity, 1))!important}.link-light:hover,.link-light:focus{color:RGBA(249,250,251,var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity, 1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity, 1))!important}.link-dark:hover,.link-dark:focus{color:RGBA(26,30,33,var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity, .75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, .75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, .75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, .5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, .5));text-underline-offset:.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion: reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi,.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform, translate3d(.25em, 0, 0))}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: 75%}.ratio-16x9{--bs-aspect-ratio: 56.25%}.ratio-21x9{--bs-aspect-ratio: 42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute!important}.stretched-link:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translate(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity: 1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity: .1}.border-opacity-25{--bs-border-opacity: .25}.border-opacity-50{--bs-border-opacity: .5}.border-opacity-75{--bs-border-opacity: .75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity: 1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity: 1;color:#00000080!important}.text-white-50{--bs-text-opacity: 1;color:#ffffff80!important}.text-body-secondary{--bs-text-opacity: 1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity: 1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity: 1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity: 1;color:inherit!important}.text-opacity-25{--bs-text-opacity: .25}.text-opacity-50{--bs-text-opacity: .5}.text-opacity-75{--bs-text-opacity: .75}.text-opacity-100{--bs-text-opacity: 1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10,.link-opacity-10-hover:hover{--bs-link-opacity: .1}.link-opacity-25,.link-opacity-25-hover:hover{--bs-link-opacity: .25}.link-opacity-50,.link-opacity-50-hover:hover{--bs-link-opacity: .5}.link-opacity-75,.link-opacity-75-hover:hover{--bs-link-opacity: .75}.link-opacity-100,.link-opacity-100-hover:hover{--bs-link-opacity: 1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity: 1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity, 1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity: 0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity: .1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity: .25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity: .5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity: .75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity: 1}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity: 1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity: .1}.bg-opacity-25{--bs-bg-opacity: .25}.bg-opacity-50{--bs-bg-opacity: .5}.bg-opacity-75{--bs-bg-opacity: .75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width: 576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width: 768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width: 992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width: 1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width: 1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width: 1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}/*! -* Bootstrap Icons v1.11.2 (https://icons.getbootstrap.com/) -* Copyright 2019-2023 The Bootstrap Authors +* Bootstrap Icons v1.11.3 (https://icons.getbootstrap.com/) +* Copyright 2019-2024 The Bootstrap Authors * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE) -*/@font-face{font-display:block;font-family:bootstrap-icons;src:url(/static/app/dist/assets/bootstrap-icons.woff2?7141511ac37f13e1a387fb9fc6646256) format("woff2"),url(/static/app/dist/assets/bootstrap-icons.woff?7141511ac37f13e1a387fb9fc6646256) format("woff")}.bi:before,[class^=bi-]:before,[class*=" bi-"]:before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bi-123:before{content:""}.bi-alarm-fill:before{content:""}.bi-alarm:before{content:""}.bi-align-bottom:before{content:""}.bi-align-center:before{content:""}.bi-align-end:before{content:""}.bi-align-middle:before{content:""}.bi-align-start:before{content:""}.bi-align-top:before{content:""}.bi-alt:before{content:""}.bi-app-indicator:before{content:""}.bi-app:before{content:""}.bi-archive-fill:before{content:""}.bi-archive:before{content:""}.bi-arrow-90deg-down:before{content:""}.bi-arrow-90deg-left:before{content:""}.bi-arrow-90deg-right:before{content:""}.bi-arrow-90deg-up:before{content:""}.bi-arrow-bar-down:before{content:""}.bi-arrow-bar-left:before{content:""}.bi-arrow-bar-right:before{content:""}.bi-arrow-bar-up:before{content:""}.bi-arrow-clockwise:before{content:""}.bi-arrow-counterclockwise:before{content:""}.bi-arrow-down-circle-fill:before{content:""}.bi-arrow-down-circle:before{content:""}.bi-arrow-down-left-circle-fill:before{content:""}.bi-arrow-down-left-circle:before{content:""}.bi-arrow-down-left-square-fill:before{content:""}.bi-arrow-down-left-square:before{content:""}.bi-arrow-down-left:before{content:""}.bi-arrow-down-right-circle-fill:before{content:""}.bi-arrow-down-right-circle:before{content:""}.bi-arrow-down-right-square-fill:before{content:""}.bi-arrow-down-right-square:before{content:""}.bi-arrow-down-right:before{content:""}.bi-arrow-down-short:before{content:""}.bi-arrow-down-square-fill:before{content:""}.bi-arrow-down-square:before{content:""}.bi-arrow-down-up:before{content:""}.bi-arrow-down:before{content:""}.bi-arrow-left-circle-fill:before{content:""}.bi-arrow-left-circle:before{content:""}.bi-arrow-left-right:before{content:""}.bi-arrow-left-short:before{content:""}.bi-arrow-left-square-fill:before{content:""}.bi-arrow-left-square:before{content:""}.bi-arrow-left:before{content:""}.bi-arrow-repeat:before{content:""}.bi-arrow-return-left:before{content:""}.bi-arrow-return-right:before{content:""}.bi-arrow-right-circle-fill:before{content:""}.bi-arrow-right-circle:before{content:""}.bi-arrow-right-short:before{content:""}.bi-arrow-right-square-fill:before{content:""}.bi-arrow-right-square:before{content:""}.bi-arrow-right:before{content:""}.bi-arrow-up-circle-fill:before{content:""}.bi-arrow-up-circle:before{content:""}.bi-arrow-up-left-circle-fill:before{content:""}.bi-arrow-up-left-circle:before{content:""}.bi-arrow-up-left-square-fill:before{content:""}.bi-arrow-up-left-square:before{content:""}.bi-arrow-up-left:before{content:""}.bi-arrow-up-right-circle-fill:before{content:""}.bi-arrow-up-right-circle:before{content:""}.bi-arrow-up-right-square-fill:before{content:""}.bi-arrow-up-right-square:before{content:""}.bi-arrow-up-right:before{content:""}.bi-arrow-up-short:before{content:""}.bi-arrow-up-square-fill:before{content:""}.bi-arrow-up-square:before{content:""}.bi-arrow-up:before{content:""}.bi-arrows-angle-contract:before{content:""}.bi-arrows-angle-expand:before{content:""}.bi-arrows-collapse:before{content:""}.bi-arrows-expand:before{content:""}.bi-arrows-fullscreen:before{content:""}.bi-arrows-move:before{content:""}.bi-aspect-ratio-fill:before{content:""}.bi-aspect-ratio:before{content:""}.bi-asterisk:before{content:""}.bi-at:before{content:""}.bi-award-fill:before{content:""}.bi-award:before{content:""}.bi-back:before{content:""}.bi-backspace-fill:before{content:""}.bi-backspace-reverse-fill:before{content:""}.bi-backspace-reverse:before{content:""}.bi-backspace:before{content:""}.bi-badge-3d-fill:before{content:""}.bi-badge-3d:before{content:""}.bi-badge-4k-fill:before{content:""}.bi-badge-4k:before{content:""}.bi-badge-8k-fill:before{content:""}.bi-badge-8k:before{content:""}.bi-badge-ad-fill:before{content:""}.bi-badge-ad:before{content:""}.bi-badge-ar-fill:before{content:""}.bi-badge-ar:before{content:""}.bi-badge-cc-fill:before{content:""}.bi-badge-cc:before{content:""}.bi-badge-hd-fill:before{content:""}.bi-badge-hd:before{content:""}.bi-badge-tm-fill:before{content:""}.bi-badge-tm:before{content:""}.bi-badge-vo-fill:before{content:""}.bi-badge-vo:before{content:""}.bi-badge-vr-fill:before{content:""}.bi-badge-vr:before{content:""}.bi-badge-wc-fill:before{content:""}.bi-badge-wc:before{content:""}.bi-bag-check-fill:before{content:""}.bi-bag-check:before{content:""}.bi-bag-dash-fill:before{content:""}.bi-bag-dash:before{content:""}.bi-bag-fill:before{content:""}.bi-bag-plus-fill:before{content:""}.bi-bag-plus:before{content:""}.bi-bag-x-fill:before{content:""}.bi-bag-x:before{content:""}.bi-bag:before{content:""}.bi-bar-chart-fill:before{content:""}.bi-bar-chart-line-fill:before{content:""}.bi-bar-chart-line:before{content:""}.bi-bar-chart-steps:before{content:""}.bi-bar-chart:before{content:""}.bi-basket-fill:before{content:""}.bi-basket:before{content:""}.bi-basket2-fill:before{content:""}.bi-basket2:before{content:""}.bi-basket3-fill:before{content:""}.bi-basket3:before{content:""}.bi-battery-charging:before{content:""}.bi-battery-full:before{content:""}.bi-battery-half:before{content:""}.bi-battery:before{content:""}.bi-bell-fill:before{content:""}.bi-bell:before{content:""}.bi-bezier:before{content:""}.bi-bezier2:before{content:""}.bi-bicycle:before{content:""}.bi-binoculars-fill:before{content:""}.bi-binoculars:before{content:""}.bi-blockquote-left:before{content:""}.bi-blockquote-right:before{content:""}.bi-book-fill:before{content:""}.bi-book-half:before{content:""}.bi-book:before{content:""}.bi-bookmark-check-fill:before{content:""}.bi-bookmark-check:before{content:""}.bi-bookmark-dash-fill:before{content:""}.bi-bookmark-dash:before{content:""}.bi-bookmark-fill:before{content:""}.bi-bookmark-heart-fill:before{content:""}.bi-bookmark-heart:before{content:""}.bi-bookmark-plus-fill:before{content:""}.bi-bookmark-plus:before{content:""}.bi-bookmark-star-fill:before{content:""}.bi-bookmark-star:before{content:""}.bi-bookmark-x-fill:before{content:""}.bi-bookmark-x:before{content:""}.bi-bookmark:before{content:""}.bi-bookmarks-fill:before{content:""}.bi-bookmarks:before{content:""}.bi-bookshelf:before{content:""}.bi-bootstrap-fill:before{content:""}.bi-bootstrap-reboot:before{content:""}.bi-bootstrap:before{content:""}.bi-border-all:before{content:""}.bi-border-bottom:before{content:""}.bi-border-center:before{content:""}.bi-border-inner:before{content:""}.bi-border-left:before{content:""}.bi-border-middle:before{content:""}.bi-border-outer:before{content:""}.bi-border-right:before{content:""}.bi-border-style:before{content:""}.bi-border-top:before{content:""}.bi-border-width:before{content:""}.bi-border:before{content:""}.bi-bounding-box-circles:before{content:""}.bi-bounding-box:before{content:""}.bi-box-arrow-down-left:before{content:""}.bi-box-arrow-down-right:before{content:""}.bi-box-arrow-down:before{content:""}.bi-box-arrow-in-down-left:before{content:""}.bi-box-arrow-in-down-right:before{content:""}.bi-box-arrow-in-down:before{content:""}.bi-box-arrow-in-left:before{content:""}.bi-box-arrow-in-right:before{content:""}.bi-box-arrow-in-up-left:before{content:""}.bi-box-arrow-in-up-right:before{content:""}.bi-box-arrow-in-up:before{content:""}.bi-box-arrow-left:before{content:""}.bi-box-arrow-right:before{content:""}.bi-box-arrow-up-left:before{content:""}.bi-box-arrow-up-right:before{content:""}.bi-box-arrow-up:before{content:""}.bi-box-seam:before{content:""}.bi-box:before{content:""}.bi-braces:before{content:""}.bi-bricks:before{content:""}.bi-briefcase-fill:before{content:""}.bi-briefcase:before{content:""}.bi-brightness-alt-high-fill:before{content:""}.bi-brightness-alt-high:before{content:""}.bi-brightness-alt-low-fill:before{content:""}.bi-brightness-alt-low:before{content:""}.bi-brightness-high-fill:before{content:""}.bi-brightness-high:before{content:""}.bi-brightness-low-fill:before{content:""}.bi-brightness-low:before{content:""}.bi-broadcast-pin:before{content:""}.bi-broadcast:before{content:""}.bi-brush-fill:before{content:""}.bi-brush:before{content:""}.bi-bucket-fill:before{content:""}.bi-bucket:before{content:""}.bi-bug-fill:before{content:""}.bi-bug:before{content:""}.bi-building:before{content:""}.bi-bullseye:before{content:""}.bi-calculator-fill:before{content:""}.bi-calculator:before{content:""}.bi-calendar-check-fill:before{content:""}.bi-calendar-check:before{content:""}.bi-calendar-date-fill:before{content:""}.bi-calendar-date:before{content:""}.bi-calendar-day-fill:before{content:""}.bi-calendar-day:before{content:""}.bi-calendar-event-fill:before{content:""}.bi-calendar-event:before{content:""}.bi-calendar-fill:before{content:""}.bi-calendar-minus-fill:before{content:""}.bi-calendar-minus:before{content:""}.bi-calendar-month-fill:before{content:""}.bi-calendar-month:before{content:""}.bi-calendar-plus-fill:before{content:""}.bi-calendar-plus:before{content:""}.bi-calendar-range-fill:before{content:""}.bi-calendar-range:before{content:""}.bi-calendar-week-fill:before{content:""}.bi-calendar-week:before{content:""}.bi-calendar-x-fill:before{content:""}.bi-calendar-x:before{content:""}.bi-calendar:before{content:""}.bi-calendar2-check-fill:before{content:""}.bi-calendar2-check:before{content:""}.bi-calendar2-date-fill:before{content:""}.bi-calendar2-date:before{content:""}.bi-calendar2-day-fill:before{content:""}.bi-calendar2-day:before{content:""}.bi-calendar2-event-fill:before{content:""}.bi-calendar2-event:before{content:""}.bi-calendar2-fill:before{content:""}.bi-calendar2-minus-fill:before{content:""}.bi-calendar2-minus:before{content:""}.bi-calendar2-month-fill:before{content:""}.bi-calendar2-month:before{content:""}.bi-calendar2-plus-fill:before{content:""}.bi-calendar2-plus:before{content:""}.bi-calendar2-range-fill:before{content:""}.bi-calendar2-range:before{content:""}.bi-calendar2-week-fill:before{content:""}.bi-calendar2-week:before{content:""}.bi-calendar2-x-fill:before{content:""}.bi-calendar2-x:before{content:""}.bi-calendar2:before{content:""}.bi-calendar3-event-fill:before{content:""}.bi-calendar3-event:before{content:""}.bi-calendar3-fill:before{content:""}.bi-calendar3-range-fill:before{content:""}.bi-calendar3-range:before{content:""}.bi-calendar3-week-fill:before{content:""}.bi-calendar3-week:before{content:""}.bi-calendar3:before{content:""}.bi-calendar4-event:before{content:""}.bi-calendar4-range:before{content:""}.bi-calendar4-week:before{content:""}.bi-calendar4:before{content:""}.bi-camera-fill:before{content:""}.bi-camera-reels-fill:before{content:""}.bi-camera-reels:before{content:""}.bi-camera-video-fill:before{content:""}.bi-camera-video-off-fill:before{content:""}.bi-camera-video-off:before{content:""}.bi-camera-video:before{content:""}.bi-camera:before{content:""}.bi-camera2:before{content:""}.bi-capslock-fill:before{content:""}.bi-capslock:before{content:""}.bi-card-checklist:before{content:""}.bi-card-heading:before{content:""}.bi-card-image:before{content:""}.bi-card-list:before{content:""}.bi-card-text:before{content:""}.bi-caret-down-fill:before{content:""}.bi-caret-down-square-fill:before{content:""}.bi-caret-down-square:before{content:""}.bi-caret-down:before{content:""}.bi-caret-left-fill:before{content:""}.bi-caret-left-square-fill:before{content:""}.bi-caret-left-square:before{content:""}.bi-caret-left:before{content:""}.bi-caret-right-fill:before{content:""}.bi-caret-right-square-fill:before{content:""}.bi-caret-right-square:before{content:""}.bi-caret-right:before{content:""}.bi-caret-up-fill:before{content:""}.bi-caret-up-square-fill:before{content:""}.bi-caret-up-square:before{content:""}.bi-caret-up:before{content:""}.bi-cart-check-fill:before{content:""}.bi-cart-check:before{content:""}.bi-cart-dash-fill:before{content:""}.bi-cart-dash:before{content:""}.bi-cart-fill:before{content:""}.bi-cart-plus-fill:before{content:""}.bi-cart-plus:before{content:""}.bi-cart-x-fill:before{content:""}.bi-cart-x:before{content:""}.bi-cart:before{content:""}.bi-cart2:before{content:""}.bi-cart3:before{content:""}.bi-cart4:before{content:""}.bi-cash-stack:before{content:""}.bi-cash:before{content:""}.bi-cast:before{content:""}.bi-chat-dots-fill:before{content:""}.bi-chat-dots:before{content:""}.bi-chat-fill:before{content:""}.bi-chat-left-dots-fill:before{content:""}.bi-chat-left-dots:before{content:""}.bi-chat-left-fill:before{content:""}.bi-chat-left-quote-fill:before{content:""}.bi-chat-left-quote:before{content:""}.bi-chat-left-text-fill:before{content:""}.bi-chat-left-text:before{content:""}.bi-chat-left:before{content:""}.bi-chat-quote-fill:before{content:""}.bi-chat-quote:before{content:""}.bi-chat-right-dots-fill:before{content:""}.bi-chat-right-dots:before{content:""}.bi-chat-right-fill:before{content:""}.bi-chat-right-quote-fill:before{content:""}.bi-chat-right-quote:before{content:""}.bi-chat-right-text-fill:before{content:""}.bi-chat-right-text:before{content:""}.bi-chat-right:before{content:""}.bi-chat-square-dots-fill:before{content:""}.bi-chat-square-dots:before{content:""}.bi-chat-square-fill:before{content:""}.bi-chat-square-quote-fill:before{content:""}.bi-chat-square-quote:before{content:""}.bi-chat-square-text-fill:before{content:""}.bi-chat-square-text:before{content:""}.bi-chat-square:before{content:""}.bi-chat-text-fill:before{content:""}.bi-chat-text:before{content:""}.bi-chat:before{content:""}.bi-check-all:before{content:""}.bi-check-circle-fill:before{content:""}.bi-check-circle:before{content:""}.bi-check-square-fill:before{content:""}.bi-check-square:before{content:""}.bi-check:before{content:""}.bi-check2-all:before{content:""}.bi-check2-circle:before{content:""}.bi-check2-square:before{content:""}.bi-check2:before{content:""}.bi-chevron-bar-contract:before{content:""}.bi-chevron-bar-down:before{content:""}.bi-chevron-bar-expand:before{content:""}.bi-chevron-bar-left:before{content:""}.bi-chevron-bar-right:before{content:""}.bi-chevron-bar-up:before{content:""}.bi-chevron-compact-down:before{content:""}.bi-chevron-compact-left:before{content:""}.bi-chevron-compact-right:before{content:""}.bi-chevron-compact-up:before{content:""}.bi-chevron-contract:before{content:""}.bi-chevron-double-down:before{content:""}.bi-chevron-double-left:before{content:""}.bi-chevron-double-right:before{content:""}.bi-chevron-double-up:before{content:""}.bi-chevron-down:before{content:""}.bi-chevron-expand:before{content:""}.bi-chevron-left:before{content:""}.bi-chevron-right:before{content:""}.bi-chevron-up:before{content:""}.bi-circle-fill:before{content:""}.bi-circle-half:before{content:""}.bi-circle-square:before{content:""}.bi-circle:before{content:""}.bi-clipboard-check:before{content:""}.bi-clipboard-data:before{content:""}.bi-clipboard-minus:before{content:""}.bi-clipboard-plus:before{content:""}.bi-clipboard-x:before{content:""}.bi-clipboard:before{content:""}.bi-clock-fill:before{content:""}.bi-clock-history:before{content:""}.bi-clock:before{content:""}.bi-cloud-arrow-down-fill:before{content:""}.bi-cloud-arrow-down:before{content:""}.bi-cloud-arrow-up-fill:before{content:""}.bi-cloud-arrow-up:before{content:""}.bi-cloud-check-fill:before{content:""}.bi-cloud-check:before{content:""}.bi-cloud-download-fill:before{content:""}.bi-cloud-download:before{content:""}.bi-cloud-drizzle-fill:before{content:""}.bi-cloud-drizzle:before{content:""}.bi-cloud-fill:before{content:""}.bi-cloud-fog-fill:before{content:""}.bi-cloud-fog:before{content:""}.bi-cloud-fog2-fill:before{content:""}.bi-cloud-fog2:before{content:""}.bi-cloud-hail-fill:before{content:""}.bi-cloud-hail:before{content:""}.bi-cloud-haze-fill:before{content:""}.bi-cloud-haze:before{content:""}.bi-cloud-haze2-fill:before{content:""}.bi-cloud-lightning-fill:before{content:""}.bi-cloud-lightning-rain-fill:before{content:""}.bi-cloud-lightning-rain:before{content:""}.bi-cloud-lightning:before{content:""}.bi-cloud-minus-fill:before{content:""}.bi-cloud-minus:before{content:""}.bi-cloud-moon-fill:before{content:""}.bi-cloud-moon:before{content:""}.bi-cloud-plus-fill:before{content:""}.bi-cloud-plus:before{content:""}.bi-cloud-rain-fill:before{content:""}.bi-cloud-rain-heavy-fill:before{content:""}.bi-cloud-rain-heavy:before{content:""}.bi-cloud-rain:before{content:""}.bi-cloud-slash-fill:before{content:""}.bi-cloud-slash:before{content:""}.bi-cloud-sleet-fill:before{content:""}.bi-cloud-sleet:before{content:""}.bi-cloud-snow-fill:before{content:""}.bi-cloud-snow:before{content:""}.bi-cloud-sun-fill:before{content:""}.bi-cloud-sun:before{content:""}.bi-cloud-upload-fill:before{content:""}.bi-cloud-upload:before{content:""}.bi-cloud:before{content:""}.bi-clouds-fill:before{content:""}.bi-clouds:before{content:""}.bi-cloudy-fill:before{content:""}.bi-cloudy:before{content:""}.bi-code-slash:before{content:""}.bi-code-square:before{content:""}.bi-code:before{content:""}.bi-collection-fill:before{content:""}.bi-collection-play-fill:before{content:""}.bi-collection-play:before{content:""}.bi-collection:before{content:""}.bi-columns-gap:before{content:""}.bi-columns:before{content:""}.bi-command:before{content:""}.bi-compass-fill:before{content:""}.bi-compass:before{content:""}.bi-cone-striped:before{content:""}.bi-cone:before{content:""}.bi-controller:before{content:""}.bi-cpu-fill:before{content:""}.bi-cpu:before{content:""}.bi-credit-card-2-back-fill:before{content:""}.bi-credit-card-2-back:before{content:""}.bi-credit-card-2-front-fill:before{content:""}.bi-credit-card-2-front:before{content:""}.bi-credit-card-fill:before{content:""}.bi-credit-card:before{content:""}.bi-crop:before{content:""}.bi-cup-fill:before{content:""}.bi-cup-straw:before{content:""}.bi-cup:before{content:""}.bi-cursor-fill:before{content:""}.bi-cursor-text:before{content:""}.bi-cursor:before{content:""}.bi-dash-circle-dotted:before{content:""}.bi-dash-circle-fill:before{content:""}.bi-dash-circle:before{content:""}.bi-dash-square-dotted:before{content:""}.bi-dash-square-fill:before{content:""}.bi-dash-square:before{content:""}.bi-dash:before{content:""}.bi-diagram-2-fill:before{content:""}.bi-diagram-2:before{content:""}.bi-diagram-3-fill:before{content:""}.bi-diagram-3:before{content:""}.bi-diamond-fill:before{content:""}.bi-diamond-half:before{content:""}.bi-diamond:before{content:""}.bi-dice-1-fill:before{content:""}.bi-dice-1:before{content:""}.bi-dice-2-fill:before{content:""}.bi-dice-2:before{content:""}.bi-dice-3-fill:before{content:""}.bi-dice-3:before{content:""}.bi-dice-4-fill:before{content:""}.bi-dice-4:before{content:""}.bi-dice-5-fill:before{content:""}.bi-dice-5:before{content:""}.bi-dice-6-fill:before{content:""}.bi-dice-6:before{content:""}.bi-disc-fill:before{content:""}.bi-disc:before{content:""}.bi-discord:before{content:""}.bi-display-fill:before{content:""}.bi-display:before{content:""}.bi-distribute-horizontal:before{content:""}.bi-distribute-vertical:before{content:""}.bi-door-closed-fill:before{content:""}.bi-door-closed:before{content:""}.bi-door-open-fill:before{content:""}.bi-door-open:before{content:""}.bi-dot:before{content:""}.bi-download:before{content:""}.bi-droplet-fill:before{content:""}.bi-droplet-half:before{content:""}.bi-droplet:before{content:""}.bi-earbuds:before{content:""}.bi-easel-fill:before{content:""}.bi-easel:before{content:""}.bi-egg-fill:before{content:""}.bi-egg-fried:before{content:""}.bi-egg:before{content:""}.bi-eject-fill:before{content:""}.bi-eject:before{content:""}.bi-emoji-angry-fill:before{content:""}.bi-emoji-angry:before{content:""}.bi-emoji-dizzy-fill:before{content:""}.bi-emoji-dizzy:before{content:""}.bi-emoji-expressionless-fill:before{content:""}.bi-emoji-expressionless:before{content:""}.bi-emoji-frown-fill:before{content:""}.bi-emoji-frown:before{content:""}.bi-emoji-heart-eyes-fill:before{content:""}.bi-emoji-heart-eyes:before{content:""}.bi-emoji-laughing-fill:before{content:""}.bi-emoji-laughing:before{content:""}.bi-emoji-neutral-fill:before{content:""}.bi-emoji-neutral:before{content:""}.bi-emoji-smile-fill:before{content:""}.bi-emoji-smile-upside-down-fill:before{content:""}.bi-emoji-smile-upside-down:before{content:""}.bi-emoji-smile:before{content:""}.bi-emoji-sunglasses-fill:before{content:""}.bi-emoji-sunglasses:before{content:""}.bi-emoji-wink-fill:before{content:""}.bi-emoji-wink:before{content:""}.bi-envelope-fill:before{content:""}.bi-envelope-open-fill:before{content:""}.bi-envelope-open:before{content:""}.bi-envelope:before{content:""}.bi-eraser-fill:before{content:""}.bi-eraser:before{content:""}.bi-exclamation-circle-fill:before{content:""}.bi-exclamation-circle:before{content:""}.bi-exclamation-diamond-fill:before{content:""}.bi-exclamation-diamond:before{content:""}.bi-exclamation-octagon-fill:before{content:""}.bi-exclamation-octagon:before{content:""}.bi-exclamation-square-fill:before{content:""}.bi-exclamation-square:before{content:""}.bi-exclamation-triangle-fill:before{content:""}.bi-exclamation-triangle:before{content:""}.bi-exclamation:before{content:""}.bi-exclude:before{content:""}.bi-eye-fill:before{content:""}.bi-eye-slash-fill:before{content:""}.bi-eye-slash:before{content:""}.bi-eye:before{content:""}.bi-eyedropper:before{content:""}.bi-eyeglasses:before{content:""}.bi-facebook:before{content:""}.bi-file-arrow-down-fill:before{content:""}.bi-file-arrow-down:before{content:""}.bi-file-arrow-up-fill:before{content:""}.bi-file-arrow-up:before{content:""}.bi-file-bar-graph-fill:before{content:""}.bi-file-bar-graph:before{content:""}.bi-file-binary-fill:before{content:""}.bi-file-binary:before{content:""}.bi-file-break-fill:before{content:""}.bi-file-break:before{content:""}.bi-file-check-fill:before{content:""}.bi-file-check:before{content:""}.bi-file-code-fill:before{content:""}.bi-file-code:before{content:""}.bi-file-diff-fill:before{content:""}.bi-file-diff:before{content:""}.bi-file-earmark-arrow-down-fill:before{content:""}.bi-file-earmark-arrow-down:before{content:""}.bi-file-earmark-arrow-up-fill:before{content:""}.bi-file-earmark-arrow-up:before{content:""}.bi-file-earmark-bar-graph-fill:before{content:""}.bi-file-earmark-bar-graph:before{content:""}.bi-file-earmark-binary-fill:before{content:""}.bi-file-earmark-binary:before{content:""}.bi-file-earmark-break-fill:before{content:""}.bi-file-earmark-break:before{content:""}.bi-file-earmark-check-fill:before{content:""}.bi-file-earmark-check:before{content:""}.bi-file-earmark-code-fill:before{content:""}.bi-file-earmark-code:before{content:""}.bi-file-earmark-diff-fill:before{content:""}.bi-file-earmark-diff:before{content:""}.bi-file-earmark-easel-fill:before{content:""}.bi-file-earmark-easel:before{content:""}.bi-file-earmark-excel-fill:before{content:""}.bi-file-earmark-excel:before{content:""}.bi-file-earmark-fill:before{content:""}.bi-file-earmark-font-fill:before{content:""}.bi-file-earmark-font:before{content:""}.bi-file-earmark-image-fill:before{content:""}.bi-file-earmark-image:before{content:""}.bi-file-earmark-lock-fill:before{content:""}.bi-file-earmark-lock:before{content:""}.bi-file-earmark-lock2-fill:before{content:""}.bi-file-earmark-lock2:before{content:""}.bi-file-earmark-medical-fill:before{content:""}.bi-file-earmark-medical:before{content:""}.bi-file-earmark-minus-fill:before{content:""}.bi-file-earmark-minus:before{content:""}.bi-file-earmark-music-fill:before{content:""}.bi-file-earmark-music:before{content:""}.bi-file-earmark-person-fill:before{content:""}.bi-file-earmark-person:before{content:""}.bi-file-earmark-play-fill:before{content:""}.bi-file-earmark-play:before{content:""}.bi-file-earmark-plus-fill:before{content:""}.bi-file-earmark-plus:before{content:""}.bi-file-earmark-post-fill:before{content:""}.bi-file-earmark-post:before{content:""}.bi-file-earmark-ppt-fill:before{content:""}.bi-file-earmark-ppt:before{content:""}.bi-file-earmark-richtext-fill:before{content:""}.bi-file-earmark-richtext:before{content:""}.bi-file-earmark-ruled-fill:before{content:""}.bi-file-earmark-ruled:before{content:""}.bi-file-earmark-slides-fill:before{content:""}.bi-file-earmark-slides:before{content:""}.bi-file-earmark-spreadsheet-fill:before{content:""}.bi-file-earmark-spreadsheet:before{content:""}.bi-file-earmark-text-fill:before{content:""}.bi-file-earmark-text:before{content:""}.bi-file-earmark-word-fill:before{content:""}.bi-file-earmark-word:before{content:""}.bi-file-earmark-x-fill:before{content:""}.bi-file-earmark-x:before{content:""}.bi-file-earmark-zip-fill:before{content:""}.bi-file-earmark-zip:before{content:""}.bi-file-earmark:before{content:""}.bi-file-easel-fill:before{content:""}.bi-file-easel:before{content:""}.bi-file-excel-fill:before{content:""}.bi-file-excel:before{content:""}.bi-file-fill:before{content:""}.bi-file-font-fill:before{content:""}.bi-file-font:before{content:""}.bi-file-image-fill:before{content:""}.bi-file-image:before{content:""}.bi-file-lock-fill:before{content:""}.bi-file-lock:before{content:""}.bi-file-lock2-fill:before{content:""}.bi-file-lock2:before{content:""}.bi-file-medical-fill:before{content:""}.bi-file-medical:before{content:""}.bi-file-minus-fill:before{content:""}.bi-file-minus:before{content:""}.bi-file-music-fill:before{content:""}.bi-file-music:before{content:""}.bi-file-person-fill:before{content:""}.bi-file-person:before{content:""}.bi-file-play-fill:before{content:""}.bi-file-play:before{content:""}.bi-file-plus-fill:before{content:""}.bi-file-plus:before{content:""}.bi-file-post-fill:before{content:""}.bi-file-post:before{content:""}.bi-file-ppt-fill:before{content:""}.bi-file-ppt:before{content:""}.bi-file-richtext-fill:before{content:""}.bi-file-richtext:before{content:""}.bi-file-ruled-fill:before{content:""}.bi-file-ruled:before{content:""}.bi-file-slides-fill:before{content:""}.bi-file-slides:before{content:""}.bi-file-spreadsheet-fill:before{content:""}.bi-file-spreadsheet:before{content:""}.bi-file-text-fill:before{content:""}.bi-file-text:before{content:""}.bi-file-word-fill:before{content:""}.bi-file-word:before{content:""}.bi-file-x-fill:before{content:""}.bi-file-x:before{content:""}.bi-file-zip-fill:before{content:""}.bi-file-zip:before{content:""}.bi-file:before{content:""}.bi-files-alt:before{content:""}.bi-files:before{content:""}.bi-film:before{content:""}.bi-filter-circle-fill:before{content:""}.bi-filter-circle:before{content:""}.bi-filter-left:before{content:""}.bi-filter-right:before{content:""}.bi-filter-square-fill:before{content:""}.bi-filter-square:before{content:""}.bi-filter:before{content:""}.bi-flag-fill:before{content:""}.bi-flag:before{content:""}.bi-flower1:before{content:""}.bi-flower2:before{content:""}.bi-flower3:before{content:""}.bi-folder-check:before{content:""}.bi-folder-fill:before{content:""}.bi-folder-minus:before{content:""}.bi-folder-plus:before{content:""}.bi-folder-symlink-fill:before{content:""}.bi-folder-symlink:before{content:""}.bi-folder-x:before{content:""}.bi-folder:before{content:""}.bi-folder2-open:before{content:""}.bi-folder2:before{content:""}.bi-fonts:before{content:""}.bi-forward-fill:before{content:""}.bi-forward:before{content:""}.bi-front:before{content:""}.bi-fullscreen-exit:before{content:""}.bi-fullscreen:before{content:""}.bi-funnel-fill:before{content:""}.bi-funnel:before{content:""}.bi-gear-fill:before{content:""}.bi-gear-wide-connected:before{content:""}.bi-gear-wide:before{content:""}.bi-gear:before{content:""}.bi-gem:before{content:""}.bi-geo-alt-fill:before{content:""}.bi-geo-alt:before{content:""}.bi-geo-fill:before{content:""}.bi-geo:before{content:""}.bi-gift-fill:before{content:""}.bi-gift:before{content:""}.bi-github:before{content:""}.bi-globe:before{content:""}.bi-globe2:before{content:""}.bi-google:before{content:""}.bi-graph-down:before{content:""}.bi-graph-up:before{content:""}.bi-grid-1x2-fill:before{content:""}.bi-grid-1x2:before{content:""}.bi-grid-3x2-gap-fill:before{content:""}.bi-grid-3x2-gap:before{content:""}.bi-grid-3x2:before{content:""}.bi-grid-3x3-gap-fill:before{content:""}.bi-grid-3x3-gap:before{content:""}.bi-grid-3x3:before{content:""}.bi-grid-fill:before{content:""}.bi-grid:before{content:""}.bi-grip-horizontal:before{content:""}.bi-grip-vertical:before{content:""}.bi-hammer:before{content:""}.bi-hand-index-fill:before{content:""}.bi-hand-index-thumb-fill:before{content:""}.bi-hand-index-thumb:before{content:""}.bi-hand-index:before{content:""}.bi-hand-thumbs-down-fill:before{content:""}.bi-hand-thumbs-down:before{content:""}.bi-hand-thumbs-up-fill:before{content:""}.bi-hand-thumbs-up:before{content:""}.bi-handbag-fill:before{content:""}.bi-handbag:before{content:""}.bi-hash:before{content:""}.bi-hdd-fill:before{content:""}.bi-hdd-network-fill:before{content:""}.bi-hdd-network:before{content:""}.bi-hdd-rack-fill:before{content:""}.bi-hdd-rack:before{content:""}.bi-hdd-stack-fill:before{content:""}.bi-hdd-stack:before{content:""}.bi-hdd:before{content:""}.bi-headphones:before{content:""}.bi-headset:before{content:""}.bi-heart-fill:before{content:""}.bi-heart-half:before{content:""}.bi-heart:before{content:""}.bi-heptagon-fill:before{content:""}.bi-heptagon-half:before{content:""}.bi-heptagon:before{content:""}.bi-hexagon-fill:before{content:""}.bi-hexagon-half:before{content:""}.bi-hexagon:before{content:""}.bi-hourglass-bottom:before{content:""}.bi-hourglass-split:before{content:""}.bi-hourglass-top:before{content:""}.bi-hourglass:before{content:""}.bi-house-door-fill:before{content:""}.bi-house-door:before{content:""}.bi-house-fill:before{content:""}.bi-house:before{content:""}.bi-hr:before{content:""}.bi-hurricane:before{content:""}.bi-image-alt:before{content:""}.bi-image-fill:before{content:""}.bi-image:before{content:""}.bi-images:before{content:""}.bi-inbox-fill:before{content:""}.bi-inbox:before{content:""}.bi-inboxes-fill:before{content:""}.bi-inboxes:before{content:""}.bi-info-circle-fill:before{content:""}.bi-info-circle:before{content:""}.bi-info-square-fill:before{content:""}.bi-info-square:before{content:""}.bi-info:before{content:""}.bi-input-cursor-text:before{content:""}.bi-input-cursor:before{content:""}.bi-instagram:before{content:""}.bi-intersect:before{content:""}.bi-journal-album:before{content:""}.bi-journal-arrow-down:before{content:""}.bi-journal-arrow-up:before{content:""}.bi-journal-bookmark-fill:before{content:""}.bi-journal-bookmark:before{content:""}.bi-journal-check:before{content:""}.bi-journal-code:before{content:""}.bi-journal-medical:before{content:""}.bi-journal-minus:before{content:""}.bi-journal-plus:before{content:""}.bi-journal-richtext:before{content:""}.bi-journal-text:before{content:""}.bi-journal-x:before{content:""}.bi-journal:before{content:""}.bi-journals:before{content:""}.bi-joystick:before{content:""}.bi-justify-left:before{content:""}.bi-justify-right:before{content:""}.bi-justify:before{content:""}.bi-kanban-fill:before{content:""}.bi-kanban:before{content:""}.bi-key-fill:before{content:""}.bi-key:before{content:""}.bi-keyboard-fill:before{content:""}.bi-keyboard:before{content:""}.bi-ladder:before{content:""}.bi-lamp-fill:before{content:""}.bi-lamp:before{content:""}.bi-laptop-fill:before{content:""}.bi-laptop:before{content:""}.bi-layer-backward:before{content:""}.bi-layer-forward:before{content:""}.bi-layers-fill:before{content:""}.bi-layers-half:before{content:""}.bi-layers:before{content:""}.bi-layout-sidebar-inset-reverse:before{content:""}.bi-layout-sidebar-inset:before{content:""}.bi-layout-sidebar-reverse:before{content:""}.bi-layout-sidebar:before{content:""}.bi-layout-split:before{content:""}.bi-layout-text-sidebar-reverse:before{content:""}.bi-layout-text-sidebar:before{content:""}.bi-layout-text-window-reverse:before{content:""}.bi-layout-text-window:before{content:""}.bi-layout-three-columns:before{content:""}.bi-layout-wtf:before{content:""}.bi-life-preserver:before{content:""}.bi-lightbulb-fill:before{content:""}.bi-lightbulb-off-fill:before{content:""}.bi-lightbulb-off:before{content:""}.bi-lightbulb:before{content:""}.bi-lightning-charge-fill:before{content:""}.bi-lightning-charge:before{content:""}.bi-lightning-fill:before{content:""}.bi-lightning:before{content:""}.bi-link-45deg:before{content:""}.bi-link:before{content:""}.bi-linkedin:before{content:""}.bi-list-check:before{content:""}.bi-list-nested:before{content:""}.bi-list-ol:before{content:""}.bi-list-stars:before{content:""}.bi-list-task:before{content:""}.bi-list-ul:before{content:""}.bi-list:before{content:""}.bi-lock-fill:before{content:""}.bi-lock:before{content:""}.bi-mailbox:before{content:""}.bi-mailbox2:before{content:""}.bi-map-fill:before{content:""}.bi-map:before{content:""}.bi-markdown-fill:before{content:""}.bi-markdown:before{content:""}.bi-mask:before{content:""}.bi-megaphone-fill:before{content:""}.bi-megaphone:before{content:""}.bi-menu-app-fill:before{content:""}.bi-menu-app:before{content:""}.bi-menu-button-fill:before{content:""}.bi-menu-button-wide-fill:before{content:""}.bi-menu-button-wide:before{content:""}.bi-menu-button:before{content:""}.bi-menu-down:before{content:""}.bi-menu-up:before{content:""}.bi-mic-fill:before{content:""}.bi-mic-mute-fill:before{content:""}.bi-mic-mute:before{content:""}.bi-mic:before{content:""}.bi-minecart-loaded:before{content:""}.bi-minecart:before{content:""}.bi-moisture:before{content:""}.bi-moon-fill:before{content:""}.bi-moon-stars-fill:before{content:""}.bi-moon-stars:before{content:""}.bi-moon:before{content:""}.bi-mouse-fill:before{content:""}.bi-mouse:before{content:""}.bi-mouse2-fill:before{content:""}.bi-mouse2:before{content:""}.bi-mouse3-fill:before{content:""}.bi-mouse3:before{content:""}.bi-music-note-beamed:before{content:""}.bi-music-note-list:before{content:""}.bi-music-note:before{content:""}.bi-music-player-fill:before{content:""}.bi-music-player:before{content:""}.bi-newspaper:before{content:""}.bi-node-minus-fill:before{content:""}.bi-node-minus:before{content:""}.bi-node-plus-fill:before{content:""}.bi-node-plus:before{content:""}.bi-nut-fill:before{content:""}.bi-nut:before{content:""}.bi-octagon-fill:before{content:""}.bi-octagon-half:before{content:""}.bi-octagon:before{content:""}.bi-option:before{content:""}.bi-outlet:before{content:""}.bi-paint-bucket:before{content:""}.bi-palette-fill:before{content:""}.bi-palette:before{content:""}.bi-palette2:before{content:""}.bi-paperclip:before{content:""}.bi-paragraph:before{content:""}.bi-patch-check-fill:before{content:""}.bi-patch-check:before{content:""}.bi-patch-exclamation-fill:before{content:""}.bi-patch-exclamation:before{content:""}.bi-patch-minus-fill:before{content:""}.bi-patch-minus:before{content:""}.bi-patch-plus-fill:before{content:""}.bi-patch-plus:before{content:""}.bi-patch-question-fill:before{content:""}.bi-patch-question:before{content:""}.bi-pause-btn-fill:before{content:""}.bi-pause-btn:before{content:""}.bi-pause-circle-fill:before{content:""}.bi-pause-circle:before{content:""}.bi-pause-fill:before{content:""}.bi-pause:before{content:""}.bi-peace-fill:before{content:""}.bi-peace:before{content:""}.bi-pen-fill:before{content:""}.bi-pen:before{content:""}.bi-pencil-fill:before{content:""}.bi-pencil-square:before{content:""}.bi-pencil:before{content:""}.bi-pentagon-fill:before{content:""}.bi-pentagon-half:before{content:""}.bi-pentagon:before{content:""}.bi-people-fill:before{content:""}.bi-people:before{content:""}.bi-percent:before{content:""}.bi-person-badge-fill:before{content:""}.bi-person-badge:before{content:""}.bi-person-bounding-box:before{content:""}.bi-person-check-fill:before{content:""}.bi-person-check:before{content:""}.bi-person-circle:before{content:""}.bi-person-dash-fill:before{content:""}.bi-person-dash:before{content:""}.bi-person-fill:before{content:""}.bi-person-lines-fill:before{content:""}.bi-person-plus-fill:before{content:""}.bi-person-plus:before{content:""}.bi-person-square:before{content:""}.bi-person-x-fill:before{content:""}.bi-person-x:before{content:""}.bi-person:before{content:""}.bi-phone-fill:before{content:""}.bi-phone-landscape-fill:before{content:""}.bi-phone-landscape:before{content:""}.bi-phone-vibrate-fill:before{content:""}.bi-phone-vibrate:before{content:""}.bi-phone:before{content:""}.bi-pie-chart-fill:before{content:""}.bi-pie-chart:before{content:""}.bi-pin-angle-fill:before{content:""}.bi-pin-angle:before{content:""}.bi-pin-fill:before{content:""}.bi-pin:before{content:""}.bi-pip-fill:before{content:""}.bi-pip:before{content:""}.bi-play-btn-fill:before{content:""}.bi-play-btn:before{content:""}.bi-play-circle-fill:before{content:""}.bi-play-circle:before{content:""}.bi-play-fill:before{content:""}.bi-play:before{content:""}.bi-plug-fill:before{content:""}.bi-plug:before{content:""}.bi-plus-circle-dotted:before{content:""}.bi-plus-circle-fill:before{content:""}.bi-plus-circle:before{content:""}.bi-plus-square-dotted:before{content:""}.bi-plus-square-fill:before{content:""}.bi-plus-square:before{content:""}.bi-plus:before{content:""}.bi-power:before{content:""}.bi-printer-fill:before{content:""}.bi-printer:before{content:""}.bi-puzzle-fill:before{content:""}.bi-puzzle:before{content:""}.bi-question-circle-fill:before{content:""}.bi-question-circle:before{content:""}.bi-question-diamond-fill:before{content:""}.bi-question-diamond:before{content:""}.bi-question-octagon-fill:before{content:""}.bi-question-octagon:before{content:""}.bi-question-square-fill:before{content:""}.bi-question-square:before{content:""}.bi-question:before{content:""}.bi-rainbow:before{content:""}.bi-receipt-cutoff:before{content:""}.bi-receipt:before{content:""}.bi-reception-0:before{content:""}.bi-reception-1:before{content:""}.bi-reception-2:before{content:""}.bi-reception-3:before{content:""}.bi-reception-4:before{content:""}.bi-record-btn-fill:before{content:""}.bi-record-btn:before{content:""}.bi-record-circle-fill:before{content:""}.bi-record-circle:before{content:""}.bi-record-fill:before{content:""}.bi-record:before{content:""}.bi-record2-fill:before{content:""}.bi-record2:before{content:""}.bi-reply-all-fill:before{content:""}.bi-reply-all:before{content:""}.bi-reply-fill:before{content:""}.bi-reply:before{content:""}.bi-rss-fill:before{content:""}.bi-rss:before{content:""}.bi-rulers:before{content:""}.bi-save-fill:before{content:""}.bi-save:before{content:""}.bi-save2-fill:before{content:""}.bi-save2:before{content:""}.bi-scissors:before{content:""}.bi-screwdriver:before{content:""}.bi-search:before{content:""}.bi-segmented-nav:before{content:""}.bi-server:before{content:""}.bi-share-fill:before{content:""}.bi-share:before{content:""}.bi-shield-check:before{content:""}.bi-shield-exclamation:before{content:""}.bi-shield-fill-check:before{content:""}.bi-shield-fill-exclamation:before{content:""}.bi-shield-fill-minus:before{content:""}.bi-shield-fill-plus:before{content:""}.bi-shield-fill-x:before{content:""}.bi-shield-fill:before{content:""}.bi-shield-lock-fill:before{content:""}.bi-shield-lock:before{content:""}.bi-shield-minus:before{content:""}.bi-shield-plus:before{content:""}.bi-shield-shaded:before{content:""}.bi-shield-slash-fill:before{content:""}.bi-shield-slash:before{content:""}.bi-shield-x:before{content:""}.bi-shield:before{content:""}.bi-shift-fill:before{content:""}.bi-shift:before{content:""}.bi-shop-window:before{content:""}.bi-shop:before{content:""}.bi-shuffle:before{content:""}.bi-signpost-2-fill:before{content:""}.bi-signpost-2:before{content:""}.bi-signpost-fill:before{content:""}.bi-signpost-split-fill:before{content:""}.bi-signpost-split:before{content:""}.bi-signpost:before{content:""}.bi-sim-fill:before{content:""}.bi-sim:before{content:""}.bi-skip-backward-btn-fill:before{content:""}.bi-skip-backward-btn:before{content:""}.bi-skip-backward-circle-fill:before{content:""}.bi-skip-backward-circle:before{content:""}.bi-skip-backward-fill:before{content:""}.bi-skip-backward:before{content:""}.bi-skip-end-btn-fill:before{content:""}.bi-skip-end-btn:before{content:""}.bi-skip-end-circle-fill:before{content:""}.bi-skip-end-circle:before{content:""}.bi-skip-end-fill:before{content:""}.bi-skip-end:before{content:""}.bi-skip-forward-btn-fill:before{content:""}.bi-skip-forward-btn:before{content:""}.bi-skip-forward-circle-fill:before{content:""}.bi-skip-forward-circle:before{content:""}.bi-skip-forward-fill:before{content:""}.bi-skip-forward:before{content:""}.bi-skip-start-btn-fill:before{content:""}.bi-skip-start-btn:before{content:""}.bi-skip-start-circle-fill:before{content:""}.bi-skip-start-circle:before{content:""}.bi-skip-start-fill:before{content:""}.bi-skip-start:before{content:""}.bi-slack:before{content:""}.bi-slash-circle-fill:before{content:""}.bi-slash-circle:before{content:""}.bi-slash-square-fill:before{content:""}.bi-slash-square:before{content:""}.bi-slash:before{content:""}.bi-sliders:before{content:""}.bi-smartwatch:before{content:""}.bi-snow:before{content:""}.bi-snow2:before{content:""}.bi-snow3:before{content:""}.bi-sort-alpha-down-alt:before{content:""}.bi-sort-alpha-down:before{content:""}.bi-sort-alpha-up-alt:before{content:""}.bi-sort-alpha-up:before{content:""}.bi-sort-down-alt:before{content:""}.bi-sort-down:before{content:""}.bi-sort-numeric-down-alt:before{content:""}.bi-sort-numeric-down:before{content:""}.bi-sort-numeric-up-alt:before{content:""}.bi-sort-numeric-up:before{content:""}.bi-sort-up-alt:before{content:""}.bi-sort-up:before{content:""}.bi-soundwave:before{content:""}.bi-speaker-fill:before{content:""}.bi-speaker:before{content:""}.bi-speedometer:before{content:""}.bi-speedometer2:before{content:""}.bi-spellcheck:before{content:""}.bi-square-fill:before{content:""}.bi-square-half:before{content:""}.bi-square:before{content:""}.bi-stack:before{content:""}.bi-star-fill:before{content:""}.bi-star-half:before{content:""}.bi-star:before{content:""}.bi-stars:before{content:""}.bi-stickies-fill:before{content:""}.bi-stickies:before{content:""}.bi-sticky-fill:before{content:""}.bi-sticky:before{content:""}.bi-stop-btn-fill:before{content:""}.bi-stop-btn:before{content:""}.bi-stop-circle-fill:before{content:""}.bi-stop-circle:before{content:""}.bi-stop-fill:before{content:""}.bi-stop:before{content:""}.bi-stoplights-fill:before{content:""}.bi-stoplights:before{content:""}.bi-stopwatch-fill:before{content:""}.bi-stopwatch:before{content:""}.bi-subtract:before{content:""}.bi-suit-club-fill:before{content:""}.bi-suit-club:before{content:""}.bi-suit-diamond-fill:before{content:""}.bi-suit-diamond:before{content:""}.bi-suit-heart-fill:before{content:""}.bi-suit-heart:before{content:""}.bi-suit-spade-fill:before{content:""}.bi-suit-spade:before{content:""}.bi-sun-fill:before{content:""}.bi-sun:before{content:""}.bi-sunglasses:before{content:""}.bi-sunrise-fill:before{content:""}.bi-sunrise:before{content:""}.bi-sunset-fill:before{content:""}.bi-sunset:before{content:""}.bi-symmetry-horizontal:before{content:""}.bi-symmetry-vertical:before{content:""}.bi-table:before{content:""}.bi-tablet-fill:before{content:""}.bi-tablet-landscape-fill:before{content:""}.bi-tablet-landscape:before{content:""}.bi-tablet:before{content:""}.bi-tag-fill:before{content:""}.bi-tag:before{content:""}.bi-tags-fill:before{content:""}.bi-tags:before{content:""}.bi-telegram:before{content:""}.bi-telephone-fill:before{content:""}.bi-telephone-forward-fill:before{content:""}.bi-telephone-forward:before{content:""}.bi-telephone-inbound-fill:before{content:""}.bi-telephone-inbound:before{content:""}.bi-telephone-minus-fill:before{content:""}.bi-telephone-minus:before{content:""}.bi-telephone-outbound-fill:before{content:""}.bi-telephone-outbound:before{content:""}.bi-telephone-plus-fill:before{content:""}.bi-telephone-plus:before{content:""}.bi-telephone-x-fill:before{content:""}.bi-telephone-x:before{content:""}.bi-telephone:before{content:""}.bi-terminal-fill:before{content:""}.bi-terminal:before{content:""}.bi-text-center:before{content:""}.bi-text-indent-left:before{content:""}.bi-text-indent-right:before{content:""}.bi-text-left:before{content:""}.bi-text-paragraph:before{content:""}.bi-text-right:before{content:""}.bi-textarea-resize:before{content:""}.bi-textarea-t:before{content:""}.bi-textarea:before{content:""}.bi-thermometer-half:before{content:""}.bi-thermometer-high:before{content:""}.bi-thermometer-low:before{content:""}.bi-thermometer-snow:before{content:""}.bi-thermometer-sun:before{content:""}.bi-thermometer:before{content:""}.bi-three-dots-vertical:before{content:""}.bi-three-dots:before{content:""}.bi-toggle-off:before{content:""}.bi-toggle-on:before{content:""}.bi-toggle2-off:before{content:""}.bi-toggle2-on:before{content:""}.bi-toggles:before{content:""}.bi-toggles2:before{content:""}.bi-tools:before{content:""}.bi-tornado:before{content:""}.bi-trash-fill:before{content:""}.bi-trash:before{content:""}.bi-trash2-fill:before{content:""}.bi-trash2:before{content:""}.bi-tree-fill:before{content:""}.bi-tree:before{content:""}.bi-triangle-fill:before{content:""}.bi-triangle-half:before{content:""}.bi-triangle:before{content:""}.bi-trophy-fill:before{content:""}.bi-trophy:before{content:""}.bi-tropical-storm:before{content:""}.bi-truck-flatbed:before{content:""}.bi-truck:before{content:""}.bi-tsunami:before{content:""}.bi-tv-fill:before{content:""}.bi-tv:before{content:""}.bi-twitch:before{content:""}.bi-twitter:before{content:""}.bi-type-bold:before{content:""}.bi-type-h1:before{content:""}.bi-type-h2:before{content:""}.bi-type-h3:before{content:""}.bi-type-italic:before{content:""}.bi-type-strikethrough:before{content:""}.bi-type-underline:before{content:""}.bi-type:before{content:""}.bi-ui-checks-grid:before{content:""}.bi-ui-checks:before{content:""}.bi-ui-radios-grid:before{content:""}.bi-ui-radios:before{content:""}.bi-umbrella-fill:before{content:""}.bi-umbrella:before{content:""}.bi-union:before{content:""}.bi-unlock-fill:before{content:""}.bi-unlock:before{content:""}.bi-upc-scan:before{content:""}.bi-upc:before{content:""}.bi-upload:before{content:""}.bi-vector-pen:before{content:""}.bi-view-list:before{content:""}.bi-view-stacked:before{content:""}.bi-vinyl-fill:before{content:""}.bi-vinyl:before{content:""}.bi-voicemail:before{content:""}.bi-volume-down-fill:before{content:""}.bi-volume-down:before{content:""}.bi-volume-mute-fill:before{content:""}.bi-volume-mute:before{content:""}.bi-volume-off-fill:before{content:""}.bi-volume-off:before{content:""}.bi-volume-up-fill:before{content:""}.bi-volume-up:before{content:""}.bi-vr:before{content:""}.bi-wallet-fill:before{content:""}.bi-wallet:before{content:""}.bi-wallet2:before{content:""}.bi-watch:before{content:""}.bi-water:before{content:""}.bi-whatsapp:before{content:""}.bi-wifi-1:before{content:""}.bi-wifi-2:before{content:""}.bi-wifi-off:before{content:""}.bi-wifi:before{content:""}.bi-wind:before{content:""}.bi-window-dock:before{content:""}.bi-window-sidebar:before{content:""}.bi-window:before{content:""}.bi-wrench:before{content:""}.bi-x-circle-fill:before{content:""}.bi-x-circle:before{content:""}.bi-x-diamond-fill:before{content:""}.bi-x-diamond:before{content:""}.bi-x-octagon-fill:before{content:""}.bi-x-octagon:before{content:""}.bi-x-square-fill:before{content:""}.bi-x-square:before{content:""}.bi-x:before{content:""}.bi-youtube:before{content:""}.bi-zoom-in:before{content:""}.bi-zoom-out:before{content:""}.bi-bank:before{content:""}.bi-bank2:before{content:""}.bi-bell-slash-fill:before{content:""}.bi-bell-slash:before{content:""}.bi-cash-coin:before{content:""}.bi-check-lg:before{content:""}.bi-coin:before{content:""}.bi-currency-bitcoin:before{content:""}.bi-currency-dollar:before{content:""}.bi-currency-euro:before{content:""}.bi-currency-exchange:before{content:""}.bi-currency-pound:before{content:""}.bi-currency-yen:before{content:""}.bi-dash-lg:before{content:""}.bi-exclamation-lg:before{content:""}.bi-file-earmark-pdf-fill:before{content:""}.bi-file-earmark-pdf:before{content:""}.bi-file-pdf-fill:before{content:""}.bi-file-pdf:before{content:""}.bi-gender-ambiguous:before{content:""}.bi-gender-female:before{content:""}.bi-gender-male:before{content:""}.bi-gender-trans:before{content:""}.bi-headset-vr:before{content:""}.bi-info-lg:before{content:""}.bi-mastodon:before{content:""}.bi-messenger:before{content:""}.bi-piggy-bank-fill:before{content:""}.bi-piggy-bank:before{content:""}.bi-pin-map-fill:before{content:""}.bi-pin-map:before{content:""}.bi-plus-lg:before{content:""}.bi-question-lg:before{content:""}.bi-recycle:before{content:""}.bi-reddit:before{content:""}.bi-safe-fill:before{content:""}.bi-safe2-fill:before{content:""}.bi-safe2:before{content:""}.bi-sd-card-fill:before{content:""}.bi-sd-card:before{content:""}.bi-skype:before{content:""}.bi-slash-lg:before{content:""}.bi-translate:before{content:""}.bi-x-lg:before{content:""}.bi-safe:before{content:""}.bi-apple:before{content:""}.bi-microsoft:before{content:""}.bi-windows:before{content:""}.bi-behance:before{content:""}.bi-dribbble:before{content:""}.bi-line:before{content:""}.bi-medium:before{content:""}.bi-paypal:before{content:""}.bi-pinterest:before{content:""}.bi-signal:before{content:""}.bi-snapchat:before{content:""}.bi-spotify:before{content:""}.bi-stack-overflow:before{content:""}.bi-strava:before{content:""}.bi-wordpress:before{content:""}.bi-vimeo:before{content:""}.bi-activity:before{content:""}.bi-easel2-fill:before{content:""}.bi-easel2:before{content:""}.bi-easel3-fill:before{content:""}.bi-easel3:before{content:""}.bi-fan:before{content:""}.bi-fingerprint:before{content:""}.bi-graph-down-arrow:before{content:""}.bi-graph-up-arrow:before{content:""}.bi-hypnotize:before{content:""}.bi-magic:before{content:""}.bi-person-rolodex:before{content:""}.bi-person-video:before{content:""}.bi-person-video2:before{content:""}.bi-person-video3:before{content:""}.bi-person-workspace:before{content:""}.bi-radioactive:before{content:""}.bi-webcam-fill:before{content:""}.bi-webcam:before{content:""}.bi-yin-yang:before{content:""}.bi-bandaid-fill:before{content:""}.bi-bandaid:before{content:""}.bi-bluetooth:before{content:""}.bi-body-text:before{content:""}.bi-boombox:before{content:""}.bi-boxes:before{content:""}.bi-dpad-fill:before{content:""}.bi-dpad:before{content:""}.bi-ear-fill:before{content:""}.bi-ear:before{content:""}.bi-envelope-check-fill:before{content:""}.bi-envelope-check:before{content:""}.bi-envelope-dash-fill:before{content:""}.bi-envelope-dash:before{content:""}.bi-envelope-exclamation-fill:before{content:""}.bi-envelope-exclamation:before{content:""}.bi-envelope-plus-fill:before{content:""}.bi-envelope-plus:before{content:""}.bi-envelope-slash-fill:before{content:""}.bi-envelope-slash:before{content:""}.bi-envelope-x-fill:before{content:""}.bi-envelope-x:before{content:""}.bi-explicit-fill:before{content:""}.bi-explicit:before{content:""}.bi-git:before{content:""}.bi-infinity:before{content:""}.bi-list-columns-reverse:before{content:""}.bi-list-columns:before{content:""}.bi-meta:before{content:""}.bi-nintendo-switch:before{content:""}.bi-pc-display-horizontal:before{content:""}.bi-pc-display:before{content:""}.bi-pc-horizontal:before{content:""}.bi-pc:before{content:""}.bi-playstation:before{content:""}.bi-plus-slash-minus:before{content:""}.bi-projector-fill:before{content:""}.bi-projector:before{content:""}.bi-qr-code-scan:before{content:""}.bi-qr-code:before{content:""}.bi-quora:before{content:""}.bi-quote:before{content:""}.bi-robot:before{content:""}.bi-send-check-fill:before{content:""}.bi-send-check:before{content:""}.bi-send-dash-fill:before{content:""}.bi-send-dash:before{content:""}.bi-send-exclamation-fill:before{content:""}.bi-send-exclamation:before{content:""}.bi-send-fill:before{content:""}.bi-send-plus-fill:before{content:""}.bi-send-plus:before{content:""}.bi-send-slash-fill:before{content:""}.bi-send-slash:before{content:""}.bi-send-x-fill:before{content:""}.bi-send-x:before{content:""}.bi-send:before{content:""}.bi-steam:before{content:""}.bi-terminal-dash:before{content:""}.bi-terminal-plus:before{content:""}.bi-terminal-split:before{content:""}.bi-ticket-detailed-fill:before{content:""}.bi-ticket-detailed:before{content:""}.bi-ticket-fill:before{content:""}.bi-ticket-perforated-fill:before{content:""}.bi-ticket-perforated:before{content:""}.bi-ticket:before{content:""}.bi-tiktok:before{content:""}.bi-window-dash:before{content:""}.bi-window-desktop:before{content:""}.bi-window-fullscreen:before{content:""}.bi-window-plus:before{content:""}.bi-window-split:before{content:""}.bi-window-stack:before{content:""}.bi-window-x:before{content:""}.bi-xbox:before{content:""}.bi-ethernet:before{content:""}.bi-hdmi-fill:before{content:""}.bi-hdmi:before{content:""}.bi-usb-c-fill:before{content:""}.bi-usb-c:before{content:""}.bi-usb-fill:before{content:""}.bi-usb-plug-fill:before{content:""}.bi-usb-plug:before{content:""}.bi-usb-symbol:before{content:""}.bi-usb:before{content:""}.bi-boombox-fill:before{content:""}.bi-displayport:before{content:""}.bi-gpu-card:before{content:""}.bi-memory:before{content:""}.bi-modem-fill:before{content:""}.bi-modem:before{content:""}.bi-motherboard-fill:before{content:""}.bi-motherboard:before{content:""}.bi-optical-audio-fill:before{content:""}.bi-optical-audio:before{content:""}.bi-pci-card:before{content:""}.bi-router-fill:before{content:""}.bi-router:before{content:""}.bi-thunderbolt-fill:before{content:""}.bi-thunderbolt:before{content:""}.bi-usb-drive-fill:before{content:""}.bi-usb-drive:before{content:""}.bi-usb-micro-fill:before{content:""}.bi-usb-micro:before{content:""}.bi-usb-mini-fill:before{content:""}.bi-usb-mini:before{content:""}.bi-cloud-haze2:before{content:""}.bi-device-hdd-fill:before{content:""}.bi-device-hdd:before{content:""}.bi-device-ssd-fill:before{content:""}.bi-device-ssd:before{content:""}.bi-displayport-fill:before{content:""}.bi-mortarboard-fill:before{content:""}.bi-mortarboard:before{content:""}.bi-terminal-x:before{content:""}.bi-arrow-through-heart-fill:before{content:""}.bi-arrow-through-heart:before{content:""}.bi-badge-sd-fill:before{content:""}.bi-badge-sd:before{content:""}.bi-bag-heart-fill:before{content:""}.bi-bag-heart:before{content:""}.bi-balloon-fill:before{content:""}.bi-balloon-heart-fill:before{content:""}.bi-balloon-heart:before{content:""}.bi-balloon:before{content:""}.bi-box2-fill:before{content:""}.bi-box2-heart-fill:before{content:""}.bi-box2-heart:before{content:""}.bi-box2:before{content:""}.bi-braces-asterisk:before{content:""}.bi-calendar-heart-fill:before{content:""}.bi-calendar-heart:before{content:""}.bi-calendar2-heart-fill:before{content:""}.bi-calendar2-heart:before{content:""}.bi-chat-heart-fill:before{content:""}.bi-chat-heart:before{content:""}.bi-chat-left-heart-fill:before{content:""}.bi-chat-left-heart:before{content:""}.bi-chat-right-heart-fill:before{content:""}.bi-chat-right-heart:before{content:""}.bi-chat-square-heart-fill:before{content:""}.bi-chat-square-heart:before{content:""}.bi-clipboard-check-fill:before{content:""}.bi-clipboard-data-fill:before{content:""}.bi-clipboard-fill:before{content:""}.bi-clipboard-heart-fill:before{content:""}.bi-clipboard-heart:before{content:""}.bi-clipboard-minus-fill:before{content:""}.bi-clipboard-plus-fill:before{content:""}.bi-clipboard-pulse:before{content:""}.bi-clipboard-x-fill:before{content:""}.bi-clipboard2-check-fill:before{content:""}.bi-clipboard2-check:before{content:""}.bi-clipboard2-data-fill:before{content:""}.bi-clipboard2-data:before{content:""}.bi-clipboard2-fill:before{content:""}.bi-clipboard2-heart-fill:before{content:""}.bi-clipboard2-heart:before{content:""}.bi-clipboard2-minus-fill:before{content:""}.bi-clipboard2-minus:before{content:""}.bi-clipboard2-plus-fill:before{content:""}.bi-clipboard2-plus:before{content:""}.bi-clipboard2-pulse-fill:before{content:""}.bi-clipboard2-pulse:before{content:""}.bi-clipboard2-x-fill:before{content:""}.bi-clipboard2-x:before{content:""}.bi-clipboard2:before{content:""}.bi-emoji-kiss-fill:before{content:""}.bi-emoji-kiss:before{content:""}.bi-envelope-heart-fill:before{content:""}.bi-envelope-heart:before{content:""}.bi-envelope-open-heart-fill:before{content:""}.bi-envelope-open-heart:before{content:""}.bi-envelope-paper-fill:before{content:""}.bi-envelope-paper-heart-fill:before{content:""}.bi-envelope-paper-heart:before{content:""}.bi-envelope-paper:before{content:""}.bi-filetype-aac:before{content:""}.bi-filetype-ai:before{content:""}.bi-filetype-bmp:before{content:""}.bi-filetype-cs:before{content:""}.bi-filetype-css:before{content:""}.bi-filetype-csv:before{content:""}.bi-filetype-doc:before{content:""}.bi-filetype-docx:before{content:""}.bi-filetype-exe:before{content:""}.bi-filetype-gif:before{content:""}.bi-filetype-heic:before{content:""}.bi-filetype-html:before{content:""}.bi-filetype-java:before{content:""}.bi-filetype-jpg:before{content:""}.bi-filetype-js:before{content:""}.bi-filetype-jsx:before{content:""}.bi-filetype-key:before{content:""}.bi-filetype-m4p:before{content:""}.bi-filetype-md:before{content:""}.bi-filetype-mdx:before{content:""}.bi-filetype-mov:before{content:""}.bi-filetype-mp3:before{content:""}.bi-filetype-mp4:before{content:""}.bi-filetype-otf:before{content:""}.bi-filetype-pdf:before{content:""}.bi-filetype-php:before{content:""}.bi-filetype-png:before{content:""}.bi-filetype-ppt:before{content:""}.bi-filetype-psd:before{content:""}.bi-filetype-py:before{content:""}.bi-filetype-raw:before{content:""}.bi-filetype-rb:before{content:""}.bi-filetype-sass:before{content:""}.bi-filetype-scss:before{content:""}.bi-filetype-sh:before{content:""}.bi-filetype-svg:before{content:""}.bi-filetype-tiff:before{content:""}.bi-filetype-tsx:before{content:""}.bi-filetype-ttf:before{content:""}.bi-filetype-txt:before{content:""}.bi-filetype-wav:before{content:""}.bi-filetype-woff:before{content:""}.bi-filetype-xls:before{content:""}.bi-filetype-xml:before{content:""}.bi-filetype-yml:before{content:""}.bi-heart-arrow:before{content:""}.bi-heart-pulse-fill:before{content:""}.bi-heart-pulse:before{content:""}.bi-heartbreak-fill:before{content:""}.bi-heartbreak:before{content:""}.bi-hearts:before{content:""}.bi-hospital-fill:before{content:""}.bi-hospital:before{content:""}.bi-house-heart-fill:before{content:""}.bi-house-heart:before{content:""}.bi-incognito:before{content:""}.bi-magnet-fill:before{content:""}.bi-magnet:before{content:""}.bi-person-heart:before{content:""}.bi-person-hearts:before{content:""}.bi-phone-flip:before{content:""}.bi-plugin:before{content:""}.bi-postage-fill:before{content:""}.bi-postage-heart-fill:before{content:""}.bi-postage-heart:before{content:""}.bi-postage:before{content:""}.bi-postcard-fill:before{content:""}.bi-postcard-heart-fill:before{content:""}.bi-postcard-heart:before{content:""}.bi-postcard:before{content:""}.bi-search-heart-fill:before{content:""}.bi-search-heart:before{content:""}.bi-sliders2-vertical:before{content:""}.bi-sliders2:before{content:""}.bi-trash3-fill:before{content:""}.bi-trash3:before{content:""}.bi-valentine:before{content:""}.bi-valentine2:before{content:""}.bi-wrench-adjustable-circle-fill:before{content:""}.bi-wrench-adjustable-circle:before{content:""}.bi-wrench-adjustable:before{content:""}.bi-filetype-json:before{content:""}.bi-filetype-pptx:before{content:""}.bi-filetype-xlsx:before{content:""}.bi-1-circle-fill:before{content:""}.bi-1-circle:before{content:""}.bi-1-square-fill:before{content:""}.bi-1-square:before{content:""}.bi-2-circle-fill:before{content:""}.bi-2-circle:before{content:""}.bi-2-square-fill:before{content:""}.bi-2-square:before{content:""}.bi-3-circle-fill:before{content:""}.bi-3-circle:before{content:""}.bi-3-square-fill:before{content:""}.bi-3-square:before{content:""}.bi-4-circle-fill:before{content:""}.bi-4-circle:before{content:""}.bi-4-square-fill:before{content:""}.bi-4-square:before{content:""}.bi-5-circle-fill:before{content:""}.bi-5-circle:before{content:""}.bi-5-square-fill:before{content:""}.bi-5-square:before{content:""}.bi-6-circle-fill:before{content:""}.bi-6-circle:before{content:""}.bi-6-square-fill:before{content:""}.bi-6-square:before{content:""}.bi-7-circle-fill:before{content:""}.bi-7-circle:before{content:""}.bi-7-square-fill:before{content:""}.bi-7-square:before{content:""}.bi-8-circle-fill:before{content:""}.bi-8-circle:before{content:""}.bi-8-square-fill:before{content:""}.bi-8-square:before{content:""}.bi-9-circle-fill:before{content:""}.bi-9-circle:before{content:""}.bi-9-square-fill:before{content:""}.bi-9-square:before{content:""}.bi-airplane-engines-fill:before{content:""}.bi-airplane-engines:before{content:""}.bi-airplane-fill:before{content:""}.bi-airplane:before{content:""}.bi-alexa:before{content:""}.bi-alipay:before{content:""}.bi-android:before{content:""}.bi-android2:before{content:""}.bi-box-fill:before{content:""}.bi-box-seam-fill:before{content:""}.bi-browser-chrome:before{content:""}.bi-browser-edge:before{content:""}.bi-browser-firefox:before{content:""}.bi-browser-safari:before{content:""}.bi-c-circle-fill:before{content:""}.bi-c-circle:before{content:""}.bi-c-square-fill:before{content:""}.bi-c-square:before{content:""}.bi-capsule-pill:before{content:""}.bi-capsule:before{content:""}.bi-car-front-fill:before{content:""}.bi-car-front:before{content:""}.bi-cassette-fill:before{content:""}.bi-cassette:before{content:""}.bi-cc-circle-fill:before{content:""}.bi-cc-circle:before{content:""}.bi-cc-square-fill:before{content:""}.bi-cc-square:before{content:""}.bi-cup-hot-fill:before{content:""}.bi-cup-hot:before{content:""}.bi-currency-rupee:before{content:""}.bi-dropbox:before{content:""}.bi-escape:before{content:""}.bi-fast-forward-btn-fill:before{content:""}.bi-fast-forward-btn:before{content:""}.bi-fast-forward-circle-fill:before{content:""}.bi-fast-forward-circle:before{content:""}.bi-fast-forward-fill:before{content:""}.bi-fast-forward:before{content:""}.bi-filetype-sql:before{content:""}.bi-fire:before{content:""}.bi-google-play:before{content:""}.bi-h-circle-fill:before{content:""}.bi-h-circle:before{content:""}.bi-h-square-fill:before{content:""}.bi-h-square:before{content:""}.bi-indent:before{content:""}.bi-lungs-fill:before{content:""}.bi-lungs:before{content:""}.bi-microsoft-teams:before{content:""}.bi-p-circle-fill:before{content:""}.bi-p-circle:before{content:""}.bi-p-square-fill:before{content:""}.bi-p-square:before{content:""}.bi-pass-fill:before{content:""}.bi-pass:before{content:""}.bi-prescription:before{content:""}.bi-prescription2:before{content:""}.bi-r-circle-fill:before{content:""}.bi-r-circle:before{content:""}.bi-r-square-fill:before{content:""}.bi-r-square:before{content:""}.bi-repeat-1:before{content:""}.bi-repeat:before{content:""}.bi-rewind-btn-fill:before{content:""}.bi-rewind-btn:before{content:""}.bi-rewind-circle-fill:before{content:""}.bi-rewind-circle:before{content:""}.bi-rewind-fill:before{content:""}.bi-rewind:before{content:""}.bi-train-freight-front-fill:before{content:""}.bi-train-freight-front:before{content:""}.bi-train-front-fill:before{content:""}.bi-train-front:before{content:""}.bi-train-lightrail-front-fill:before{content:""}.bi-train-lightrail-front:before{content:""}.bi-truck-front-fill:before{content:""}.bi-truck-front:before{content:""}.bi-ubuntu:before{content:""}.bi-unindent:before{content:""}.bi-unity:before{content:""}.bi-universal-access-circle:before{content:""}.bi-universal-access:before{content:""}.bi-virus:before{content:""}.bi-virus2:before{content:""}.bi-wechat:before{content:""}.bi-yelp:before{content:""}.bi-sign-stop-fill:before{content:""}.bi-sign-stop-lights-fill:before{content:""}.bi-sign-stop-lights:before{content:""}.bi-sign-stop:before{content:""}.bi-sign-turn-left-fill:before{content:""}.bi-sign-turn-left:before{content:""}.bi-sign-turn-right-fill:before{content:""}.bi-sign-turn-right:before{content:""}.bi-sign-turn-slight-left-fill:before{content:""}.bi-sign-turn-slight-left:before{content:""}.bi-sign-turn-slight-right-fill:before{content:""}.bi-sign-turn-slight-right:before{content:""}.bi-sign-yield-fill:before{content:""}.bi-sign-yield:before{content:""}.bi-ev-station-fill:before{content:""}.bi-ev-station:before{content:""}.bi-fuel-pump-diesel-fill:before{content:""}.bi-fuel-pump-diesel:before{content:""}.bi-fuel-pump-fill:before{content:""}.bi-fuel-pump:before{content:""}.bi-0-circle-fill:before{content:""}.bi-0-circle:before{content:""}.bi-0-square-fill:before{content:""}.bi-0-square:before{content:""}.bi-rocket-fill:before{content:""}.bi-rocket-takeoff-fill:before{content:""}.bi-rocket-takeoff:before{content:""}.bi-rocket:before{content:""}.bi-stripe:before{content:""}.bi-subscript:before{content:""}.bi-superscript:before{content:""}.bi-trello:before{content:""}.bi-envelope-at-fill:before{content:""}.bi-envelope-at:before{content:""}.bi-regex:before{content:""}.bi-text-wrap:before{content:""}.bi-sign-dead-end-fill:before{content:""}.bi-sign-dead-end:before{content:""}.bi-sign-do-not-enter-fill:before{content:""}.bi-sign-do-not-enter:before{content:""}.bi-sign-intersection-fill:before{content:""}.bi-sign-intersection-side-fill:before{content:""}.bi-sign-intersection-side:before{content:""}.bi-sign-intersection-t-fill:before{content:""}.bi-sign-intersection-t:before{content:""}.bi-sign-intersection-y-fill:before{content:""}.bi-sign-intersection-y:before{content:""}.bi-sign-intersection:before{content:""}.bi-sign-merge-left-fill:before{content:""}.bi-sign-merge-left:before{content:""}.bi-sign-merge-right-fill:before{content:""}.bi-sign-merge-right:before{content:""}.bi-sign-no-left-turn-fill:before{content:""}.bi-sign-no-left-turn:before{content:""}.bi-sign-no-parking-fill:before{content:""}.bi-sign-no-parking:before{content:""}.bi-sign-no-right-turn-fill:before{content:""}.bi-sign-no-right-turn:before{content:""}.bi-sign-railroad-fill:before{content:""}.bi-sign-railroad:before{content:""}.bi-building-add:before{content:""}.bi-building-check:before{content:""}.bi-building-dash:before{content:""}.bi-building-down:before{content:""}.bi-building-exclamation:before{content:""}.bi-building-fill-add:before{content:""}.bi-building-fill-check:before{content:""}.bi-building-fill-dash:before{content:""}.bi-building-fill-down:before{content:""}.bi-building-fill-exclamation:before{content:""}.bi-building-fill-gear:before{content:""}.bi-building-fill-lock:before{content:""}.bi-building-fill-slash:before{content:""}.bi-building-fill-up:before{content:""}.bi-building-fill-x:before{content:""}.bi-building-fill:before{content:""}.bi-building-gear:before{content:""}.bi-building-lock:before{content:""}.bi-building-slash:before{content:""}.bi-building-up:before{content:""}.bi-building-x:before{content:""}.bi-buildings-fill:before{content:""}.bi-buildings:before{content:""}.bi-bus-front-fill:before{content:""}.bi-bus-front:before{content:""}.bi-ev-front-fill:before{content:""}.bi-ev-front:before{content:""}.bi-globe-americas:before{content:""}.bi-globe-asia-australia:before{content:""}.bi-globe-central-south-asia:before{content:""}.bi-globe-europe-africa:before{content:""}.bi-house-add-fill:before{content:""}.bi-house-add:before{content:""}.bi-house-check-fill:before{content:""}.bi-house-check:before{content:""}.bi-house-dash-fill:before{content:""}.bi-house-dash:before{content:""}.bi-house-down-fill:before{content:""}.bi-house-down:before{content:""}.bi-house-exclamation-fill:before{content:""}.bi-house-exclamation:before{content:""}.bi-house-gear-fill:before{content:""}.bi-house-gear:before{content:""}.bi-house-lock-fill:before{content:""}.bi-house-lock:before{content:""}.bi-house-slash-fill:before{content:""}.bi-house-slash:before{content:""}.bi-house-up-fill:before{content:""}.bi-house-up:before{content:""}.bi-house-x-fill:before{content:""}.bi-house-x:before{content:""}.bi-person-add:before{content:""}.bi-person-down:before{content:""}.bi-person-exclamation:before{content:""}.bi-person-fill-add:before{content:""}.bi-person-fill-check:before{content:""}.bi-person-fill-dash:before{content:""}.bi-person-fill-down:before{content:""}.bi-person-fill-exclamation:before{content:""}.bi-person-fill-gear:before{content:""}.bi-person-fill-lock:before{content:""}.bi-person-fill-slash:before{content:""}.bi-person-fill-up:before{content:""}.bi-person-fill-x:before{content:""}.bi-person-gear:before{content:""}.bi-person-lock:before{content:""}.bi-person-slash:before{content:""}.bi-person-up:before{content:""}.bi-scooter:before{content:""}.bi-taxi-front-fill:before{content:""}.bi-taxi-front:before{content:""}.bi-amd:before{content:""}.bi-database-add:before{content:""}.bi-database-check:before{content:""}.bi-database-dash:before{content:""}.bi-database-down:before{content:""}.bi-database-exclamation:before{content:""}.bi-database-fill-add:before{content:""}.bi-database-fill-check:before{content:""}.bi-database-fill-dash:before{content:""}.bi-database-fill-down:before{content:""}.bi-database-fill-exclamation:before{content:""}.bi-database-fill-gear:before{content:""}.bi-database-fill-lock:before{content:""}.bi-database-fill-slash:before{content:""}.bi-database-fill-up:before{content:""}.bi-database-fill-x:before{content:""}.bi-database-fill:before{content:""}.bi-database-gear:before{content:""}.bi-database-lock:before{content:""}.bi-database-slash:before{content:""}.bi-database-up:before{content:""}.bi-database-x:before{content:""}.bi-database:before{content:""}.bi-houses-fill:before{content:""}.bi-houses:before{content:""}.bi-nvidia:before{content:""}.bi-person-vcard-fill:before{content:""}.bi-person-vcard:before{content:""}.bi-sina-weibo:before{content:""}.bi-tencent-qq:before{content:""}.bi-wikipedia:before{content:""}.bi-alphabet-uppercase:before{content:""}.bi-alphabet:before{content:""}.bi-amazon:before{content:""}.bi-arrows-collapse-vertical:before{content:""}.bi-arrows-expand-vertical:before{content:""}.bi-arrows-vertical:before{content:""}.bi-arrows:before{content:""}.bi-ban-fill:before{content:""}.bi-ban:before{content:""}.bi-bing:before{content:""}.bi-cake:before{content:""}.bi-cake2:before{content:""}.bi-cookie:before{content:""}.bi-copy:before{content:""}.bi-crosshair:before{content:""}.bi-crosshair2:before{content:""}.bi-emoji-astonished-fill:before{content:""}.bi-emoji-astonished:before{content:""}.bi-emoji-grimace-fill:before{content:""}.bi-emoji-grimace:before{content:""}.bi-emoji-grin-fill:before{content:""}.bi-emoji-grin:before{content:""}.bi-emoji-surprise-fill:before{content:""}.bi-emoji-surprise:before{content:""}.bi-emoji-tear-fill:before{content:""}.bi-emoji-tear:before{content:""}.bi-envelope-arrow-down-fill:before{content:""}.bi-envelope-arrow-down:before{content:""}.bi-envelope-arrow-up-fill:before{content:""}.bi-envelope-arrow-up:before{content:""}.bi-feather:before{content:""}.bi-feather2:before{content:""}.bi-floppy-fill:before{content:""}.bi-floppy:before{content:""}.bi-floppy2-fill:before{content:""}.bi-floppy2:before{content:""}.bi-gitlab:before{content:""}.bi-highlighter:before{content:""}.bi-marker-tip:before{content:""}.bi-nvme-fill:before{content:""}.bi-nvme:before{content:""}.bi-opencollective:before{content:""}.bi-pci-card-network:before{content:""}.bi-pci-card-sound:before{content:""}.bi-radar:before{content:""}.bi-send-arrow-down-fill:before{content:""}.bi-send-arrow-down:before{content:""}.bi-send-arrow-up-fill:before{content:""}.bi-send-arrow-up:before{content:""}.bi-sim-slash-fill:before{content:""}.bi-sim-slash:before{content:""}.bi-sourceforge:before{content:""}.bi-substack:before{content:""}.bi-threads-fill:before{content:""}.bi-threads:before{content:""}.bi-transparency:before{content:""}.bi-twitter-x:before{content:""}.bi-type-h4:before{content:""}.bi-type-h5:before{content:""}.bi-type-h6:before{content:""}.bi-backpack-fill:before{content:""}.bi-backpack:before{content:""}.bi-backpack2-fill:before{content:""}.bi-backpack2:before{content:""}.bi-backpack3-fill:before{content:""}.bi-backpack3:before{content:""}.bi-backpack4-fill:before{content:""}.bi-backpack4:before{content:""}.bi-brilliance:before{content:""}.bi-cake-fill:before{content:""}.bi-cake2-fill:before{content:""}.bi-duffle-fill:before{content:""}.bi-duffle:before{content:""}.bi-exposure:before{content:""}.bi-gender-neuter:before{content:""}.bi-highlights:before{content:""}.bi-luggage-fill:before{content:""}.bi-luggage:before{content:""}.bi-mailbox-flag:before{content:""}.bi-mailbox2-flag:before{content:""}.bi-noise-reduction:before{content:""}.bi-passport-fill:before{content:""}.bi-passport:before{content:""}.bi-person-arms-up:before{content:""}.bi-person-raised-hand:before{content:""}.bi-person-standing-dress:before{content:""}.bi-person-standing:before{content:""}.bi-person-walking:before{content:""}.bi-person-wheelchair:before{content:""}.bi-shadows:before{content:""}.bi-suitcase-fill:before{content:""}.bi-suitcase-lg-fill:before{content:""}.bi-suitcase-lg:before{content:""}.bi-suitcase:before{content:"豈"}.bi-suitcase2-fill:before{content:"更"}.bi-suitcase2:before{content:"車"}.bi-vignette:before{content:"賈"}:root{--animate-duration:1s;--animate-delay:1s;--animate-repeat:1}.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-duration:var(--animate-duration);animation-duration:var(--animate-duration);-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.repeat-1{-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-iteration-count:var(--animate-repeat);animation-iteration-count:var(--animate-repeat)}.animated.repeat-2{-webkit-animation-iteration-count:2;animation-iteration-count:2;-webkit-animation-iteration-count:calc(var(--animate-repeat)*2);animation-iteration-count:calc(var(--animate-repeat)*2)}.animated.repeat-3{-webkit-animation-iteration-count:3;animation-iteration-count:3;-webkit-animation-iteration-count:calc(var(--animate-repeat)*3);animation-iteration-count:calc(var(--animate-repeat)*3)}.animated.delay-1s{-webkit-animation-delay:1s;animation-delay:1s;-webkit-animation-delay:var(--animate-delay);animation-delay:var(--animate-delay)}.animated.delay-2s{-webkit-animation-delay:2s;animation-delay:2s;-webkit-animation-delay:calc(var(--animate-delay)*2);animation-delay:calc(var(--animate-delay)*2)}.animated.delay-3s{-webkit-animation-delay:3s;animation-delay:3s;-webkit-animation-delay:calc(var(--animate-delay)*3);animation-delay:calc(var(--animate-delay)*3)}.animated.delay-4s{-webkit-animation-delay:4s;animation-delay:4s;-webkit-animation-delay:calc(var(--animate-delay)*4);animation-delay:calc(var(--animate-delay)*4)}.animated.delay-5s{-webkit-animation-delay:5s;animation-delay:5s;-webkit-animation-delay:calc(var(--animate-delay)*5);animation-delay:calc(var(--animate-delay)*5)}.animated.faster{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-duration:calc(var(--animate-duration)/2);animation-duration:calc(var(--animate-duration)/2)}.animated.fast{-webkit-animation-duration:.8s;animation-duration:.8s;-webkit-animation-duration:calc(var(--animate-duration)*.8);animation-duration:calc(var(--animate-duration)*.8)}.animated.slow{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration)*2);animation-duration:calc(var(--animate-duration)*2)}.animated.slower{-webkit-animation-duration:3s;animation-duration:3s;-webkit-animation-duration:calc(var(--animate-duration)*3);animation-duration:calc(var(--animate-duration)*3)}@media (prefers-reduced-motion:reduce),print{.animated{-webkit-animation-duration:1ms!important;animation-duration:1ms!important;-webkit-transition-duration:1ms!important;transition-duration:1ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important}.animated[class*=Out]{opacity:0}}@-webkit-keyframes bounce{0%,20%,53%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0) scaleY(1.1);transform:translate3d(0,-30px,0) scaleY(1.1)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0) scaleY(1.05);transform:translate3d(0,-15px,0) scaleY(1.05)}80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0) scaleY(.95);transform:translateZ(0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-4px,0) scaleY(1.02);transform:translate3d(0,-4px,0) scaleY(1.02)}}@keyframes bounce{0%,20%,53%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0) scaleY(1.1);transform:translate3d(0,-30px,0) scaleY(1.1)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0) scaleY(1.05);transform:translate3d(0,-15px,0) scaleY(1.05)}80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0) scaleY(.95);transform:translateZ(0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-4px,0) scaleY(1.02);transform:translate3d(0,-4px,0) scaleY(1.02)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shakeX{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shakeX{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shakeX{-webkit-animation-name:shakeX;animation-name:shakeX}@-webkit-keyframes shakeY{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}20%,40%,60%,80%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}}@keyframes shakeY{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}20%,40%,60%,80%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}}.shakeY{-webkit-animation-name:shakeY;animation-name:shakeY}.headShake{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-name:headShake;animation-name:headShake}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0)}}.swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skew(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skew(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skew(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skew(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skew(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skew(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skew(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skew(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skew(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skew(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skew(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skew(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skew(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skew(-.1953125deg) skewY(-.1953125deg)}}.jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}.heartBeat{-webkit-animation-name:heartBeat;animation-name:heartBeat;-webkit-animation-duration:1.3s;animation-duration:1.3s;-webkit-animation-duration:calc(var(--animate-duration)*1.3);animation-duration:calc(var(--animate-duration)*1.3);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes backInDown{0%{-webkit-transform:translateY(-1200px) scale(.7);transform:translateY(-1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInDown{0%{-webkit-transform:translateY(-1200px) scale(.7);transform:translateY(-1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.backInDown{-webkit-animation-name:backInDown;animation-name:backInDown}@-webkit-keyframes backInLeft{0%{-webkit-transform:translateX(-2000px) scale(.7);transform:translate(-2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInLeft{0%{-webkit-transform:translateX(-2000px) scale(.7);transform:translate(-2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.backInLeft{-webkit-animation-name:backInLeft;animation-name:backInLeft}@-webkit-keyframes backInRight{0%{-webkit-transform:translateX(2000px) scale(.7);transform:translate(2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInRight{0%{-webkit-transform:translateX(2000px) scale(.7);transform:translate(2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.backInRight{-webkit-animation-name:backInRight;animation-name:backInRight}@-webkit-keyframes backInUp{0%{-webkit-transform:translateY(1200px) scale(.7);transform:translateY(1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInUp{0%{-webkit-transform:translateY(1200px) scale(.7);transform:translateY(1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.backInUp{-webkit-animation-name:backInUp;animation-name:backInUp}@-webkit-keyframes backOutDown{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(700px) scale(.7);transform:translateY(700px) scale(.7);opacity:.7}}@keyframes backOutDown{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(700px) scale(.7);transform:translateY(700px) scale(.7);opacity:.7}}.backOutDown{-webkit-animation-name:backOutDown;animation-name:backOutDown}@-webkit-keyframes backOutLeft{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(-2000px) scale(.7);transform:translate(-2000px) scale(.7);opacity:.7}}@keyframes backOutLeft{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(-2000px) scale(.7);transform:translate(-2000px) scale(.7);opacity:.7}}.backOutLeft{-webkit-animation-name:backOutLeft;animation-name:backOutLeft}@-webkit-keyframes backOutRight{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(2000px) scale(.7);transform:translate(2000px) scale(.7);opacity:.7}}@keyframes backOutRight{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(2000px) scale(.7);transform:translate(2000px) scale(.7);opacity:.7}}.backOutRight{-webkit-animation-name:backOutRight;animation-name:backOutRight}@-webkit-keyframes backOutUp{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(-700px) scale(.7);transform:translateY(-700px) scale(.7);opacity:.7}}@keyframes backOutUp{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(-700px) scale(.7);transform:translateY(-700px) scale(.7);opacity:.7}}.backOutUp{-webkit-animation-name:backOutUp;animation-name:backOutUp}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}.bounceIn{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*.75);animation-duration:calc(var(--animate-duration)*.75);-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0) scaleY(3);transform:translate3d(0,-3000px,0) scaleY(3)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0) scaleY(.9);transform:translate3d(0,25px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,-10px,0) scaleY(.95);transform:translate3d(0,-10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,5px,0) scaleY(.985);transform:translate3d(0,5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0) scaleY(3);transform:translate3d(0,-3000px,0) scaleY(3)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0) scaleY(.9);transform:translate3d(0,25px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,-10px,0) scaleY(.95);transform:translate3d(0,-10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,5px,0) scaleY(.985);transform:translate3d(0,5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0) scaleX(3);transform:translate3d(-3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0) scaleX(1);transform:translate3d(25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(-10px,0,0) scaleX(.98);transform:translate3d(-10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(5px,0,0) scaleX(.995);transform:translate3d(5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0) scaleX(3);transform:translate3d(-3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0) scaleX(1);transform:translate3d(25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(-10px,0,0) scaleX(.98);transform:translate3d(-10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(5px,0,0) scaleX(.995);transform:translate3d(5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0) scaleX(3);transform:translate3d(3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0) scaleX(1);transform:translate3d(-25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(10px,0,0) scaleX(.98);transform:translate3d(10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(-5px,0,0) scaleX(.995);transform:translate3d(-5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0) scaleX(3);transform:translate3d(3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0) scaleX(1);transform:translate3d(-25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(10px,0,0) scaleX(.98);transform:translate3d(10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(-5px,0,0) scaleX(.995);transform:translate3d(-5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0) scaleY(5);transform:translate3d(0,3000px,0) scaleY(5)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,10px,0) scaleY(.95);transform:translate3d(0,10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-5px,0) scaleY(.985);transform:translate3d(0,-5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0) scaleY(5);transform:translate3d(0,3000px,0) scaleY(5)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,10px,0) scaleY(.95);transform:translate3d(0,10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-5px,0) scaleY(.985);transform:translate3d(0,-5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}.bounceOut{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*.75);animation-duration:calc(var(--animate-duration)*.75);-webkit-animation-name:bounceOut;animation-name:bounceOut}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeInTopLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInTopLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInTopLeft{-webkit-animation-name:fadeInTopLeft;animation-name:fadeInTopLeft}@-webkit-keyframes fadeInTopRight{0%{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInTopRight{0%{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInTopRight{-webkit-animation-name:fadeInTopRight;animation-name:fadeInTopRight}@-webkit-keyframes fadeInBottomLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInBottomLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInBottomLeft{-webkit-animation-name:fadeInBottomLeft;animation-name:fadeInBottomLeft}@-webkit-keyframes fadeInBottomRight{0%{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInBottomRight{0%{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInBottomRight{-webkit-animation-name:fadeInBottomRight;animation-name:fadeInBottomRight}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes fadeOutTopLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}}@keyframes fadeOutTopLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}}.fadeOutTopLeft{-webkit-animation-name:fadeOutTopLeft;animation-name:fadeOutTopLeft}@-webkit-keyframes fadeOutTopRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}}@keyframes fadeOutTopRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}}.fadeOutTopRight{-webkit-animation-name:fadeOutTopRight;animation-name:fadeOutTopRight}@-webkit-keyframes fadeOutBottomRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}}@keyframes fadeOutBottomRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}}.fadeOutBottomRight{-webkit-animation-name:fadeOutBottomRight;animation-name:fadeOutBottomRight}@-webkit-keyframes fadeOutBottomLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}}@keyframes fadeOutBottomLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}}.fadeOutBottomLeft{-webkit-animation-name:fadeOutBottomLeft;animation-name:fadeOutBottomLeft}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}.flipOutX{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*.75);animation-duration:calc(var(--animate-duration)*.75);-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}.flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*.75);animation-duration:calc(var(--animate-duration)*.75);-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedInRight{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skew(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skew(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skew(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes lightSpeedInRight{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skew(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skew(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skew(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.lightSpeedInRight{-webkit-animation-name:lightSpeedInRight;animation-name:lightSpeedInRight;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedInLeft{0%{-webkit-transform:translate3d(-100%,0,0) skewX(30deg);transform:translate3d(-100%,0,0) skew(30deg);opacity:0}60%{-webkit-transform:skewX(-20deg);transform:skew(-20deg);opacity:1}80%{-webkit-transform:skewX(5deg);transform:skew(5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes lightSpeedInLeft{0%{-webkit-transform:translate3d(-100%,0,0) skewX(30deg);transform:translate3d(-100%,0,0) skew(30deg);opacity:0}60%{-webkit-transform:skewX(-20deg);transform:skew(-20deg);opacity:1}80%{-webkit-transform:skewX(5deg);transform:skew(5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.lightSpeedInLeft{-webkit-animation-name:lightSpeedInLeft;animation-name:lightSpeedInLeft;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}.lightSpeedOutRight{-webkit-animation-name:lightSpeedOutRight;animation-name:lightSpeedOutRight;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}.lightSpeedOutLeft{-webkit-animation-name:lightSpeedOutLeft;animation-name:lightSpeedOutLeft;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateOut{0%{opacity:1}to{-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{opacity:1}to{-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes rotateOutDownLeft{0%{opacity:1}to{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{opacity:1}to{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateOutDownRight{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutDownRight{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateOutUpLeft{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateOutUpRight{0%{opacity:1}to{-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{opacity:1}to{-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration)*2);animation-duration:calc(var(--animate-duration)*2);-webkit-animation-name:hinge;animation-name:hinge;-webkit-transform-origin:top left;transform-origin:top left}.jackInTheBox{-webkit-animation-name:jackInTheBox;animation-name:jackInTheBox}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}@keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown;-webkit-transform-origin:center bottom;transform-origin:center bottom}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft;-webkit-transform-origin:left center;transform-origin:left center}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight;-webkit-transform-origin:right center;transform-origin:right center}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}.dp__input_wrap{position:relative;width:100%;box-sizing:unset}.dp__input_wrap:focus{border-color:var(--dp-border-color-hover);outline:none}.dp__input_valid{box-shadow:0 0 var(--dp-border-radius) var(--dp-success-color);border-color:var(--dp-success-color)}.dp__input_valid:hover{border-color:var(--dp-success-color)}.dp__input_invalid{box-shadow:0 0 var(--dp-border-radius) var(--dp-danger-color);border-color:var(--dp-danger-color)}.dp__input_invalid:hover{border-color:var(--dp-danger-color)}.dp__input{background-color:var(--dp-background-color);border-radius:var(--dp-border-radius);font-family:var(--dp-font-family);border:1px solid var(--dp-border-color);outline:none;transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%;font-size:var(--dp-font-size);line-height:calc(var(--dp-font-size)*1.5);padding:var(--dp-input-padding);color:var(--dp-text-color);box-sizing:border-box}.dp__input::placeholder{opacity:.7}.dp__input:hover:not(.dp__input_focus){border-color:var(--dp-border-color-hover)}.dp__input_reg{caret-color:#0000}.dp__input_focus{border-color:var(--dp-border-color-focus)}.dp__disabled{background:var(--dp-disabled-color)}.dp__disabled::placeholder{color:var(--dp-disabled-color-text)}.dp__input_icons{display:inline-block;width:var(--dp-font-size);height:var(--dp-font-size);stroke-width:0;font-size:var(--dp-font-size);line-height:calc(var(--dp-font-size)*1.5);padding:6px 12px;color:var(--dp-icon-color);box-sizing:content-box}.dp__input_icon{cursor:pointer;position:absolute;top:50%;inset-inline-start:0;transform:translateY(-50%);color:var(--dp-icon-color)}.dp--clear-btn{position:absolute;top:50%;inset-inline-end:0;transform:translateY(-50%);cursor:pointer;color:var(--dp-icon-color);background:#0000;border:none;display:inline-flex;align-items:center;padding:0;margin:0}.dp__input_icon_pad{padding-inline-start:var(--dp-input-icon-padding)}.dp__menu{background:var(--dp-background-color);border-radius:var(--dp-border-radius);min-width:var(--dp-menu-min-width);font-family:var(--dp-font-family);font-size:var(--dp-font-size);-webkit-user-select:none;user-select:none;border:1px solid var(--dp-menu-border-color);box-sizing:border-box}.dp__menu:after{box-sizing:border-box}.dp__menu:before{box-sizing:border-box}.dp__menu:focus{border:1px solid var(--dp-menu-border-color);outline:none}.dp--menu-wrapper{position:absolute;z-index:99999}.dp__menu_inner{padding:var(--dp-menu-padding)}.dp--menu--inner-stretched{padding:6px 0}.dp__menu_index{z-index:99999}.dp-menu-loading,.dp__menu_readonly,.dp__menu_disabled{position:absolute;top:0;right:0;bottom:0;left:0;z-index:999999}.dp__menu_disabled{background:#ffffff80;cursor:not-allowed}.dp__menu_readonly{background:#0000;cursor:default}.dp-menu-loading{background:#ffffff80;cursor:default}.dp--menu-load-container{display:flex;height:100%;width:100%;justify-content:center;align-items:center}.dp--menu-loader{width:48px;height:48px;border:var(--dp-loader);border-bottom-color:#0000;border-radius:50%;display:inline-block;box-sizing:border-box;animation:dp-load-rotation 1s linear infinite;position:absolute}@keyframes dp-load-rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dp__arrow_top{left:var(--dp-arrow-left);top:0;height:12px;width:12px;background-color:var(--dp-background-color);position:absolute;border-inline-end:1px solid var(--dp-menu-border-color);border-top:1px solid var(--dp-menu-border-color);transform:translate(-50%,-50%) rotate(-45deg)}.dp__arrow_bottom{left:var(--dp-arrow-left);bottom:0;height:12px;width:12px;background-color:var(--dp-background-color);position:absolute;border-inline-end:1px solid var(--dp-menu-border-color);border-bottom:1px solid var(--dp-menu-border-color);transform:translate(-50%,50%) rotate(45deg)}.dp__action_extra{text-align:center;padding:2px 0}.dp--preset-dates{padding:5px;border-inline-end:1px solid var(--dp-border-color)}@media only screen and (width <= 600px){.dp--preset-dates{display:flex;align-self:center;border:none;overflow-x:auto;max-width:calc(var(--dp-menu-width) - var(--dp-action-row-padding)*2)}}.dp--preset-dates-collapsed{display:flex;align-self:center;border:none;overflow-x:auto;max-width:calc(var(--dp-menu-width) - var(--dp-action-row-padding)*2)}.dp__sidebar_left{padding:5px;border-inline-end:1px solid var(--dp-border-color)}.dp__sidebar_right{padding:5px;margin-inline-end:1px solid var(--dp-border-color)}.dp--preset-range{display:block;width:100%;padding:5px;text-align:left;white-space:nowrap;color:var(--dp-text-color);border-radius:var(--dp-border-radius);transition:var(--dp-common-transition)}.dp--preset-range:hover{background-color:var(--dp-hover-color);color:var(--dp-hover-text-color);cursor:pointer}@media only screen and (width <= 600px){.dp--preset-range{border:1px solid var(--dp-border-color);margin:0 3px}.dp--preset-range:first-child{margin-left:0}.dp--preset-range:last-child{margin-right:0}}.dp--preset-range-collapsed{border:1px solid var(--dp-border-color);margin:0 3px}.dp--preset-range-collapsed:first-child{margin-left:0}.dp--preset-range-collapsed:last-child{margin-right:0}.dp__menu_content_wrapper{display:flex}@media only screen and (width <= 600px){.dp__menu_content_wrapper{flex-direction:column-reverse}}.dp--menu-content-wrapper-collapsed{flex-direction:column-reverse}.dp__calendar_header{position:relative;display:flex;justify-content:center;align-items:center;color:var(--dp-text-color);white-space:nowrap;font-weight:700}.dp__calendar_header_item{text-align:center;flex-grow:1;height:var(--dp-cell-size);padding:var(--dp-cell-padding);width:var(--dp-cell-size);box-sizing:border-box}.dp__calendar_row{display:flex;justify-content:center;align-items:center;margin:var(--dp-row-margin)}.dp__calendar_item{text-align:center;flex-grow:1;box-sizing:border-box;color:var(--dp-text-color)}.dp__calendar{position:relative}.dp__calendar_header_cell{border-bottom:thin solid var(--dp-border-color);padding:var(--dp-calendar-header-cell-padding)}.dp__cell_inner{display:flex;align-items:center;text-align:center;justify-content:center;border-radius:var(--dp-cell-border-radius);height:var(--dp-cell-size);padding:var(--dp-cell-padding);width:var(--dp-cell-size);border:1px solid rgba(0,0,0,0);box-sizing:border-box;position:relative}.dp__cell_inner:hover{transition:all .2s}.dp__cell_auto_range_start,.dp__date_hover_start:hover,.dp__range_start{border-end-end-radius:0;border-start-end-radius:0}.dp__cell_auto_range_end,.dp__date_hover_end:hover,.dp__range_end{border-end-start-radius:0;border-start-start-radius:0}.dp__range_end,.dp__range_start,.dp__active_date{background:var(--dp-primary-color);color:var(--dp-primary-text-color)}.dp__date_hover_end:hover,.dp__date_hover_start:hover,.dp__date_hover:hover{background:var(--dp-hover-color);color:var(--dp-hover-text-color)}.dp__cell_offset{color:var(--dp-secondary-color)}.dp__cell_disabled{color:var(--dp-secondary-color);cursor:not-allowed}.dp__range_between{background:var(--dp-range-between-dates-background-color);color:var(--dp-range-between-dates-text-color);border-radius:0;border:1px solid var(--dp-range-between-border-color)}.dp__range_between_week{background:var(--dp-primary-color);color:var(--dp-primary-text-color);border-radius:0;border-top:1px solid var(--dp-primary-color);border-bottom:1px solid var(--dp-primary-color)}.dp__today{border:1px solid var(--dp-primary-color)}.dp__week_num{color:var(--dp-secondary-color);text-align:center}.dp__cell_auto_range{border-radius:0;border-top:1px dashed var(--dp-primary-color);border-bottom:1px dashed var(--dp-primary-color)}.dp__cell_auto_range_start{border-start-start-radius:var(--dp-cell-border-radius);border-end-start-radius:var(--dp-cell-border-radius);border-inline-start:1px dashed var(--dp-primary-color);border-top:1px dashed var(--dp-primary-color);border-bottom:1px dashed var(--dp-primary-color)}.dp__cell_auto_range_end{border-start-end-radius:var(--dp-cell-border-radius);border-end-end-radius:var(--dp-cell-border-radius);border-top:1px dashed var(--dp-primary-color);border-bottom:1px dashed var(--dp-primary-color);border-inline-end:1px dashed var(--dp-primary-color)}.dp__calendar_header_separator{width:100%;height:1px;background:var(--dp-border-color)}.dp__calendar_next{margin-inline-start:var(--dp-multi-calendars-spacing)}.dp__marker_line,.dp__marker_dot{height:5px;background-color:var(--dp-marker-color);position:absolute;bottom:0}.dp__marker_dot{width:5px;border-radius:50%;left:50%;transform:translate(-50%)}.dp__marker_line{width:100%;left:0}.dp__marker_tooltip{position:absolute;border-radius:var(--dp-border-radius);background-color:var(--dp-tooltip-color);padding:5px;border:1px solid var(--dp-border-color);z-index:99999;box-sizing:border-box;cursor:default}.dp__tooltip_content{white-space:nowrap}.dp__tooltip_text{display:flex;align-items:center;flex-flow:row nowrap;color:var(--dp-text-color)}.dp__tooltip_mark{height:5px;width:5px;border-radius:50%;background-color:var(--dp-text-color);color:var(--dp-text-color);margin-inline-end:5px}.dp__arrow_bottom_tp{bottom:0;height:8px;width:8px;background-color:var(--dp-tooltip-color);position:absolute;border-inline-end:1px solid var(--dp-border-color);border-bottom:1px solid var(--dp-border-color);transform:translate(-50%,50%) rotate(45deg)}.dp__instance_calendar{position:relative;width:100%}@media only screen and (width <= 600px){.dp__flex_display{flex-direction:column}}.dp--flex-display-collapsed{flex-direction:column}.dp__cell_highlight{background-color:var(--dp-highlight-color)}.dp__month_year_row{display:flex;align-items:center;height:var(--dp-month-year-row-height);color:var(--dp-text-color);box-sizing:border-box}.dp__inner_nav{display:flex;align-items:center;justify-content:center;cursor:pointer;height:var(--dp-month-year-row-button-size);width:var(--dp-month-year-row-button-size);color:var(--dp-icon-color);text-align:center;border-radius:50%}.dp__inner_nav svg{height:var(--dp-button-icon-height);width:var(--dp-button-icon-height)}.dp__inner_nav:hover{background:var(--dp-hover-color);color:var(--dp-hover-icon-color)}[dir=rtl] .dp__inner_nav{transform:rotate(180deg)}.dp__inner_nav_disabled:hover,.dp__inner_nav_disabled{background:var(--dp-disabled-color);color:var(--dp-disabled-color-text);cursor:not-allowed}.dp--year-select,.dp__month_year_select{text-align:center;cursor:pointer;height:var(--dp-month-year-row-height);display:flex;align-items:center;justify-content:center;border-radius:var(--dp-border-radius);box-sizing:border-box;color:var(--dp-text-color)}.dp--year-select:hover,.dp__month_year_select:hover{background:var(--dp-hover-color);color:var(--dp-hover-text-color);transition:var(--dp-common-transition)}.dp__month_year_select{width:50%}.dp--year-select{width:100%}.dp__month_year_wrap{display:flex;flex-direction:row;width:100%}.dp__year_disable_select{justify-content:space-around}.dp--header-wrap{display:flex;width:100%;flex-direction:column}.dp__overlay{width:100%;background:var(--dp-background-color);transition:opacity 1s ease-out;z-index:99999;font-family:var(--dp-font-family);color:var(--dp-text-color);box-sizing:border-box}.dp--overlay-absolute{position:absolute;height:100%;top:0;left:0}.dp--overlay-relative{position:relative}.dp__overlay_container::-webkit-scrollbar-track{box-shadow:var(--dp-scroll-bar-background);background-color:var(--dp-scroll-bar-background)}.dp__overlay_container::-webkit-scrollbar{width:5px;background-color:var(--dp-scroll-bar-background)}.dp__overlay_container::-webkit-scrollbar-thumb{background-color:var(--dp-scroll-bar-color);border-radius:10px}.dp__overlay:focus{border:none;outline:none}.dp__container_flex{display:flex}.dp__container_block{display:block}.dp__overlay_container{flex-direction:column;overflow-y:auto;height:var(--dp-overlay-height)}.dp__time_picker_overlay_container{height:100%}.dp__overlay_row{padding:0;box-sizing:border-box;display:flex;margin-inline:auto auto;flex-wrap:wrap;max-width:100%;width:100%;align-items:center}.dp__flex_row{flex:1}.dp__overlay_col{box-sizing:border-box;width:33%;padding:var(--dp-overlay-col-padding);white-space:nowrap}.dp__overlay_cell_pad{padding:var(--dp-common-padding) 0}.dp__overlay_cell_active{cursor:pointer;border-radius:var(--dp-border-radius);text-align:center;background:var(--dp-primary-color);color:var(--dp-primary-text-color)}.dp__overlay_cell{cursor:pointer;border-radius:var(--dp-border-radius);text-align:center}.dp__overlay_cell:hover{background:var(--dp-hover-color);color:var(--dp-hover-text-color);transition:var(--dp-common-transition)}.dp__cell_in_between{background:var(--dp-hover-color);color:var(--dp-hover-text-color)}.dp__over_action_scroll{right:5px;box-sizing:border-box}.dp__overlay_cell_disabled{cursor:not-allowed;background:var(--dp-disabled-color)}.dp__overlay_cell_disabled:hover{background:var(--dp-disabled-color)}.dp__overlay_cell_active_disabled{cursor:not-allowed;background:var(--dp-primary-disabled-color)}.dp__overlay_cell_active_disabled:hover{background:var(--dp-primary-disabled-color)}.dp__btn,.dp--qr-btn,.dp--time-invalid,.dp--time-overlay-btn{border:none;font:inherit;transition:var(--dp-common-transition);line-height:normal}.dp--tp-wrap{max-width:var(--dp-menu-min-width)}.dp__time_input{width:100%;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;font-family:var(--dp-font-family);color:var(--dp-text-color)}.dp__time_col_reg_block{padding:0 20px}.dp__time_col_reg_inline{padding:0 10px}.dp__time_col_reg_with_button{padding:0 15px}.dp__time_col_sec{padding:0 10px}.dp__time_col_sec_with_button{padding:0 5px}.dp__time_col{text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column}.dp__time_col_block{font-size:var(--dp-time-font-size)}.dp__time_display_block{padding:0 3px}.dp__time_display_inline{padding:5px}.dp__time_picker_inline_container{display:flex;width:100%;justify-content:center}.dp__inc_dec_button{padding:5px;margin:0;height:var(--dp-time-inc-dec-button-size);width:var(--dp-time-inc-dec-button-size);display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;color:var(--dp-icon-color);box-sizing:border-box}.dp__inc_dec_button svg{height:var(--dp-time-inc-dec-button-size);width:var(--dp-time-inc-dec-button-size)}.dp__inc_dec_button:hover{background:var(--dp-hover-color);color:var(--dp-primary-color)}.dp__time_display{cursor:pointer;color:var(--dp-text-color);border-radius:var(--dp-border-radius);display:flex;align-items:center;justify-content:center}.dp__time_display:hover:enabled{background:var(--dp-hover-color);color:var(--dp-hover-text-color)}.dp__inc_dec_button_inline{width:100%;padding:0;height:8px;cursor:pointer;display:flex;align-items:center}.dp__inc_dec_button_disabled,.dp__inc_dec_button_disabled:hover{background:var(--dp-disabled-color);color:var(--dp-disabled-color-text);cursor:not-allowed}.dp__pm_am_button{background:var(--dp-primary-color);color:var(--dp-primary-text-color);border:none;padding:var(--dp-common-padding);border-radius:var(--dp-border-radius);cursor:pointer}.dp__tp_inline_btn_bar{width:100%;height:4px;background-color:var(--dp-secondary-color);transition:var(--dp-common-transition);border-collapse:collapse}.dp__tp_inline_btn_top:hover .dp__tp_btn_in_r{background-color:var(--dp-primary-color);transform:rotate(12deg) scale(1.15) translateY(-2px)}.dp__tp_inline_btn_top:hover .dp__tp_btn_in_l,.dp__tp_inline_btn_bottom:hover .dp__tp_btn_in_r{background-color:var(--dp-primary-color);transform:rotate(-12deg) scale(1.15) translateY(-2px)}.dp__tp_inline_btn_bottom:hover .dp__tp_btn_in_l{background-color:var(--dp-primary-color);transform:rotate(12deg) scale(1.15) translateY(-2px)}.dp--time-overlay-btn{background:none}.dp--time-invalid{background-color:var(--dp-disabled-color)}.dp__action_row{display:flex;align-items:center;width:100%;padding:var(--dp-action-row-padding);box-sizing:border-box;color:var(--dp-text-color);flex-flow:row nowrap}.dp__action_row svg{height:var(--dp-button-icon-height);width:auto}.dp__selection_preview{display:block;color:var(--dp-text-color);font-size:var(--dp-preview-font-size);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dp__action_buttons{display:flex;flex:0;white-space:nowrap;align-items:center;justify-content:flex-end;margin-inline-start:auto}.dp__action_button{display:inline-flex;align-items:center;background:#0000;border:1px solid rgba(0,0,0,0);padding:var(--dp-action-buttons-padding);line-height:var(--dp-action-button-height);margin-inline-start:3px;height:var(--dp-action-button-height);cursor:pointer;border-radius:var(--dp-border-radius);font-size:var(--dp-preview-font-size);font-family:var(--dp-font-family)}.dp__action_cancel{color:var(--dp-text-color);border:1px solid var(--dp-border-color)}.dp__action_cancel:hover{border-color:var(--dp-primary-color);transition:var(--dp-action-row-transtion)}.dp__action_buttons .dp__action_select{background:var(--dp-primary-color);color:var(--dp-primary-text-color)}.dp__action_buttons .dp__action_select:hover{background:var(--dp-primary-color);transition:var(--dp-action-row-transtion)}.dp__action_buttons .dp__action_select:disabled{background:var(--dp-primary-disabled-color);cursor:not-allowed}.dp-quarter-picker-wrap{display:flex;flex-direction:column;height:100%;min-width:var(--dp-menu-min-width)}.dp--qr-btn-disabled{cursor:not-allowed;background:var(--dp-disabled-color)}.dp--qr-btn-disabled:hover{background:var(--dp-disabled-color)}.dp--qr-btn{width:100%;padding:var(--dp-common-padding)}.dp--qr-btn:not(.dp--highlighted,.dp--qr-btn-active,.dp--qr-btn-disabled,.dp--qr-btn-between){background:none}.dp--qr-btn:hover:not(.dp--qr-btn-active,.dp--qr-btn-disabled){background:var(--dp-hover-color);color:var(--dp-hover-text-color);transition:var(--dp-common-transition)}.dp--quarter-items{display:flex;flex-direction:column;flex:1;width:100%;height:100%;justify-content:space-evenly}.dp--qr-btn-active{background:var(--dp-primary-color);color:var(--dp-primary-text-color)}.dp--qr-btn-between{background:var(--dp-hover-color);color:var(--dp-hover-text-color)}.dp__btn,.dp--time-overlay-btn,.dp--time-invalid,.dp--qr-btn{border:none;font:inherit;transition:var(--dp-common-transition);line-height:normal}.dp--year-mode-picker{display:flex;width:100%;align-items:center;justify-content:space-between;height:var(--dp-cell-size)}:root{--dp-common-transition: all .1s ease-in;--dp-menu-padding: 6px 8px;--dp-animation-duration: .1s;--dp-menu-appear-transition-timing: cubic-bezier(.4, 0, 1, 1);--dp-transition-timing: ease-out;--dp-action-row-transtion: all .2s ease-in;--dp-font-family: -apple-system, blinkmacsystemfont, "Segoe UI", roboto, oxygen, ubuntu, cantarell, "Open Sans", "Helvetica Neue", sans-serif;--dp-border-radius: 4px;--dp-cell-border-radius: 4px;--dp-transition-length: 22px;--dp-transition-timing-general: .1s;--dp-button-height: 35px;--dp-month-year-row-height: 35px;--dp-month-year-row-button-size: 25px;--dp-button-icon-height: 20px;--dp-calendar-wrap-padding: 0 5px;--dp-cell-size: 35px;--dp-cell-padding: 5px;--dp-common-padding: 10px;--dp-input-icon-padding: 35px;--dp-input-padding: 6px 30px 6px 12px;--dp-menu-min-width: 260px;--dp-action-buttons-padding: 1px 6px;--dp-row-margin: 5px 0;--dp-calendar-header-cell-padding: .5rem;--dp-multi-calendars-spacing: 10px;--dp-overlay-col-padding: 3px;--dp-time-inc-dec-button-size: 32px;--dp-font-size: 1rem;--dp-preview-font-size: .8rem;--dp-time-font-size: 2rem;--dp-action-button-height: 22px;--dp-action-row-padding: 8px;--dp-direction: ltr}.dp__theme_dark{--dp-background-color: #212121;--dp-text-color: #fff;--dp-hover-color: #484848;--dp-hover-text-color: #fff;--dp-hover-icon-color: #959595;--dp-primary-color: #005cb2;--dp-primary-disabled-color: #61a8ea;--dp-primary-text-color: #fff;--dp-secondary-color: #a9a9a9;--dp-border-color: #2d2d2d;--dp-menu-border-color: #2d2d2d;--dp-border-color-hover: #aaaeb7;--dp-border-color-focus: #aaaeb7;--dp-disabled-color: #737373;--dp-disabled-color-text: #d0d0d0;--dp-scroll-bar-background: #212121;--dp-scroll-bar-color: #484848;--dp-success-color: #00701a;--dp-success-color-disabled: #428f59;--dp-icon-color: #959595;--dp-danger-color: #e53935;--dp-marker-color: #e53935;--dp-tooltip-color: #3e3e3e;--dp-highlight-color: rgb(0 92 178 / 20%);--dp-range-between-dates-background-color: var(--dp-hover-color, #484848);--dp-range-between-dates-text-color: var(--dp-hover-text-color, #fff);--dp-range-between-border-color: var(--dp-hover-color, #fff);--dp-loader: 5px solid #005cb2}.dp__theme_light{--dp-background-color: #fff;--dp-text-color: #212121;--dp-hover-color: #f3f3f3;--dp-hover-text-color: #212121;--dp-hover-icon-color: #959595;--dp-primary-color: #1976d2;--dp-primary-disabled-color: #6bacea;--dp-primary-text-color: #fff;--dp-secondary-color: #c0c4cc;--dp-border-color: #ddd;--dp-menu-border-color: #ddd;--dp-border-color-hover: #aaaeb7;--dp-border-color-focus: #aaaeb7;--dp-disabled-color: #f6f6f6;--dp-scroll-bar-background: #f3f3f3;--dp-scroll-bar-color: #959595;--dp-success-color: #76d275;--dp-success-color-disabled: #a3d9b1;--dp-icon-color: #959595;--dp-danger-color: #ff6f60;--dp-marker-color: #ff6f60;--dp-tooltip-color: #fafafa;--dp-disabled-color-text: #8e8e8e;--dp-highlight-color: rgb(25 118 210 / 10%);--dp-range-between-dates-background-color: var(--dp-hover-color, #f3f3f3);--dp-range-between-dates-text-color: var(--dp-hover-text-color, #212121);--dp-range-between-border-color: var(--dp-hover-color, #f3f3f3);--dp-loader: 5px solid #1976d2}.dp__flex{display:flex;align-items:center}.dp__btn{background:none}.dp__main{font-family:var(--dp-font-family);-webkit-user-select:none;user-select:none;box-sizing:border-box;position:relative;width:100%}.dp__main *{direction:var(--dp-direction, ltr)}.dp__pointer{cursor:pointer}.dp__icon{stroke:currentcolor;fill:currentcolor}.dp__button{width:100%;text-align:center;color:var(--dp-icon-color);cursor:pointer;display:flex;align-items:center;place-content:center center;padding:var(--dp-common-padding);box-sizing:border-box;height:var(--dp-button-height)}.dp__button.dp__overlay_action{position:absolute;bottom:0}.dp__button:hover{background:var(--dp-hover-color);color:var(--dp-hover-icon-color)}.dp__button svg{height:var(--dp-button-icon-height);width:auto}.dp__button_bottom{border-bottom-left-radius:var(--dp-border-radius);border-bottom-right-radius:var(--dp-border-radius)}.dp__flex_display{display:flex}.dp__flex_display_with_input{flex-direction:column;align-items:flex-start}.dp__relative{position:relative}.calendar-next-enter-active,.calendar-next-leave-active,.calendar-prev-enter-active,.calendar-prev-leave-active{transition:all var(--dp-transition-timing-general) ease-out}.calendar-next-enter-from{opacity:0;transform:translate(var(--dp-transition-length))}.calendar-next-leave-to,.calendar-prev-enter-from{opacity:0;transform:translate(calc(var(--dp-transition-length) * -1))}.calendar-prev-leave-to{opacity:0;transform:translate(var(--dp-transition-length))}.dp-menu-appear-bottom-enter-active,.dp-menu-appear-bottom-leave-active,.dp-menu-appear-top-enter-active,.dp-menu-appear-top-leave-active,.dp-slide-up-enter-active,.dp-slide-up-leave-active,.dp-slide-down-enter-active,.dp-slide-down-leave-active{transition:all var(--dp-animation-duration) var(--dp-transition-timing)}.dp-menu-appear-top-enter-from,.dp-menu-appear-top-leave-to,.dp-slide-down-leave-to,.dp-slide-up-enter-from{opacity:0;transform:translateY(var(--dp-transition-length))}.dp-menu-appear-bottom-enter-from,.dp-menu-appear-bottom-leave-to,.dp-slide-down-enter-from,.dp-slide-up-leave-to{opacity:0;transform:translateY(calc(var(--dp-transition-length) * -1))}.dp--arrow-btn-nav{transition:var(--dp-common-transition)}.dp--highlighted{background-color:var(--dp-highlight-color)}.dp--hidden-el{visibility:hidden}@media screen and (max-width: 768px){.navbar-container[data-v-a0b378dd]{position:absolute;z-index:1000;animation-duration:.4s;animation-fill-mode:both;display:none;animation-timing-function:cubic-bezier(.82,.58,.17,.9)}.navbar-container.active[data-v-a0b378dd]{animation-direction:normal;display:block!important;animation-name:zoomInFade-a0b378dd}}@keyframes zoomInFade-a0b378dd{0%{opacity:0;transform:translateY(60px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0px)}}.messageCentre[data-v-b776d181]{top:calc(50px + 1rem);right:1rem}.dot.inactive[data-v-03a1c13c]{background-color:#dc3545;box-shadow:0 0 0 .2rem #dc354545}.spin[data-v-03a1c13c]{animation:spin-03a1c13c 1s infinite cubic-bezier(.82,.58,.17,.9)}@keyframes spin-03a1c13c{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media screen and (max-width: 768px){.remoteServerContainer[data-v-03a1c13c]{flex-direction:column}.remoteServerContainer .button-group button[data-v-03a1c13c]{width:100%}}@media screen and (max-width: 768px){.login-box[data-v-e351e82c]{width:100%!important}.login-box div[data-v-e351e82c]{width:auto!important}}@media screen and (max-width: 768px){.configurationListTitle[data-v-bff52ca5]{flex-direction:column;gap:.5rem}.configurationListTitle[data-v-bff52ca5] h3 span[data-v-bff52ca5]{margin-left:auto!important}.configurationListTitle[data-v-bff52ca5] .btn[data-v-bff52ca5]{width:100%}}@media screen and (max-width: 992px){.apiKey-card-body[data-v-0cc2f367]{flex-direction:column!important;align-items:start!important}.apiKey-card-body[data-v-0cc2f367] div.ms-auto[data-v-0cc2f367]{margin-left:0!important}.apiKey-card-body[data-v-0cc2f367] div[data-v-0cc2f367]{width:100%;align-items:start!important}.apiKey-card-body[data-v-0cc2f367] small[data-v-0cc2f367]{margin-right:auto}}.apiKey-move[data-v-45b66fb8],.apiKey-enter-active[data-v-45b66fb8],.apiKey-leave-active[data-v-45b66fb8]{transition:all .5s ease}.apiKey-enter-from[data-v-45b66fb8],.apiKey-leave-to[data-v-45b66fb8]{opacity:0;transform:translateY(30px) scale(.9)}.apiKey-leave-active[data-v-45b66fb8]{position:absolute;width:100%}.animation__fadeInDropdown[data-v-f3ba2ec5]{animation-name:fadeInDropdown-f3ba2ec5;animation-duration:.2s;animation-timing-function:cubic-bezier(.82,.58,.17,.9)}@keyframes fadeInDropdown-f3ba2ec5{0%{opacity:0;filter:blur(3px);transform:translateY(-60px)}to{opacity:1;filter:blur(0px);transform:translateY(-40px)}}.displayModal .dashboardModal[data-v-f3ba2ec5]{width:400px!important}@media screen and (max-width: 768px){.peerSearchContainer[data-v-f3ba2ec5]{flex-direction:column}.peerSettingContainer .dashboardModal[data-v-f3ba2ec5]{width:100%!important}}/*! +*/@font-face{font-display:block;font-family:bootstrap-icons;src:url(/static/app/dist/assets/bootstrap-icons.woff2?dd67030699838ea613ee6dbda90effa6) format("woff2"),url(/static/app/dist/assets/bootstrap-icons.woff?dd67030699838ea613ee6dbda90effa6) format("woff")}.bi:before,[class^=bi-]:before,[class*=" bi-"]:before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bi-123:before{content:""}.bi-alarm-fill:before{content:""}.bi-alarm:before{content:""}.bi-align-bottom:before{content:""}.bi-align-center:before{content:""}.bi-align-end:before{content:""}.bi-align-middle:before{content:""}.bi-align-start:before{content:""}.bi-align-top:before{content:""}.bi-alt:before{content:""}.bi-app-indicator:before{content:""}.bi-app:before{content:""}.bi-archive-fill:before{content:""}.bi-archive:before{content:""}.bi-arrow-90deg-down:before{content:""}.bi-arrow-90deg-left:before{content:""}.bi-arrow-90deg-right:before{content:""}.bi-arrow-90deg-up:before{content:""}.bi-arrow-bar-down:before{content:""}.bi-arrow-bar-left:before{content:""}.bi-arrow-bar-right:before{content:""}.bi-arrow-bar-up:before{content:""}.bi-arrow-clockwise:before{content:""}.bi-arrow-counterclockwise:before{content:""}.bi-arrow-down-circle-fill:before{content:""}.bi-arrow-down-circle:before{content:""}.bi-arrow-down-left-circle-fill:before{content:""}.bi-arrow-down-left-circle:before{content:""}.bi-arrow-down-left-square-fill:before{content:""}.bi-arrow-down-left-square:before{content:""}.bi-arrow-down-left:before{content:""}.bi-arrow-down-right-circle-fill:before{content:""}.bi-arrow-down-right-circle:before{content:""}.bi-arrow-down-right-square-fill:before{content:""}.bi-arrow-down-right-square:before{content:""}.bi-arrow-down-right:before{content:""}.bi-arrow-down-short:before{content:""}.bi-arrow-down-square-fill:before{content:""}.bi-arrow-down-square:before{content:""}.bi-arrow-down-up:before{content:""}.bi-arrow-down:before{content:""}.bi-arrow-left-circle-fill:before{content:""}.bi-arrow-left-circle:before{content:""}.bi-arrow-left-right:before{content:""}.bi-arrow-left-short:before{content:""}.bi-arrow-left-square-fill:before{content:""}.bi-arrow-left-square:before{content:""}.bi-arrow-left:before{content:""}.bi-arrow-repeat:before{content:""}.bi-arrow-return-left:before{content:""}.bi-arrow-return-right:before{content:""}.bi-arrow-right-circle-fill:before{content:""}.bi-arrow-right-circle:before{content:""}.bi-arrow-right-short:before{content:""}.bi-arrow-right-square-fill:before{content:""}.bi-arrow-right-square:before{content:""}.bi-arrow-right:before{content:""}.bi-arrow-up-circle-fill:before{content:""}.bi-arrow-up-circle:before{content:""}.bi-arrow-up-left-circle-fill:before{content:""}.bi-arrow-up-left-circle:before{content:""}.bi-arrow-up-left-square-fill:before{content:""}.bi-arrow-up-left-square:before{content:""}.bi-arrow-up-left:before{content:""}.bi-arrow-up-right-circle-fill:before{content:""}.bi-arrow-up-right-circle:before{content:""}.bi-arrow-up-right-square-fill:before{content:""}.bi-arrow-up-right-square:before{content:""}.bi-arrow-up-right:before{content:""}.bi-arrow-up-short:before{content:""}.bi-arrow-up-square-fill:before{content:""}.bi-arrow-up-square:before{content:""}.bi-arrow-up:before{content:""}.bi-arrows-angle-contract:before{content:""}.bi-arrows-angle-expand:before{content:""}.bi-arrows-collapse:before{content:""}.bi-arrows-expand:before{content:""}.bi-arrows-fullscreen:before{content:""}.bi-arrows-move:before{content:""}.bi-aspect-ratio-fill:before{content:""}.bi-aspect-ratio:before{content:""}.bi-asterisk:before{content:""}.bi-at:before{content:""}.bi-award-fill:before{content:""}.bi-award:before{content:""}.bi-back:before{content:""}.bi-backspace-fill:before{content:""}.bi-backspace-reverse-fill:before{content:""}.bi-backspace-reverse:before{content:""}.bi-backspace:before{content:""}.bi-badge-3d-fill:before{content:""}.bi-badge-3d:before{content:""}.bi-badge-4k-fill:before{content:""}.bi-badge-4k:before{content:""}.bi-badge-8k-fill:before{content:""}.bi-badge-8k:before{content:""}.bi-badge-ad-fill:before{content:""}.bi-badge-ad:before{content:""}.bi-badge-ar-fill:before{content:""}.bi-badge-ar:before{content:""}.bi-badge-cc-fill:before{content:""}.bi-badge-cc:before{content:""}.bi-badge-hd-fill:before{content:""}.bi-badge-hd:before{content:""}.bi-badge-tm-fill:before{content:""}.bi-badge-tm:before{content:""}.bi-badge-vo-fill:before{content:""}.bi-badge-vo:before{content:""}.bi-badge-vr-fill:before{content:""}.bi-badge-vr:before{content:""}.bi-badge-wc-fill:before{content:""}.bi-badge-wc:before{content:""}.bi-bag-check-fill:before{content:""}.bi-bag-check:before{content:""}.bi-bag-dash-fill:before{content:""}.bi-bag-dash:before{content:""}.bi-bag-fill:before{content:""}.bi-bag-plus-fill:before{content:""}.bi-bag-plus:before{content:""}.bi-bag-x-fill:before{content:""}.bi-bag-x:before{content:""}.bi-bag:before{content:""}.bi-bar-chart-fill:before{content:""}.bi-bar-chart-line-fill:before{content:""}.bi-bar-chart-line:before{content:""}.bi-bar-chart-steps:before{content:""}.bi-bar-chart:before{content:""}.bi-basket-fill:before{content:""}.bi-basket:before{content:""}.bi-basket2-fill:before{content:""}.bi-basket2:before{content:""}.bi-basket3-fill:before{content:""}.bi-basket3:before{content:""}.bi-battery-charging:before{content:""}.bi-battery-full:before{content:""}.bi-battery-half:before{content:""}.bi-battery:before{content:""}.bi-bell-fill:before{content:""}.bi-bell:before{content:""}.bi-bezier:before{content:""}.bi-bezier2:before{content:""}.bi-bicycle:before{content:""}.bi-binoculars-fill:before{content:""}.bi-binoculars:before{content:""}.bi-blockquote-left:before{content:""}.bi-blockquote-right:before{content:""}.bi-book-fill:before{content:""}.bi-book-half:before{content:""}.bi-book:before{content:""}.bi-bookmark-check-fill:before{content:""}.bi-bookmark-check:before{content:""}.bi-bookmark-dash-fill:before{content:""}.bi-bookmark-dash:before{content:""}.bi-bookmark-fill:before{content:""}.bi-bookmark-heart-fill:before{content:""}.bi-bookmark-heart:before{content:""}.bi-bookmark-plus-fill:before{content:""}.bi-bookmark-plus:before{content:""}.bi-bookmark-star-fill:before{content:""}.bi-bookmark-star:before{content:""}.bi-bookmark-x-fill:before{content:""}.bi-bookmark-x:before{content:""}.bi-bookmark:before{content:""}.bi-bookmarks-fill:before{content:""}.bi-bookmarks:before{content:""}.bi-bookshelf:before{content:""}.bi-bootstrap-fill:before{content:""}.bi-bootstrap-reboot:before{content:""}.bi-bootstrap:before{content:""}.bi-border-all:before{content:""}.bi-border-bottom:before{content:""}.bi-border-center:before{content:""}.bi-border-inner:before{content:""}.bi-border-left:before{content:""}.bi-border-middle:before{content:""}.bi-border-outer:before{content:""}.bi-border-right:before{content:""}.bi-border-style:before{content:""}.bi-border-top:before{content:""}.bi-border-width:before{content:""}.bi-border:before{content:""}.bi-bounding-box-circles:before{content:""}.bi-bounding-box:before{content:""}.bi-box-arrow-down-left:before{content:""}.bi-box-arrow-down-right:before{content:""}.bi-box-arrow-down:before{content:""}.bi-box-arrow-in-down-left:before{content:""}.bi-box-arrow-in-down-right:before{content:""}.bi-box-arrow-in-down:before{content:""}.bi-box-arrow-in-left:before{content:""}.bi-box-arrow-in-right:before{content:""}.bi-box-arrow-in-up-left:before{content:""}.bi-box-arrow-in-up-right:before{content:""}.bi-box-arrow-in-up:before{content:""}.bi-box-arrow-left:before{content:""}.bi-box-arrow-right:before{content:""}.bi-box-arrow-up-left:before{content:""}.bi-box-arrow-up-right:before{content:""}.bi-box-arrow-up:before{content:""}.bi-box-seam:before{content:""}.bi-box:before{content:""}.bi-braces:before{content:""}.bi-bricks:before{content:""}.bi-briefcase-fill:before{content:""}.bi-briefcase:before{content:""}.bi-brightness-alt-high-fill:before{content:""}.bi-brightness-alt-high:before{content:""}.bi-brightness-alt-low-fill:before{content:""}.bi-brightness-alt-low:before{content:""}.bi-brightness-high-fill:before{content:""}.bi-brightness-high:before{content:""}.bi-brightness-low-fill:before{content:""}.bi-brightness-low:before{content:""}.bi-broadcast-pin:before{content:""}.bi-broadcast:before{content:""}.bi-brush-fill:before{content:""}.bi-brush:before{content:""}.bi-bucket-fill:before{content:""}.bi-bucket:before{content:""}.bi-bug-fill:before{content:""}.bi-bug:before{content:""}.bi-building:before{content:""}.bi-bullseye:before{content:""}.bi-calculator-fill:before{content:""}.bi-calculator:before{content:""}.bi-calendar-check-fill:before{content:""}.bi-calendar-check:before{content:""}.bi-calendar-date-fill:before{content:""}.bi-calendar-date:before{content:""}.bi-calendar-day-fill:before{content:""}.bi-calendar-day:before{content:""}.bi-calendar-event-fill:before{content:""}.bi-calendar-event:before{content:""}.bi-calendar-fill:before{content:""}.bi-calendar-minus-fill:before{content:""}.bi-calendar-minus:before{content:""}.bi-calendar-month-fill:before{content:""}.bi-calendar-month:before{content:""}.bi-calendar-plus-fill:before{content:""}.bi-calendar-plus:before{content:""}.bi-calendar-range-fill:before{content:""}.bi-calendar-range:before{content:""}.bi-calendar-week-fill:before{content:""}.bi-calendar-week:before{content:""}.bi-calendar-x-fill:before{content:""}.bi-calendar-x:before{content:""}.bi-calendar:before{content:""}.bi-calendar2-check-fill:before{content:""}.bi-calendar2-check:before{content:""}.bi-calendar2-date-fill:before{content:""}.bi-calendar2-date:before{content:""}.bi-calendar2-day-fill:before{content:""}.bi-calendar2-day:before{content:""}.bi-calendar2-event-fill:before{content:""}.bi-calendar2-event:before{content:""}.bi-calendar2-fill:before{content:""}.bi-calendar2-minus-fill:before{content:""}.bi-calendar2-minus:before{content:""}.bi-calendar2-month-fill:before{content:""}.bi-calendar2-month:before{content:""}.bi-calendar2-plus-fill:before{content:""}.bi-calendar2-plus:before{content:""}.bi-calendar2-range-fill:before{content:""}.bi-calendar2-range:before{content:""}.bi-calendar2-week-fill:before{content:""}.bi-calendar2-week:before{content:""}.bi-calendar2-x-fill:before{content:""}.bi-calendar2-x:before{content:""}.bi-calendar2:before{content:""}.bi-calendar3-event-fill:before{content:""}.bi-calendar3-event:before{content:""}.bi-calendar3-fill:before{content:""}.bi-calendar3-range-fill:before{content:""}.bi-calendar3-range:before{content:""}.bi-calendar3-week-fill:before{content:""}.bi-calendar3-week:before{content:""}.bi-calendar3:before{content:""}.bi-calendar4-event:before{content:""}.bi-calendar4-range:before{content:""}.bi-calendar4-week:before{content:""}.bi-calendar4:before{content:""}.bi-camera-fill:before{content:""}.bi-camera-reels-fill:before{content:""}.bi-camera-reels:before{content:""}.bi-camera-video-fill:before{content:""}.bi-camera-video-off-fill:before{content:""}.bi-camera-video-off:before{content:""}.bi-camera-video:before{content:""}.bi-camera:before{content:""}.bi-camera2:before{content:""}.bi-capslock-fill:before{content:""}.bi-capslock:before{content:""}.bi-card-checklist:before{content:""}.bi-card-heading:before{content:""}.bi-card-image:before{content:""}.bi-card-list:before{content:""}.bi-card-text:before{content:""}.bi-caret-down-fill:before{content:""}.bi-caret-down-square-fill:before{content:""}.bi-caret-down-square:before{content:""}.bi-caret-down:before{content:""}.bi-caret-left-fill:before{content:""}.bi-caret-left-square-fill:before{content:""}.bi-caret-left-square:before{content:""}.bi-caret-left:before{content:""}.bi-caret-right-fill:before{content:""}.bi-caret-right-square-fill:before{content:""}.bi-caret-right-square:before{content:""}.bi-caret-right:before{content:""}.bi-caret-up-fill:before{content:""}.bi-caret-up-square-fill:before{content:""}.bi-caret-up-square:before{content:""}.bi-caret-up:before{content:""}.bi-cart-check-fill:before{content:""}.bi-cart-check:before{content:""}.bi-cart-dash-fill:before{content:""}.bi-cart-dash:before{content:""}.bi-cart-fill:before{content:""}.bi-cart-plus-fill:before{content:""}.bi-cart-plus:before{content:""}.bi-cart-x-fill:before{content:""}.bi-cart-x:before{content:""}.bi-cart:before{content:""}.bi-cart2:before{content:""}.bi-cart3:before{content:""}.bi-cart4:before{content:""}.bi-cash-stack:before{content:""}.bi-cash:before{content:""}.bi-cast:before{content:""}.bi-chat-dots-fill:before{content:""}.bi-chat-dots:before{content:""}.bi-chat-fill:before{content:""}.bi-chat-left-dots-fill:before{content:""}.bi-chat-left-dots:before{content:""}.bi-chat-left-fill:before{content:""}.bi-chat-left-quote-fill:before{content:""}.bi-chat-left-quote:before{content:""}.bi-chat-left-text-fill:before{content:""}.bi-chat-left-text:before{content:""}.bi-chat-left:before{content:""}.bi-chat-quote-fill:before{content:""}.bi-chat-quote:before{content:""}.bi-chat-right-dots-fill:before{content:""}.bi-chat-right-dots:before{content:""}.bi-chat-right-fill:before{content:""}.bi-chat-right-quote-fill:before{content:""}.bi-chat-right-quote:before{content:""}.bi-chat-right-text-fill:before{content:""}.bi-chat-right-text:before{content:""}.bi-chat-right:before{content:""}.bi-chat-square-dots-fill:before{content:""}.bi-chat-square-dots:before{content:""}.bi-chat-square-fill:before{content:""}.bi-chat-square-quote-fill:before{content:""}.bi-chat-square-quote:before{content:""}.bi-chat-square-text-fill:before{content:""}.bi-chat-square-text:before{content:""}.bi-chat-square:before{content:""}.bi-chat-text-fill:before{content:""}.bi-chat-text:before{content:""}.bi-chat:before{content:""}.bi-check-all:before{content:""}.bi-check-circle-fill:before{content:""}.bi-check-circle:before{content:""}.bi-check-square-fill:before{content:""}.bi-check-square:before{content:""}.bi-check:before{content:""}.bi-check2-all:before{content:""}.bi-check2-circle:before{content:""}.bi-check2-square:before{content:""}.bi-check2:before{content:""}.bi-chevron-bar-contract:before{content:""}.bi-chevron-bar-down:before{content:""}.bi-chevron-bar-expand:before{content:""}.bi-chevron-bar-left:before{content:""}.bi-chevron-bar-right:before{content:""}.bi-chevron-bar-up:before{content:""}.bi-chevron-compact-down:before{content:""}.bi-chevron-compact-left:before{content:""}.bi-chevron-compact-right:before{content:""}.bi-chevron-compact-up:before{content:""}.bi-chevron-contract:before{content:""}.bi-chevron-double-down:before{content:""}.bi-chevron-double-left:before{content:""}.bi-chevron-double-right:before{content:""}.bi-chevron-double-up:before{content:""}.bi-chevron-down:before{content:""}.bi-chevron-expand:before{content:""}.bi-chevron-left:before{content:""}.bi-chevron-right:before{content:""}.bi-chevron-up:before{content:""}.bi-circle-fill:before{content:""}.bi-circle-half:before{content:""}.bi-circle-square:before{content:""}.bi-circle:before{content:""}.bi-clipboard-check:before{content:""}.bi-clipboard-data:before{content:""}.bi-clipboard-minus:before{content:""}.bi-clipboard-plus:before{content:""}.bi-clipboard-x:before{content:""}.bi-clipboard:before{content:""}.bi-clock-fill:before{content:""}.bi-clock-history:before{content:""}.bi-clock:before{content:""}.bi-cloud-arrow-down-fill:before{content:""}.bi-cloud-arrow-down:before{content:""}.bi-cloud-arrow-up-fill:before{content:""}.bi-cloud-arrow-up:before{content:""}.bi-cloud-check-fill:before{content:""}.bi-cloud-check:before{content:""}.bi-cloud-download-fill:before{content:""}.bi-cloud-download:before{content:""}.bi-cloud-drizzle-fill:before{content:""}.bi-cloud-drizzle:before{content:""}.bi-cloud-fill:before{content:""}.bi-cloud-fog-fill:before{content:""}.bi-cloud-fog:before{content:""}.bi-cloud-fog2-fill:before{content:""}.bi-cloud-fog2:before{content:""}.bi-cloud-hail-fill:before{content:""}.bi-cloud-hail:before{content:""}.bi-cloud-haze-fill:before{content:""}.bi-cloud-haze:before{content:""}.bi-cloud-haze2-fill:before{content:""}.bi-cloud-lightning-fill:before{content:""}.bi-cloud-lightning-rain-fill:before{content:""}.bi-cloud-lightning-rain:before{content:""}.bi-cloud-lightning:before{content:""}.bi-cloud-minus-fill:before{content:""}.bi-cloud-minus:before{content:""}.bi-cloud-moon-fill:before{content:""}.bi-cloud-moon:before{content:""}.bi-cloud-plus-fill:before{content:""}.bi-cloud-plus:before{content:""}.bi-cloud-rain-fill:before{content:""}.bi-cloud-rain-heavy-fill:before{content:""}.bi-cloud-rain-heavy:before{content:""}.bi-cloud-rain:before{content:""}.bi-cloud-slash-fill:before{content:""}.bi-cloud-slash:before{content:""}.bi-cloud-sleet-fill:before{content:""}.bi-cloud-sleet:before{content:""}.bi-cloud-snow-fill:before{content:""}.bi-cloud-snow:before{content:""}.bi-cloud-sun-fill:before{content:""}.bi-cloud-sun:before{content:""}.bi-cloud-upload-fill:before{content:""}.bi-cloud-upload:before{content:""}.bi-cloud:before{content:""}.bi-clouds-fill:before{content:""}.bi-clouds:before{content:""}.bi-cloudy-fill:before{content:""}.bi-cloudy:before{content:""}.bi-code-slash:before{content:""}.bi-code-square:before{content:""}.bi-code:before{content:""}.bi-collection-fill:before{content:""}.bi-collection-play-fill:before{content:""}.bi-collection-play:before{content:""}.bi-collection:before{content:""}.bi-columns-gap:before{content:""}.bi-columns:before{content:""}.bi-command:before{content:""}.bi-compass-fill:before{content:""}.bi-compass:before{content:""}.bi-cone-striped:before{content:""}.bi-cone:before{content:""}.bi-controller:before{content:""}.bi-cpu-fill:before{content:""}.bi-cpu:before{content:""}.bi-credit-card-2-back-fill:before{content:""}.bi-credit-card-2-back:before{content:""}.bi-credit-card-2-front-fill:before{content:""}.bi-credit-card-2-front:before{content:""}.bi-credit-card-fill:before{content:""}.bi-credit-card:before{content:""}.bi-crop:before{content:""}.bi-cup-fill:before{content:""}.bi-cup-straw:before{content:""}.bi-cup:before{content:""}.bi-cursor-fill:before{content:""}.bi-cursor-text:before{content:""}.bi-cursor:before{content:""}.bi-dash-circle-dotted:before{content:""}.bi-dash-circle-fill:before{content:""}.bi-dash-circle:before{content:""}.bi-dash-square-dotted:before{content:""}.bi-dash-square-fill:before{content:""}.bi-dash-square:before{content:""}.bi-dash:before{content:""}.bi-diagram-2-fill:before{content:""}.bi-diagram-2:before{content:""}.bi-diagram-3-fill:before{content:""}.bi-diagram-3:before{content:""}.bi-diamond-fill:before{content:""}.bi-diamond-half:before{content:""}.bi-diamond:before{content:""}.bi-dice-1-fill:before{content:""}.bi-dice-1:before{content:""}.bi-dice-2-fill:before{content:""}.bi-dice-2:before{content:""}.bi-dice-3-fill:before{content:""}.bi-dice-3:before{content:""}.bi-dice-4-fill:before{content:""}.bi-dice-4:before{content:""}.bi-dice-5-fill:before{content:""}.bi-dice-5:before{content:""}.bi-dice-6-fill:before{content:""}.bi-dice-6:before{content:""}.bi-disc-fill:before{content:""}.bi-disc:before{content:""}.bi-discord:before{content:""}.bi-display-fill:before{content:""}.bi-display:before{content:""}.bi-distribute-horizontal:before{content:""}.bi-distribute-vertical:before{content:""}.bi-door-closed-fill:before{content:""}.bi-door-closed:before{content:""}.bi-door-open-fill:before{content:""}.bi-door-open:before{content:""}.bi-dot:before{content:""}.bi-download:before{content:""}.bi-droplet-fill:before{content:""}.bi-droplet-half:before{content:""}.bi-droplet:before{content:""}.bi-earbuds:before{content:""}.bi-easel-fill:before{content:""}.bi-easel:before{content:""}.bi-egg-fill:before{content:""}.bi-egg-fried:before{content:""}.bi-egg:before{content:""}.bi-eject-fill:before{content:""}.bi-eject:before{content:""}.bi-emoji-angry-fill:before{content:""}.bi-emoji-angry:before{content:""}.bi-emoji-dizzy-fill:before{content:""}.bi-emoji-dizzy:before{content:""}.bi-emoji-expressionless-fill:before{content:""}.bi-emoji-expressionless:before{content:""}.bi-emoji-frown-fill:before{content:""}.bi-emoji-frown:before{content:""}.bi-emoji-heart-eyes-fill:before{content:""}.bi-emoji-heart-eyes:before{content:""}.bi-emoji-laughing-fill:before{content:""}.bi-emoji-laughing:before{content:""}.bi-emoji-neutral-fill:before{content:""}.bi-emoji-neutral:before{content:""}.bi-emoji-smile-fill:before{content:""}.bi-emoji-smile-upside-down-fill:before{content:""}.bi-emoji-smile-upside-down:before{content:""}.bi-emoji-smile:before{content:""}.bi-emoji-sunglasses-fill:before{content:""}.bi-emoji-sunglasses:before{content:""}.bi-emoji-wink-fill:before{content:""}.bi-emoji-wink:before{content:""}.bi-envelope-fill:before{content:""}.bi-envelope-open-fill:before{content:""}.bi-envelope-open:before{content:""}.bi-envelope:before{content:""}.bi-eraser-fill:before{content:""}.bi-eraser:before{content:""}.bi-exclamation-circle-fill:before{content:""}.bi-exclamation-circle:before{content:""}.bi-exclamation-diamond-fill:before{content:""}.bi-exclamation-diamond:before{content:""}.bi-exclamation-octagon-fill:before{content:""}.bi-exclamation-octagon:before{content:""}.bi-exclamation-square-fill:before{content:""}.bi-exclamation-square:before{content:""}.bi-exclamation-triangle-fill:before{content:""}.bi-exclamation-triangle:before{content:""}.bi-exclamation:before{content:""}.bi-exclude:before{content:""}.bi-eye-fill:before{content:""}.bi-eye-slash-fill:before{content:""}.bi-eye-slash:before{content:""}.bi-eye:before{content:""}.bi-eyedropper:before{content:""}.bi-eyeglasses:before{content:""}.bi-facebook:before{content:""}.bi-file-arrow-down-fill:before{content:""}.bi-file-arrow-down:before{content:""}.bi-file-arrow-up-fill:before{content:""}.bi-file-arrow-up:before{content:""}.bi-file-bar-graph-fill:before{content:""}.bi-file-bar-graph:before{content:""}.bi-file-binary-fill:before{content:""}.bi-file-binary:before{content:""}.bi-file-break-fill:before{content:""}.bi-file-break:before{content:""}.bi-file-check-fill:before{content:""}.bi-file-check:before{content:""}.bi-file-code-fill:before{content:""}.bi-file-code:before{content:""}.bi-file-diff-fill:before{content:""}.bi-file-diff:before{content:""}.bi-file-earmark-arrow-down-fill:before{content:""}.bi-file-earmark-arrow-down:before{content:""}.bi-file-earmark-arrow-up-fill:before{content:""}.bi-file-earmark-arrow-up:before{content:""}.bi-file-earmark-bar-graph-fill:before{content:""}.bi-file-earmark-bar-graph:before{content:""}.bi-file-earmark-binary-fill:before{content:""}.bi-file-earmark-binary:before{content:""}.bi-file-earmark-break-fill:before{content:""}.bi-file-earmark-break:before{content:""}.bi-file-earmark-check-fill:before{content:""}.bi-file-earmark-check:before{content:""}.bi-file-earmark-code-fill:before{content:""}.bi-file-earmark-code:before{content:""}.bi-file-earmark-diff-fill:before{content:""}.bi-file-earmark-diff:before{content:""}.bi-file-earmark-easel-fill:before{content:""}.bi-file-earmark-easel:before{content:""}.bi-file-earmark-excel-fill:before{content:""}.bi-file-earmark-excel:before{content:""}.bi-file-earmark-fill:before{content:""}.bi-file-earmark-font-fill:before{content:""}.bi-file-earmark-font:before{content:""}.bi-file-earmark-image-fill:before{content:""}.bi-file-earmark-image:before{content:""}.bi-file-earmark-lock-fill:before{content:""}.bi-file-earmark-lock:before{content:""}.bi-file-earmark-lock2-fill:before{content:""}.bi-file-earmark-lock2:before{content:""}.bi-file-earmark-medical-fill:before{content:""}.bi-file-earmark-medical:before{content:""}.bi-file-earmark-minus-fill:before{content:""}.bi-file-earmark-minus:before{content:""}.bi-file-earmark-music-fill:before{content:""}.bi-file-earmark-music:before{content:""}.bi-file-earmark-person-fill:before{content:""}.bi-file-earmark-person:before{content:""}.bi-file-earmark-play-fill:before{content:""}.bi-file-earmark-play:before{content:""}.bi-file-earmark-plus-fill:before{content:""}.bi-file-earmark-plus:before{content:""}.bi-file-earmark-post-fill:before{content:""}.bi-file-earmark-post:before{content:""}.bi-file-earmark-ppt-fill:before{content:""}.bi-file-earmark-ppt:before{content:""}.bi-file-earmark-richtext-fill:before{content:""}.bi-file-earmark-richtext:before{content:""}.bi-file-earmark-ruled-fill:before{content:""}.bi-file-earmark-ruled:before{content:""}.bi-file-earmark-slides-fill:before{content:""}.bi-file-earmark-slides:before{content:""}.bi-file-earmark-spreadsheet-fill:before{content:""}.bi-file-earmark-spreadsheet:before{content:""}.bi-file-earmark-text-fill:before{content:""}.bi-file-earmark-text:before{content:""}.bi-file-earmark-word-fill:before{content:""}.bi-file-earmark-word:before{content:""}.bi-file-earmark-x-fill:before{content:""}.bi-file-earmark-x:before{content:""}.bi-file-earmark-zip-fill:before{content:""}.bi-file-earmark-zip:before{content:""}.bi-file-earmark:before{content:""}.bi-file-easel-fill:before{content:""}.bi-file-easel:before{content:""}.bi-file-excel-fill:before{content:""}.bi-file-excel:before{content:""}.bi-file-fill:before{content:""}.bi-file-font-fill:before{content:""}.bi-file-font:before{content:""}.bi-file-image-fill:before{content:""}.bi-file-image:before{content:""}.bi-file-lock-fill:before{content:""}.bi-file-lock:before{content:""}.bi-file-lock2-fill:before{content:""}.bi-file-lock2:before{content:""}.bi-file-medical-fill:before{content:""}.bi-file-medical:before{content:""}.bi-file-minus-fill:before{content:""}.bi-file-minus:before{content:""}.bi-file-music-fill:before{content:""}.bi-file-music:before{content:""}.bi-file-person-fill:before{content:""}.bi-file-person:before{content:""}.bi-file-play-fill:before{content:""}.bi-file-play:before{content:""}.bi-file-plus-fill:before{content:""}.bi-file-plus:before{content:""}.bi-file-post-fill:before{content:""}.bi-file-post:before{content:""}.bi-file-ppt-fill:before{content:""}.bi-file-ppt:before{content:""}.bi-file-richtext-fill:before{content:""}.bi-file-richtext:before{content:""}.bi-file-ruled-fill:before{content:""}.bi-file-ruled:before{content:""}.bi-file-slides-fill:before{content:""}.bi-file-slides:before{content:""}.bi-file-spreadsheet-fill:before{content:""}.bi-file-spreadsheet:before{content:""}.bi-file-text-fill:before{content:""}.bi-file-text:before{content:""}.bi-file-word-fill:before{content:""}.bi-file-word:before{content:""}.bi-file-x-fill:before{content:""}.bi-file-x:before{content:""}.bi-file-zip-fill:before{content:""}.bi-file-zip:before{content:""}.bi-file:before{content:""}.bi-files-alt:before{content:""}.bi-files:before{content:""}.bi-film:before{content:""}.bi-filter-circle-fill:before{content:""}.bi-filter-circle:before{content:""}.bi-filter-left:before{content:""}.bi-filter-right:before{content:""}.bi-filter-square-fill:before{content:""}.bi-filter-square:before{content:""}.bi-filter:before{content:""}.bi-flag-fill:before{content:""}.bi-flag:before{content:""}.bi-flower1:before{content:""}.bi-flower2:before{content:""}.bi-flower3:before{content:""}.bi-folder-check:before{content:""}.bi-folder-fill:before{content:""}.bi-folder-minus:before{content:""}.bi-folder-plus:before{content:""}.bi-folder-symlink-fill:before{content:""}.bi-folder-symlink:before{content:""}.bi-folder-x:before{content:""}.bi-folder:before{content:""}.bi-folder2-open:before{content:""}.bi-folder2:before{content:""}.bi-fonts:before{content:""}.bi-forward-fill:before{content:""}.bi-forward:before{content:""}.bi-front:before{content:""}.bi-fullscreen-exit:before{content:""}.bi-fullscreen:before{content:""}.bi-funnel-fill:before{content:""}.bi-funnel:before{content:""}.bi-gear-fill:before{content:""}.bi-gear-wide-connected:before{content:""}.bi-gear-wide:before{content:""}.bi-gear:before{content:""}.bi-gem:before{content:""}.bi-geo-alt-fill:before{content:""}.bi-geo-alt:before{content:""}.bi-geo-fill:before{content:""}.bi-geo:before{content:""}.bi-gift-fill:before{content:""}.bi-gift:before{content:""}.bi-github:before{content:""}.bi-globe:before{content:""}.bi-globe2:before{content:""}.bi-google:before{content:""}.bi-graph-down:before{content:""}.bi-graph-up:before{content:""}.bi-grid-1x2-fill:before{content:""}.bi-grid-1x2:before{content:""}.bi-grid-3x2-gap-fill:before{content:""}.bi-grid-3x2-gap:before{content:""}.bi-grid-3x2:before{content:""}.bi-grid-3x3-gap-fill:before{content:""}.bi-grid-3x3-gap:before{content:""}.bi-grid-3x3:before{content:""}.bi-grid-fill:before{content:""}.bi-grid:before{content:""}.bi-grip-horizontal:before{content:""}.bi-grip-vertical:before{content:""}.bi-hammer:before{content:""}.bi-hand-index-fill:before{content:""}.bi-hand-index-thumb-fill:before{content:""}.bi-hand-index-thumb:before{content:""}.bi-hand-index:before{content:""}.bi-hand-thumbs-down-fill:before{content:""}.bi-hand-thumbs-down:before{content:""}.bi-hand-thumbs-up-fill:before{content:""}.bi-hand-thumbs-up:before{content:""}.bi-handbag-fill:before{content:""}.bi-handbag:before{content:""}.bi-hash:before{content:""}.bi-hdd-fill:before{content:""}.bi-hdd-network-fill:before{content:""}.bi-hdd-network:before{content:""}.bi-hdd-rack-fill:before{content:""}.bi-hdd-rack:before{content:""}.bi-hdd-stack-fill:before{content:""}.bi-hdd-stack:before{content:""}.bi-hdd:before{content:""}.bi-headphones:before{content:""}.bi-headset:before{content:""}.bi-heart-fill:before{content:""}.bi-heart-half:before{content:""}.bi-heart:before{content:""}.bi-heptagon-fill:before{content:""}.bi-heptagon-half:before{content:""}.bi-heptagon:before{content:""}.bi-hexagon-fill:before{content:""}.bi-hexagon-half:before{content:""}.bi-hexagon:before{content:""}.bi-hourglass-bottom:before{content:""}.bi-hourglass-split:before{content:""}.bi-hourglass-top:before{content:""}.bi-hourglass:before{content:""}.bi-house-door-fill:before{content:""}.bi-house-door:before{content:""}.bi-house-fill:before{content:""}.bi-house:before{content:""}.bi-hr:before{content:""}.bi-hurricane:before{content:""}.bi-image-alt:before{content:""}.bi-image-fill:before{content:""}.bi-image:before{content:""}.bi-images:before{content:""}.bi-inbox-fill:before{content:""}.bi-inbox:before{content:""}.bi-inboxes-fill:before{content:""}.bi-inboxes:before{content:""}.bi-info-circle-fill:before{content:""}.bi-info-circle:before{content:""}.bi-info-square-fill:before{content:""}.bi-info-square:before{content:""}.bi-info:before{content:""}.bi-input-cursor-text:before{content:""}.bi-input-cursor:before{content:""}.bi-instagram:before{content:""}.bi-intersect:before{content:""}.bi-journal-album:before{content:""}.bi-journal-arrow-down:before{content:""}.bi-journal-arrow-up:before{content:""}.bi-journal-bookmark-fill:before{content:""}.bi-journal-bookmark:before{content:""}.bi-journal-check:before{content:""}.bi-journal-code:before{content:""}.bi-journal-medical:before{content:""}.bi-journal-minus:before{content:""}.bi-journal-plus:before{content:""}.bi-journal-richtext:before{content:""}.bi-journal-text:before{content:""}.bi-journal-x:before{content:""}.bi-journal:before{content:""}.bi-journals:before{content:""}.bi-joystick:before{content:""}.bi-justify-left:before{content:""}.bi-justify-right:before{content:""}.bi-justify:before{content:""}.bi-kanban-fill:before{content:""}.bi-kanban:before{content:""}.bi-key-fill:before{content:""}.bi-key:before{content:""}.bi-keyboard-fill:before{content:""}.bi-keyboard:before{content:""}.bi-ladder:before{content:""}.bi-lamp-fill:before{content:""}.bi-lamp:before{content:""}.bi-laptop-fill:before{content:""}.bi-laptop:before{content:""}.bi-layer-backward:before{content:""}.bi-layer-forward:before{content:""}.bi-layers-fill:before{content:""}.bi-layers-half:before{content:""}.bi-layers:before{content:""}.bi-layout-sidebar-inset-reverse:before{content:""}.bi-layout-sidebar-inset:before{content:""}.bi-layout-sidebar-reverse:before{content:""}.bi-layout-sidebar:before{content:""}.bi-layout-split:before{content:""}.bi-layout-text-sidebar-reverse:before{content:""}.bi-layout-text-sidebar:before{content:""}.bi-layout-text-window-reverse:before{content:""}.bi-layout-text-window:before{content:""}.bi-layout-three-columns:before{content:""}.bi-layout-wtf:before{content:""}.bi-life-preserver:before{content:""}.bi-lightbulb-fill:before{content:""}.bi-lightbulb-off-fill:before{content:""}.bi-lightbulb-off:before{content:""}.bi-lightbulb:before{content:""}.bi-lightning-charge-fill:before{content:""}.bi-lightning-charge:before{content:""}.bi-lightning-fill:before{content:""}.bi-lightning:before{content:""}.bi-link-45deg:before{content:""}.bi-link:before{content:""}.bi-linkedin:before{content:""}.bi-list-check:before{content:""}.bi-list-nested:before{content:""}.bi-list-ol:before{content:""}.bi-list-stars:before{content:""}.bi-list-task:before{content:""}.bi-list-ul:before{content:""}.bi-list:before{content:""}.bi-lock-fill:before{content:""}.bi-lock:before{content:""}.bi-mailbox:before{content:""}.bi-mailbox2:before{content:""}.bi-map-fill:before{content:""}.bi-map:before{content:""}.bi-markdown-fill:before{content:""}.bi-markdown:before{content:""}.bi-mask:before{content:""}.bi-megaphone-fill:before{content:""}.bi-megaphone:before{content:""}.bi-menu-app-fill:before{content:""}.bi-menu-app:before{content:""}.bi-menu-button-fill:before{content:""}.bi-menu-button-wide-fill:before{content:""}.bi-menu-button-wide:before{content:""}.bi-menu-button:before{content:""}.bi-menu-down:before{content:""}.bi-menu-up:before{content:""}.bi-mic-fill:before{content:""}.bi-mic-mute-fill:before{content:""}.bi-mic-mute:before{content:""}.bi-mic:before{content:""}.bi-minecart-loaded:before{content:""}.bi-minecart:before{content:""}.bi-moisture:before{content:""}.bi-moon-fill:before{content:""}.bi-moon-stars-fill:before{content:""}.bi-moon-stars:before{content:""}.bi-moon:before{content:""}.bi-mouse-fill:before{content:""}.bi-mouse:before{content:""}.bi-mouse2-fill:before{content:""}.bi-mouse2:before{content:""}.bi-mouse3-fill:before{content:""}.bi-mouse3:before{content:""}.bi-music-note-beamed:before{content:""}.bi-music-note-list:before{content:""}.bi-music-note:before{content:""}.bi-music-player-fill:before{content:""}.bi-music-player:before{content:""}.bi-newspaper:before{content:""}.bi-node-minus-fill:before{content:""}.bi-node-minus:before{content:""}.bi-node-plus-fill:before{content:""}.bi-node-plus:before{content:""}.bi-nut-fill:before{content:""}.bi-nut:before{content:""}.bi-octagon-fill:before{content:""}.bi-octagon-half:before{content:""}.bi-octagon:before{content:""}.bi-option:before{content:""}.bi-outlet:before{content:""}.bi-paint-bucket:before{content:""}.bi-palette-fill:before{content:""}.bi-palette:before{content:""}.bi-palette2:before{content:""}.bi-paperclip:before{content:""}.bi-paragraph:before{content:""}.bi-patch-check-fill:before{content:""}.bi-patch-check:before{content:""}.bi-patch-exclamation-fill:before{content:""}.bi-patch-exclamation:before{content:""}.bi-patch-minus-fill:before{content:""}.bi-patch-minus:before{content:""}.bi-patch-plus-fill:before{content:""}.bi-patch-plus:before{content:""}.bi-patch-question-fill:before{content:""}.bi-patch-question:before{content:""}.bi-pause-btn-fill:before{content:""}.bi-pause-btn:before{content:""}.bi-pause-circle-fill:before{content:""}.bi-pause-circle:before{content:""}.bi-pause-fill:before{content:""}.bi-pause:before{content:""}.bi-peace-fill:before{content:""}.bi-peace:before{content:""}.bi-pen-fill:before{content:""}.bi-pen:before{content:""}.bi-pencil-fill:before{content:""}.bi-pencil-square:before{content:""}.bi-pencil:before{content:""}.bi-pentagon-fill:before{content:""}.bi-pentagon-half:before{content:""}.bi-pentagon:before{content:""}.bi-people-fill:before{content:""}.bi-people:before{content:""}.bi-percent:before{content:""}.bi-person-badge-fill:before{content:""}.bi-person-badge:before{content:""}.bi-person-bounding-box:before{content:""}.bi-person-check-fill:before{content:""}.bi-person-check:before{content:""}.bi-person-circle:before{content:""}.bi-person-dash-fill:before{content:""}.bi-person-dash:before{content:""}.bi-person-fill:before{content:""}.bi-person-lines-fill:before{content:""}.bi-person-plus-fill:before{content:""}.bi-person-plus:before{content:""}.bi-person-square:before{content:""}.bi-person-x-fill:before{content:""}.bi-person-x:before{content:""}.bi-person:before{content:""}.bi-phone-fill:before{content:""}.bi-phone-landscape-fill:before{content:""}.bi-phone-landscape:before{content:""}.bi-phone-vibrate-fill:before{content:""}.bi-phone-vibrate:before{content:""}.bi-phone:before{content:""}.bi-pie-chart-fill:before{content:""}.bi-pie-chart:before{content:""}.bi-pin-angle-fill:before{content:""}.bi-pin-angle:before{content:""}.bi-pin-fill:before{content:""}.bi-pin:before{content:""}.bi-pip-fill:before{content:""}.bi-pip:before{content:""}.bi-play-btn-fill:before{content:""}.bi-play-btn:before{content:""}.bi-play-circle-fill:before{content:""}.bi-play-circle:before{content:""}.bi-play-fill:before{content:""}.bi-play:before{content:""}.bi-plug-fill:before{content:""}.bi-plug:before{content:""}.bi-plus-circle-dotted:before{content:""}.bi-plus-circle-fill:before{content:""}.bi-plus-circle:before{content:""}.bi-plus-square-dotted:before{content:""}.bi-plus-square-fill:before{content:""}.bi-plus-square:before{content:""}.bi-plus:before{content:""}.bi-power:before{content:""}.bi-printer-fill:before{content:""}.bi-printer:before{content:""}.bi-puzzle-fill:before{content:""}.bi-puzzle:before{content:""}.bi-question-circle-fill:before{content:""}.bi-question-circle:before{content:""}.bi-question-diamond-fill:before{content:""}.bi-question-diamond:before{content:""}.bi-question-octagon-fill:before{content:""}.bi-question-octagon:before{content:""}.bi-question-square-fill:before{content:""}.bi-question-square:before{content:""}.bi-question:before{content:""}.bi-rainbow:before{content:""}.bi-receipt-cutoff:before{content:""}.bi-receipt:before{content:""}.bi-reception-0:before{content:""}.bi-reception-1:before{content:""}.bi-reception-2:before{content:""}.bi-reception-3:before{content:""}.bi-reception-4:before{content:""}.bi-record-btn-fill:before{content:""}.bi-record-btn:before{content:""}.bi-record-circle-fill:before{content:""}.bi-record-circle:before{content:""}.bi-record-fill:before{content:""}.bi-record:before{content:""}.bi-record2-fill:before{content:""}.bi-record2:before{content:""}.bi-reply-all-fill:before{content:""}.bi-reply-all:before{content:""}.bi-reply-fill:before{content:""}.bi-reply:before{content:""}.bi-rss-fill:before{content:""}.bi-rss:before{content:""}.bi-rulers:before{content:""}.bi-save-fill:before{content:""}.bi-save:before{content:""}.bi-save2-fill:before{content:""}.bi-save2:before{content:""}.bi-scissors:before{content:""}.bi-screwdriver:before{content:""}.bi-search:before{content:""}.bi-segmented-nav:before{content:""}.bi-server:before{content:""}.bi-share-fill:before{content:""}.bi-share:before{content:""}.bi-shield-check:before{content:""}.bi-shield-exclamation:before{content:""}.bi-shield-fill-check:before{content:""}.bi-shield-fill-exclamation:before{content:""}.bi-shield-fill-minus:before{content:""}.bi-shield-fill-plus:before{content:""}.bi-shield-fill-x:before{content:""}.bi-shield-fill:before{content:""}.bi-shield-lock-fill:before{content:""}.bi-shield-lock:before{content:""}.bi-shield-minus:before{content:""}.bi-shield-plus:before{content:""}.bi-shield-shaded:before{content:""}.bi-shield-slash-fill:before{content:""}.bi-shield-slash:before{content:""}.bi-shield-x:before{content:""}.bi-shield:before{content:""}.bi-shift-fill:before{content:""}.bi-shift:before{content:""}.bi-shop-window:before{content:""}.bi-shop:before{content:""}.bi-shuffle:before{content:""}.bi-signpost-2-fill:before{content:""}.bi-signpost-2:before{content:""}.bi-signpost-fill:before{content:""}.bi-signpost-split-fill:before{content:""}.bi-signpost-split:before{content:""}.bi-signpost:before{content:""}.bi-sim-fill:before{content:""}.bi-sim:before{content:""}.bi-skip-backward-btn-fill:before{content:""}.bi-skip-backward-btn:before{content:""}.bi-skip-backward-circle-fill:before{content:""}.bi-skip-backward-circle:before{content:""}.bi-skip-backward-fill:before{content:""}.bi-skip-backward:before{content:""}.bi-skip-end-btn-fill:before{content:""}.bi-skip-end-btn:before{content:""}.bi-skip-end-circle-fill:before{content:""}.bi-skip-end-circle:before{content:""}.bi-skip-end-fill:before{content:""}.bi-skip-end:before{content:""}.bi-skip-forward-btn-fill:before{content:""}.bi-skip-forward-btn:before{content:""}.bi-skip-forward-circle-fill:before{content:""}.bi-skip-forward-circle:before{content:""}.bi-skip-forward-fill:before{content:""}.bi-skip-forward:before{content:""}.bi-skip-start-btn-fill:before{content:""}.bi-skip-start-btn:before{content:""}.bi-skip-start-circle-fill:before{content:""}.bi-skip-start-circle:before{content:""}.bi-skip-start-fill:before{content:""}.bi-skip-start:before{content:""}.bi-slack:before{content:""}.bi-slash-circle-fill:before{content:""}.bi-slash-circle:before{content:""}.bi-slash-square-fill:before{content:""}.bi-slash-square:before{content:""}.bi-slash:before{content:""}.bi-sliders:before{content:""}.bi-smartwatch:before{content:""}.bi-snow:before{content:""}.bi-snow2:before{content:""}.bi-snow3:before{content:""}.bi-sort-alpha-down-alt:before{content:""}.bi-sort-alpha-down:before{content:""}.bi-sort-alpha-up-alt:before{content:""}.bi-sort-alpha-up:before{content:""}.bi-sort-down-alt:before{content:""}.bi-sort-down:before{content:""}.bi-sort-numeric-down-alt:before{content:""}.bi-sort-numeric-down:before{content:""}.bi-sort-numeric-up-alt:before{content:""}.bi-sort-numeric-up:before{content:""}.bi-sort-up-alt:before{content:""}.bi-sort-up:before{content:""}.bi-soundwave:before{content:""}.bi-speaker-fill:before{content:""}.bi-speaker:before{content:""}.bi-speedometer:before{content:""}.bi-speedometer2:before{content:""}.bi-spellcheck:before{content:""}.bi-square-fill:before{content:""}.bi-square-half:before{content:""}.bi-square:before{content:""}.bi-stack:before{content:""}.bi-star-fill:before{content:""}.bi-star-half:before{content:""}.bi-star:before{content:""}.bi-stars:before{content:""}.bi-stickies-fill:before{content:""}.bi-stickies:before{content:""}.bi-sticky-fill:before{content:""}.bi-sticky:before{content:""}.bi-stop-btn-fill:before{content:""}.bi-stop-btn:before{content:""}.bi-stop-circle-fill:before{content:""}.bi-stop-circle:before{content:""}.bi-stop-fill:before{content:""}.bi-stop:before{content:""}.bi-stoplights-fill:before{content:""}.bi-stoplights:before{content:""}.bi-stopwatch-fill:before{content:""}.bi-stopwatch:before{content:""}.bi-subtract:before{content:""}.bi-suit-club-fill:before{content:""}.bi-suit-club:before{content:""}.bi-suit-diamond-fill:before{content:""}.bi-suit-diamond:before{content:""}.bi-suit-heart-fill:before{content:""}.bi-suit-heart:before{content:""}.bi-suit-spade-fill:before{content:""}.bi-suit-spade:before{content:""}.bi-sun-fill:before{content:""}.bi-sun:before{content:""}.bi-sunglasses:before{content:""}.bi-sunrise-fill:before{content:""}.bi-sunrise:before{content:""}.bi-sunset-fill:before{content:""}.bi-sunset:before{content:""}.bi-symmetry-horizontal:before{content:""}.bi-symmetry-vertical:before{content:""}.bi-table:before{content:""}.bi-tablet-fill:before{content:""}.bi-tablet-landscape-fill:before{content:""}.bi-tablet-landscape:before{content:""}.bi-tablet:before{content:""}.bi-tag-fill:before{content:""}.bi-tag:before{content:""}.bi-tags-fill:before{content:""}.bi-tags:before{content:""}.bi-telegram:before{content:""}.bi-telephone-fill:before{content:""}.bi-telephone-forward-fill:before{content:""}.bi-telephone-forward:before{content:""}.bi-telephone-inbound-fill:before{content:""}.bi-telephone-inbound:before{content:""}.bi-telephone-minus-fill:before{content:""}.bi-telephone-minus:before{content:""}.bi-telephone-outbound-fill:before{content:""}.bi-telephone-outbound:before{content:""}.bi-telephone-plus-fill:before{content:""}.bi-telephone-plus:before{content:""}.bi-telephone-x-fill:before{content:""}.bi-telephone-x:before{content:""}.bi-telephone:before{content:""}.bi-terminal-fill:before{content:""}.bi-terminal:before{content:""}.bi-text-center:before{content:""}.bi-text-indent-left:before{content:""}.bi-text-indent-right:before{content:""}.bi-text-left:before{content:""}.bi-text-paragraph:before{content:""}.bi-text-right:before{content:""}.bi-textarea-resize:before{content:""}.bi-textarea-t:before{content:""}.bi-textarea:before{content:""}.bi-thermometer-half:before{content:""}.bi-thermometer-high:before{content:""}.bi-thermometer-low:before{content:""}.bi-thermometer-snow:before{content:""}.bi-thermometer-sun:before{content:""}.bi-thermometer:before{content:""}.bi-three-dots-vertical:before{content:""}.bi-three-dots:before{content:""}.bi-toggle-off:before{content:""}.bi-toggle-on:before{content:""}.bi-toggle2-off:before{content:""}.bi-toggle2-on:before{content:""}.bi-toggles:before{content:""}.bi-toggles2:before{content:""}.bi-tools:before{content:""}.bi-tornado:before{content:""}.bi-trash-fill:before{content:""}.bi-trash:before{content:""}.bi-trash2-fill:before{content:""}.bi-trash2:before{content:""}.bi-tree-fill:before{content:""}.bi-tree:before{content:""}.bi-triangle-fill:before{content:""}.bi-triangle-half:before{content:""}.bi-triangle:before{content:""}.bi-trophy-fill:before{content:""}.bi-trophy:before{content:""}.bi-tropical-storm:before{content:""}.bi-truck-flatbed:before{content:""}.bi-truck:before{content:""}.bi-tsunami:before{content:""}.bi-tv-fill:before{content:""}.bi-tv:before{content:""}.bi-twitch:before{content:""}.bi-twitter:before{content:""}.bi-type-bold:before{content:""}.bi-type-h1:before{content:""}.bi-type-h2:before{content:""}.bi-type-h3:before{content:""}.bi-type-italic:before{content:""}.bi-type-strikethrough:before{content:""}.bi-type-underline:before{content:""}.bi-type:before{content:""}.bi-ui-checks-grid:before{content:""}.bi-ui-checks:before{content:""}.bi-ui-radios-grid:before{content:""}.bi-ui-radios:before{content:""}.bi-umbrella-fill:before{content:""}.bi-umbrella:before{content:""}.bi-union:before{content:""}.bi-unlock-fill:before{content:""}.bi-unlock:before{content:""}.bi-upc-scan:before{content:""}.bi-upc:before{content:""}.bi-upload:before{content:""}.bi-vector-pen:before{content:""}.bi-view-list:before{content:""}.bi-view-stacked:before{content:""}.bi-vinyl-fill:before{content:""}.bi-vinyl:before{content:""}.bi-voicemail:before{content:""}.bi-volume-down-fill:before{content:""}.bi-volume-down:before{content:""}.bi-volume-mute-fill:before{content:""}.bi-volume-mute:before{content:""}.bi-volume-off-fill:before{content:""}.bi-volume-off:before{content:""}.bi-volume-up-fill:before{content:""}.bi-volume-up:before{content:""}.bi-vr:before{content:""}.bi-wallet-fill:before{content:""}.bi-wallet:before{content:""}.bi-wallet2:before{content:""}.bi-watch:before{content:""}.bi-water:before{content:""}.bi-whatsapp:before{content:""}.bi-wifi-1:before{content:""}.bi-wifi-2:before{content:""}.bi-wifi-off:before{content:""}.bi-wifi:before{content:""}.bi-wind:before{content:""}.bi-window-dock:before{content:""}.bi-window-sidebar:before{content:""}.bi-window:before{content:""}.bi-wrench:before{content:""}.bi-x-circle-fill:before{content:""}.bi-x-circle:before{content:""}.bi-x-diamond-fill:before{content:""}.bi-x-diamond:before{content:""}.bi-x-octagon-fill:before{content:""}.bi-x-octagon:before{content:""}.bi-x-square-fill:before{content:""}.bi-x-square:before{content:""}.bi-x:before{content:""}.bi-youtube:before{content:""}.bi-zoom-in:before{content:""}.bi-zoom-out:before{content:""}.bi-bank:before{content:""}.bi-bank2:before{content:""}.bi-bell-slash-fill:before{content:""}.bi-bell-slash:before{content:""}.bi-cash-coin:before{content:""}.bi-check-lg:before{content:""}.bi-coin:before{content:""}.bi-currency-bitcoin:before{content:""}.bi-currency-dollar:before{content:""}.bi-currency-euro:before{content:""}.bi-currency-exchange:before{content:""}.bi-currency-pound:before{content:""}.bi-currency-yen:before{content:""}.bi-dash-lg:before{content:""}.bi-exclamation-lg:before{content:""}.bi-file-earmark-pdf-fill:before{content:""}.bi-file-earmark-pdf:before{content:""}.bi-file-pdf-fill:before{content:""}.bi-file-pdf:before{content:""}.bi-gender-ambiguous:before{content:""}.bi-gender-female:before{content:""}.bi-gender-male:before{content:""}.bi-gender-trans:before{content:""}.bi-headset-vr:before{content:""}.bi-info-lg:before{content:""}.bi-mastodon:before{content:""}.bi-messenger:before{content:""}.bi-piggy-bank-fill:before{content:""}.bi-piggy-bank:before{content:""}.bi-pin-map-fill:before{content:""}.bi-pin-map:before{content:""}.bi-plus-lg:before{content:""}.bi-question-lg:before{content:""}.bi-recycle:before{content:""}.bi-reddit:before{content:""}.bi-safe-fill:before{content:""}.bi-safe2-fill:before{content:""}.bi-safe2:before{content:""}.bi-sd-card-fill:before{content:""}.bi-sd-card:before{content:""}.bi-skype:before{content:""}.bi-slash-lg:before{content:""}.bi-translate:before{content:""}.bi-x-lg:before{content:""}.bi-safe:before{content:""}.bi-apple:before{content:""}.bi-microsoft:before{content:""}.bi-windows:before{content:""}.bi-behance:before{content:""}.bi-dribbble:before{content:""}.bi-line:before{content:""}.bi-medium:before{content:""}.bi-paypal:before{content:""}.bi-pinterest:before{content:""}.bi-signal:before{content:""}.bi-snapchat:before{content:""}.bi-spotify:before{content:""}.bi-stack-overflow:before{content:""}.bi-strava:before{content:""}.bi-wordpress:before{content:""}.bi-vimeo:before{content:""}.bi-activity:before{content:""}.bi-easel2-fill:before{content:""}.bi-easel2:before{content:""}.bi-easel3-fill:before{content:""}.bi-easel3:before{content:""}.bi-fan:before{content:""}.bi-fingerprint:before{content:""}.bi-graph-down-arrow:before{content:""}.bi-graph-up-arrow:before{content:""}.bi-hypnotize:before{content:""}.bi-magic:before{content:""}.bi-person-rolodex:before{content:""}.bi-person-video:before{content:""}.bi-person-video2:before{content:""}.bi-person-video3:before{content:""}.bi-person-workspace:before{content:""}.bi-radioactive:before{content:""}.bi-webcam-fill:before{content:""}.bi-webcam:before{content:""}.bi-yin-yang:before{content:""}.bi-bandaid-fill:before{content:""}.bi-bandaid:before{content:""}.bi-bluetooth:before{content:""}.bi-body-text:before{content:""}.bi-boombox:before{content:""}.bi-boxes:before{content:""}.bi-dpad-fill:before{content:""}.bi-dpad:before{content:""}.bi-ear-fill:before{content:""}.bi-ear:before{content:""}.bi-envelope-check-fill:before{content:""}.bi-envelope-check:before{content:""}.bi-envelope-dash-fill:before{content:""}.bi-envelope-dash:before{content:""}.bi-envelope-exclamation-fill:before{content:""}.bi-envelope-exclamation:before{content:""}.bi-envelope-plus-fill:before{content:""}.bi-envelope-plus:before{content:""}.bi-envelope-slash-fill:before{content:""}.bi-envelope-slash:before{content:""}.bi-envelope-x-fill:before{content:""}.bi-envelope-x:before{content:""}.bi-explicit-fill:before{content:""}.bi-explicit:before{content:""}.bi-git:before{content:""}.bi-infinity:before{content:""}.bi-list-columns-reverse:before{content:""}.bi-list-columns:before{content:""}.bi-meta:before{content:""}.bi-nintendo-switch:before{content:""}.bi-pc-display-horizontal:before{content:""}.bi-pc-display:before{content:""}.bi-pc-horizontal:before{content:""}.bi-pc:before{content:""}.bi-playstation:before{content:""}.bi-plus-slash-minus:before{content:""}.bi-projector-fill:before{content:""}.bi-projector:before{content:""}.bi-qr-code-scan:before{content:""}.bi-qr-code:before{content:""}.bi-quora:before{content:""}.bi-quote:before{content:""}.bi-robot:before{content:""}.bi-send-check-fill:before{content:""}.bi-send-check:before{content:""}.bi-send-dash-fill:before{content:""}.bi-send-dash:before{content:""}.bi-send-exclamation-fill:before{content:""}.bi-send-exclamation:before{content:""}.bi-send-fill:before{content:""}.bi-send-plus-fill:before{content:""}.bi-send-plus:before{content:""}.bi-send-slash-fill:before{content:""}.bi-send-slash:before{content:""}.bi-send-x-fill:before{content:""}.bi-send-x:before{content:""}.bi-send:before{content:""}.bi-steam:before{content:""}.bi-terminal-dash:before{content:""}.bi-terminal-plus:before{content:""}.bi-terminal-split:before{content:""}.bi-ticket-detailed-fill:before{content:""}.bi-ticket-detailed:before{content:""}.bi-ticket-fill:before{content:""}.bi-ticket-perforated-fill:before{content:""}.bi-ticket-perforated:before{content:""}.bi-ticket:before{content:""}.bi-tiktok:before{content:""}.bi-window-dash:before{content:""}.bi-window-desktop:before{content:""}.bi-window-fullscreen:before{content:""}.bi-window-plus:before{content:""}.bi-window-split:before{content:""}.bi-window-stack:before{content:""}.bi-window-x:before{content:""}.bi-xbox:before{content:""}.bi-ethernet:before{content:""}.bi-hdmi-fill:before{content:""}.bi-hdmi:before{content:""}.bi-usb-c-fill:before{content:""}.bi-usb-c:before{content:""}.bi-usb-fill:before{content:""}.bi-usb-plug-fill:before{content:""}.bi-usb-plug:before{content:""}.bi-usb-symbol:before{content:""}.bi-usb:before{content:""}.bi-boombox-fill:before{content:""}.bi-displayport:before{content:""}.bi-gpu-card:before{content:""}.bi-memory:before{content:""}.bi-modem-fill:before{content:""}.bi-modem:before{content:""}.bi-motherboard-fill:before{content:""}.bi-motherboard:before{content:""}.bi-optical-audio-fill:before{content:""}.bi-optical-audio:before{content:""}.bi-pci-card:before{content:""}.bi-router-fill:before{content:""}.bi-router:before{content:""}.bi-thunderbolt-fill:before{content:""}.bi-thunderbolt:before{content:""}.bi-usb-drive-fill:before{content:""}.bi-usb-drive:before{content:""}.bi-usb-micro-fill:before{content:""}.bi-usb-micro:before{content:""}.bi-usb-mini-fill:before{content:""}.bi-usb-mini:before{content:""}.bi-cloud-haze2:before{content:""}.bi-device-hdd-fill:before{content:""}.bi-device-hdd:before{content:""}.bi-device-ssd-fill:before{content:""}.bi-device-ssd:before{content:""}.bi-displayport-fill:before{content:""}.bi-mortarboard-fill:before{content:""}.bi-mortarboard:before{content:""}.bi-terminal-x:before{content:""}.bi-arrow-through-heart-fill:before{content:""}.bi-arrow-through-heart:before{content:""}.bi-badge-sd-fill:before{content:""}.bi-badge-sd:before{content:""}.bi-bag-heart-fill:before{content:""}.bi-bag-heart:before{content:""}.bi-balloon-fill:before{content:""}.bi-balloon-heart-fill:before{content:""}.bi-balloon-heart:before{content:""}.bi-balloon:before{content:""}.bi-box2-fill:before{content:""}.bi-box2-heart-fill:before{content:""}.bi-box2-heart:before{content:""}.bi-box2:before{content:""}.bi-braces-asterisk:before{content:""}.bi-calendar-heart-fill:before{content:""}.bi-calendar-heart:before{content:""}.bi-calendar2-heart-fill:before{content:""}.bi-calendar2-heart:before{content:""}.bi-chat-heart-fill:before{content:""}.bi-chat-heart:before{content:""}.bi-chat-left-heart-fill:before{content:""}.bi-chat-left-heart:before{content:""}.bi-chat-right-heart-fill:before{content:""}.bi-chat-right-heart:before{content:""}.bi-chat-square-heart-fill:before{content:""}.bi-chat-square-heart:before{content:""}.bi-clipboard-check-fill:before{content:""}.bi-clipboard-data-fill:before{content:""}.bi-clipboard-fill:before{content:""}.bi-clipboard-heart-fill:before{content:""}.bi-clipboard-heart:before{content:""}.bi-clipboard-minus-fill:before{content:""}.bi-clipboard-plus-fill:before{content:""}.bi-clipboard-pulse:before{content:""}.bi-clipboard-x-fill:before{content:""}.bi-clipboard2-check-fill:before{content:""}.bi-clipboard2-check:before{content:""}.bi-clipboard2-data-fill:before{content:""}.bi-clipboard2-data:before{content:""}.bi-clipboard2-fill:before{content:""}.bi-clipboard2-heart-fill:before{content:""}.bi-clipboard2-heart:before{content:""}.bi-clipboard2-minus-fill:before{content:""}.bi-clipboard2-minus:before{content:""}.bi-clipboard2-plus-fill:before{content:""}.bi-clipboard2-plus:before{content:""}.bi-clipboard2-pulse-fill:before{content:""}.bi-clipboard2-pulse:before{content:""}.bi-clipboard2-x-fill:before{content:""}.bi-clipboard2-x:before{content:""}.bi-clipboard2:before{content:""}.bi-emoji-kiss-fill:before{content:""}.bi-emoji-kiss:before{content:""}.bi-envelope-heart-fill:before{content:""}.bi-envelope-heart:before{content:""}.bi-envelope-open-heart-fill:before{content:""}.bi-envelope-open-heart:before{content:""}.bi-envelope-paper-fill:before{content:""}.bi-envelope-paper-heart-fill:before{content:""}.bi-envelope-paper-heart:before{content:""}.bi-envelope-paper:before{content:""}.bi-filetype-aac:before{content:""}.bi-filetype-ai:before{content:""}.bi-filetype-bmp:before{content:""}.bi-filetype-cs:before{content:""}.bi-filetype-css:before{content:""}.bi-filetype-csv:before{content:""}.bi-filetype-doc:before{content:""}.bi-filetype-docx:before{content:""}.bi-filetype-exe:before{content:""}.bi-filetype-gif:before{content:""}.bi-filetype-heic:before{content:""}.bi-filetype-html:before{content:""}.bi-filetype-java:before{content:""}.bi-filetype-jpg:before{content:""}.bi-filetype-js:before{content:""}.bi-filetype-jsx:before{content:""}.bi-filetype-key:before{content:""}.bi-filetype-m4p:before{content:""}.bi-filetype-md:before{content:""}.bi-filetype-mdx:before{content:""}.bi-filetype-mov:before{content:""}.bi-filetype-mp3:before{content:""}.bi-filetype-mp4:before{content:""}.bi-filetype-otf:before{content:""}.bi-filetype-pdf:before{content:""}.bi-filetype-php:before{content:""}.bi-filetype-png:before{content:""}.bi-filetype-ppt:before{content:""}.bi-filetype-psd:before{content:""}.bi-filetype-py:before{content:""}.bi-filetype-raw:before{content:""}.bi-filetype-rb:before{content:""}.bi-filetype-sass:before{content:""}.bi-filetype-scss:before{content:""}.bi-filetype-sh:before{content:""}.bi-filetype-svg:before{content:""}.bi-filetype-tiff:before{content:""}.bi-filetype-tsx:before{content:""}.bi-filetype-ttf:before{content:""}.bi-filetype-txt:before{content:""}.bi-filetype-wav:before{content:""}.bi-filetype-woff:before{content:""}.bi-filetype-xls:before{content:""}.bi-filetype-xml:before{content:""}.bi-filetype-yml:before{content:""}.bi-heart-arrow:before{content:""}.bi-heart-pulse-fill:before{content:""}.bi-heart-pulse:before{content:""}.bi-heartbreak-fill:before{content:""}.bi-heartbreak:before{content:""}.bi-hearts:before{content:""}.bi-hospital-fill:before{content:""}.bi-hospital:before{content:""}.bi-house-heart-fill:before{content:""}.bi-house-heart:before{content:""}.bi-incognito:before{content:""}.bi-magnet-fill:before{content:""}.bi-magnet:before{content:""}.bi-person-heart:before{content:""}.bi-person-hearts:before{content:""}.bi-phone-flip:before{content:""}.bi-plugin:before{content:""}.bi-postage-fill:before{content:""}.bi-postage-heart-fill:before{content:""}.bi-postage-heart:before{content:""}.bi-postage:before{content:""}.bi-postcard-fill:before{content:""}.bi-postcard-heart-fill:before{content:""}.bi-postcard-heart:before{content:""}.bi-postcard:before{content:""}.bi-search-heart-fill:before{content:""}.bi-search-heart:before{content:""}.bi-sliders2-vertical:before{content:""}.bi-sliders2:before{content:""}.bi-trash3-fill:before{content:""}.bi-trash3:before{content:""}.bi-valentine:before{content:""}.bi-valentine2:before{content:""}.bi-wrench-adjustable-circle-fill:before{content:""}.bi-wrench-adjustable-circle:before{content:""}.bi-wrench-adjustable:before{content:""}.bi-filetype-json:before{content:""}.bi-filetype-pptx:before{content:""}.bi-filetype-xlsx:before{content:""}.bi-1-circle-fill:before{content:""}.bi-1-circle:before{content:""}.bi-1-square-fill:before{content:""}.bi-1-square:before{content:""}.bi-2-circle-fill:before{content:""}.bi-2-circle:before{content:""}.bi-2-square-fill:before{content:""}.bi-2-square:before{content:""}.bi-3-circle-fill:before{content:""}.bi-3-circle:before{content:""}.bi-3-square-fill:before{content:""}.bi-3-square:before{content:""}.bi-4-circle-fill:before{content:""}.bi-4-circle:before{content:""}.bi-4-square-fill:before{content:""}.bi-4-square:before{content:""}.bi-5-circle-fill:before{content:""}.bi-5-circle:before{content:""}.bi-5-square-fill:before{content:""}.bi-5-square:before{content:""}.bi-6-circle-fill:before{content:""}.bi-6-circle:before{content:""}.bi-6-square-fill:before{content:""}.bi-6-square:before{content:""}.bi-7-circle-fill:before{content:""}.bi-7-circle:before{content:""}.bi-7-square-fill:before{content:""}.bi-7-square:before{content:""}.bi-8-circle-fill:before{content:""}.bi-8-circle:before{content:""}.bi-8-square-fill:before{content:""}.bi-8-square:before{content:""}.bi-9-circle-fill:before{content:""}.bi-9-circle:before{content:""}.bi-9-square-fill:before{content:""}.bi-9-square:before{content:""}.bi-airplane-engines-fill:before{content:""}.bi-airplane-engines:before{content:""}.bi-airplane-fill:before{content:""}.bi-airplane:before{content:""}.bi-alexa:before{content:""}.bi-alipay:before{content:""}.bi-android:before{content:""}.bi-android2:before{content:""}.bi-box-fill:before{content:""}.bi-box-seam-fill:before{content:""}.bi-browser-chrome:before{content:""}.bi-browser-edge:before{content:""}.bi-browser-firefox:before{content:""}.bi-browser-safari:before{content:""}.bi-c-circle-fill:before{content:""}.bi-c-circle:before{content:""}.bi-c-square-fill:before{content:""}.bi-c-square:before{content:""}.bi-capsule-pill:before{content:""}.bi-capsule:before{content:""}.bi-car-front-fill:before{content:""}.bi-car-front:before{content:""}.bi-cassette-fill:before{content:""}.bi-cassette:before{content:""}.bi-cc-circle-fill:before{content:""}.bi-cc-circle:before{content:""}.bi-cc-square-fill:before{content:""}.bi-cc-square:before{content:""}.bi-cup-hot-fill:before{content:""}.bi-cup-hot:before{content:""}.bi-currency-rupee:before{content:""}.bi-dropbox:before{content:""}.bi-escape:before{content:""}.bi-fast-forward-btn-fill:before{content:""}.bi-fast-forward-btn:before{content:""}.bi-fast-forward-circle-fill:before{content:""}.bi-fast-forward-circle:before{content:""}.bi-fast-forward-fill:before{content:""}.bi-fast-forward:before{content:""}.bi-filetype-sql:before{content:""}.bi-fire:before{content:""}.bi-google-play:before{content:""}.bi-h-circle-fill:before{content:""}.bi-h-circle:before{content:""}.bi-h-square-fill:before{content:""}.bi-h-square:before{content:""}.bi-indent:before{content:""}.bi-lungs-fill:before{content:""}.bi-lungs:before{content:""}.bi-microsoft-teams:before{content:""}.bi-p-circle-fill:before{content:""}.bi-p-circle:before{content:""}.bi-p-square-fill:before{content:""}.bi-p-square:before{content:""}.bi-pass-fill:before{content:""}.bi-pass:before{content:""}.bi-prescription:before{content:""}.bi-prescription2:before{content:""}.bi-r-circle-fill:before{content:""}.bi-r-circle:before{content:""}.bi-r-square-fill:before{content:""}.bi-r-square:before{content:""}.bi-repeat-1:before{content:""}.bi-repeat:before{content:""}.bi-rewind-btn-fill:before{content:""}.bi-rewind-btn:before{content:""}.bi-rewind-circle-fill:before{content:""}.bi-rewind-circle:before{content:""}.bi-rewind-fill:before{content:""}.bi-rewind:before{content:""}.bi-train-freight-front-fill:before{content:""}.bi-train-freight-front:before{content:""}.bi-train-front-fill:before{content:""}.bi-train-front:before{content:""}.bi-train-lightrail-front-fill:before{content:""}.bi-train-lightrail-front:before{content:""}.bi-truck-front-fill:before{content:""}.bi-truck-front:before{content:""}.bi-ubuntu:before{content:""}.bi-unindent:before{content:""}.bi-unity:before{content:""}.bi-universal-access-circle:before{content:""}.bi-universal-access:before{content:""}.bi-virus:before{content:""}.bi-virus2:before{content:""}.bi-wechat:before{content:""}.bi-yelp:before{content:""}.bi-sign-stop-fill:before{content:""}.bi-sign-stop-lights-fill:before{content:""}.bi-sign-stop-lights:before{content:""}.bi-sign-stop:before{content:""}.bi-sign-turn-left-fill:before{content:""}.bi-sign-turn-left:before{content:""}.bi-sign-turn-right-fill:before{content:""}.bi-sign-turn-right:before{content:""}.bi-sign-turn-slight-left-fill:before{content:""}.bi-sign-turn-slight-left:before{content:""}.bi-sign-turn-slight-right-fill:before{content:""}.bi-sign-turn-slight-right:before{content:""}.bi-sign-yield-fill:before{content:""}.bi-sign-yield:before{content:""}.bi-ev-station-fill:before{content:""}.bi-ev-station:before{content:""}.bi-fuel-pump-diesel-fill:before{content:""}.bi-fuel-pump-diesel:before{content:""}.bi-fuel-pump-fill:before{content:""}.bi-fuel-pump:before{content:""}.bi-0-circle-fill:before{content:""}.bi-0-circle:before{content:""}.bi-0-square-fill:before{content:""}.bi-0-square:before{content:""}.bi-rocket-fill:before{content:""}.bi-rocket-takeoff-fill:before{content:""}.bi-rocket-takeoff:before{content:""}.bi-rocket:before{content:""}.bi-stripe:before{content:""}.bi-subscript:before{content:""}.bi-superscript:before{content:""}.bi-trello:before{content:""}.bi-envelope-at-fill:before{content:""}.bi-envelope-at:before{content:""}.bi-regex:before{content:""}.bi-text-wrap:before{content:""}.bi-sign-dead-end-fill:before{content:""}.bi-sign-dead-end:before{content:""}.bi-sign-do-not-enter-fill:before{content:""}.bi-sign-do-not-enter:before{content:""}.bi-sign-intersection-fill:before{content:""}.bi-sign-intersection-side-fill:before{content:""}.bi-sign-intersection-side:before{content:""}.bi-sign-intersection-t-fill:before{content:""}.bi-sign-intersection-t:before{content:""}.bi-sign-intersection-y-fill:before{content:""}.bi-sign-intersection-y:before{content:""}.bi-sign-intersection:before{content:""}.bi-sign-merge-left-fill:before{content:""}.bi-sign-merge-left:before{content:""}.bi-sign-merge-right-fill:before{content:""}.bi-sign-merge-right:before{content:""}.bi-sign-no-left-turn-fill:before{content:""}.bi-sign-no-left-turn:before{content:""}.bi-sign-no-parking-fill:before{content:""}.bi-sign-no-parking:before{content:""}.bi-sign-no-right-turn-fill:before{content:""}.bi-sign-no-right-turn:before{content:""}.bi-sign-railroad-fill:before{content:""}.bi-sign-railroad:before{content:""}.bi-building-add:before{content:""}.bi-building-check:before{content:""}.bi-building-dash:before{content:""}.bi-building-down:before{content:""}.bi-building-exclamation:before{content:""}.bi-building-fill-add:before{content:""}.bi-building-fill-check:before{content:""}.bi-building-fill-dash:before{content:""}.bi-building-fill-down:before{content:""}.bi-building-fill-exclamation:before{content:""}.bi-building-fill-gear:before{content:""}.bi-building-fill-lock:before{content:""}.bi-building-fill-slash:before{content:""}.bi-building-fill-up:before{content:""}.bi-building-fill-x:before{content:""}.bi-building-fill:before{content:""}.bi-building-gear:before{content:""}.bi-building-lock:before{content:""}.bi-building-slash:before{content:""}.bi-building-up:before{content:""}.bi-building-x:before{content:""}.bi-buildings-fill:before{content:""}.bi-buildings:before{content:""}.bi-bus-front-fill:before{content:""}.bi-bus-front:before{content:""}.bi-ev-front-fill:before{content:""}.bi-ev-front:before{content:""}.bi-globe-americas:before{content:""}.bi-globe-asia-australia:before{content:""}.bi-globe-central-south-asia:before{content:""}.bi-globe-europe-africa:before{content:""}.bi-house-add-fill:before{content:""}.bi-house-add:before{content:""}.bi-house-check-fill:before{content:""}.bi-house-check:before{content:""}.bi-house-dash-fill:before{content:""}.bi-house-dash:before{content:""}.bi-house-down-fill:before{content:""}.bi-house-down:before{content:""}.bi-house-exclamation-fill:before{content:""}.bi-house-exclamation:before{content:""}.bi-house-gear-fill:before{content:""}.bi-house-gear:before{content:""}.bi-house-lock-fill:before{content:""}.bi-house-lock:before{content:""}.bi-house-slash-fill:before{content:""}.bi-house-slash:before{content:""}.bi-house-up-fill:before{content:""}.bi-house-up:before{content:""}.bi-house-x-fill:before{content:""}.bi-house-x:before{content:""}.bi-person-add:before{content:""}.bi-person-down:before{content:""}.bi-person-exclamation:before{content:""}.bi-person-fill-add:before{content:""}.bi-person-fill-check:before{content:""}.bi-person-fill-dash:before{content:""}.bi-person-fill-down:before{content:""}.bi-person-fill-exclamation:before{content:""}.bi-person-fill-gear:before{content:""}.bi-person-fill-lock:before{content:""}.bi-person-fill-slash:before{content:""}.bi-person-fill-up:before{content:""}.bi-person-fill-x:before{content:""}.bi-person-gear:before{content:""}.bi-person-lock:before{content:""}.bi-person-slash:before{content:""}.bi-person-up:before{content:""}.bi-scooter:before{content:""}.bi-taxi-front-fill:before{content:""}.bi-taxi-front:before{content:""}.bi-amd:before{content:""}.bi-database-add:before{content:""}.bi-database-check:before{content:""}.bi-database-dash:before{content:""}.bi-database-down:before{content:""}.bi-database-exclamation:before{content:""}.bi-database-fill-add:before{content:""}.bi-database-fill-check:before{content:""}.bi-database-fill-dash:before{content:""}.bi-database-fill-down:before{content:""}.bi-database-fill-exclamation:before{content:""}.bi-database-fill-gear:before{content:""}.bi-database-fill-lock:before{content:""}.bi-database-fill-slash:before{content:""}.bi-database-fill-up:before{content:""}.bi-database-fill-x:before{content:""}.bi-database-fill:before{content:""}.bi-database-gear:before{content:""}.bi-database-lock:before{content:""}.bi-database-slash:before{content:""}.bi-database-up:before{content:""}.bi-database-x:before{content:""}.bi-database:before{content:""}.bi-houses-fill:before{content:""}.bi-houses:before{content:""}.bi-nvidia:before{content:""}.bi-person-vcard-fill:before{content:""}.bi-person-vcard:before{content:""}.bi-sina-weibo:before{content:""}.bi-tencent-qq:before{content:""}.bi-wikipedia:before{content:""}.bi-alphabet-uppercase:before{content:""}.bi-alphabet:before{content:""}.bi-amazon:before{content:""}.bi-arrows-collapse-vertical:before{content:""}.bi-arrows-expand-vertical:before{content:""}.bi-arrows-vertical:before{content:""}.bi-arrows:before{content:""}.bi-ban-fill:before{content:""}.bi-ban:before{content:""}.bi-bing:before{content:""}.bi-cake:before{content:""}.bi-cake2:before{content:""}.bi-cookie:before{content:""}.bi-copy:before{content:""}.bi-crosshair:before{content:""}.bi-crosshair2:before{content:""}.bi-emoji-astonished-fill:before{content:""}.bi-emoji-astonished:before{content:""}.bi-emoji-grimace-fill:before{content:""}.bi-emoji-grimace:before{content:""}.bi-emoji-grin-fill:before{content:""}.bi-emoji-grin:before{content:""}.bi-emoji-surprise-fill:before{content:""}.bi-emoji-surprise:before{content:""}.bi-emoji-tear-fill:before{content:""}.bi-emoji-tear:before{content:""}.bi-envelope-arrow-down-fill:before{content:""}.bi-envelope-arrow-down:before{content:""}.bi-envelope-arrow-up-fill:before{content:""}.bi-envelope-arrow-up:before{content:""}.bi-feather:before{content:""}.bi-feather2:before{content:""}.bi-floppy-fill:before{content:""}.bi-floppy:before{content:""}.bi-floppy2-fill:before{content:""}.bi-floppy2:before{content:""}.bi-gitlab:before{content:""}.bi-highlighter:before{content:""}.bi-marker-tip:before{content:""}.bi-nvme-fill:before{content:""}.bi-nvme:before{content:""}.bi-opencollective:before{content:""}.bi-pci-card-network:before{content:""}.bi-pci-card-sound:before{content:""}.bi-radar:before{content:""}.bi-send-arrow-down-fill:before{content:""}.bi-send-arrow-down:before{content:""}.bi-send-arrow-up-fill:before{content:""}.bi-send-arrow-up:before{content:""}.bi-sim-slash-fill:before{content:""}.bi-sim-slash:before{content:""}.bi-sourceforge:before{content:""}.bi-substack:before{content:""}.bi-threads-fill:before{content:""}.bi-threads:before{content:""}.bi-transparency:before{content:""}.bi-twitter-x:before{content:""}.bi-type-h4:before{content:""}.bi-type-h5:before{content:""}.bi-type-h6:before{content:""}.bi-backpack-fill:before{content:""}.bi-backpack:before{content:""}.bi-backpack2-fill:before{content:""}.bi-backpack2:before{content:""}.bi-backpack3-fill:before{content:""}.bi-backpack3:before{content:""}.bi-backpack4-fill:before{content:""}.bi-backpack4:before{content:""}.bi-brilliance:before{content:""}.bi-cake-fill:before{content:""}.bi-cake2-fill:before{content:""}.bi-duffle-fill:before{content:""}.bi-duffle:before{content:""}.bi-exposure:before{content:""}.bi-gender-neuter:before{content:""}.bi-highlights:before{content:""}.bi-luggage-fill:before{content:""}.bi-luggage:before{content:""}.bi-mailbox-flag:before{content:""}.bi-mailbox2-flag:before{content:""}.bi-noise-reduction:before{content:""}.bi-passport-fill:before{content:""}.bi-passport:before{content:""}.bi-person-arms-up:before{content:""}.bi-person-raised-hand:before{content:""}.bi-person-standing-dress:before{content:""}.bi-person-standing:before{content:""}.bi-person-walking:before{content:""}.bi-person-wheelchair:before{content:""}.bi-shadows:before{content:""}.bi-suitcase-fill:before{content:""}.bi-suitcase-lg-fill:before{content:""}.bi-suitcase-lg:before{content:""}.bi-suitcase:before{content:"豈"}.bi-suitcase2-fill:before{content:"更"}.bi-suitcase2:before{content:"車"}.bi-vignette:before{content:"賈"}:root{--animate-duration:1s;--animate-delay:1s;--animate-repeat:1}.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-duration:var(--animate-duration);animation-duration:var(--animate-duration);-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.repeat-1{-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-iteration-count:var(--animate-repeat);animation-iteration-count:var(--animate-repeat)}.animated.repeat-2{-webkit-animation-iteration-count:2;animation-iteration-count:2;-webkit-animation-iteration-count:calc(var(--animate-repeat)*2);animation-iteration-count:calc(var(--animate-repeat)*2)}.animated.repeat-3{-webkit-animation-iteration-count:3;animation-iteration-count:3;-webkit-animation-iteration-count:calc(var(--animate-repeat)*3);animation-iteration-count:calc(var(--animate-repeat)*3)}.animated.delay-1s{-webkit-animation-delay:1s;animation-delay:1s;-webkit-animation-delay:var(--animate-delay);animation-delay:var(--animate-delay)}.animated.delay-2s{-webkit-animation-delay:2s;animation-delay:2s;-webkit-animation-delay:calc(var(--animate-delay)*2);animation-delay:calc(var(--animate-delay)*2)}.animated.delay-3s{-webkit-animation-delay:3s;animation-delay:3s;-webkit-animation-delay:calc(var(--animate-delay)*3);animation-delay:calc(var(--animate-delay)*3)}.animated.delay-4s{-webkit-animation-delay:4s;animation-delay:4s;-webkit-animation-delay:calc(var(--animate-delay)*4);animation-delay:calc(var(--animate-delay)*4)}.animated.delay-5s{-webkit-animation-delay:5s;animation-delay:5s;-webkit-animation-delay:calc(var(--animate-delay)*5);animation-delay:calc(var(--animate-delay)*5)}.animated.faster{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-duration:calc(var(--animate-duration)/2);animation-duration:calc(var(--animate-duration)/2)}.animated.fast{-webkit-animation-duration:.8s;animation-duration:.8s;-webkit-animation-duration:calc(var(--animate-duration)*.8);animation-duration:calc(var(--animate-duration)*.8)}.animated.slow{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration)*2);animation-duration:calc(var(--animate-duration)*2)}.animated.slower{-webkit-animation-duration:3s;animation-duration:3s;-webkit-animation-duration:calc(var(--animate-duration)*3);animation-duration:calc(var(--animate-duration)*3)}@media (prefers-reduced-motion:reduce),print{.animated{-webkit-animation-duration:1ms!important;animation-duration:1ms!important;-webkit-transition-duration:1ms!important;transition-duration:1ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important}.animated[class*=Out]{opacity:0}}@-webkit-keyframes bounce{0%,20%,53%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0) scaleY(1.1);transform:translate3d(0,-30px,0) scaleY(1.1)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0) scaleY(1.05);transform:translate3d(0,-15px,0) scaleY(1.05)}80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0) scaleY(.95);transform:translateZ(0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-4px,0) scaleY(1.02);transform:translate3d(0,-4px,0) scaleY(1.02)}}@keyframes bounce{0%,20%,53%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0) scaleY(1.1);transform:translate3d(0,-30px,0) scaleY(1.1)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0) scaleY(1.05);transform:translate3d(0,-15px,0) scaleY(1.05)}80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0) scaleY(.95);transform:translateZ(0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-4px,0) scaleY(1.02);transform:translate3d(0,-4px,0) scaleY(1.02)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shakeX{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shakeX{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shakeX{-webkit-animation-name:shakeX;animation-name:shakeX}@-webkit-keyframes shakeY{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}20%,40%,60%,80%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}}@keyframes shakeY{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}20%,40%,60%,80%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}}.shakeY{-webkit-animation-name:shakeY;animation-name:shakeY}.headShake{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-name:headShake;animation-name:headShake}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0)}}.swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skew(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skew(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skew(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skew(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skew(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skew(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skew(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skew(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skew(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skew(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skew(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skew(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skew(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skew(-.1953125deg) skewY(-.1953125deg)}}.jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}.heartBeat{-webkit-animation-name:heartBeat;animation-name:heartBeat;-webkit-animation-duration:1.3s;animation-duration:1.3s;-webkit-animation-duration:calc(var(--animate-duration)*1.3);animation-duration:calc(var(--animate-duration)*1.3);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes backInDown{0%{-webkit-transform:translateY(-1200px) scale(.7);transform:translateY(-1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInDown{0%{-webkit-transform:translateY(-1200px) scale(.7);transform:translateY(-1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.backInDown{-webkit-animation-name:backInDown;animation-name:backInDown}@-webkit-keyframes backInLeft{0%{-webkit-transform:translateX(-2000px) scale(.7);transform:translate(-2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInLeft{0%{-webkit-transform:translateX(-2000px) scale(.7);transform:translate(-2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.backInLeft{-webkit-animation-name:backInLeft;animation-name:backInLeft}@-webkit-keyframes backInRight{0%{-webkit-transform:translateX(2000px) scale(.7);transform:translate(2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInRight{0%{-webkit-transform:translateX(2000px) scale(.7);transform:translate(2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.backInRight{-webkit-animation-name:backInRight;animation-name:backInRight}@-webkit-keyframes backInUp{0%{-webkit-transform:translateY(1200px) scale(.7);transform:translateY(1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInUp{0%{-webkit-transform:translateY(1200px) scale(.7);transform:translateY(1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.backInUp{-webkit-animation-name:backInUp;animation-name:backInUp}@-webkit-keyframes backOutDown{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(700px) scale(.7);transform:translateY(700px) scale(.7);opacity:.7}}@keyframes backOutDown{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(700px) scale(.7);transform:translateY(700px) scale(.7);opacity:.7}}.backOutDown{-webkit-animation-name:backOutDown;animation-name:backOutDown}@-webkit-keyframes backOutLeft{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(-2000px) scale(.7);transform:translate(-2000px) scale(.7);opacity:.7}}@keyframes backOutLeft{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(-2000px) scale(.7);transform:translate(-2000px) scale(.7);opacity:.7}}.backOutLeft{-webkit-animation-name:backOutLeft;animation-name:backOutLeft}@-webkit-keyframes backOutRight{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(2000px) scale(.7);transform:translate(2000px) scale(.7);opacity:.7}}@keyframes backOutRight{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translate(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(2000px) scale(.7);transform:translate(2000px) scale(.7);opacity:.7}}.backOutRight{-webkit-animation-name:backOutRight;animation-name:backOutRight}@-webkit-keyframes backOutUp{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(-700px) scale(.7);transform:translateY(-700px) scale(.7);opacity:.7}}@keyframes backOutUp{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(-700px) scale(.7);transform:translateY(-700px) scale(.7);opacity:.7}}.backOutUp{-webkit-animation-name:backOutUp;animation-name:backOutUp}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}.bounceIn{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*.75);animation-duration:calc(var(--animate-duration)*.75);-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0) scaleY(3);transform:translate3d(0,-3000px,0) scaleY(3)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0) scaleY(.9);transform:translate3d(0,25px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,-10px,0) scaleY(.95);transform:translate3d(0,-10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,5px,0) scaleY(.985);transform:translate3d(0,5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0) scaleY(3);transform:translate3d(0,-3000px,0) scaleY(3)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0) scaleY(.9);transform:translate3d(0,25px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,-10px,0) scaleY(.95);transform:translate3d(0,-10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,5px,0) scaleY(.985);transform:translate3d(0,5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0) scaleX(3);transform:translate3d(-3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0) scaleX(1);transform:translate3d(25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(-10px,0,0) scaleX(.98);transform:translate3d(-10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(5px,0,0) scaleX(.995);transform:translate3d(5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0) scaleX(3);transform:translate3d(-3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0) scaleX(1);transform:translate3d(25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(-10px,0,0) scaleX(.98);transform:translate3d(-10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(5px,0,0) scaleX(.995);transform:translate3d(5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0) scaleX(3);transform:translate3d(3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0) scaleX(1);transform:translate3d(-25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(10px,0,0) scaleX(.98);transform:translate3d(10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(-5px,0,0) scaleX(.995);transform:translate3d(-5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0) scaleX(3);transform:translate3d(3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0) scaleX(1);transform:translate3d(-25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(10px,0,0) scaleX(.98);transform:translate3d(10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(-5px,0,0) scaleX(.995);transform:translate3d(-5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0) scaleY(5);transform:translate3d(0,3000px,0) scaleY(5)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,10px,0) scaleY(.95);transform:translate3d(0,10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-5px,0) scaleY(.985);transform:translate3d(0,-5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0) scaleY(5);transform:translate3d(0,3000px,0) scaleY(5)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,10px,0) scaleY(.95);transform:translate3d(0,10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-5px,0) scaleY(.985);transform:translate3d(0,-5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}.bounceOut{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*.75);animation-duration:calc(var(--animate-duration)*.75);-webkit-animation-name:bounceOut;animation-name:bounceOut}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeInTopLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInTopLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInTopLeft{-webkit-animation-name:fadeInTopLeft;animation-name:fadeInTopLeft}@-webkit-keyframes fadeInTopRight{0%{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInTopRight{0%{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInTopRight{-webkit-animation-name:fadeInTopRight;animation-name:fadeInTopRight}@-webkit-keyframes fadeInBottomLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInBottomLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInBottomLeft{-webkit-animation-name:fadeInBottomLeft;animation-name:fadeInBottomLeft}@-webkit-keyframes fadeInBottomRight{0%{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInBottomRight{0%{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInBottomRight{-webkit-animation-name:fadeInBottomRight;animation-name:fadeInBottomRight}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes fadeOutTopLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}}@keyframes fadeOutTopLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}}.fadeOutTopLeft{-webkit-animation-name:fadeOutTopLeft;animation-name:fadeOutTopLeft}@-webkit-keyframes fadeOutTopRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}}@keyframes fadeOutTopRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}}.fadeOutTopRight{-webkit-animation-name:fadeOutTopRight;animation-name:fadeOutTopRight}@-webkit-keyframes fadeOutBottomRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}}@keyframes fadeOutBottomRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}}.fadeOutBottomRight{-webkit-animation-name:fadeOutBottomRight;animation-name:fadeOutBottomRight}@-webkit-keyframes fadeOutBottomLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}}@keyframes fadeOutBottomLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}}.fadeOutBottomLeft{-webkit-animation-name:fadeOutBottomLeft;animation-name:fadeOutBottomLeft}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}.flipOutX{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*.75);animation-duration:calc(var(--animate-duration)*.75);-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}.flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*.75);animation-duration:calc(var(--animate-duration)*.75);-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedInRight{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skew(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skew(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skew(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes lightSpeedInRight{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skew(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skew(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skew(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.lightSpeedInRight{-webkit-animation-name:lightSpeedInRight;animation-name:lightSpeedInRight;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedInLeft{0%{-webkit-transform:translate3d(-100%,0,0) skewX(30deg);transform:translate3d(-100%,0,0) skew(30deg);opacity:0}60%{-webkit-transform:skewX(-20deg);transform:skew(-20deg);opacity:1}80%{-webkit-transform:skewX(5deg);transform:skew(5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes lightSpeedInLeft{0%{-webkit-transform:translate3d(-100%,0,0) skewX(30deg);transform:translate3d(-100%,0,0) skew(30deg);opacity:0}60%{-webkit-transform:skewX(-20deg);transform:skew(-20deg);opacity:1}80%{-webkit-transform:skewX(5deg);transform:skew(5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.lightSpeedInLeft{-webkit-animation-name:lightSpeedInLeft;animation-name:lightSpeedInLeft;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}.lightSpeedOutRight{-webkit-animation-name:lightSpeedOutRight;animation-name:lightSpeedOutRight;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}.lightSpeedOutLeft{-webkit-animation-name:lightSpeedOutLeft;animation-name:lightSpeedOutLeft;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateOut{0%{opacity:1}to{-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{opacity:1}to{-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes rotateOutDownLeft{0%{opacity:1}to{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{opacity:1}to{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateOutDownRight{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutDownRight{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateOutUpLeft{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateOutUpRight{0%{opacity:1}to{-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{opacity:1}to{-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration)*2);animation-duration:calc(var(--animate-duration)*2);-webkit-animation-name:hinge;animation-name:hinge;-webkit-transform-origin:top left;transform-origin:top left}.jackInTheBox{-webkit-animation-name:jackInTheBox;animation-name:jackInTheBox}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}@keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown;-webkit-transform-origin:center bottom;transform-origin:center bottom}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft;-webkit-transform-origin:left center;transform-origin:left center}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight;-webkit-transform-origin:right center;transform-origin:right center}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}.dp__input_wrap{position:relative;width:100%;box-sizing:unset}.dp__input_wrap:focus{border-color:var(--dp-border-color-hover);outline:none}.dp__input_valid{box-shadow:0 0 var(--dp-border-radius) var(--dp-success-color);border-color:var(--dp-success-color)}.dp__input_valid:hover{border-color:var(--dp-success-color)}.dp__input_invalid{box-shadow:0 0 var(--dp-border-radius) var(--dp-danger-color);border-color:var(--dp-danger-color)}.dp__input_invalid:hover{border-color:var(--dp-danger-color)}.dp__input{background-color:var(--dp-background-color);border-radius:var(--dp-border-radius);font-family:var(--dp-font-family);border:1px solid var(--dp-border-color);outline:none;transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%;font-size:var(--dp-font-size);line-height:calc(var(--dp-font-size)*1.5);padding:var(--dp-input-padding);color:var(--dp-text-color);box-sizing:border-box}.dp__input::placeholder{opacity:.7}.dp__input:hover:not(.dp__input_focus){border-color:var(--dp-border-color-hover)}.dp__input_reg{caret-color:#0000}.dp__input_focus{border-color:var(--dp-border-color-focus)}.dp__disabled{background:var(--dp-disabled-color)}.dp__disabled::placeholder{color:var(--dp-disabled-color-text)}.dp__input_icons{display:inline-block;width:var(--dp-font-size);height:var(--dp-font-size);stroke-width:0;font-size:var(--dp-font-size);line-height:calc(var(--dp-font-size)*1.5);padding:6px 12px;color:var(--dp-icon-color);box-sizing:content-box}.dp__input_icon{cursor:pointer;position:absolute;top:50%;inset-inline-start:0;transform:translateY(-50%);color:var(--dp-icon-color)}.dp--clear-btn{position:absolute;top:50%;inset-inline-end:0;transform:translateY(-50%);cursor:pointer;color:var(--dp-icon-color);background:#0000;border:none;display:inline-flex;align-items:center;padding:0;margin:0}.dp__input_icon_pad{padding-inline-start:var(--dp-input-icon-padding)}.dp__menu{background:var(--dp-background-color);border-radius:var(--dp-border-radius);min-width:var(--dp-menu-min-width);font-family:var(--dp-font-family);font-size:var(--dp-font-size);-webkit-user-select:none;user-select:none;border:1px solid var(--dp-menu-border-color);box-sizing:border-box}.dp__menu:after{box-sizing:border-box}.dp__menu:before{box-sizing:border-box}.dp__menu:focus{border:1px solid var(--dp-menu-border-color);outline:none}.dp--menu-wrapper{position:absolute;z-index:99999}.dp__menu_inner{padding:var(--dp-menu-padding)}.dp--menu--inner-stretched{padding:6px 0}.dp__menu_index{z-index:99999}.dp-menu-loading,.dp__menu_readonly,.dp__menu_disabled{position:absolute;top:0;right:0;bottom:0;left:0;z-index:999999}.dp__menu_disabled{background:#ffffff80;cursor:not-allowed}.dp__menu_readonly{background:#0000;cursor:default}.dp-menu-loading{background:#ffffff80;cursor:default}.dp--menu-load-container{display:flex;height:100%;width:100%;justify-content:center;align-items:center}.dp--menu-loader{width:48px;height:48px;border:var(--dp-loader);border-bottom-color:#0000;border-radius:50%;display:inline-block;box-sizing:border-box;animation:dp-load-rotation 1s linear infinite;position:absolute}@keyframes dp-load-rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dp__arrow_top{left:var(--dp-arrow-left);top:0;height:12px;width:12px;background-color:var(--dp-background-color);position:absolute;border-inline-end:1px solid var(--dp-menu-border-color);border-top:1px solid var(--dp-menu-border-color);transform:translate(-50%,-50%) rotate(-45deg)}.dp__arrow_bottom{left:var(--dp-arrow-left);bottom:0;height:12px;width:12px;background-color:var(--dp-background-color);position:absolute;border-inline-end:1px solid var(--dp-menu-border-color);border-bottom:1px solid var(--dp-menu-border-color);transform:translate(-50%,50%) rotate(45deg)}.dp__action_extra{text-align:center;padding:2px 0}.dp--preset-dates{padding:5px;border-inline-end:1px solid var(--dp-border-color)}@media only screen and (width <= 600px){.dp--preset-dates{display:flex;align-self:center;border:none;overflow-x:auto;max-width:calc(var(--dp-menu-width) - var(--dp-action-row-padding)*2)}}.dp--preset-dates-collapsed{display:flex;align-self:center;border:none;overflow-x:auto;max-width:calc(var(--dp-menu-width) - var(--dp-action-row-padding)*2)}.dp__sidebar_left{padding:5px;border-inline-end:1px solid var(--dp-border-color)}.dp__sidebar_right{padding:5px;margin-inline-end:1px solid var(--dp-border-color)}.dp--preset-range{display:block;width:100%;padding:5px;text-align:left;white-space:nowrap;color:var(--dp-text-color);border-radius:var(--dp-border-radius);transition:var(--dp-common-transition)}.dp--preset-range:hover{background-color:var(--dp-hover-color);color:var(--dp-hover-text-color);cursor:pointer}@media only screen and (width <= 600px){.dp--preset-range{border:1px solid var(--dp-border-color);margin:0 3px}.dp--preset-range:first-child{margin-left:0}.dp--preset-range:last-child{margin-right:0}}.dp--preset-range-collapsed{border:1px solid var(--dp-border-color);margin:0 3px}.dp--preset-range-collapsed:first-child{margin-left:0}.dp--preset-range-collapsed:last-child{margin-right:0}.dp__menu_content_wrapper{display:flex}@media only screen and (width <= 600px){.dp__menu_content_wrapper{flex-direction:column-reverse}}.dp--menu-content-wrapper-collapsed{flex-direction:column-reverse}.dp__calendar_header{position:relative;display:flex;justify-content:center;align-items:center;color:var(--dp-text-color);white-space:nowrap;font-weight:700}.dp__calendar_header_item{text-align:center;flex-grow:1;height:var(--dp-cell-size);padding:var(--dp-cell-padding);width:var(--dp-cell-size);box-sizing:border-box}.dp__calendar_row{display:flex;justify-content:center;align-items:center;margin:var(--dp-row-margin)}.dp__calendar_item{text-align:center;flex-grow:1;box-sizing:border-box;color:var(--dp-text-color)}.dp__calendar{position:relative}.dp__calendar_header_cell{border-bottom:thin solid var(--dp-border-color);padding:var(--dp-calendar-header-cell-padding)}.dp__cell_inner{display:flex;align-items:center;text-align:center;justify-content:center;border-radius:var(--dp-cell-border-radius);height:var(--dp-cell-size);padding:var(--dp-cell-padding);width:var(--dp-cell-size);border:1px solid rgba(0,0,0,0);box-sizing:border-box;position:relative}.dp__cell_inner:hover{transition:all .2s}.dp__cell_auto_range_start,.dp__date_hover_start:hover,.dp__range_start{border-end-end-radius:0;border-start-end-radius:0}.dp__cell_auto_range_end,.dp__date_hover_end:hover,.dp__range_end{border-end-start-radius:0;border-start-start-radius:0}.dp__range_end,.dp__range_start,.dp__active_date{background:var(--dp-primary-color);color:var(--dp-primary-text-color)}.dp__date_hover_end:hover,.dp__date_hover_start:hover,.dp__date_hover:hover{background:var(--dp-hover-color);color:var(--dp-hover-text-color)}.dp__cell_offset{color:var(--dp-secondary-color)}.dp__cell_disabled{color:var(--dp-secondary-color);cursor:not-allowed}.dp__range_between{background:var(--dp-range-between-dates-background-color);color:var(--dp-range-between-dates-text-color);border-radius:0;border:1px solid var(--dp-range-between-border-color)}.dp__range_between_week{background:var(--dp-primary-color);color:var(--dp-primary-text-color);border-radius:0;border-top:1px solid var(--dp-primary-color);border-bottom:1px solid var(--dp-primary-color)}.dp__today{border:1px solid var(--dp-primary-color)}.dp__week_num{color:var(--dp-secondary-color);text-align:center}.dp__cell_auto_range{border-radius:0;border-top:1px dashed var(--dp-primary-color);border-bottom:1px dashed var(--dp-primary-color)}.dp__cell_auto_range_start{border-start-start-radius:var(--dp-cell-border-radius);border-end-start-radius:var(--dp-cell-border-radius);border-inline-start:1px dashed var(--dp-primary-color);border-top:1px dashed var(--dp-primary-color);border-bottom:1px dashed var(--dp-primary-color)}.dp__cell_auto_range_end{border-start-end-radius:var(--dp-cell-border-radius);border-end-end-radius:var(--dp-cell-border-radius);border-top:1px dashed var(--dp-primary-color);border-bottom:1px dashed var(--dp-primary-color);border-inline-end:1px dashed var(--dp-primary-color)}.dp__calendar_header_separator{width:100%;height:1px;background:var(--dp-border-color)}.dp__calendar_next{margin-inline-start:var(--dp-multi-calendars-spacing)}.dp__marker_line,.dp__marker_dot{height:5px;background-color:var(--dp-marker-color);position:absolute;bottom:0}.dp__marker_dot{width:5px;border-radius:50%;left:50%;transform:translate(-50%)}.dp__marker_line{width:100%;left:0}.dp__marker_tooltip{position:absolute;border-radius:var(--dp-border-radius);background-color:var(--dp-tooltip-color);padding:5px;border:1px solid var(--dp-border-color);z-index:99999;box-sizing:border-box;cursor:default}.dp__tooltip_content{white-space:nowrap}.dp__tooltip_text{display:flex;align-items:center;flex-flow:row nowrap;color:var(--dp-text-color)}.dp__tooltip_mark{height:5px;width:5px;border-radius:50%;background-color:var(--dp-text-color);color:var(--dp-text-color);margin-inline-end:5px}.dp__arrow_bottom_tp{bottom:0;height:8px;width:8px;background-color:var(--dp-tooltip-color);position:absolute;border-inline-end:1px solid var(--dp-border-color);border-bottom:1px solid var(--dp-border-color);transform:translate(-50%,50%) rotate(45deg)}.dp__instance_calendar{position:relative;width:100%}@media only screen and (width <= 600px){.dp__flex_display{flex-direction:column}}.dp--flex-display-collapsed{flex-direction:column}.dp__cell_highlight{background-color:var(--dp-highlight-color)}.dp__month_year_row{display:flex;align-items:center;height:var(--dp-month-year-row-height);color:var(--dp-text-color);box-sizing:border-box}.dp__inner_nav{display:flex;align-items:center;justify-content:center;cursor:pointer;height:var(--dp-month-year-row-button-size);width:var(--dp-month-year-row-button-size);color:var(--dp-icon-color);text-align:center;border-radius:50%}.dp__inner_nav svg{height:var(--dp-button-icon-height);width:var(--dp-button-icon-height)}.dp__inner_nav:hover{background:var(--dp-hover-color);color:var(--dp-hover-icon-color)}[dir=rtl] .dp__inner_nav{transform:rotate(180deg)}.dp__inner_nav_disabled:hover,.dp__inner_nav_disabled{background:var(--dp-disabled-color);color:var(--dp-disabled-color-text);cursor:not-allowed}.dp--year-select,.dp__month_year_select{text-align:center;cursor:pointer;height:var(--dp-month-year-row-height);display:flex;align-items:center;justify-content:center;border-radius:var(--dp-border-radius);box-sizing:border-box;color:var(--dp-text-color)}.dp--year-select:hover,.dp__month_year_select:hover{background:var(--dp-hover-color);color:var(--dp-hover-text-color);transition:var(--dp-common-transition)}.dp__month_year_select{width:50%}.dp--year-select{width:100%}.dp__month_year_wrap{display:flex;flex-direction:row;width:100%}.dp__year_disable_select{justify-content:space-around}.dp--header-wrap{display:flex;width:100%;flex-direction:column}.dp__overlay{width:100%;background:var(--dp-background-color);transition:opacity 1s ease-out;z-index:99999;font-family:var(--dp-font-family);color:var(--dp-text-color);box-sizing:border-box}.dp--overlay-absolute{position:absolute;height:100%;top:0;left:0}.dp--overlay-relative{position:relative}.dp__overlay_container::-webkit-scrollbar-track{box-shadow:var(--dp-scroll-bar-background);background-color:var(--dp-scroll-bar-background)}.dp__overlay_container::-webkit-scrollbar{width:5px;background-color:var(--dp-scroll-bar-background)}.dp__overlay_container::-webkit-scrollbar-thumb{background-color:var(--dp-scroll-bar-color);border-radius:10px}.dp__overlay:focus{border:none;outline:none}.dp__container_flex{display:flex}.dp__container_block{display:block}.dp__overlay_container{flex-direction:column;overflow-y:auto;height:var(--dp-overlay-height)}.dp__time_picker_overlay_container{height:100%}.dp__overlay_row{padding:0;box-sizing:border-box;display:flex;margin-inline:auto auto;flex-wrap:wrap;max-width:100%;width:100%;align-items:center}.dp__flex_row{flex:1}.dp__overlay_col{box-sizing:border-box;width:33%;padding:var(--dp-overlay-col-padding);white-space:nowrap}.dp__overlay_cell_pad{padding:var(--dp-common-padding) 0}.dp__overlay_cell_active{cursor:pointer;border-radius:var(--dp-border-radius);text-align:center;background:var(--dp-primary-color);color:var(--dp-primary-text-color)}.dp__overlay_cell{cursor:pointer;border-radius:var(--dp-border-radius);text-align:center}.dp__overlay_cell:hover{background:var(--dp-hover-color);color:var(--dp-hover-text-color);transition:var(--dp-common-transition)}.dp__cell_in_between{background:var(--dp-hover-color);color:var(--dp-hover-text-color)}.dp__over_action_scroll{right:5px;box-sizing:border-box}.dp__overlay_cell_disabled{cursor:not-allowed;background:var(--dp-disabled-color)}.dp__overlay_cell_disabled:hover{background:var(--dp-disabled-color)}.dp__overlay_cell_active_disabled{cursor:not-allowed;background:var(--dp-primary-disabled-color)}.dp__overlay_cell_active_disabled:hover{background:var(--dp-primary-disabled-color)}.dp__btn,.dp--qr-btn,.dp--time-invalid,.dp--time-overlay-btn{border:none;font:inherit;transition:var(--dp-common-transition);line-height:normal}.dp--tp-wrap{max-width:var(--dp-menu-min-width)}.dp__time_input{width:100%;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;font-family:var(--dp-font-family);color:var(--dp-text-color)}.dp__time_col_reg_block{padding:0 20px}.dp__time_col_reg_inline{padding:0 10px}.dp__time_col_reg_with_button{padding:0 15px}.dp__time_col_sec{padding:0 10px}.dp__time_col_sec_with_button{padding:0 5px}.dp__time_col{text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column}.dp__time_col_block{font-size:var(--dp-time-font-size)}.dp__time_display_block{padding:0 3px}.dp__time_display_inline{padding:5px}.dp__time_picker_inline_container{display:flex;width:100%;justify-content:center}.dp__inc_dec_button{padding:5px;margin:0;height:var(--dp-time-inc-dec-button-size);width:var(--dp-time-inc-dec-button-size);display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;color:var(--dp-icon-color);box-sizing:border-box}.dp__inc_dec_button svg{height:var(--dp-time-inc-dec-button-size);width:var(--dp-time-inc-dec-button-size)}.dp__inc_dec_button:hover{background:var(--dp-hover-color);color:var(--dp-primary-color)}.dp__time_display{cursor:pointer;color:var(--dp-text-color);border-radius:var(--dp-border-radius);display:flex;align-items:center;justify-content:center}.dp__time_display:hover:enabled{background:var(--dp-hover-color);color:var(--dp-hover-text-color)}.dp__inc_dec_button_inline{width:100%;padding:0;height:8px;cursor:pointer;display:flex;align-items:center}.dp__inc_dec_button_disabled,.dp__inc_dec_button_disabled:hover{background:var(--dp-disabled-color);color:var(--dp-disabled-color-text);cursor:not-allowed}.dp__pm_am_button{background:var(--dp-primary-color);color:var(--dp-primary-text-color);border:none;padding:var(--dp-common-padding);border-radius:var(--dp-border-radius);cursor:pointer}.dp__tp_inline_btn_bar{width:100%;height:4px;background-color:var(--dp-secondary-color);transition:var(--dp-common-transition);border-collapse:collapse}.dp__tp_inline_btn_top:hover .dp__tp_btn_in_r{background-color:var(--dp-primary-color);transform:rotate(12deg) scale(1.15) translateY(-2px)}.dp__tp_inline_btn_top:hover .dp__tp_btn_in_l,.dp__tp_inline_btn_bottom:hover .dp__tp_btn_in_r{background-color:var(--dp-primary-color);transform:rotate(-12deg) scale(1.15) translateY(-2px)}.dp__tp_inline_btn_bottom:hover .dp__tp_btn_in_l{background-color:var(--dp-primary-color);transform:rotate(12deg) scale(1.15) translateY(-2px)}.dp--time-overlay-btn{background:none}.dp--time-invalid{background-color:var(--dp-disabled-color)}.dp__action_row{display:flex;align-items:center;width:100%;padding:var(--dp-action-row-padding);box-sizing:border-box;color:var(--dp-text-color);flex-flow:row nowrap}.dp__action_row svg{height:var(--dp-button-icon-height);width:auto}.dp__selection_preview{display:block;color:var(--dp-text-color);font-size:var(--dp-preview-font-size);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dp__action_buttons{display:flex;flex:0;white-space:nowrap;align-items:center;justify-content:flex-end;margin-inline-start:auto}.dp__action_button{display:inline-flex;align-items:center;background:#0000;border:1px solid rgba(0,0,0,0);padding:var(--dp-action-buttons-padding);line-height:var(--dp-action-button-height);margin-inline-start:3px;height:var(--dp-action-button-height);cursor:pointer;border-radius:var(--dp-border-radius);font-size:var(--dp-preview-font-size);font-family:var(--dp-font-family)}.dp__action_cancel{color:var(--dp-text-color);border:1px solid var(--dp-border-color)}.dp__action_cancel:hover{border-color:var(--dp-primary-color);transition:var(--dp-action-row-transtion)}.dp__action_buttons .dp__action_select{background:var(--dp-primary-color);color:var(--dp-primary-text-color)}.dp__action_buttons .dp__action_select:hover{background:var(--dp-primary-color);transition:var(--dp-action-row-transtion)}.dp__action_buttons .dp__action_select:disabled{background:var(--dp-primary-disabled-color);cursor:not-allowed}.dp-quarter-picker-wrap{display:flex;flex-direction:column;height:100%;min-width:var(--dp-menu-min-width)}.dp--qr-btn-disabled{cursor:not-allowed;background:var(--dp-disabled-color)}.dp--qr-btn-disabled:hover{background:var(--dp-disabled-color)}.dp--qr-btn{width:100%;padding:var(--dp-common-padding)}.dp--qr-btn:not(.dp--highlighted,.dp--qr-btn-active,.dp--qr-btn-disabled,.dp--qr-btn-between){background:none}.dp--qr-btn:hover:not(.dp--qr-btn-active,.dp--qr-btn-disabled){background:var(--dp-hover-color);color:var(--dp-hover-text-color);transition:var(--dp-common-transition)}.dp--quarter-items{display:flex;flex-direction:column;flex:1;width:100%;height:100%;justify-content:space-evenly}.dp--qr-btn-active{background:var(--dp-primary-color);color:var(--dp-primary-text-color)}.dp--qr-btn-between{background:var(--dp-hover-color);color:var(--dp-hover-text-color)}.dp__btn,.dp--time-overlay-btn,.dp--time-invalid,.dp--qr-btn{border:none;font:inherit;transition:var(--dp-common-transition);line-height:normal}.dp--year-mode-picker{display:flex;width:100%;align-items:center;justify-content:space-between;height:var(--dp-cell-size)}:root{--dp-common-transition: all .1s ease-in;--dp-menu-padding: 6px 8px;--dp-animation-duration: .1s;--dp-menu-appear-transition-timing: cubic-bezier(.4, 0, 1, 1);--dp-transition-timing: ease-out;--dp-action-row-transtion: all .2s ease-in;--dp-font-family: -apple-system, blinkmacsystemfont, "Segoe UI", roboto, oxygen, ubuntu, cantarell, "Open Sans", "Helvetica Neue", sans-serif;--dp-border-radius: 4px;--dp-cell-border-radius: 4px;--dp-transition-length: 22px;--dp-transition-timing-general: .1s;--dp-button-height: 35px;--dp-month-year-row-height: 35px;--dp-month-year-row-button-size: 25px;--dp-button-icon-height: 20px;--dp-calendar-wrap-padding: 0 5px;--dp-cell-size: 35px;--dp-cell-padding: 5px;--dp-common-padding: 10px;--dp-input-icon-padding: 35px;--dp-input-padding: 6px 30px 6px 12px;--dp-menu-min-width: 260px;--dp-action-buttons-padding: 1px 6px;--dp-row-margin: 5px 0;--dp-calendar-header-cell-padding: .5rem;--dp-multi-calendars-spacing: 10px;--dp-overlay-col-padding: 3px;--dp-time-inc-dec-button-size: 32px;--dp-font-size: 1rem;--dp-preview-font-size: .8rem;--dp-time-font-size: 2rem;--dp-action-button-height: 22px;--dp-action-row-padding: 8px;--dp-direction: ltr}.dp__theme_dark{--dp-background-color: #212121;--dp-text-color: #fff;--dp-hover-color: #484848;--dp-hover-text-color: #fff;--dp-hover-icon-color: #959595;--dp-primary-color: #005cb2;--dp-primary-disabled-color: #61a8ea;--dp-primary-text-color: #fff;--dp-secondary-color: #a9a9a9;--dp-border-color: #2d2d2d;--dp-menu-border-color: #2d2d2d;--dp-border-color-hover: #aaaeb7;--dp-border-color-focus: #aaaeb7;--dp-disabled-color: #737373;--dp-disabled-color-text: #d0d0d0;--dp-scroll-bar-background: #212121;--dp-scroll-bar-color: #484848;--dp-success-color: #00701a;--dp-success-color-disabled: #428f59;--dp-icon-color: #959595;--dp-danger-color: #e53935;--dp-marker-color: #e53935;--dp-tooltip-color: #3e3e3e;--dp-highlight-color: rgb(0 92 178 / 20%);--dp-range-between-dates-background-color: var(--dp-hover-color, #484848);--dp-range-between-dates-text-color: var(--dp-hover-text-color, #fff);--dp-range-between-border-color: var(--dp-hover-color, #fff);--dp-loader: 5px solid #005cb2}.dp__theme_light{--dp-background-color: #fff;--dp-text-color: #212121;--dp-hover-color: #f3f3f3;--dp-hover-text-color: #212121;--dp-hover-icon-color: #959595;--dp-primary-color: #1976d2;--dp-primary-disabled-color: #6bacea;--dp-primary-text-color: #fff;--dp-secondary-color: #c0c4cc;--dp-border-color: #ddd;--dp-menu-border-color: #ddd;--dp-border-color-hover: #aaaeb7;--dp-border-color-focus: #aaaeb7;--dp-disabled-color: #f6f6f6;--dp-scroll-bar-background: #f3f3f3;--dp-scroll-bar-color: #959595;--dp-success-color: #76d275;--dp-success-color-disabled: #a3d9b1;--dp-icon-color: #959595;--dp-danger-color: #ff6f60;--dp-marker-color: #ff6f60;--dp-tooltip-color: #fafafa;--dp-disabled-color-text: #8e8e8e;--dp-highlight-color: rgb(25 118 210 / 10%);--dp-range-between-dates-background-color: var(--dp-hover-color, #f3f3f3);--dp-range-between-dates-text-color: var(--dp-hover-text-color, #212121);--dp-range-between-border-color: var(--dp-hover-color, #f3f3f3);--dp-loader: 5px solid #1976d2}.dp__flex{display:flex;align-items:center}.dp__btn{background:none}.dp__main{font-family:var(--dp-font-family);-webkit-user-select:none;user-select:none;box-sizing:border-box;position:relative;width:100%}.dp__main *{direction:var(--dp-direction, ltr)}.dp__pointer{cursor:pointer}.dp__icon{stroke:currentcolor;fill:currentcolor}.dp__button{width:100%;text-align:center;color:var(--dp-icon-color);cursor:pointer;display:flex;align-items:center;place-content:center center;padding:var(--dp-common-padding);box-sizing:border-box;height:var(--dp-button-height)}.dp__button.dp__overlay_action{position:absolute;bottom:0}.dp__button:hover{background:var(--dp-hover-color);color:var(--dp-hover-icon-color)}.dp__button svg{height:var(--dp-button-icon-height);width:auto}.dp__button_bottom{border-bottom-left-radius:var(--dp-border-radius);border-bottom-right-radius:var(--dp-border-radius)}.dp__flex_display{display:flex}.dp__flex_display_with_input{flex-direction:column;align-items:flex-start}.dp__relative{position:relative}.calendar-next-enter-active,.calendar-next-leave-active,.calendar-prev-enter-active,.calendar-prev-leave-active{transition:all var(--dp-transition-timing-general) ease-out}.calendar-next-enter-from{opacity:0;transform:translate(var(--dp-transition-length))}.calendar-next-leave-to,.calendar-prev-enter-from{opacity:0;transform:translate(calc(var(--dp-transition-length) * -1))}.calendar-prev-leave-to{opacity:0;transform:translate(var(--dp-transition-length))}.dp-menu-appear-bottom-enter-active,.dp-menu-appear-bottom-leave-active,.dp-menu-appear-top-enter-active,.dp-menu-appear-top-leave-active,.dp-slide-up-enter-active,.dp-slide-up-leave-active,.dp-slide-down-enter-active,.dp-slide-down-leave-active{transition:all var(--dp-animation-duration) var(--dp-transition-timing)}.dp-menu-appear-top-enter-from,.dp-menu-appear-top-leave-to,.dp-slide-down-leave-to,.dp-slide-up-enter-from{opacity:0;transform:translateY(var(--dp-transition-length))}.dp-menu-appear-bottom-enter-from,.dp-menu-appear-bottom-leave-to,.dp-slide-down-enter-from,.dp-slide-up-leave-to{opacity:0;transform:translateY(calc(var(--dp-transition-length) * -1))}.dp--arrow-btn-nav{transition:var(--dp-common-transition)}.dp--highlighted{background-color:var(--dp-highlight-color)}.dp--hidden-el{visibility:hidden}@media screen and (max-width: 768px){.navbar-container[data-v-a0b378dd]{position:absolute;z-index:1000;animation-duration:.4s;animation-fill-mode:both;display:none;animation-timing-function:cubic-bezier(.82,.58,.17,.9)}.navbar-container.active[data-v-a0b378dd]{animation-direction:normal;display:block!important;animation-name:zoomInFade-a0b378dd}}@keyframes zoomInFade-a0b378dd{0%{opacity:0;transform:translateY(60px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0px)}}.messageCentre[data-v-b776d181]{top:calc(50px + 1rem);right:1rem}.dot.inactive[data-v-03a1c13c]{background-color:#dc3545;box-shadow:0 0 0 .2rem #dc354545}.spin[data-v-03a1c13c]{animation:spin-03a1c13c 1s infinite cubic-bezier(.82,.58,.17,.9)}@keyframes spin-03a1c13c{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media screen and (max-width: 768px){.remoteServerContainer[data-v-03a1c13c]{flex-direction:column}.remoteServerContainer .button-group button[data-v-03a1c13c]{width:100%}}@media screen and (max-width: 768px){.login-box[data-v-e351e82c]{width:100%!important}.login-box div[data-v-e351e82c]{width:auto!important}}@media screen and (max-width: 768px){.configurationListTitle[data-v-bff52ca5]{flex-direction:column;gap:.5rem}.configurationListTitle[data-v-bff52ca5] h3 span[data-v-bff52ca5]{margin-left:auto!important}.configurationListTitle[data-v-bff52ca5] .btn[data-v-bff52ca5]{width:100%}}@media screen and (max-width: 992px){.apiKey-card-body[data-v-0cc2f367]{flex-direction:column!important;align-items:start!important}.apiKey-card-body[data-v-0cc2f367] div.ms-auto[data-v-0cc2f367]{margin-left:0!important}.apiKey-card-body[data-v-0cc2f367] div[data-v-0cc2f367]{width:100%;align-items:start!important}.apiKey-card-body[data-v-0cc2f367] small[data-v-0cc2f367]{margin-right:auto}}.apiKey-move[data-v-45b66fb8],.apiKey-enter-active[data-v-45b66fb8],.apiKey-leave-active[data-v-45b66fb8]{transition:all .5s ease}.apiKey-enter-from[data-v-45b66fb8],.apiKey-leave-to[data-v-45b66fb8]{opacity:0;transform:translateY(30px) scale(.9)}.apiKey-leave-active[data-v-45b66fb8]{position:absolute;width:100%}.animation__fadeInDropdown[data-v-f3ba2ec5]{animation-name:fadeInDropdown-f3ba2ec5;animation-duration:.2s;animation-timing-function:cubic-bezier(.82,.58,.17,.9)}@keyframes fadeInDropdown-f3ba2ec5{0%{opacity:0;filter:blur(3px);transform:translateY(-60px)}to{opacity:1;filter:blur(0px);transform:translateY(-40px)}}.displayModal .dashboardModal[data-v-f3ba2ec5]{width:400px!important}@media screen and (max-width: 768px){.peerSearchContainer[data-v-f3ba2ec5]{flex-direction:column}.peerSettingContainer .dashboardModal[data-v-f3ba2ec5]{width:100%!important}}/*! * animate.css - https://animate.style/ * Version - 4.1.1 * Licensed under the MIT license - http://opensource.org/licenses/MIT diff --git a/src/static/app/dist/assets/index.js b/src/static/app/dist/assets/index.js index 07dc7f30..1c4ce2a8 100644 --- a/src/static/app/dist/assets/index.js +++ b/src/static/app/dist/assets/index.js @@ -1,32 +1,32 @@ -var bS=Object.defineProperty;var yS=(e,t,n)=>t in e?bS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var le=(e,t,n)=>(yS(e,typeof t!="symbol"?t+"":t,n),n);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))s(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const r of o.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&s(r)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();var _v=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function wS(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function xS(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function s(){return this instanceof s?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(s){var i=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(n,s,i.get?i:{enumerable:!0,get:function(){return e[s]}})}),n}var kS={exports:{}},bn="top",Ln="bottom",Nn="right",yn="left",Uc="auto",Lr=[bn,Ln,Nn,yn],Co="start",hr="end",vv="clippingParents",Oh="viewport",tr="popper",bv="reference",Id=Lr.reduce(function(e,t){return e.concat([t+"-"+Co,t+"-"+hr])},[]),Ih=[].concat(Lr,[Uc]).reduce(function(e,t){return e.concat([t,t+"-"+Co,t+"-"+hr])},[]),yv="beforeRead",wv="read",xv="afterRead",kv="beforeMain",Sv="main",$v="afterMain",Av="beforeWrite",Cv="write",Ev="afterWrite",Pv=[yv,wv,xv,kv,Sv,$v,Av,Cv,Ev];function Ps(e){return e?(e.nodeName||"").toLowerCase():null}function Fn(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Eo(e){var t=Fn(e).Element;return e instanceof t||e instanceof Element}function Jn(e){var t=Fn(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Rh(e){if(typeof ShadowRoot>"u")return!1;var t=Fn(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function SS(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var s=t.styles[n]||{},i=t.attributes[n]||{},o=t.elements[n];!Jn(o)||!Ps(o)||(Object.assign(o.style,s),Object.keys(i).forEach(function(r){var a=i[r];a===!1?o.removeAttribute(r):o.setAttribute(r,a===!0?"":a)}))})}function $S(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(s){var i=t.elements[s],o=t.attributes[s]||{},r=Object.keys(t.styles.hasOwnProperty(s)?t.styles[s]:n[s]),a=r.reduce(function(l,c){return l[c]="",l},{});!Jn(i)||!Ps(i)||(Object.assign(i.style,a),Object.keys(o).forEach(function(l){i.removeAttribute(l)}))})}}const Lh={name:"applyStyles",enabled:!0,phase:"write",fn:SS,effect:$S,requires:["computeStyles"]};function As(e){return e.split("-")[0]}var bo=Math.max,xc=Math.min,fr=Math.round;function Rd(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Mv(){return!/^((?!chrome|android).)*safari/i.test(Rd())}function pr(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var s=e.getBoundingClientRect(),i=1,o=1;t&&Jn(e)&&(i=e.offsetWidth>0&&fr(s.width)/e.offsetWidth||1,o=e.offsetHeight>0&&fr(s.height)/e.offsetHeight||1);var r=Eo(e)?Fn(e):window,a=r.visualViewport,l=!Mv()&&n,c=(s.left+(l&&a?a.offsetLeft:0))/i,u=(s.top+(l&&a?a.offsetTop:0))/o,d=s.width/i,f=s.height/o;return{width:d,height:f,top:u,right:c+d,bottom:u+f,left:c,x:c,y:u}}function Nh(e){var t=pr(e),n=e.offsetWidth,s=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-s)<=1&&(s=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:s}}function Tv(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&Rh(n)){var s=t;do{if(s&&e.isSameNode(s))return!0;s=s.parentNode||s.host}while(s)}return!1}function Qs(e){return Fn(e).getComputedStyle(e)}function AS(e){return["table","td","th"].indexOf(Ps(e))>=0}function Vi(e){return((Eo(e)?e.ownerDocument:e.document)||window.document).documentElement}function Kc(e){return Ps(e)==="html"?e:e.assignedSlot||e.parentNode||(Rh(e)?e.host:null)||Vi(e)}function nm(e){return!Jn(e)||Qs(e).position==="fixed"?null:e.offsetParent}function CS(e){var t=/firefox/i.test(Rd()),n=/Trident/i.test(Rd());if(n&&Jn(e)){var s=Qs(e);if(s.position==="fixed")return null}var i=Kc(e);for(Rh(i)&&(i=i.host);Jn(i)&&["html","body"].indexOf(Ps(i))<0;){var o=Qs(i);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||t&&o.willChange==="filter"||t&&o.filter&&o.filter!=="none")return i;i=i.parentNode}return null}function tl(e){for(var t=Fn(e),n=nm(e);n&&AS(n)&&Qs(n).position==="static";)n=nm(n);return n&&(Ps(n)==="html"||Ps(n)==="body"&&Qs(n).position==="static")?t:n||CS(e)||t}function Fh(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function pa(e,t,n){return bo(e,xc(t,n))}function ES(e,t,n){var s=pa(e,t,n);return s>n?n:s}function Dv(){return{top:0,right:0,bottom:0,left:0}}function Ov(e){return Object.assign({},Dv(),e)}function Iv(e,t){return t.reduce(function(n,s){return n[s]=e,n},{})}var PS=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,Ov(typeof t!="number"?t:Iv(t,Lr))};function MS(e){var t,n=e.state,s=e.name,i=e.options,o=n.elements.arrow,r=n.modifiersData.popperOffsets,a=As(n.placement),l=Fh(a),c=[yn,Nn].indexOf(a)>=0,u=c?"height":"width";if(!(!o||!r)){var d=PS(i.padding,n),f=Nh(o),p=l==="y"?bn:yn,g=l==="y"?Ln:Nn,_=n.rects.reference[u]+n.rects.reference[l]-r[l]-n.rects.popper[u],b=r[l]-n.rects.reference[l],w=tl(o),$=w?l==="y"?w.clientHeight||0:w.clientWidth||0:0,A=_/2-b/2,T=d[p],k=$-f[u]-d[g],y=$/2-f[u]/2+A,x=pa(T,y,k),C=l;n.modifiersData[s]=(t={},t[C]=x,t.centerOffset=x-y,t)}}function TS(e){var t=e.state,n=e.options,s=n.element,i=s===void 0?"[data-popper-arrow]":s;i!=null&&(typeof i=="string"&&(i=t.elements.popper.querySelector(i),!i)||Tv(t.elements.popper,i)&&(t.elements.arrow=i))}const Rv={name:"arrow",enabled:!0,phase:"main",fn:MS,effect:TS,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function mr(e){return e.split("-")[1]}var DS={top:"auto",right:"auto",bottom:"auto",left:"auto"};function OS(e,t){var n=e.x,s=e.y,i=t.devicePixelRatio||1;return{x:fr(n*i)/i||0,y:fr(s*i)/i||0}}function sm(e){var t,n=e.popper,s=e.popperRect,i=e.placement,o=e.variation,r=e.offsets,a=e.position,l=e.gpuAcceleration,c=e.adaptive,u=e.roundOffsets,d=e.isFixed,f=r.x,p=f===void 0?0:f,g=r.y,_=g===void 0?0:g,b=typeof u=="function"?u({x:p,y:_}):{x:p,y:_};p=b.x,_=b.y;var w=r.hasOwnProperty("x"),$=r.hasOwnProperty("y"),A=yn,T=bn,k=window;if(c){var y=tl(n),x="clientHeight",C="clientWidth";if(y===Fn(n)&&(y=Vi(n),Qs(y).position!=="static"&&a==="absolute"&&(x="scrollHeight",C="scrollWidth")),y=y,i===bn||(i===yn||i===Nn)&&o===hr){T=Ln;var P=d&&y===k&&k.visualViewport?k.visualViewport.height:y[x];_-=P-s.height,_*=l?1:-1}if(i===yn||(i===bn||i===Ln)&&o===hr){A=Nn;var E=d&&y===k&&k.visualViewport?k.visualViewport.width:y[C];p-=E-s.width,p*=l?1:-1}}var B=Object.assign({position:a},c&&DS),G=u===!0?OS({x:p,y:_},Fn(n)):{x:p,y:_};if(p=G.x,_=G.y,l){var ae;return Object.assign({},B,(ae={},ae[T]=$?"0":"",ae[A]=w?"0":"",ae.transform=(k.devicePixelRatio||1)<=1?"translate("+p+"px, "+_+"px)":"translate3d("+p+"px, "+_+"px, 0)",ae))}return Object.assign({},B,(t={},t[T]=$?_+"px":"",t[A]=w?p+"px":"",t.transform="",t))}function IS(e){var t=e.state,n=e.options,s=n.gpuAcceleration,i=s===void 0?!0:s,o=n.adaptive,r=o===void 0?!0:o,a=n.roundOffsets,l=a===void 0?!0:a,c={placement:As(t.placement),variation:mr(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:i,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,sm(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:r,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,sm(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const Bh={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:IS,data:{}};var El={passive:!0};function RS(e){var t=e.state,n=e.instance,s=e.options,i=s.scroll,o=i===void 0?!0:i,r=s.resize,a=r===void 0?!0:r,l=Fn(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&c.forEach(function(u){u.addEventListener("scroll",n.update,El)}),a&&l.addEventListener("resize",n.update,El),function(){o&&c.forEach(function(u){u.removeEventListener("scroll",n.update,El)}),a&&l.removeEventListener("resize",n.update,El)}}const Vh={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:RS,data:{}};var LS={left:"right",right:"left",bottom:"top",top:"bottom"};function ic(e){return e.replace(/left|right|bottom|top/g,function(t){return LS[t]})}var NS={start:"end",end:"start"};function im(e){return e.replace(/start|end/g,function(t){return NS[t]})}function Hh(e){var t=Fn(e),n=t.pageXOffset,s=t.pageYOffset;return{scrollLeft:n,scrollTop:s}}function jh(e){return pr(Vi(e)).left+Hh(e).scrollLeft}function FS(e,t){var n=Fn(e),s=Vi(e),i=n.visualViewport,o=s.clientWidth,r=s.clientHeight,a=0,l=0;if(i){o=i.width,r=i.height;var c=Mv();(c||!c&&t==="fixed")&&(a=i.offsetLeft,l=i.offsetTop)}return{width:o,height:r,x:a+jh(e),y:l}}function BS(e){var t,n=Vi(e),s=Hh(e),i=(t=e.ownerDocument)==null?void 0:t.body,o=bo(n.scrollWidth,n.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),r=bo(n.scrollHeight,n.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),a=-s.scrollLeft+jh(e),l=-s.scrollTop;return Qs(i||n).direction==="rtl"&&(a+=bo(n.clientWidth,i?i.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}function Wh(e){var t=Qs(e),n=t.overflow,s=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+s)}function Lv(e){return["html","body","#document"].indexOf(Ps(e))>=0?e.ownerDocument.body:Jn(e)&&Wh(e)?e:Lv(Kc(e))}function ma(e,t){var n;t===void 0&&(t=[]);var s=Lv(e),i=s===((n=e.ownerDocument)==null?void 0:n.body),o=Fn(s),r=i?[o].concat(o.visualViewport||[],Wh(s)?s:[]):s,a=t.concat(r);return i?a:a.concat(ma(Kc(r)))}function Ld(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function VS(e,t){var n=pr(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function om(e,t,n){return t===Oh?Ld(FS(e,n)):Eo(t)?VS(t,n):Ld(BS(Vi(e)))}function HS(e){var t=ma(Kc(e)),n=["absolute","fixed"].indexOf(Qs(e).position)>=0,s=n&&Jn(e)?tl(e):e;return Eo(s)?t.filter(function(i){return Eo(i)&&Tv(i,s)&&Ps(i)!=="body"}):[]}function jS(e,t,n,s){var i=t==="clippingParents"?HS(e):[].concat(t),o=[].concat(i,[n]),r=o[0],a=o.reduce(function(l,c){var u=om(e,c,s);return l.top=bo(u.top,l.top),l.right=xc(u.right,l.right),l.bottom=xc(u.bottom,l.bottom),l.left=bo(u.left,l.left),l},om(e,r,s));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function Nv(e){var t=e.reference,n=e.element,s=e.placement,i=s?As(s):null,o=s?mr(s):null,r=t.x+t.width/2-n.width/2,a=t.y+t.height/2-n.height/2,l;switch(i){case bn:l={x:r,y:t.y-n.height};break;case Ln:l={x:r,y:t.y+t.height};break;case Nn:l={x:t.x+t.width,y:a};break;case yn:l={x:t.x-n.width,y:a};break;default:l={x:t.x,y:t.y}}var c=i?Fh(i):null;if(c!=null){var u=c==="y"?"height":"width";switch(o){case Co:l[c]=l[c]-(t[u]/2-n[u]/2);break;case hr:l[c]=l[c]+(t[u]/2-n[u]/2);break}}return l}function gr(e,t){t===void 0&&(t={});var n=t,s=n.placement,i=s===void 0?e.placement:s,o=n.strategy,r=o===void 0?e.strategy:o,a=n.boundary,l=a===void 0?vv:a,c=n.rootBoundary,u=c===void 0?Oh:c,d=n.elementContext,f=d===void 0?tr:d,p=n.altBoundary,g=p===void 0?!1:p,_=n.padding,b=_===void 0?0:_,w=Ov(typeof b!="number"?b:Iv(b,Lr)),$=f===tr?bv:tr,A=e.rects.popper,T=e.elements[g?$:f],k=jS(Eo(T)?T:T.contextElement||Vi(e.elements.popper),l,u,r),y=pr(e.elements.reference),x=Nv({reference:y,element:A,strategy:"absolute",placement:i}),C=Ld(Object.assign({},A,x)),P=f===tr?C:y,E={top:k.top-P.top+w.top,bottom:P.bottom-k.bottom+w.bottom,left:k.left-P.left+w.left,right:P.right-k.right+w.right},B=e.modifiersData.offset;if(f===tr&&B){var G=B[i];Object.keys(E).forEach(function(ae){var Y=[Nn,Ln].indexOf(ae)>=0?1:-1,L=[bn,Ln].indexOf(ae)>=0?"y":"x";E[ae]+=G[L]*Y})}return E}function WS(e,t){t===void 0&&(t={});var n=t,s=n.placement,i=n.boundary,o=n.rootBoundary,r=n.padding,a=n.flipVariations,l=n.allowedAutoPlacements,c=l===void 0?Ih:l,u=mr(s),d=u?a?Id:Id.filter(function(g){return mr(g)===u}):Lr,f=d.filter(function(g){return c.indexOf(g)>=0});f.length===0&&(f=d);var p=f.reduce(function(g,_){return g[_]=gr(e,{placement:_,boundary:i,rootBoundary:o,padding:r})[As(_)],g},{});return Object.keys(p).sort(function(g,_){return p[g]-p[_]})}function zS(e){if(As(e)===Uc)return[];var t=ic(e);return[im(e),t,im(t)]}function YS(e){var t=e.state,n=e.options,s=e.name;if(!t.modifiersData[s]._skip){for(var i=n.mainAxis,o=i===void 0?!0:i,r=n.altAxis,a=r===void 0?!0:r,l=n.fallbackPlacements,c=n.padding,u=n.boundary,d=n.rootBoundary,f=n.altBoundary,p=n.flipVariations,g=p===void 0?!0:p,_=n.allowedAutoPlacements,b=t.options.placement,w=As(b),$=w===b,A=l||($||!g?[ic(b)]:zS(b)),T=[b].concat(A).reduce(function(R,ee){return R.concat(As(ee)===Uc?WS(t,{placement:ee,boundary:u,rootBoundary:d,padding:c,flipVariations:g,allowedAutoPlacements:_}):ee)},[]),k=t.rects.reference,y=t.rects.popper,x=new Map,C=!0,P=T[0],E=0;E=0,L=Y?"width":"height",I=gr(t,{placement:B,boundary:u,rootBoundary:d,altBoundary:f,padding:c}),V=Y?ae?Nn:yn:ae?Ln:bn;k[L]>y[L]&&(V=ic(V));var Q=ic(V),Z=[];if(o&&Z.push(I[G]<=0),a&&Z.push(I[V]<=0,I[Q]<=0),Z.every(function(R){return R})){P=B,C=!1;break}x.set(B,Z)}if(C)for(var ce=g?3:1,we=function(ee){var oe=T.find(function(M){var se=x.get(M);if(se)return se.slice(0,ee).every(function(de){return de})});if(oe)return P=oe,"break"},U=ce;U>0;U--){var X=we(U);if(X==="break")break}t.placement!==P&&(t.modifiersData[s]._skip=!0,t.placement=P,t.reset=!0)}}const Fv={name:"flip",enabled:!0,phase:"main",fn:YS,requiresIfExists:["offset"],data:{_skip:!1}};function rm(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function am(e){return[bn,Nn,Ln,yn].some(function(t){return e[t]>=0})}function US(e){var t=e.state,n=e.name,s=t.rects.reference,i=t.rects.popper,o=t.modifiersData.preventOverflow,r=gr(t,{elementContext:"reference"}),a=gr(t,{altBoundary:!0}),l=rm(r,s),c=rm(a,i,o),u=am(l),d=am(c);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:u,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":d})}const Bv={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:US};function KS(e,t,n){var s=As(e),i=[yn,bn].indexOf(s)>=0?-1:1,o=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,r=o[0],a=o[1];return r=r||0,a=(a||0)*i,[yn,Nn].indexOf(s)>=0?{x:a,y:r}:{x:r,y:a}}function qS(e){var t=e.state,n=e.options,s=e.name,i=n.offset,o=i===void 0?[0,0]:i,r=Ih.reduce(function(u,d){return u[d]=KS(d,t.rects,o),u},{}),a=r[t.placement],l=a.x,c=a.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[s]=r}const Vv={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:qS};function GS(e){var t=e.state,n=e.name;t.modifiersData[n]=Nv({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const zh={name:"popperOffsets",enabled:!0,phase:"read",fn:GS,data:{}};function JS(e){return e==="x"?"y":"x"}function XS(e){var t=e.state,n=e.options,s=e.name,i=n.mainAxis,o=i===void 0?!0:i,r=n.altAxis,a=r===void 0?!1:r,l=n.boundary,c=n.rootBoundary,u=n.altBoundary,d=n.padding,f=n.tether,p=f===void 0?!0:f,g=n.tetherOffset,_=g===void 0?0:g,b=gr(t,{boundary:l,rootBoundary:c,padding:d,altBoundary:u}),w=As(t.placement),$=mr(t.placement),A=!$,T=Fh(w),k=JS(T),y=t.modifiersData.popperOffsets,x=t.rects.reference,C=t.rects.popper,P=typeof _=="function"?_(Object.assign({},t.rects,{placement:t.placement})):_,E=typeof P=="number"?{mainAxis:P,altAxis:P}:Object.assign({mainAxis:0,altAxis:0},P),B=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,G={x:0,y:0};if(y){if(o){var ae,Y=T==="y"?bn:yn,L=T==="y"?Ln:Nn,I=T==="y"?"height":"width",V=y[T],Q=V+b[Y],Z=V-b[L],ce=p?-C[I]/2:0,we=$===Co?x[I]:C[I],U=$===Co?-C[I]:-x[I],X=t.elements.arrow,R=p&&X?Nh(X):{width:0,height:0},ee=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:Dv(),oe=ee[Y],M=ee[L],se=pa(0,x[I],R[I]),de=A?x[I]/2-ce-se-oe-E.mainAxis:we-se-oe-E.mainAxis,ke=A?-x[I]/2+ce+se+M+E.mainAxis:U+se+M+E.mainAxis,N=t.elements.arrow&&tl(t.elements.arrow),fe=N?T==="y"?N.clientTop||0:N.clientLeft||0:0,v=(ae=B==null?void 0:B[T])!=null?ae:0,O=V+de-v-fe,H=V+ke-v,W=pa(p?xc(Q,O):Q,V,p?bo(Z,H):Z);y[T]=W,G[T]=W-V}if(a){var ie,j=T==="x"?bn:yn,te=T==="x"?Ln:Nn,J=y[k],he=k==="y"?"height":"width",ge=J+b[j],pe=J-b[te],Le=[bn,yn].indexOf(w)!==-1,Oe=(ie=B==null?void 0:B[k])!=null?ie:0,He=Le?ge:J-x[he]-C[he]-Oe+E.altAxis,Ve=Le?J+x[he]+C[he]-Oe-E.altAxis:pe,tt=p&&Le?ES(He,J,Ve):pa(p?He:ge,J,p?Ve:pe);y[k]=tt,G[k]=tt-J}t.modifiersData[s]=G}}const Hv={name:"preventOverflow",enabled:!0,phase:"main",fn:XS,requiresIfExists:["offset"]};function QS(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function ZS(e){return e===Fn(e)||!Jn(e)?Hh(e):QS(e)}function e$(e){var t=e.getBoundingClientRect(),n=fr(t.width)/e.offsetWidth||1,s=fr(t.height)/e.offsetHeight||1;return n!==1||s!==1}function t$(e,t,n){n===void 0&&(n=!1);var s=Jn(t),i=Jn(t)&&e$(t),o=Vi(t),r=pr(e,i,n),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(s||!s&&!n)&&((Ps(t)!=="body"||Wh(o))&&(a=ZS(t)),Jn(t)?(l=pr(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):o&&(l.x=jh(o))),{x:r.left+a.scrollLeft-l.x,y:r.top+a.scrollTop-l.y,width:r.width,height:r.height}}function n$(e){var t=new Map,n=new Set,s=[];e.forEach(function(o){t.set(o.name,o)});function i(o){n.add(o.name);var r=[].concat(o.requires||[],o.requiresIfExists||[]);r.forEach(function(a){if(!n.has(a)){var l=t.get(a);l&&i(l)}}),s.push(o)}return e.forEach(function(o){n.has(o.name)||i(o)}),s}function s$(e){var t=n$(e);return Pv.reduce(function(n,s){return n.concat(t.filter(function(i){return i.phase===s}))},[])}function i$(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function o$(e){var t=e.reduce(function(n,s){var i=n[s.name];return n[s.name]=i?Object.assign({},i,s,{options:Object.assign({},i.options,s.options),data:Object.assign({},i.data,s.data)}):s,n},{});return Object.keys(t).map(function(n){return t[n]})}var lm={placement:"bottom",modifiers:[],strategy:"absolute"};function cm(){for(var e=arguments.length,t=new Array(e),n=0;nt in e?bS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var le=(e,t,n)=>(yS(e,typeof t!="symbol"?t+"":t,n),n);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))s(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const r of o.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&s(r)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();var _v=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function wS(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function xS(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function s(){return this instanceof s?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(s){var i=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(n,s,i.get?i:{enumerable:!0,get:function(){return e[s]}})}),n}var kS={exports:{}},bn="top",Ln="bottom",Nn="right",yn="left",Kc="auto",Lr=[bn,Ln,Nn,yn],Co="start",hr="end",vv="clippingParents",Oh="viewport",tr="popper",bv="reference",Id=Lr.reduce(function(e,t){return e.concat([t+"-"+Co,t+"-"+hr])},[]),Ih=[].concat(Lr,[Kc]).reduce(function(e,t){return e.concat([t,t+"-"+Co,t+"-"+hr])},[]),yv="beforeRead",wv="read",xv="afterRead",kv="beforeMain",Sv="main",$v="afterMain",Av="beforeWrite",Cv="write",Ev="afterWrite",Pv=[yv,wv,xv,kv,Sv,$v,Av,Cv,Ev];function Ps(e){return e?(e.nodeName||"").toLowerCase():null}function Fn(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Eo(e){var t=Fn(e).Element;return e instanceof t||e instanceof Element}function Jn(e){var t=Fn(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Rh(e){if(typeof ShadowRoot>"u")return!1;var t=Fn(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function SS(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var s=t.styles[n]||{},i=t.attributes[n]||{},o=t.elements[n];!Jn(o)||!Ps(o)||(Object.assign(o.style,s),Object.keys(i).forEach(function(r){var a=i[r];a===!1?o.removeAttribute(r):o.setAttribute(r,a===!0?"":a)}))})}function $S(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(s){var i=t.elements[s],o=t.attributes[s]||{},r=Object.keys(t.styles.hasOwnProperty(s)?t.styles[s]:n[s]),a=r.reduce(function(l,c){return l[c]="",l},{});!Jn(i)||!Ps(i)||(Object.assign(i.style,a),Object.keys(o).forEach(function(l){i.removeAttribute(l)}))})}}const Lh={name:"applyStyles",enabled:!0,phase:"write",fn:SS,effect:$S,requires:["computeStyles"]};function As(e){return e.split("-")[0]}var bo=Math.max,xc=Math.min,fr=Math.round;function Rd(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Mv(){return!/^((?!chrome|android).)*safari/i.test(Rd())}function pr(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var s=e.getBoundingClientRect(),i=1,o=1;t&&Jn(e)&&(i=e.offsetWidth>0&&fr(s.width)/e.offsetWidth||1,o=e.offsetHeight>0&&fr(s.height)/e.offsetHeight||1);var r=Eo(e)?Fn(e):window,a=r.visualViewport,l=!Mv()&&n,c=(s.left+(l&&a?a.offsetLeft:0))/i,u=(s.top+(l&&a?a.offsetTop:0))/o,d=s.width/i,f=s.height/o;return{width:d,height:f,top:u,right:c+d,bottom:u+f,left:c,x:c,y:u}}function Nh(e){var t=pr(e),n=e.offsetWidth,s=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-s)<=1&&(s=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:s}}function Tv(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&Rh(n)){var s=t;do{if(s&&e.isSameNode(s))return!0;s=s.parentNode||s.host}while(s)}return!1}function Qs(e){return Fn(e).getComputedStyle(e)}function AS(e){return["table","td","th"].indexOf(Ps(e))>=0}function Vi(e){return((Eo(e)?e.ownerDocument:e.document)||window.document).documentElement}function Uc(e){return Ps(e)==="html"?e:e.assignedSlot||e.parentNode||(Rh(e)?e.host:null)||Vi(e)}function ng(e){return!Jn(e)||Qs(e).position==="fixed"?null:e.offsetParent}function CS(e){var t=/firefox/i.test(Rd()),n=/Trident/i.test(Rd());if(n&&Jn(e)){var s=Qs(e);if(s.position==="fixed")return null}var i=Uc(e);for(Rh(i)&&(i=i.host);Jn(i)&&["html","body"].indexOf(Ps(i))<0;){var o=Qs(i);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||t&&o.willChange==="filter"||t&&o.filter&&o.filter!=="none")return i;i=i.parentNode}return null}function tl(e){for(var t=Fn(e),n=ng(e);n&&AS(n)&&Qs(n).position==="static";)n=ng(n);return n&&(Ps(n)==="html"||Ps(n)==="body"&&Qs(n).position==="static")?t:n||CS(e)||t}function Fh(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function pa(e,t,n){return bo(e,xc(t,n))}function ES(e,t,n){var s=pa(e,t,n);return s>n?n:s}function Dv(){return{top:0,right:0,bottom:0,left:0}}function Ov(e){return Object.assign({},Dv(),e)}function Iv(e,t){return t.reduce(function(n,s){return n[s]=e,n},{})}var PS=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,Ov(typeof t!="number"?t:Iv(t,Lr))};function MS(e){var t,n=e.state,s=e.name,i=e.options,o=n.elements.arrow,r=n.modifiersData.popperOffsets,a=As(n.placement),l=Fh(a),c=[yn,Nn].indexOf(a)>=0,u=c?"height":"width";if(!(!o||!r)){var d=PS(i.padding,n),f=Nh(o),p=l==="y"?bn:yn,m=l==="y"?Ln:Nn,_=n.rects.reference[u]+n.rects.reference[l]-r[l]-n.rects.popper[u],b=r[l]-n.rects.reference[l],w=tl(o),$=w?l==="y"?w.clientHeight||0:w.clientWidth||0:0,A=_/2-b/2,T=d[p],k=$-f[u]-d[m],y=$/2-f[u]/2+A,x=pa(T,y,k),C=l;n.modifiersData[s]=(t={},t[C]=x,t.centerOffset=x-y,t)}}function TS(e){var t=e.state,n=e.options,s=n.element,i=s===void 0?"[data-popper-arrow]":s;i!=null&&(typeof i=="string"&&(i=t.elements.popper.querySelector(i),!i)||Tv(t.elements.popper,i)&&(t.elements.arrow=i))}const Rv={name:"arrow",enabled:!0,phase:"main",fn:MS,effect:TS,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function gr(e){return e.split("-")[1]}var DS={top:"auto",right:"auto",bottom:"auto",left:"auto"};function OS(e,t){var n=e.x,s=e.y,i=t.devicePixelRatio||1;return{x:fr(n*i)/i||0,y:fr(s*i)/i||0}}function sg(e){var t,n=e.popper,s=e.popperRect,i=e.placement,o=e.variation,r=e.offsets,a=e.position,l=e.gpuAcceleration,c=e.adaptive,u=e.roundOffsets,d=e.isFixed,f=r.x,p=f===void 0?0:f,m=r.y,_=m===void 0?0:m,b=typeof u=="function"?u({x:p,y:_}):{x:p,y:_};p=b.x,_=b.y;var w=r.hasOwnProperty("x"),$=r.hasOwnProperty("y"),A=yn,T=bn,k=window;if(c){var y=tl(n),x="clientHeight",C="clientWidth";if(y===Fn(n)&&(y=Vi(n),Qs(y).position!=="static"&&a==="absolute"&&(x="scrollHeight",C="scrollWidth")),y=y,i===bn||(i===yn||i===Nn)&&o===hr){T=Ln;var P=d&&y===k&&k.visualViewport?k.visualViewport.height:y[x];_-=P-s.height,_*=l?1:-1}if(i===yn||(i===bn||i===Ln)&&o===hr){A=Nn;var E=d&&y===k&&k.visualViewport?k.visualViewport.width:y[C];p-=E-s.width,p*=l?1:-1}}var B=Object.assign({position:a},c&&DS),G=u===!0?OS({x:p,y:_},Fn(n)):{x:p,y:_};if(p=G.x,_=G.y,l){var ae;return Object.assign({},B,(ae={},ae[T]=$?"0":"",ae[A]=w?"0":"",ae.transform=(k.devicePixelRatio||1)<=1?"translate("+p+"px, "+_+"px)":"translate3d("+p+"px, "+_+"px, 0)",ae))}return Object.assign({},B,(t={},t[T]=$?_+"px":"",t[A]=w?p+"px":"",t.transform="",t))}function IS(e){var t=e.state,n=e.options,s=n.gpuAcceleration,i=s===void 0?!0:s,o=n.adaptive,r=o===void 0?!0:o,a=n.roundOffsets,l=a===void 0?!0:a,c={placement:As(t.placement),variation:gr(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:i,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,sg(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:r,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,sg(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const Bh={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:IS,data:{}};var El={passive:!0};function RS(e){var t=e.state,n=e.instance,s=e.options,i=s.scroll,o=i===void 0?!0:i,r=s.resize,a=r===void 0?!0:r,l=Fn(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&c.forEach(function(u){u.addEventListener("scroll",n.update,El)}),a&&l.addEventListener("resize",n.update,El),function(){o&&c.forEach(function(u){u.removeEventListener("scroll",n.update,El)}),a&&l.removeEventListener("resize",n.update,El)}}const Vh={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:RS,data:{}};var LS={left:"right",right:"left",bottom:"top",top:"bottom"};function ic(e){return e.replace(/left|right|bottom|top/g,function(t){return LS[t]})}var NS={start:"end",end:"start"};function ig(e){return e.replace(/start|end/g,function(t){return NS[t]})}function Hh(e){var t=Fn(e),n=t.pageXOffset,s=t.pageYOffset;return{scrollLeft:n,scrollTop:s}}function jh(e){return pr(Vi(e)).left+Hh(e).scrollLeft}function FS(e,t){var n=Fn(e),s=Vi(e),i=n.visualViewport,o=s.clientWidth,r=s.clientHeight,a=0,l=0;if(i){o=i.width,r=i.height;var c=Mv();(c||!c&&t==="fixed")&&(a=i.offsetLeft,l=i.offsetTop)}return{width:o,height:r,x:a+jh(e),y:l}}function BS(e){var t,n=Vi(e),s=Hh(e),i=(t=e.ownerDocument)==null?void 0:t.body,o=bo(n.scrollWidth,n.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),r=bo(n.scrollHeight,n.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),a=-s.scrollLeft+jh(e),l=-s.scrollTop;return Qs(i||n).direction==="rtl"&&(a+=bo(n.clientWidth,i?i.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}function Wh(e){var t=Qs(e),n=t.overflow,s=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+s)}function Lv(e){return["html","body","#document"].indexOf(Ps(e))>=0?e.ownerDocument.body:Jn(e)&&Wh(e)?e:Lv(Uc(e))}function ga(e,t){var n;t===void 0&&(t=[]);var s=Lv(e),i=s===((n=e.ownerDocument)==null?void 0:n.body),o=Fn(s),r=i?[o].concat(o.visualViewport||[],Wh(s)?s:[]):s,a=t.concat(r);return i?a:a.concat(ga(Uc(r)))}function Ld(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function VS(e,t){var n=pr(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function og(e,t,n){return t===Oh?Ld(FS(e,n)):Eo(t)?VS(t,n):Ld(BS(Vi(e)))}function HS(e){var t=ga(Uc(e)),n=["absolute","fixed"].indexOf(Qs(e).position)>=0,s=n&&Jn(e)?tl(e):e;return Eo(s)?t.filter(function(i){return Eo(i)&&Tv(i,s)&&Ps(i)!=="body"}):[]}function jS(e,t,n,s){var i=t==="clippingParents"?HS(e):[].concat(t),o=[].concat(i,[n]),r=o[0],a=o.reduce(function(l,c){var u=og(e,c,s);return l.top=bo(u.top,l.top),l.right=xc(u.right,l.right),l.bottom=xc(u.bottom,l.bottom),l.left=bo(u.left,l.left),l},og(e,r,s));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function Nv(e){var t=e.reference,n=e.element,s=e.placement,i=s?As(s):null,o=s?gr(s):null,r=t.x+t.width/2-n.width/2,a=t.y+t.height/2-n.height/2,l;switch(i){case bn:l={x:r,y:t.y-n.height};break;case Ln:l={x:r,y:t.y+t.height};break;case Nn:l={x:t.x+t.width,y:a};break;case yn:l={x:t.x-n.width,y:a};break;default:l={x:t.x,y:t.y}}var c=i?Fh(i):null;if(c!=null){var u=c==="y"?"height":"width";switch(o){case Co:l[c]=l[c]-(t[u]/2-n[u]/2);break;case hr:l[c]=l[c]+(t[u]/2-n[u]/2);break}}return l}function mr(e,t){t===void 0&&(t={});var n=t,s=n.placement,i=s===void 0?e.placement:s,o=n.strategy,r=o===void 0?e.strategy:o,a=n.boundary,l=a===void 0?vv:a,c=n.rootBoundary,u=c===void 0?Oh:c,d=n.elementContext,f=d===void 0?tr:d,p=n.altBoundary,m=p===void 0?!1:p,_=n.padding,b=_===void 0?0:_,w=Ov(typeof b!="number"?b:Iv(b,Lr)),$=f===tr?bv:tr,A=e.rects.popper,T=e.elements[m?$:f],k=jS(Eo(T)?T:T.contextElement||Vi(e.elements.popper),l,u,r),y=pr(e.elements.reference),x=Nv({reference:y,element:A,strategy:"absolute",placement:i}),C=Ld(Object.assign({},A,x)),P=f===tr?C:y,E={top:k.top-P.top+w.top,bottom:P.bottom-k.bottom+w.bottom,left:k.left-P.left+w.left,right:P.right-k.right+w.right},B=e.modifiersData.offset;if(f===tr&&B){var G=B[i];Object.keys(E).forEach(function(ae){var Y=[Nn,Ln].indexOf(ae)>=0?1:-1,L=[bn,Ln].indexOf(ae)>=0?"y":"x";E[ae]+=G[L]*Y})}return E}function WS(e,t){t===void 0&&(t={});var n=t,s=n.placement,i=n.boundary,o=n.rootBoundary,r=n.padding,a=n.flipVariations,l=n.allowedAutoPlacements,c=l===void 0?Ih:l,u=gr(s),d=u?a?Id:Id.filter(function(m){return gr(m)===u}):Lr,f=d.filter(function(m){return c.indexOf(m)>=0});f.length===0&&(f=d);var p=f.reduce(function(m,_){return m[_]=mr(e,{placement:_,boundary:i,rootBoundary:o,padding:r})[As(_)],m},{});return Object.keys(p).sort(function(m,_){return p[m]-p[_]})}function zS(e){if(As(e)===Kc)return[];var t=ic(e);return[ig(e),t,ig(t)]}function YS(e){var t=e.state,n=e.options,s=e.name;if(!t.modifiersData[s]._skip){for(var i=n.mainAxis,o=i===void 0?!0:i,r=n.altAxis,a=r===void 0?!0:r,l=n.fallbackPlacements,c=n.padding,u=n.boundary,d=n.rootBoundary,f=n.altBoundary,p=n.flipVariations,m=p===void 0?!0:p,_=n.allowedAutoPlacements,b=t.options.placement,w=As(b),$=w===b,A=l||($||!m?[ic(b)]:zS(b)),T=[b].concat(A).reduce(function(R,ee){return R.concat(As(ee)===Kc?WS(t,{placement:ee,boundary:u,rootBoundary:d,padding:c,flipVariations:m,allowedAutoPlacements:_}):ee)},[]),k=t.rects.reference,y=t.rects.popper,x=new Map,C=!0,P=T[0],E=0;E=0,L=Y?"width":"height",I=mr(t,{placement:B,boundary:u,rootBoundary:d,altBoundary:f,padding:c}),V=Y?ae?Nn:yn:ae?Ln:bn;k[L]>y[L]&&(V=ic(V));var Q=ic(V),Z=[];if(o&&Z.push(I[G]<=0),a&&Z.push(I[V]<=0,I[Q]<=0),Z.every(function(R){return R})){P=B,C=!1;break}x.set(B,Z)}if(C)for(var ce=m?3:1,we=function(ee){var oe=T.find(function(M){var se=x.get(M);if(se)return se.slice(0,ee).every(function(de){return de})});if(oe)return P=oe,"break"},K=ce;K>0;K--){var X=we(K);if(X==="break")break}t.placement!==P&&(t.modifiersData[s]._skip=!0,t.placement=P,t.reset=!0)}}const Fv={name:"flip",enabled:!0,phase:"main",fn:YS,requiresIfExists:["offset"],data:{_skip:!1}};function rg(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function ag(e){return[bn,Nn,Ln,yn].some(function(t){return e[t]>=0})}function KS(e){var t=e.state,n=e.name,s=t.rects.reference,i=t.rects.popper,o=t.modifiersData.preventOverflow,r=mr(t,{elementContext:"reference"}),a=mr(t,{altBoundary:!0}),l=rg(r,s),c=rg(a,i,o),u=ag(l),d=ag(c);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:u,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":d})}const Bv={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:KS};function US(e,t,n){var s=As(e),i=[yn,bn].indexOf(s)>=0?-1:1,o=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,r=o[0],a=o[1];return r=r||0,a=(a||0)*i,[yn,Nn].indexOf(s)>=0?{x:a,y:r}:{x:r,y:a}}function qS(e){var t=e.state,n=e.options,s=e.name,i=n.offset,o=i===void 0?[0,0]:i,r=Ih.reduce(function(u,d){return u[d]=US(d,t.rects,o),u},{}),a=r[t.placement],l=a.x,c=a.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[s]=r}const Vv={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:qS};function GS(e){var t=e.state,n=e.name;t.modifiersData[n]=Nv({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const zh={name:"popperOffsets",enabled:!0,phase:"read",fn:GS,data:{}};function JS(e){return e==="x"?"y":"x"}function XS(e){var t=e.state,n=e.options,s=e.name,i=n.mainAxis,o=i===void 0?!0:i,r=n.altAxis,a=r===void 0?!1:r,l=n.boundary,c=n.rootBoundary,u=n.altBoundary,d=n.padding,f=n.tether,p=f===void 0?!0:f,m=n.tetherOffset,_=m===void 0?0:m,b=mr(t,{boundary:l,rootBoundary:c,padding:d,altBoundary:u}),w=As(t.placement),$=gr(t.placement),A=!$,T=Fh(w),k=JS(T),y=t.modifiersData.popperOffsets,x=t.rects.reference,C=t.rects.popper,P=typeof _=="function"?_(Object.assign({},t.rects,{placement:t.placement})):_,E=typeof P=="number"?{mainAxis:P,altAxis:P}:Object.assign({mainAxis:0,altAxis:0},P),B=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,G={x:0,y:0};if(y){if(o){var ae,Y=T==="y"?bn:yn,L=T==="y"?Ln:Nn,I=T==="y"?"height":"width",V=y[T],Q=V+b[Y],Z=V-b[L],ce=p?-C[I]/2:0,we=$===Co?x[I]:C[I],K=$===Co?-C[I]:-x[I],X=t.elements.arrow,R=p&&X?Nh(X):{width:0,height:0},ee=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:Dv(),oe=ee[Y],M=ee[L],se=pa(0,x[I],R[I]),de=A?x[I]/2-ce-se-oe-E.mainAxis:we-se-oe-E.mainAxis,ke=A?-x[I]/2+ce+se+M+E.mainAxis:K+se+M+E.mainAxis,N=t.elements.arrow&&tl(t.elements.arrow),fe=N?T==="y"?N.clientTop||0:N.clientLeft||0:0,v=(ae=B==null?void 0:B[T])!=null?ae:0,O=V+de-v-fe,H=V+ke-v,W=pa(p?xc(Q,O):Q,V,p?bo(Z,H):Z);y[T]=W,G[T]=W-V}if(a){var ie,j=T==="x"?bn:yn,te=T==="x"?Ln:Nn,J=y[k],he=k==="y"?"height":"width",me=J+b[j],pe=J-b[te],Le=[bn,yn].indexOf(w)!==-1,Oe=(ie=B==null?void 0:B[k])!=null?ie:0,He=Le?me:J-x[he]-C[he]-Oe+E.altAxis,Ve=Le?J+x[he]+C[he]-Oe-E.altAxis:pe,tt=p&&Le?ES(He,J,Ve):pa(p?He:me,J,p?Ve:pe);y[k]=tt,G[k]=tt-J}t.modifiersData[s]=G}}const Hv={name:"preventOverflow",enabled:!0,phase:"main",fn:XS,requiresIfExists:["offset"]};function QS(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function ZS(e){return e===Fn(e)||!Jn(e)?Hh(e):QS(e)}function e$(e){var t=e.getBoundingClientRect(),n=fr(t.width)/e.offsetWidth||1,s=fr(t.height)/e.offsetHeight||1;return n!==1||s!==1}function t$(e,t,n){n===void 0&&(n=!1);var s=Jn(t),i=Jn(t)&&e$(t),o=Vi(t),r=pr(e,i,n),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(s||!s&&!n)&&((Ps(t)!=="body"||Wh(o))&&(a=ZS(t)),Jn(t)?(l=pr(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):o&&(l.x=jh(o))),{x:r.left+a.scrollLeft-l.x,y:r.top+a.scrollTop-l.y,width:r.width,height:r.height}}function n$(e){var t=new Map,n=new Set,s=[];e.forEach(function(o){t.set(o.name,o)});function i(o){n.add(o.name);var r=[].concat(o.requires||[],o.requiresIfExists||[]);r.forEach(function(a){if(!n.has(a)){var l=t.get(a);l&&i(l)}}),s.push(o)}return e.forEach(function(o){n.has(o.name)||i(o)}),s}function s$(e){var t=n$(e);return Pv.reduce(function(n,s){return n.concat(t.filter(function(i){return i.phase===s}))},[])}function i$(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function o$(e){var t=e.reduce(function(n,s){var i=n[s.name];return n[s.name]=i?Object.assign({},i,s,{options:Object.assign({},i.options,s.options),data:Object.assign({},i.data,s.data)}):s,n},{});return Object.keys(t).map(function(n){return t[n]})}var lg={placement:"bottom",modifiers:[],strategy:"absolute"};function cg(){for(var e=arguments.length,t=new Array(e),n=0;nz[S]})}}return m.default=z,Object.freeze(m)}const i=s(n),o=new Map,r={set(z,m,S){o.has(z)||o.set(z,new Map);const K=o.get(z);if(!K.has(m)&&K.size!==0){console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(K.keys())[0]}.`);return}K.set(m,S)},get(z,m){return o.has(z)&&o.get(z).get(m)||null},remove(z,m){if(!o.has(z))return;const S=o.get(z);S.delete(m),S.size===0&&o.delete(z)}},a=1e6,l=1e3,c="transitionend",u=z=>(z&&window.CSS&&window.CSS.escape&&(z=z.replace(/#([^\s"#']+)/g,(m,S)=>`#${CSS.escape(S)}`)),z),d=z=>z==null?`${z}`:Object.prototype.toString.call(z).match(/\s([a-z]+)/i)[1].toLowerCase(),f=z=>{do z+=Math.floor(Math.random()*a);while(document.getElementById(z));return z},p=z=>{if(!z)return 0;let{transitionDuration:m,transitionDelay:S}=window.getComputedStyle(z);const K=Number.parseFloat(m),me=Number.parseFloat(S);return!K&&!me?0:(m=m.split(",")[0],S=S.split(",")[0],(Number.parseFloat(m)+Number.parseFloat(S))*l)},g=z=>{z.dispatchEvent(new Event(c))},_=z=>!z||typeof z!="object"?!1:(typeof z.jquery<"u"&&(z=z[0]),typeof z.nodeType<"u"),b=z=>_(z)?z.jquery?z[0]:z:typeof z=="string"&&z.length>0?document.querySelector(u(z)):null,w=z=>{if(!_(z)||z.getClientRects().length===0)return!1;const m=getComputedStyle(z).getPropertyValue("visibility")==="visible",S=z.closest("details:not([open])");if(!S)return m;if(S!==z){const K=z.closest("summary");if(K&&K.parentNode!==S||K===null)return!1}return m},$=z=>!z||z.nodeType!==Node.ELEMENT_NODE||z.classList.contains("disabled")?!0:typeof z.disabled<"u"?z.disabled:z.hasAttribute("disabled")&&z.getAttribute("disabled")!=="false",A=z=>{if(!document.documentElement.attachShadow)return null;if(typeof z.getRootNode=="function"){const m=z.getRootNode();return m instanceof ShadowRoot?m:null}return z instanceof ShadowRoot?z:z.parentNode?A(z.parentNode):null},T=()=>{},k=z=>{z.offsetHeight},y=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,x=[],C=z=>{document.readyState==="loading"?(x.length||document.addEventListener("DOMContentLoaded",()=>{for(const m of x)m()}),x.push(z)):z()},P=()=>document.documentElement.dir==="rtl",E=z=>{C(()=>{const m=y();if(m){const S=z.NAME,K=m.fn[S];m.fn[S]=z.jQueryInterface,m.fn[S].Constructor=z,m.fn[S].noConflict=()=>(m.fn[S]=K,z.jQueryInterface)}})},B=(z,m=[],S=z)=>typeof z=="function"?z(...m):S,G=(z,m,S=!0)=>{if(!S){B(z);return}const me=p(m)+5;let Pe=!1;const Ce=({target:Xe})=>{Xe===m&&(Pe=!0,m.removeEventListener(c,Ce),B(z))};m.addEventListener(c,Ce),setTimeout(()=>{Pe||g(m)},me)},ae=(z,m,S,K)=>{const me=z.length;let Pe=z.indexOf(m);return Pe===-1?!S&&K?z[me-1]:z[0]:(Pe+=S?1:-1,K&&(Pe=(Pe+me)%me),z[Math.max(0,Math.min(Pe,me-1))])},Y=/[^.]*(?=\..*)\.|.*/,L=/\..*/,I=/::\d+$/,V={};let Q=1;const Z={mouseenter:"mouseover",mouseleave:"mouseout"},ce=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function we(z,m){return m&&`${m}::${Q++}`||z.uidEvent||Q++}function U(z){const m=we(z);return z.uidEvent=m,V[m]=V[m]||{},V[m]}function X(z,m){return function S(K){return fe(K,{delegateTarget:z}),S.oneOff&&N.off(z,K.type,m),m.apply(z,[K])}}function R(z,m,S){return function K(me){const Pe=z.querySelectorAll(m);for(let{target:Ce}=me;Ce&&Ce!==this;Ce=Ce.parentNode)for(const Xe of Pe)if(Xe===Ce)return fe(me,{delegateTarget:Ce}),K.oneOff&&N.off(z,me.type,m,S),S.apply(Ce,[me])}}function ee(z,m,S=null){return Object.values(z).find(K=>K.callable===m&&K.delegationSelector===S)}function oe(z,m,S){const K=typeof m=="string",me=K?S:m||S;let Pe=ke(z);return ce.has(Pe)||(Pe=z),[K,me,Pe]}function M(z,m,S,K,me){if(typeof m!="string"||!z)return;let[Pe,Ce,Xe]=oe(m,S,K);m in Z&&(Ce=(vS=>function(qo){if(!qo.relatedTarget||qo.relatedTarget!==qo.delegateTarget&&!qo.delegateTarget.contains(qo.relatedTarget))return vS.call(this,qo)})(Ce));const kn=U(z),zn=kn[Xe]||(kn[Xe]={}),Jt=ee(zn,Ce,Pe?S:null);if(Jt){Jt.oneOff=Jt.oneOff&&me;return}const gs=we(Ce,m.replace(Y,"")),ts=Pe?R(z,S,Ce):X(z,Ce);ts.delegationSelector=Pe?S:null,ts.callable=Ce,ts.oneOff=me,ts.uidEvent=gs,zn[gs]=ts,z.addEventListener(Xe,ts,Pe)}function se(z,m,S,K,me){const Pe=ee(m[S],K,me);Pe&&(z.removeEventListener(S,Pe,!!me),delete m[S][Pe.uidEvent])}function de(z,m,S,K){const me=m[S]||{};for(const[Pe,Ce]of Object.entries(me))Pe.includes(K)&&se(z,m,S,Ce.callable,Ce.delegationSelector)}function ke(z){return z=z.replace(L,""),Z[z]||z}const N={on(z,m,S,K){M(z,m,S,K,!1)},one(z,m,S,K){M(z,m,S,K,!0)},off(z,m,S,K){if(typeof m!="string"||!z)return;const[me,Pe,Ce]=oe(m,S,K),Xe=Ce!==m,kn=U(z),zn=kn[Ce]||{},Jt=m.startsWith(".");if(typeof Pe<"u"){if(!Object.keys(zn).length)return;se(z,kn,Ce,Pe,me?S:null);return}if(Jt)for(const gs of Object.keys(kn))de(z,kn,gs,m.slice(1));for(const[gs,ts]of Object.entries(zn)){const Cl=gs.replace(I,"");(!Xe||m.includes(Cl))&&se(z,kn,Ce,ts.callable,ts.delegationSelector)}},trigger(z,m,S){if(typeof m!="string"||!z)return null;const K=y(),me=ke(m),Pe=m!==me;let Ce=null,Xe=!0,kn=!0,zn=!1;Pe&&K&&(Ce=K.Event(m,S),K(z).trigger(Ce),Xe=!Ce.isPropagationStopped(),kn=!Ce.isImmediatePropagationStopped(),zn=Ce.isDefaultPrevented());const Jt=fe(new Event(m,{bubbles:Xe,cancelable:!0}),S);return zn&&Jt.preventDefault(),kn&&z.dispatchEvent(Jt),Jt.defaultPrevented&&Ce&&Ce.preventDefault(),Jt}};function fe(z,m={}){for(const[S,K]of Object.entries(m))try{z[S]=K}catch{Object.defineProperty(z,S,{configurable:!0,get(){return K}})}return z}function v(z){if(z==="true")return!0;if(z==="false")return!1;if(z===Number(z).toString())return Number(z);if(z===""||z==="null")return null;if(typeof z!="string")return z;try{return JSON.parse(decodeURIComponent(z))}catch{return z}}function O(z){return z.replace(/[A-Z]/g,m=>`-${m.toLowerCase()}`)}const H={setDataAttribute(z,m,S){z.setAttribute(`data-bs-${O(m)}`,S)},removeDataAttribute(z,m){z.removeAttribute(`data-bs-${O(m)}`)},getDataAttributes(z){if(!z)return{};const m={},S=Object.keys(z.dataset).filter(K=>K.startsWith("bs")&&!K.startsWith("bsConfig"));for(const K of S){let me=K.replace(/^bs/,"");me=me.charAt(0).toLowerCase()+me.slice(1,me.length),m[me]=v(z.dataset[K])}return m},getDataAttribute(z,m){return v(z.getAttribute(`data-bs-${O(m)}`))}};class W{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(m){return m=this._mergeConfigObj(m),m=this._configAfterMerge(m),this._typeCheckConfig(m),m}_configAfterMerge(m){return m}_mergeConfigObj(m,S){const K=_(S)?H.getDataAttribute(S,"config"):{};return{...this.constructor.Default,...typeof K=="object"?K:{},..._(S)?H.getDataAttributes(S):{},...typeof m=="object"?m:{}}}_typeCheckConfig(m,S=this.constructor.DefaultType){for(const[K,me]of Object.entries(S)){const Pe=m[K],Ce=_(Pe)?"element":d(Pe);if(!new RegExp(me).test(Ce))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${K}" provided type "${Ce}" but expected type "${me}".`)}}}const ie="5.3.2";class j extends W{constructor(m,S){super(),m=b(m),m&&(this._element=m,this._config=this._getConfig(S),r.set(this._element,this.constructor.DATA_KEY,this))}dispose(){r.remove(this._element,this.constructor.DATA_KEY),N.off(this._element,this.constructor.EVENT_KEY);for(const m of Object.getOwnPropertyNames(this))this[m]=null}_queueCallback(m,S,K=!0){G(m,S,K)}_getConfig(m){return m=this._mergeConfigObj(m,this._element),m=this._configAfterMerge(m),this._typeCheckConfig(m),m}static getInstance(m){return r.get(b(m),this.DATA_KEY)}static getOrCreateInstance(m,S={}){return this.getInstance(m)||new this(m,typeof S=="object"?S:null)}static get VERSION(){return ie}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(m){return`${m}${this.EVENT_KEY}`}}const te=z=>{let m=z.getAttribute("data-bs-target");if(!m||m==="#"){let S=z.getAttribute("href");if(!S||!S.includes("#")&&!S.startsWith("."))return null;S.includes("#")&&!S.startsWith("#")&&(S=`#${S.split("#")[1]}`),m=S&&S!=="#"?u(S.trim()):null}return m},J={find(z,m=document.documentElement){return[].concat(...Element.prototype.querySelectorAll.call(m,z))},findOne(z,m=document.documentElement){return Element.prototype.querySelector.call(m,z)},children(z,m){return[].concat(...z.children).filter(S=>S.matches(m))},parents(z,m){const S=[];let K=z.parentNode.closest(m);for(;K;)S.push(K),K=K.parentNode.closest(m);return S},prev(z,m){let S=z.previousElementSibling;for(;S;){if(S.matches(m))return[S];S=S.previousElementSibling}return[]},next(z,m){let S=z.nextElementSibling;for(;S;){if(S.matches(m))return[S];S=S.nextElementSibling}return[]},focusableChildren(z){const m=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(S=>`${S}:not([tabindex^="-"])`).join(",");return this.find(m,z).filter(S=>!$(S)&&w(S))},getSelectorFromElement(z){const m=te(z);return m&&J.findOne(m)?m:null},getElementFromSelector(z){const m=te(z);return m?J.findOne(m):null},getMultipleElementsFromSelector(z){const m=te(z);return m?J.find(m):[]}},he=(z,m="hide")=>{const S=`click.dismiss${z.EVENT_KEY}`,K=z.NAME;N.on(document,S,`[data-bs-dismiss="${K}"]`,function(me){if(["A","AREA"].includes(this.tagName)&&me.preventDefault(),$(this))return;const Pe=J.getElementFromSelector(this)||this.closest(`.${K}`);z.getOrCreateInstance(Pe)[m]()})},ge="alert",Le=".bs.alert",Oe=`close${Le}`,He=`closed${Le}`,Ve="fade",tt="show";class Je extends j{static get NAME(){return ge}close(){if(N.trigger(this._element,Oe).defaultPrevented)return;this._element.classList.remove(tt);const S=this._element.classList.contains(Ve);this._queueCallback(()=>this._destroyElement(),this._element,S)}_destroyElement(){this._element.remove(),N.trigger(this._element,He),this.dispose()}static jQueryInterface(m){return this.each(function(){const S=Je.getOrCreateInstance(this);if(typeof m=="string"){if(S[m]===void 0||m.startsWith("_")||m==="constructor")throw new TypeError(`No method named "${m}"`);S[m](this)}})}}he(Je,"close"),E(Je);const mt="button",jn=".bs.button",ri=".data-api",Zn="active",Is='[data-bs-toggle="button"]',Ht=`click${jn}${ri}`;class ne extends j{static get NAME(){return mt}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(Zn))}static jQueryInterface(m){return this.each(function(){const S=ne.getOrCreateInstance(this);m==="toggle"&&S[m]()})}}N.on(document,Ht,Is,z=>{z.preventDefault();const m=z.target.closest(Is);ne.getOrCreateInstance(m).toggle()}),E(ne);const Se="swipe",ue=".bs.swipe",Ae=`touchstart${ue}`,De=`touchmove${ue}`,sn=`touchend${ue}`,xn=`pointerdown${ue}`,Rs=`pointerup${ue}`,Vo="touch",Ji="pen",ms="pointer-event",Wr=40,Mu={endCallback:null,leftCallback:null,rightCallback:null},Z1={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class gl extends W{constructor(m,S){super(),this._element=m,!(!m||!gl.isSupported())&&(this._config=this._getConfig(S),this._deltaX=0,this._supportPointerEvents=!!window.PointerEvent,this._initEvents())}static get Default(){return Mu}static get DefaultType(){return Z1}static get NAME(){return Se}dispose(){N.off(this._element,ue)}_start(m){if(!this._supportPointerEvents){this._deltaX=m.touches[0].clientX;return}this._eventIsPointerPenTouch(m)&&(this._deltaX=m.clientX)}_end(m){this._eventIsPointerPenTouch(m)&&(this._deltaX=m.clientX-this._deltaX),this._handleSwipe(),B(this._config.endCallback)}_move(m){this._deltaX=m.touches&&m.touches.length>1?0:m.touches[0].clientX-this._deltaX}_handleSwipe(){const m=Math.abs(this._deltaX);if(m<=Wr)return;const S=m/this._deltaX;this._deltaX=0,S&&B(S>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(N.on(this._element,xn,m=>this._start(m)),N.on(this._element,Rs,m=>this._end(m)),this._element.classList.add(ms)):(N.on(this._element,Ae,m=>this._start(m)),N.on(this._element,De,m=>this._move(m)),N.on(this._element,sn,m=>this._end(m)))}_eventIsPointerPenTouch(m){return this._supportPointerEvents&&(m.pointerType===Ji||m.pointerType===Vo)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const ew="carousel",ai=".bs.carousel",mp=".data-api",tw="ArrowLeft",nw="ArrowRight",sw=500,zr="next",Ho="prev",jo="left",_l="right",iw=`slide${ai}`,Tu=`slid${ai}`,ow=`keydown${ai}`,rw=`mouseenter${ai}`,aw=`mouseleave${ai}`,lw=`dragstart${ai}`,cw=`load${ai}${mp}`,uw=`click${ai}${mp}`,gp="carousel",vl="active",dw="slide",hw="carousel-item-end",fw="carousel-item-start",pw="carousel-item-next",mw="carousel-item-prev",_p=".active",vp=".carousel-item",gw=_p+vp,_w=".carousel-item img",vw=".carousel-indicators",bw="[data-bs-slide], [data-bs-slide-to]",yw='[data-bs-ride="carousel"]',ww={[tw]:_l,[nw]:jo},xw={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},kw={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class Wo extends j{constructor(m,S){super(m,S),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=J.findOne(vw,this._element),this._addEventListeners(),this._config.ride===gp&&this.cycle()}static get Default(){return xw}static get DefaultType(){return kw}static get NAME(){return ew}next(){this._slide(zr)}nextWhenVisible(){!document.hidden&&w(this._element)&&this.next()}prev(){this._slide(Ho)}pause(){this._isSliding&&g(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){if(this._config.ride){if(this._isSliding){N.one(this._element,Tu,()=>this.cycle());return}this.cycle()}}to(m){const S=this._getItems();if(m>S.length-1||m<0)return;if(this._isSliding){N.one(this._element,Tu,()=>this.to(m));return}const K=this._getItemIndex(this._getActive());if(K===m)return;const me=m>K?zr:Ho;this._slide(me,S[m])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(m){return m.defaultInterval=m.interval,m}_addEventListeners(){this._config.keyboard&&N.on(this._element,ow,m=>this._keydown(m)),this._config.pause==="hover"&&(N.on(this._element,rw,()=>this.pause()),N.on(this._element,aw,()=>this._maybeEnableCycle())),this._config.touch&&gl.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const K of J.find(_w,this._element))N.on(K,lw,me=>me.preventDefault());const S={leftCallback:()=>this._slide(this._directionToOrder(jo)),rightCallback:()=>this._slide(this._directionToOrder(_l)),endCallback:()=>{this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),sw+this._config.interval))}};this._swipeHelper=new gl(this._element,S)}_keydown(m){if(/input|textarea/i.test(m.target.tagName))return;const S=ww[m.key];S&&(m.preventDefault(),this._slide(this._directionToOrder(S)))}_getItemIndex(m){return this._getItems().indexOf(m)}_setActiveIndicatorElement(m){if(!this._indicatorsElement)return;const S=J.findOne(_p,this._indicatorsElement);S.classList.remove(vl),S.removeAttribute("aria-current");const K=J.findOne(`[data-bs-slide-to="${m}"]`,this._indicatorsElement);K&&(K.classList.add(vl),K.setAttribute("aria-current","true"))}_updateInterval(){const m=this._activeElement||this._getActive();if(!m)return;const S=Number.parseInt(m.getAttribute("data-bs-interval"),10);this._config.interval=S||this._config.defaultInterval}_slide(m,S=null){if(this._isSliding)return;const K=this._getActive(),me=m===zr,Pe=S||ae(this._getItems(),K,me,this._config.wrap);if(Pe===K)return;const Ce=this._getItemIndex(Pe),Xe=Cl=>N.trigger(this._element,Cl,{relatedTarget:Pe,direction:this._orderToDirection(m),from:this._getItemIndex(K),to:Ce});if(Xe(iw).defaultPrevented||!K||!Pe)return;const zn=!!this._interval;this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(Ce),this._activeElement=Pe;const Jt=me?fw:hw,gs=me?pw:mw;Pe.classList.add(gs),k(Pe),K.classList.add(Jt),Pe.classList.add(Jt);const ts=()=>{Pe.classList.remove(Jt,gs),Pe.classList.add(vl),K.classList.remove(vl,gs,Jt),this._isSliding=!1,Xe(Tu)};this._queueCallback(ts,K,this._isAnimated()),zn&&this.cycle()}_isAnimated(){return this._element.classList.contains(dw)}_getActive(){return J.findOne(gw,this._element)}_getItems(){return J.find(vp,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(m){return P()?m===jo?Ho:zr:m===jo?zr:Ho}_orderToDirection(m){return P()?m===Ho?jo:_l:m===Ho?_l:jo}static jQueryInterface(m){return this.each(function(){const S=Wo.getOrCreateInstance(this,m);if(typeof m=="number"){S.to(m);return}if(typeof m=="string"){if(S[m]===void 0||m.startsWith("_")||m==="constructor")throw new TypeError(`No method named "${m}"`);S[m]()}})}}N.on(document,uw,bw,function(z){const m=J.getElementFromSelector(this);if(!m||!m.classList.contains(gp))return;z.preventDefault();const S=Wo.getOrCreateInstance(m),K=this.getAttribute("data-bs-slide-to");if(K){S.to(K),S._maybeEnableCycle();return}if(H.getDataAttribute(this,"slide")==="next"){S.next(),S._maybeEnableCycle();return}S.prev(),S._maybeEnableCycle()}),N.on(window,cw,()=>{const z=J.find(yw);for(const m of z)Wo.getOrCreateInstance(m)}),E(Wo);const Sw="collapse",Yr=".bs.collapse",$w=".data-api",Aw=`show${Yr}`,Cw=`shown${Yr}`,Ew=`hide${Yr}`,Pw=`hidden${Yr}`,Mw=`click${Yr}${$w}`,Du="show",zo="collapse",bl="collapsing",Tw="collapsed",Dw=`:scope .${zo} .${zo}`,Ow="collapse-horizontal",Iw="width",Rw="height",Lw=".collapse.show, .collapse.collapsing",Ou='[data-bs-toggle="collapse"]',Nw={parent:null,toggle:!0},Fw={parent:"(null|element)",toggle:"boolean"};class Yo extends j{constructor(m,S){super(m,S),this._isTransitioning=!1,this._triggerArray=[];const K=J.find(Ou);for(const me of K){const Pe=J.getSelectorFromElement(me),Ce=J.find(Pe).filter(Xe=>Xe===this._element);Pe!==null&&Ce.length&&this._triggerArray.push(me)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Nw}static get DefaultType(){return Fw}static get NAME(){return Sw}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let m=[];if(this._config.parent&&(m=this._getFirstLevelChildren(Lw).filter(Xe=>Xe!==this._element).map(Xe=>Yo.getOrCreateInstance(Xe,{toggle:!1}))),m.length&&m[0]._isTransitioning||N.trigger(this._element,Aw).defaultPrevented)return;for(const Xe of m)Xe.hide();const K=this._getDimension();this._element.classList.remove(zo),this._element.classList.add(bl),this._element.style[K]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const me=()=>{this._isTransitioning=!1,this._element.classList.remove(bl),this._element.classList.add(zo,Du),this._element.style[K]="",N.trigger(this._element,Cw)},Ce=`scroll${K[0].toUpperCase()+K.slice(1)}`;this._queueCallback(me,this._element,!0),this._element.style[K]=`${this._element[Ce]}px`}hide(){if(this._isTransitioning||!this._isShown()||N.trigger(this._element,Ew).defaultPrevented)return;const S=this._getDimension();this._element.style[S]=`${this._element.getBoundingClientRect()[S]}px`,k(this._element),this._element.classList.add(bl),this._element.classList.remove(zo,Du);for(const me of this._triggerArray){const Pe=J.getElementFromSelector(me);Pe&&!this._isShown(Pe)&&this._addAriaAndCollapsedClass([me],!1)}this._isTransitioning=!0;const K=()=>{this._isTransitioning=!1,this._element.classList.remove(bl),this._element.classList.add(zo),N.trigger(this._element,Pw)};this._element.style[S]="",this._queueCallback(K,this._element,!0)}_isShown(m=this._element){return m.classList.contains(Du)}_configAfterMerge(m){return m.toggle=!!m.toggle,m.parent=b(m.parent),m}_getDimension(){return this._element.classList.contains(Ow)?Iw:Rw}_initializeChildren(){if(!this._config.parent)return;const m=this._getFirstLevelChildren(Ou);for(const S of m){const K=J.getElementFromSelector(S);K&&this._addAriaAndCollapsedClass([S],this._isShown(K))}}_getFirstLevelChildren(m){const S=J.find(Dw,this._config.parent);return J.find(m,this._config.parent).filter(K=>!S.includes(K))}_addAriaAndCollapsedClass(m,S){if(m.length)for(const K of m)K.classList.toggle(Tw,!S),K.setAttribute("aria-expanded",S)}static jQueryInterface(m){const S={};return typeof m=="string"&&/show|hide/.test(m)&&(S.toggle=!1),this.each(function(){const K=Yo.getOrCreateInstance(this,S);if(typeof m=="string"){if(typeof K[m]>"u")throw new TypeError(`No method named "${m}"`);K[m]()}})}}N.on(document,Mw,Ou,function(z){(z.target.tagName==="A"||z.delegateTarget&&z.delegateTarget.tagName==="A")&&z.preventDefault();for(const m of J.getMultipleElementsFromSelector(this))Yo.getOrCreateInstance(m,{toggle:!1}).toggle()}),E(Yo);const bp="dropdown",Xi=".bs.dropdown",Iu=".data-api",Bw="Escape",yp="Tab",Vw="ArrowUp",wp="ArrowDown",Hw=2,jw=`hide${Xi}`,Ww=`hidden${Xi}`,zw=`show${Xi}`,Yw=`shown${Xi}`,xp=`click${Xi}${Iu}`,kp=`keydown${Xi}${Iu}`,Uw=`keyup${Xi}${Iu}`,Uo="show",Kw="dropup",qw="dropend",Gw="dropstart",Jw="dropup-center",Xw="dropdown-center",Qi='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',Qw=`${Qi}.${Uo}`,yl=".dropdown-menu",Zw=".navbar",ex=".navbar-nav",tx=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",nx=P()?"top-end":"top-start",sx=P()?"top-start":"top-end",ix=P()?"bottom-end":"bottom-start",ox=P()?"bottom-start":"bottom-end",rx=P()?"left-start":"right-start",ax=P()?"right-start":"left-start",lx="top",cx="bottom",ux={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},dx={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class es extends j{constructor(m,S){super(m,S),this._popper=null,this._parent=this._element.parentNode,this._menu=J.next(this._element,yl)[0]||J.prev(this._element,yl)[0]||J.findOne(yl,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return ux}static get DefaultType(){return dx}static get NAME(){return bp}toggle(){return this._isShown()?this.hide():this.show()}show(){if($(this._element)||this._isShown())return;const m={relatedTarget:this._element};if(!N.trigger(this._element,zw,m).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(ex))for(const K of[].concat(...document.body.children))N.on(K,"mouseover",T);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(Uo),this._element.classList.add(Uo),N.trigger(this._element,Yw,m)}}hide(){if($(this._element)||!this._isShown())return;const m={relatedTarget:this._element};this._completeHide(m)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(m){if(!N.trigger(this._element,jw,m).defaultPrevented){if("ontouchstart"in document.documentElement)for(const K of[].concat(...document.body.children))N.off(K,"mouseover",T);this._popper&&this._popper.destroy(),this._menu.classList.remove(Uo),this._element.classList.remove(Uo),this._element.setAttribute("aria-expanded","false"),H.removeDataAttribute(this._menu,"popper"),N.trigger(this._element,Ww,m)}}_getConfig(m){if(m=super._getConfig(m),typeof m.reference=="object"&&!_(m.reference)&&typeof m.reference.getBoundingClientRect!="function")throw new TypeError(`${bp.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return m}_createPopper(){if(typeof i>"u")throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let m=this._element;this._config.reference==="parent"?m=this._parent:_(this._config.reference)?m=b(this._config.reference):typeof this._config.reference=="object"&&(m=this._config.reference);const S=this._getPopperConfig();this._popper=i.createPopper(m,this._menu,S)}_isShown(){return this._menu.classList.contains(Uo)}_getPlacement(){const m=this._parent;if(m.classList.contains(qw))return rx;if(m.classList.contains(Gw))return ax;if(m.classList.contains(Jw))return lx;if(m.classList.contains(Xw))return cx;const S=getComputedStyle(this._menu).getPropertyValue("--bs-position").trim()==="end";return m.classList.contains(Kw)?S?sx:nx:S?ox:ix}_detectNavbar(){return this._element.closest(Zw)!==null}_getOffset(){const{offset:m}=this._config;return typeof m=="string"?m.split(",").map(S=>Number.parseInt(S,10)):typeof m=="function"?S=>m(S,this._element):m}_getPopperConfig(){const m={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||this._config.display==="static")&&(H.setDataAttribute(this._menu,"popper","static"),m.modifiers=[{name:"applyStyles",enabled:!1}]),{...m,...B(this._config.popperConfig,[m])}}_selectMenuItem({key:m,target:S}){const K=J.find(tx,this._menu).filter(me=>w(me));K.length&&ae(K,S,m===wp,!K.includes(S)).focus()}static jQueryInterface(m){return this.each(function(){const S=es.getOrCreateInstance(this,m);if(typeof m=="string"){if(typeof S[m]>"u")throw new TypeError(`No method named "${m}"`);S[m]()}})}static clearMenus(m){if(m.button===Hw||m.type==="keyup"&&m.key!==yp)return;const S=J.find(Qw);for(const K of S){const me=es.getInstance(K);if(!me||me._config.autoClose===!1)continue;const Pe=m.composedPath(),Ce=Pe.includes(me._menu);if(Pe.includes(me._element)||me._config.autoClose==="inside"&&!Ce||me._config.autoClose==="outside"&&Ce||me._menu.contains(m.target)&&(m.type==="keyup"&&m.key===yp||/input|select|option|textarea|form/i.test(m.target.tagName)))continue;const Xe={relatedTarget:me._element};m.type==="click"&&(Xe.clickEvent=m),me._completeHide(Xe)}}static dataApiKeydownHandler(m){const S=/input|textarea/i.test(m.target.tagName),K=m.key===Bw,me=[Vw,wp].includes(m.key);if(!me&&!K||S&&!K)return;m.preventDefault();const Pe=this.matches(Qi)?this:J.prev(this,Qi)[0]||J.next(this,Qi)[0]||J.findOne(Qi,m.delegateTarget.parentNode),Ce=es.getOrCreateInstance(Pe);if(me){m.stopPropagation(),Ce.show(),Ce._selectMenuItem(m);return}Ce._isShown()&&(m.stopPropagation(),Ce.hide(),Pe.focus())}}N.on(document,kp,Qi,es.dataApiKeydownHandler),N.on(document,kp,yl,es.dataApiKeydownHandler),N.on(document,xp,es.clearMenus),N.on(document,Uw,es.clearMenus),N.on(document,xp,Qi,function(z){z.preventDefault(),es.getOrCreateInstance(this).toggle()}),E(es);const Sp="backdrop",hx="fade",$p="show",Ap=`mousedown.bs.${Sp}`,fx={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},px={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Cp extends W{constructor(m){super(),this._config=this._getConfig(m),this._isAppended=!1,this._element=null}static get Default(){return fx}static get DefaultType(){return px}static get NAME(){return Sp}show(m){if(!this._config.isVisible){B(m);return}this._append();const S=this._getElement();this._config.isAnimated&&k(S),S.classList.add($p),this._emulateAnimation(()=>{B(m)})}hide(m){if(!this._config.isVisible){B(m);return}this._getElement().classList.remove($p),this._emulateAnimation(()=>{this.dispose(),B(m)})}dispose(){this._isAppended&&(N.off(this._element,Ap),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const m=document.createElement("div");m.className=this._config.className,this._config.isAnimated&&m.classList.add(hx),this._element=m}return this._element}_configAfterMerge(m){return m.rootElement=b(m.rootElement),m}_append(){if(this._isAppended)return;const m=this._getElement();this._config.rootElement.append(m),N.on(m,Ap,()=>{B(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(m){G(m,this._getElement(),this._config.isAnimated)}}const mx="focustrap",wl=".bs.focustrap",gx=`focusin${wl}`,_x=`keydown.tab${wl}`,vx="Tab",bx="forward",Ep="backward",yx={autofocus:!0,trapElement:null},wx={autofocus:"boolean",trapElement:"element"};class Pp extends W{constructor(m){super(),this._config=this._getConfig(m),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return yx}static get DefaultType(){return wx}static get NAME(){return mx}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),N.off(document,wl),N.on(document,gx,m=>this._handleFocusin(m)),N.on(document,_x,m=>this._handleKeydown(m)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,N.off(document,wl))}_handleFocusin(m){const{trapElement:S}=this._config;if(m.target===document||m.target===S||S.contains(m.target))return;const K=J.focusableChildren(S);K.length===0?S.focus():this._lastTabNavDirection===Ep?K[K.length-1].focus():K[0].focus()}_handleKeydown(m){m.key===vx&&(this._lastTabNavDirection=m.shiftKey?Ep:bx)}}const Mp=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",Tp=".sticky-top",xl="padding-right",Dp="margin-right";class Ru{constructor(){this._element=document.body}getWidth(){const m=document.documentElement.clientWidth;return Math.abs(window.innerWidth-m)}hide(){const m=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,xl,S=>S+m),this._setElementAttributes(Mp,xl,S=>S+m),this._setElementAttributes(Tp,Dp,S=>S-m)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,xl),this._resetElementAttributes(Mp,xl),this._resetElementAttributes(Tp,Dp)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(m,S,K){const me=this.getWidth(),Pe=Ce=>{if(Ce!==this._element&&window.innerWidth>Ce.clientWidth+me)return;this._saveInitialAttribute(Ce,S);const Xe=window.getComputedStyle(Ce).getPropertyValue(S);Ce.style.setProperty(S,`${K(Number.parseFloat(Xe))}px`)};this._applyManipulationCallback(m,Pe)}_saveInitialAttribute(m,S){const K=m.style.getPropertyValue(S);K&&H.setDataAttribute(m,S,K)}_resetElementAttributes(m,S){const K=me=>{const Pe=H.getDataAttribute(me,S);if(Pe===null){me.style.removeProperty(S);return}H.removeDataAttribute(me,S),me.style.setProperty(S,Pe)};this._applyManipulationCallback(m,K)}_applyManipulationCallback(m,S){if(_(m)){S(m);return}for(const K of J.find(m,this._element))S(K)}}const xx="modal",Wn=".bs.modal",kx=".data-api",Sx="Escape",$x=`hide${Wn}`,Ax=`hidePrevented${Wn}`,Op=`hidden${Wn}`,Ip=`show${Wn}`,Cx=`shown${Wn}`,Ex=`resize${Wn}`,Px=`click.dismiss${Wn}`,Mx=`mousedown.dismiss${Wn}`,Tx=`keydown.dismiss${Wn}`,Dx=`click${Wn}${kx}`,Rp="modal-open",Ox="fade",Lp="show",Lu="modal-static",Ix=".modal.show",Rx=".modal-dialog",Lx=".modal-body",Nx='[data-bs-toggle="modal"]',Fx={backdrop:!0,focus:!0,keyboard:!0},Bx={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Zi extends j{constructor(m,S){super(m,S),this._dialog=J.findOne(Rx,this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new Ru,this._addEventListeners()}static get Default(){return Fx}static get DefaultType(){return Bx}static get NAME(){return xx}toggle(m){return this._isShown?this.hide():this.show(m)}show(m){this._isShown||this._isTransitioning||N.trigger(this._element,Ip,{relatedTarget:m}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(Rp),this._adjustDialog(),this._backdrop.show(()=>this._showElement(m)))}hide(){!this._isShown||this._isTransitioning||N.trigger(this._element,$x).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Lp),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated()))}dispose(){N.off(window,Wn),N.off(this._dialog,Wn),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Cp({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Pp({trapElement:this._element})}_showElement(m){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const S=J.findOne(Lx,this._dialog);S&&(S.scrollTop=0),k(this._element),this._element.classList.add(Lp);const K=()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,N.trigger(this._element,Cx,{relatedTarget:m})};this._queueCallback(K,this._dialog,this._isAnimated())}_addEventListeners(){N.on(this._element,Tx,m=>{if(m.key===Sx){if(this._config.keyboard){this.hide();return}this._triggerBackdropTransition()}}),N.on(window,Ex,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),N.on(this._element,Mx,m=>{N.one(this._element,Px,S=>{if(!(this._element!==m.target||this._element!==S.target)){if(this._config.backdrop==="static"){this._triggerBackdropTransition();return}this._config.backdrop&&this.hide()}})})}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove(Rp),this._resetAdjustments(),this._scrollBar.reset(),N.trigger(this._element,Op)})}_isAnimated(){return this._element.classList.contains(Ox)}_triggerBackdropTransition(){if(N.trigger(this._element,Ax).defaultPrevented)return;const S=this._element.scrollHeight>document.documentElement.clientHeight,K=this._element.style.overflowY;K==="hidden"||this._element.classList.contains(Lu)||(S||(this._element.style.overflowY="hidden"),this._element.classList.add(Lu),this._queueCallback(()=>{this._element.classList.remove(Lu),this._queueCallback(()=>{this._element.style.overflowY=K},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const m=this._element.scrollHeight>document.documentElement.clientHeight,S=this._scrollBar.getWidth(),K=S>0;if(K&&!m){const me=P()?"paddingLeft":"paddingRight";this._element.style[me]=`${S}px`}if(!K&&m){const me=P()?"paddingRight":"paddingLeft";this._element.style[me]=`${S}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(m,S){return this.each(function(){const K=Zi.getOrCreateInstance(this,m);if(typeof m=="string"){if(typeof K[m]>"u")throw new TypeError(`No method named "${m}"`);K[m](S)}})}}N.on(document,Dx,Nx,function(z){const m=J.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&z.preventDefault(),N.one(m,Ip,me=>{me.defaultPrevented||N.one(m,Op,()=>{w(this)&&this.focus()})});const S=J.findOne(Ix);S&&Zi.getInstance(S).hide(),Zi.getOrCreateInstance(m).toggle(this)}),he(Zi),E(Zi);const Vx="offcanvas",Ls=".bs.offcanvas",Np=".data-api",Hx=`load${Ls}${Np}`,jx="Escape",Fp="show",Bp="showing",Vp="hiding",Wx="offcanvas-backdrop",Hp=".offcanvas.show",zx=`show${Ls}`,Yx=`shown${Ls}`,Ux=`hide${Ls}`,jp=`hidePrevented${Ls}`,Wp=`hidden${Ls}`,Kx=`resize${Ls}`,qx=`click${Ls}${Np}`,Gx=`keydown.dismiss${Ls}`,Jx='[data-bs-toggle="offcanvas"]',Xx={backdrop:!0,keyboard:!0,scroll:!1},Qx={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Ns extends j{constructor(m,S){super(m,S),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Xx}static get DefaultType(){return Qx}static get NAME(){return Vx}toggle(m){return this._isShown?this.hide():this.show(m)}show(m){if(this._isShown||N.trigger(this._element,zx,{relatedTarget:m}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||new Ru().hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Bp);const K=()=>{(!this._config.scroll||this._config.backdrop)&&this._focustrap.activate(),this._element.classList.add(Fp),this._element.classList.remove(Bp),N.trigger(this._element,Yx,{relatedTarget:m})};this._queueCallback(K,this._element,!0)}hide(){if(!this._isShown||N.trigger(this._element,Ux).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Vp),this._backdrop.hide();const S=()=>{this._element.classList.remove(Fp,Vp),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||new Ru().reset(),N.trigger(this._element,Wp)};this._queueCallback(S,this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const m=()=>{if(this._config.backdrop==="static"){N.trigger(this._element,jp);return}this.hide()},S=!!this._config.backdrop;return new Cp({className:Wx,isVisible:S,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:S?m:null})}_initializeFocusTrap(){return new Pp({trapElement:this._element})}_addEventListeners(){N.on(this._element,Gx,m=>{if(m.key===jx){if(this._config.keyboard){this.hide();return}N.trigger(this._element,jp)}})}static jQueryInterface(m){return this.each(function(){const S=Ns.getOrCreateInstance(this,m);if(typeof m=="string"){if(S[m]===void 0||m.startsWith("_")||m==="constructor")throw new TypeError(`No method named "${m}"`);S[m](this)}})}}N.on(document,qx,Jx,function(z){const m=J.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&z.preventDefault(),$(this))return;N.one(m,Wp,()=>{w(this)&&this.focus()});const S=J.findOne(Hp);S&&S!==m&&Ns.getInstance(S).hide(),Ns.getOrCreateInstance(m).toggle(this)}),N.on(window,Hx,()=>{for(const z of J.find(Hp))Ns.getOrCreateInstance(z).show()}),N.on(window,Kx,()=>{for(const z of J.find("[aria-modal][class*=show][class*=offcanvas-]"))getComputedStyle(z).position!=="fixed"&&Ns.getOrCreateInstance(z).hide()}),he(Ns),E(Ns);const zp={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Zx=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),ek=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,tk=(z,m)=>{const S=z.nodeName.toLowerCase();return m.includes(S)?Zx.has(S)?!!ek.test(z.nodeValue):!0:m.filter(K=>K instanceof RegExp).some(K=>K.test(S))};function nk(z,m,S){if(!z.length)return z;if(S&&typeof S=="function")return S(z);const me=new window.DOMParser().parseFromString(z,"text/html"),Pe=[].concat(...me.body.querySelectorAll("*"));for(const Ce of Pe){const Xe=Ce.nodeName.toLowerCase();if(!Object.keys(m).includes(Xe)){Ce.remove();continue}const kn=[].concat(...Ce.attributes),zn=[].concat(m["*"]||[],m[Xe]||[]);for(const Jt of kn)tk(Jt,zn)||Ce.removeAttribute(Jt.nodeName)}return me.body.innerHTML}const sk="TemplateFactory",ik={allowList:zp,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},ok={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},rk={entry:"(string|element|function|null)",selector:"(string|element)"};class ak extends W{constructor(m){super(),this._config=this._getConfig(m)}static get Default(){return ik}static get DefaultType(){return ok}static get NAME(){return sk}getContent(){return Object.values(this._config.content).map(m=>this._resolvePossibleFunction(m)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(m){return this._checkContent(m),this._config.content={...this._config.content,...m},this}toHtml(){const m=document.createElement("div");m.innerHTML=this._maybeSanitize(this._config.template);for(const[me,Pe]of Object.entries(this._config.content))this._setContent(m,Pe,me);const S=m.children[0],K=this._resolvePossibleFunction(this._config.extraClass);return K&&S.classList.add(...K.split(" ")),S}_typeCheckConfig(m){super._typeCheckConfig(m),this._checkContent(m.content)}_checkContent(m){for(const[S,K]of Object.entries(m))super._typeCheckConfig({selector:S,entry:K},rk)}_setContent(m,S,K){const me=J.findOne(K,m);if(me){if(S=this._resolvePossibleFunction(S),!S){me.remove();return}if(_(S)){this._putElementInTemplate(b(S),me);return}if(this._config.html){me.innerHTML=this._maybeSanitize(S);return}me.textContent=S}}_maybeSanitize(m){return this._config.sanitize?nk(m,this._config.allowList,this._config.sanitizeFn):m}_resolvePossibleFunction(m){return B(m,[this])}_putElementInTemplate(m,S){if(this._config.html){S.innerHTML="",S.append(m);return}S.textContent=m.textContent}}const lk="tooltip",ck=new Set(["sanitize","allowList","sanitizeFn"]),Nu="fade",uk="modal",kl="show",dk=".tooltip-inner",Yp=`.${uk}`,Up="hide.bs.modal",Ur="hover",Fu="focus",hk="click",fk="manual",pk="hide",mk="hidden",gk="show",_k="shown",vk="inserted",bk="click",yk="focusin",wk="focusout",xk="mouseenter",kk="mouseleave",Sk={AUTO:"auto",TOP:"top",RIGHT:P()?"left":"right",BOTTOM:"bottom",LEFT:P()?"right":"left"},$k={allowList:zp,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},Ak={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class eo extends j{constructor(m,S){if(typeof i>"u")throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(m,S),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return $k}static get DefaultType(){return Ak}static get NAME(){return lk}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){if(this._isEnabled){if(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()){this._leave();return}this._enter()}}dispose(){clearTimeout(this._timeout),N.off(this._element.closest(Yp),Up,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if(this._element.style.display==="none")throw new Error("Please use show on visible elements");if(!(this._isWithContent()&&this._isEnabled))return;const m=N.trigger(this._element,this.constructor.eventName(gk)),K=(A(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(m.defaultPrevented||!K)return;this._disposePopper();const me=this._getTipElement();this._element.setAttribute("aria-describedby",me.getAttribute("id"));const{container:Pe}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(Pe.append(me),N.trigger(this._element,this.constructor.eventName(vk))),this._popper=this._createPopper(me),me.classList.add(kl),"ontouchstart"in document.documentElement)for(const Xe of[].concat(...document.body.children))N.on(Xe,"mouseover",T);const Ce=()=>{N.trigger(this._element,this.constructor.eventName(_k)),this._isHovered===!1&&this._leave(),this._isHovered=!1};this._queueCallback(Ce,this.tip,this._isAnimated())}hide(){if(!this._isShown()||N.trigger(this._element,this.constructor.eventName(pk)).defaultPrevented)return;if(this._getTipElement().classList.remove(kl),"ontouchstart"in document.documentElement)for(const me of[].concat(...document.body.children))N.off(me,"mouseover",T);this._activeTrigger[hk]=!1,this._activeTrigger[Fu]=!1,this._activeTrigger[Ur]=!1,this._isHovered=null;const K=()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),N.trigger(this._element,this.constructor.eventName(mk)))};this._queueCallback(K,this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return!!this._getTitle()}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(m){const S=this._getTemplateFactory(m).toHtml();if(!S)return null;S.classList.remove(Nu,kl),S.classList.add(`bs-${this.constructor.NAME}-auto`);const K=f(this.constructor.NAME).toString();return S.setAttribute("id",K),this._isAnimated()&&S.classList.add(Nu),S}setContent(m){this._newContent=m,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(m){return this._templateFactory?this._templateFactory.changeContent(m):this._templateFactory=new ak({...this._config,content:m,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[dk]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(m){return this.constructor.getOrCreateInstance(m.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(Nu)}_isShown(){return this.tip&&this.tip.classList.contains(kl)}_createPopper(m){const S=B(this._config.placement,[this,m,this._element]),K=Sk[S.toUpperCase()];return i.createPopper(this._element,m,this._getPopperConfig(K))}_getOffset(){const{offset:m}=this._config;return typeof m=="string"?m.split(",").map(S=>Number.parseInt(S,10)):typeof m=="function"?S=>m(S,this._element):m}_resolvePossibleFunction(m){return B(m,[this._element])}_getPopperConfig(m){const S={placement:m,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:K=>{this._getTipElement().setAttribute("data-popper-placement",K.state.placement)}}]};return{...S,...B(this._config.popperConfig,[S])}}_setListeners(){const m=this._config.trigger.split(" ");for(const S of m)if(S==="click")N.on(this._element,this.constructor.eventName(bk),this._config.selector,K=>{this._initializeOnDelegatedTarget(K).toggle()});else if(S!==fk){const K=S===Ur?this.constructor.eventName(xk):this.constructor.eventName(yk),me=S===Ur?this.constructor.eventName(kk):this.constructor.eventName(wk);N.on(this._element,K,this._config.selector,Pe=>{const Ce=this._initializeOnDelegatedTarget(Pe);Ce._activeTrigger[Pe.type==="focusin"?Fu:Ur]=!0,Ce._enter()}),N.on(this._element,me,this._config.selector,Pe=>{const Ce=this._initializeOnDelegatedTarget(Pe);Ce._activeTrigger[Pe.type==="focusout"?Fu:Ur]=Ce._element.contains(Pe.relatedTarget),Ce._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},N.on(this._element.closest(Yp),Up,this._hideModalHandler)}_fixTitle(){const m=this._element.getAttribute("title");m&&(!this._element.getAttribute("aria-label")&&!this._element.textContent.trim()&&this._element.setAttribute("aria-label",m),this._element.setAttribute("data-bs-original-title",m),this._element.removeAttribute("title"))}_enter(){if(this._isShown()||this._isHovered){this._isHovered=!0;return}this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show)}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(m,S){clearTimeout(this._timeout),this._timeout=setTimeout(m,S)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(m){const S=H.getDataAttributes(this._element);for(const K of Object.keys(S))ck.has(K)&&delete S[K];return m={...S,...typeof m=="object"&&m?m:{}},m=this._mergeConfigObj(m),m=this._configAfterMerge(m),this._typeCheckConfig(m),m}_configAfterMerge(m){return m.container=m.container===!1?document.body:b(m.container),typeof m.delay=="number"&&(m.delay={show:m.delay,hide:m.delay}),typeof m.title=="number"&&(m.title=m.title.toString()),typeof m.content=="number"&&(m.content=m.content.toString()),m}_getDelegateConfig(){const m={};for(const[S,K]of Object.entries(this._config))this.constructor.Default[S]!==K&&(m[S]=K);return m.selector=!1,m.trigger="manual",m}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(m){return this.each(function(){const S=eo.getOrCreateInstance(this,m);if(typeof m=="string"){if(typeof S[m]>"u")throw new TypeError(`No method named "${m}"`);S[m]()}})}}E(eo);const Ck="popover",Ek=".popover-header",Pk=".popover-body",Mk={...eo.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},Tk={...eo.DefaultType,content:"(null|string|element|function)"};class Sl extends eo{static get Default(){return Mk}static get DefaultType(){return Tk}static get NAME(){return Ck}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[Ek]:this._getTitle(),[Pk]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(m){return this.each(function(){const S=Sl.getOrCreateInstance(this,m);if(typeof m=="string"){if(typeof S[m]>"u")throw new TypeError(`No method named "${m}"`);S[m]()}})}}E(Sl);const Dk="scrollspy",Bu=".bs.scrollspy",Ok=".data-api",Ik=`activate${Bu}`,Kp=`click${Bu}`,Rk=`load${Bu}${Ok}`,Lk="dropdown-item",Ko="active",Nk='[data-bs-spy="scroll"]',Vu="[href]",Fk=".nav, .list-group",qp=".nav-link",Bk=`${qp}, .nav-item > ${qp}, .list-group-item`,Vk=".dropdown",Hk=".dropdown-toggle",jk={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},Wk={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Kr extends j{constructor(m,S){super(m,S),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement=getComputedStyle(this._element).overflowY==="visible"?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return jk}static get DefaultType(){return Wk}static get NAME(){return Dk}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const m of this._observableSections.values())this._observer.observe(m)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(m){return m.target=b(m.target)||document.body,m.rootMargin=m.offset?`${m.offset}px 0px -30%`:m.rootMargin,typeof m.threshold=="string"&&(m.threshold=m.threshold.split(",").map(S=>Number.parseFloat(S))),m}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(N.off(this._config.target,Kp),N.on(this._config.target,Kp,Vu,m=>{const S=this._observableSections.get(m.target.hash);if(S){m.preventDefault();const K=this._rootElement||window,me=S.offsetTop-this._element.offsetTop;if(K.scrollTo){K.scrollTo({top:me,behavior:"smooth"});return}K.scrollTop=me}}))}_getNewObserver(){const m={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(S=>this._observerCallback(S),m)}_observerCallback(m){const S=Ce=>this._targetLinks.get(`#${Ce.target.id}`),K=Ce=>{this._previousScrollData.visibleEntryTop=Ce.target.offsetTop,this._process(S(Ce))},me=(this._rootElement||document.documentElement).scrollTop,Pe=me>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=me;for(const Ce of m){if(!Ce.isIntersecting){this._activeTarget=null,this._clearActiveClass(S(Ce));continue}const Xe=Ce.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(Pe&&Xe){if(K(Ce),!me)return;continue}!Pe&&!Xe&&K(Ce)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const m=J.find(Vu,this._config.target);for(const S of m){if(!S.hash||$(S))continue;const K=J.findOne(decodeURI(S.hash),this._element);w(K)&&(this._targetLinks.set(decodeURI(S.hash),S),this._observableSections.set(S.hash,K))}}_process(m){this._activeTarget!==m&&(this._clearActiveClass(this._config.target),this._activeTarget=m,m.classList.add(Ko),this._activateParents(m),N.trigger(this._element,Ik,{relatedTarget:m}))}_activateParents(m){if(m.classList.contains(Lk)){J.findOne(Hk,m.closest(Vk)).classList.add(Ko);return}for(const S of J.parents(m,Fk))for(const K of J.prev(S,Bk))K.classList.add(Ko)}_clearActiveClass(m){m.classList.remove(Ko);const S=J.find(`${Vu}.${Ko}`,m);for(const K of S)K.classList.remove(Ko)}static jQueryInterface(m){return this.each(function(){const S=Kr.getOrCreateInstance(this,m);if(typeof m=="string"){if(S[m]===void 0||m.startsWith("_")||m==="constructor")throw new TypeError(`No method named "${m}"`);S[m]()}})}}N.on(window,Rk,()=>{for(const z of J.find(Nk))Kr.getOrCreateInstance(z)}),E(Kr);const zk="tab",to=".bs.tab",Yk=`hide${to}`,Uk=`hidden${to}`,Kk=`show${to}`,qk=`shown${to}`,Gk=`click${to}`,Jk=`keydown${to}`,Xk=`load${to}`,Qk="ArrowLeft",Gp="ArrowRight",Zk="ArrowUp",Jp="ArrowDown",Hu="Home",Xp="End",no="active",Qp="fade",ju="show",eS="dropdown",Zp=".dropdown-toggle",tS=".dropdown-menu",Wu=`:not(${Zp})`,nS='.list-group, .nav, [role="tablist"]',sS=".nav-item, .list-group-item",iS=`.nav-link${Wu}, .list-group-item${Wu}, [role="tab"]${Wu}`,em='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',zu=`${iS}, ${em}`,oS=`.${no}[data-bs-toggle="tab"], .${no}[data-bs-toggle="pill"], .${no}[data-bs-toggle="list"]`;class so extends j{constructor(m){super(m),this._parent=this._element.closest(nS),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),N.on(this._element,Jk,S=>this._keydown(S)))}static get NAME(){return zk}show(){const m=this._element;if(this._elemIsActive(m))return;const S=this._getActiveElem(),K=S?N.trigger(S,Yk,{relatedTarget:m}):null;N.trigger(m,Kk,{relatedTarget:S}).defaultPrevented||K&&K.defaultPrevented||(this._deactivate(S,m),this._activate(m,S))}_activate(m,S){if(!m)return;m.classList.add(no),this._activate(J.getElementFromSelector(m));const K=()=>{if(m.getAttribute("role")!=="tab"){m.classList.add(ju);return}m.removeAttribute("tabindex"),m.setAttribute("aria-selected",!0),this._toggleDropDown(m,!0),N.trigger(m,qk,{relatedTarget:S})};this._queueCallback(K,m,m.classList.contains(Qp))}_deactivate(m,S){if(!m)return;m.classList.remove(no),m.blur(),this._deactivate(J.getElementFromSelector(m));const K=()=>{if(m.getAttribute("role")!=="tab"){m.classList.remove(ju);return}m.setAttribute("aria-selected",!1),m.setAttribute("tabindex","-1"),this._toggleDropDown(m,!1),N.trigger(m,Uk,{relatedTarget:S})};this._queueCallback(K,m,m.classList.contains(Qp))}_keydown(m){if(![Qk,Gp,Zk,Jp,Hu,Xp].includes(m.key))return;m.stopPropagation(),m.preventDefault();const S=this._getChildren().filter(me=>!$(me));let K;if([Hu,Xp].includes(m.key))K=S[m.key===Hu?0:S.length-1];else{const me=[Gp,Jp].includes(m.key);K=ae(S,m.target,me,!0)}K&&(K.focus({preventScroll:!0}),so.getOrCreateInstance(K).show())}_getChildren(){return J.find(zu,this._parent)}_getActiveElem(){return this._getChildren().find(m=>this._elemIsActive(m))||null}_setInitialAttributes(m,S){this._setAttributeIfNotExists(m,"role","tablist");for(const K of S)this._setInitialAttributesOnChild(K)}_setInitialAttributesOnChild(m){m=this._getInnerElement(m);const S=this._elemIsActive(m),K=this._getOuterElement(m);m.setAttribute("aria-selected",S),K!==m&&this._setAttributeIfNotExists(K,"role","presentation"),S||m.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(m,"role","tab"),this._setInitialAttributesOnTargetPanel(m)}_setInitialAttributesOnTargetPanel(m){const S=J.getElementFromSelector(m);S&&(this._setAttributeIfNotExists(S,"role","tabpanel"),m.id&&this._setAttributeIfNotExists(S,"aria-labelledby",`${m.id}`))}_toggleDropDown(m,S){const K=this._getOuterElement(m);if(!K.classList.contains(eS))return;const me=(Pe,Ce)=>{const Xe=J.findOne(Pe,K);Xe&&Xe.classList.toggle(Ce,S)};me(Zp,no),me(tS,ju),K.setAttribute("aria-expanded",S)}_setAttributeIfNotExists(m,S,K){m.hasAttribute(S)||m.setAttribute(S,K)}_elemIsActive(m){return m.classList.contains(no)}_getInnerElement(m){return m.matches(zu)?m:J.findOne(zu,m)}_getOuterElement(m){return m.closest(sS)||m}static jQueryInterface(m){return this.each(function(){const S=so.getOrCreateInstance(this);if(typeof m=="string"){if(S[m]===void 0||m.startsWith("_")||m==="constructor")throw new TypeError(`No method named "${m}"`);S[m]()}})}}N.on(document,Gk,em,function(z){["A","AREA"].includes(this.tagName)&&z.preventDefault(),!$(this)&&so.getOrCreateInstance(this).show()}),N.on(window,Xk,()=>{for(const z of J.find(oS))so.getOrCreateInstance(z)}),E(so);const rS="toast",li=".bs.toast",aS=`mouseover${li}`,lS=`mouseout${li}`,cS=`focusin${li}`,uS=`focusout${li}`,dS=`hide${li}`,hS=`hidden${li}`,fS=`show${li}`,pS=`shown${li}`,mS="fade",tm="hide",$l="show",Al="showing",gS={animation:"boolean",autohide:"boolean",delay:"number"},_S={animation:!0,autohide:!0,delay:5e3};class qr extends j{constructor(m,S){super(m,S),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return _S}static get DefaultType(){return gS}static get NAME(){return rS}show(){if(N.trigger(this._element,fS).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add(mS);const S=()=>{this._element.classList.remove(Al),N.trigger(this._element,pS),this._maybeScheduleHide()};this._element.classList.remove(tm),k(this._element),this._element.classList.add($l,Al),this._queueCallback(S,this._element,this._config.animation)}hide(){if(!this.isShown()||N.trigger(this._element,dS).defaultPrevented)return;const S=()=>{this._element.classList.add(tm),this._element.classList.remove(Al,$l),N.trigger(this._element,hS)};this._element.classList.add(Al),this._queueCallback(S,this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove($l),super.dispose()}isShown(){return this._element.classList.contains($l)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(m,S){switch(m.type){case"mouseover":case"mouseout":{this._hasMouseInteraction=S;break}case"focusin":case"focusout":{this._hasKeyboardInteraction=S;break}}if(S){this._clearTimeout();return}const K=m.relatedTarget;this._element===K||this._element.contains(K)||this._maybeScheduleHide()}_setListeners(){N.on(this._element,aS,m=>this._onInteraction(m,!0)),N.on(this._element,lS,m=>this._onInteraction(m,!1)),N.on(this._element,cS,m=>this._onInteraction(m,!0)),N.on(this._element,uS,m=>this._onInteraction(m,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(m){return this.each(function(){const S=qr.getOrCreateInstance(this,m);if(typeof m=="string"){if(typeof S[m]>"u")throw new TypeError(`No method named "${m}"`);S[m](this)}})}}return he(qr),E(qr),{Alert:Je,Button:ne,Carousel:Wo,Collapse:Yo,Dropdown:es,Modal:Zi,Offcanvas:Ns,Popover:Sl,ScrollSpy:Kr,Tab:so,Toast:qr,Tooltip:eo}})})(kS);/** + */(function(e,t){(function(n,s){e.exports=s(h$)})(_v,function(n){function s(z){const g=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(z){for(const S in z)if(S!=="default"){const U=Object.getOwnPropertyDescriptor(z,S);Object.defineProperty(g,S,U.get?U:{enumerable:!0,get:()=>z[S]})}}return g.default=z,Object.freeze(g)}const i=s(n),o=new Map,r={set(z,g,S){o.has(z)||o.set(z,new Map);const U=o.get(z);if(!U.has(g)&&U.size!==0){console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(U.keys())[0]}.`);return}U.set(g,S)},get(z,g){return o.has(z)&&o.get(z).get(g)||null},remove(z,g){if(!o.has(z))return;const S=o.get(z);S.delete(g),S.size===0&&o.delete(z)}},a=1e6,l=1e3,c="transitionend",u=z=>(z&&window.CSS&&window.CSS.escape&&(z=z.replace(/#([^\s"#']+)/g,(g,S)=>`#${CSS.escape(S)}`)),z),d=z=>z==null?`${z}`:Object.prototype.toString.call(z).match(/\s([a-z]+)/i)[1].toLowerCase(),f=z=>{do z+=Math.floor(Math.random()*a);while(document.getElementById(z));return z},p=z=>{if(!z)return 0;let{transitionDuration:g,transitionDelay:S}=window.getComputedStyle(z);const U=Number.parseFloat(g),ge=Number.parseFloat(S);return!U&&!ge?0:(g=g.split(",")[0],S=S.split(",")[0],(Number.parseFloat(g)+Number.parseFloat(S))*l)},m=z=>{z.dispatchEvent(new Event(c))},_=z=>!z||typeof z!="object"?!1:(typeof z.jquery<"u"&&(z=z[0]),typeof z.nodeType<"u"),b=z=>_(z)?z.jquery?z[0]:z:typeof z=="string"&&z.length>0?document.querySelector(u(z)):null,w=z=>{if(!_(z)||z.getClientRects().length===0)return!1;const g=getComputedStyle(z).getPropertyValue("visibility")==="visible",S=z.closest("details:not([open])");if(!S)return g;if(S!==z){const U=z.closest("summary");if(U&&U.parentNode!==S||U===null)return!1}return g},$=z=>!z||z.nodeType!==Node.ELEMENT_NODE||z.classList.contains("disabled")?!0:typeof z.disabled<"u"?z.disabled:z.hasAttribute("disabled")&&z.getAttribute("disabled")!=="false",A=z=>{if(!document.documentElement.attachShadow)return null;if(typeof z.getRootNode=="function"){const g=z.getRootNode();return g instanceof ShadowRoot?g:null}return z instanceof ShadowRoot?z:z.parentNode?A(z.parentNode):null},T=()=>{},k=z=>{z.offsetHeight},y=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,x=[],C=z=>{document.readyState==="loading"?(x.length||document.addEventListener("DOMContentLoaded",()=>{for(const g of x)g()}),x.push(z)):z()},P=()=>document.documentElement.dir==="rtl",E=z=>{C(()=>{const g=y();if(g){const S=z.NAME,U=g.fn[S];g.fn[S]=z.jQueryInterface,g.fn[S].Constructor=z,g.fn[S].noConflict=()=>(g.fn[S]=U,z.jQueryInterface)}})},B=(z,g=[],S=z)=>typeof z=="function"?z(...g):S,G=(z,g,S=!0)=>{if(!S){B(z);return}const ge=p(g)+5;let Pe=!1;const Ce=({target:Xe})=>{Xe===g&&(Pe=!0,g.removeEventListener(c,Ce),B(z))};g.addEventListener(c,Ce),setTimeout(()=>{Pe||m(g)},ge)},ae=(z,g,S,U)=>{const ge=z.length;let Pe=z.indexOf(g);return Pe===-1?!S&&U?z[ge-1]:z[0]:(Pe+=S?1:-1,U&&(Pe=(Pe+ge)%ge),z[Math.max(0,Math.min(Pe,ge-1))])},Y=/[^.]*(?=\..*)\.|.*/,L=/\..*/,I=/::\d+$/,V={};let Q=1;const Z={mouseenter:"mouseover",mouseleave:"mouseout"},ce=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function we(z,g){return g&&`${g}::${Q++}`||z.uidEvent||Q++}function K(z){const g=we(z);return z.uidEvent=g,V[g]=V[g]||{},V[g]}function X(z,g){return function S(U){return fe(U,{delegateTarget:z}),S.oneOff&&N.off(z,U.type,g),g.apply(z,[U])}}function R(z,g,S){return function U(ge){const Pe=z.querySelectorAll(g);for(let{target:Ce}=ge;Ce&&Ce!==this;Ce=Ce.parentNode)for(const Xe of Pe)if(Xe===Ce)return fe(ge,{delegateTarget:Ce}),U.oneOff&&N.off(z,ge.type,g,S),S.apply(Ce,[ge])}}function ee(z,g,S=null){return Object.values(z).find(U=>U.callable===g&&U.delegationSelector===S)}function oe(z,g,S){const U=typeof g=="string",ge=U?S:g||S;let Pe=ke(z);return ce.has(Pe)||(Pe=z),[U,ge,Pe]}function M(z,g,S,U,ge){if(typeof g!="string"||!z)return;let[Pe,Ce,Xe]=oe(g,S,U);g in Z&&(Ce=(vS=>function(qo){if(!qo.relatedTarget||qo.relatedTarget!==qo.delegateTarget&&!qo.delegateTarget.contains(qo.relatedTarget))return vS.call(this,qo)})(Ce));const kn=K(z),zn=kn[Xe]||(kn[Xe]={}),Jt=ee(zn,Ce,Pe?S:null);if(Jt){Jt.oneOff=Jt.oneOff&≥return}const ms=we(Ce,g.replace(Y,"")),ts=Pe?R(z,S,Ce):X(z,Ce);ts.delegationSelector=Pe?S:null,ts.callable=Ce,ts.oneOff=ge,ts.uidEvent=ms,zn[ms]=ts,z.addEventListener(Xe,ts,Pe)}function se(z,g,S,U,ge){const Pe=ee(g[S],U,ge);Pe&&(z.removeEventListener(S,Pe,!!ge),delete g[S][Pe.uidEvent])}function de(z,g,S,U){const ge=g[S]||{};for(const[Pe,Ce]of Object.entries(ge))Pe.includes(U)&&se(z,g,S,Ce.callable,Ce.delegationSelector)}function ke(z){return z=z.replace(L,""),Z[z]||z}const N={on(z,g,S,U){M(z,g,S,U,!1)},one(z,g,S,U){M(z,g,S,U,!0)},off(z,g,S,U){if(typeof g!="string"||!z)return;const[ge,Pe,Ce]=oe(g,S,U),Xe=Ce!==g,kn=K(z),zn=kn[Ce]||{},Jt=g.startsWith(".");if(typeof Pe<"u"){if(!Object.keys(zn).length)return;se(z,kn,Ce,Pe,ge?S:null);return}if(Jt)for(const ms of Object.keys(kn))de(z,kn,ms,g.slice(1));for(const[ms,ts]of Object.entries(zn)){const Cl=ms.replace(I,"");(!Xe||g.includes(Cl))&&se(z,kn,Ce,ts.callable,ts.delegationSelector)}},trigger(z,g,S){if(typeof g!="string"||!z)return null;const U=y(),ge=ke(g),Pe=g!==ge;let Ce=null,Xe=!0,kn=!0,zn=!1;Pe&&U&&(Ce=U.Event(g,S),U(z).trigger(Ce),Xe=!Ce.isPropagationStopped(),kn=!Ce.isImmediatePropagationStopped(),zn=Ce.isDefaultPrevented());const Jt=fe(new Event(g,{bubbles:Xe,cancelable:!0}),S);return zn&&Jt.preventDefault(),kn&&z.dispatchEvent(Jt),Jt.defaultPrevented&&Ce&&Ce.preventDefault(),Jt}};function fe(z,g={}){for(const[S,U]of Object.entries(g))try{z[S]=U}catch{Object.defineProperty(z,S,{configurable:!0,get(){return U}})}return z}function v(z){if(z==="true")return!0;if(z==="false")return!1;if(z===Number(z).toString())return Number(z);if(z===""||z==="null")return null;if(typeof z!="string")return z;try{return JSON.parse(decodeURIComponent(z))}catch{return z}}function O(z){return z.replace(/[A-Z]/g,g=>`-${g.toLowerCase()}`)}const H={setDataAttribute(z,g,S){z.setAttribute(`data-bs-${O(g)}`,S)},removeDataAttribute(z,g){z.removeAttribute(`data-bs-${O(g)}`)},getDataAttributes(z){if(!z)return{};const g={},S=Object.keys(z.dataset).filter(U=>U.startsWith("bs")&&!U.startsWith("bsConfig"));for(const U of S){let ge=U.replace(/^bs/,"");ge=ge.charAt(0).toLowerCase()+ge.slice(1,ge.length),g[ge]=v(z.dataset[U])}return g},getDataAttribute(z,g){return v(z.getAttribute(`data-bs-${O(g)}`))}};class W{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(g){return g=this._mergeConfigObj(g),g=this._configAfterMerge(g),this._typeCheckConfig(g),g}_configAfterMerge(g){return g}_mergeConfigObj(g,S){const U=_(S)?H.getDataAttribute(S,"config"):{};return{...this.constructor.Default,...typeof U=="object"?U:{},..._(S)?H.getDataAttributes(S):{},...typeof g=="object"?g:{}}}_typeCheckConfig(g,S=this.constructor.DefaultType){for(const[U,ge]of Object.entries(S)){const Pe=g[U],Ce=_(Pe)?"element":d(Pe);if(!new RegExp(ge).test(Ce))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${U}" provided type "${Ce}" but expected type "${ge}".`)}}}const ie="5.3.2";class j extends W{constructor(g,S){super(),g=b(g),g&&(this._element=g,this._config=this._getConfig(S),r.set(this._element,this.constructor.DATA_KEY,this))}dispose(){r.remove(this._element,this.constructor.DATA_KEY),N.off(this._element,this.constructor.EVENT_KEY);for(const g of Object.getOwnPropertyNames(this))this[g]=null}_queueCallback(g,S,U=!0){G(g,S,U)}_getConfig(g){return g=this._mergeConfigObj(g,this._element),g=this._configAfterMerge(g),this._typeCheckConfig(g),g}static getInstance(g){return r.get(b(g),this.DATA_KEY)}static getOrCreateInstance(g,S={}){return this.getInstance(g)||new this(g,typeof S=="object"?S:null)}static get VERSION(){return ie}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(g){return`${g}${this.EVENT_KEY}`}}const te=z=>{let g=z.getAttribute("data-bs-target");if(!g||g==="#"){let S=z.getAttribute("href");if(!S||!S.includes("#")&&!S.startsWith("."))return null;S.includes("#")&&!S.startsWith("#")&&(S=`#${S.split("#")[1]}`),g=S&&S!=="#"?u(S.trim()):null}return g},J={find(z,g=document.documentElement){return[].concat(...Element.prototype.querySelectorAll.call(g,z))},findOne(z,g=document.documentElement){return Element.prototype.querySelector.call(g,z)},children(z,g){return[].concat(...z.children).filter(S=>S.matches(g))},parents(z,g){const S=[];let U=z.parentNode.closest(g);for(;U;)S.push(U),U=U.parentNode.closest(g);return S},prev(z,g){let S=z.previousElementSibling;for(;S;){if(S.matches(g))return[S];S=S.previousElementSibling}return[]},next(z,g){let S=z.nextElementSibling;for(;S;){if(S.matches(g))return[S];S=S.nextElementSibling}return[]},focusableChildren(z){const g=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(S=>`${S}:not([tabindex^="-"])`).join(",");return this.find(g,z).filter(S=>!$(S)&&w(S))},getSelectorFromElement(z){const g=te(z);return g&&J.findOne(g)?g:null},getElementFromSelector(z){const g=te(z);return g?J.findOne(g):null},getMultipleElementsFromSelector(z){const g=te(z);return g?J.find(g):[]}},he=(z,g="hide")=>{const S=`click.dismiss${z.EVENT_KEY}`,U=z.NAME;N.on(document,S,`[data-bs-dismiss="${U}"]`,function(ge){if(["A","AREA"].includes(this.tagName)&&ge.preventDefault(),$(this))return;const Pe=J.getElementFromSelector(this)||this.closest(`.${U}`);z.getOrCreateInstance(Pe)[g]()})},me="alert",Le=".bs.alert",Oe=`close${Le}`,He=`closed${Le}`,Ve="fade",tt="show";class Je extends j{static get NAME(){return me}close(){if(N.trigger(this._element,Oe).defaultPrevented)return;this._element.classList.remove(tt);const S=this._element.classList.contains(Ve);this._queueCallback(()=>this._destroyElement(),this._element,S)}_destroyElement(){this._element.remove(),N.trigger(this._element,He),this.dispose()}static jQueryInterface(g){return this.each(function(){const S=Je.getOrCreateInstance(this);if(typeof g=="string"){if(S[g]===void 0||g.startsWith("_")||g==="constructor")throw new TypeError(`No method named "${g}"`);S[g](this)}})}}he(Je,"close"),E(Je);const gt="button",jn=".bs.button",ri=".data-api",Zn="active",Is='[data-bs-toggle="button"]',Ht=`click${jn}${ri}`;class ne extends j{static get NAME(){return gt}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(Zn))}static jQueryInterface(g){return this.each(function(){const S=ne.getOrCreateInstance(this);g==="toggle"&&S[g]()})}}N.on(document,Ht,Is,z=>{z.preventDefault();const g=z.target.closest(Is);ne.getOrCreateInstance(g).toggle()}),E(ne);const Se="swipe",ue=".bs.swipe",Ae=`touchstart${ue}`,De=`touchmove${ue}`,sn=`touchend${ue}`,xn=`pointerdown${ue}`,Rs=`pointerup${ue}`,Vo="touch",Ji="pen",gs="pointer-event",Wr=40,Mu={endCallback:null,leftCallback:null,rightCallback:null},Z1={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class ml extends W{constructor(g,S){super(),this._element=g,!(!g||!ml.isSupported())&&(this._config=this._getConfig(S),this._deltaX=0,this._supportPointerEvents=!!window.PointerEvent,this._initEvents())}static get Default(){return Mu}static get DefaultType(){return Z1}static get NAME(){return Se}dispose(){N.off(this._element,ue)}_start(g){if(!this._supportPointerEvents){this._deltaX=g.touches[0].clientX;return}this._eventIsPointerPenTouch(g)&&(this._deltaX=g.clientX)}_end(g){this._eventIsPointerPenTouch(g)&&(this._deltaX=g.clientX-this._deltaX),this._handleSwipe(),B(this._config.endCallback)}_move(g){this._deltaX=g.touches&&g.touches.length>1?0:g.touches[0].clientX-this._deltaX}_handleSwipe(){const g=Math.abs(this._deltaX);if(g<=Wr)return;const S=g/this._deltaX;this._deltaX=0,S&&B(S>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(N.on(this._element,xn,g=>this._start(g)),N.on(this._element,Rs,g=>this._end(g)),this._element.classList.add(gs)):(N.on(this._element,Ae,g=>this._start(g)),N.on(this._element,De,g=>this._move(g)),N.on(this._element,sn,g=>this._end(g)))}_eventIsPointerPenTouch(g){return this._supportPointerEvents&&(g.pointerType===Ji||g.pointerType===Vo)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const ew="carousel",ai=".bs.carousel",gp=".data-api",tw="ArrowLeft",nw="ArrowRight",sw=500,zr="next",Ho="prev",jo="left",_l="right",iw=`slide${ai}`,Tu=`slid${ai}`,ow=`keydown${ai}`,rw=`mouseenter${ai}`,aw=`mouseleave${ai}`,lw=`dragstart${ai}`,cw=`load${ai}${gp}`,uw=`click${ai}${gp}`,mp="carousel",vl="active",dw="slide",hw="carousel-item-end",fw="carousel-item-start",pw="carousel-item-next",gw="carousel-item-prev",_p=".active",vp=".carousel-item",mw=_p+vp,_w=".carousel-item img",vw=".carousel-indicators",bw="[data-bs-slide], [data-bs-slide-to]",yw='[data-bs-ride="carousel"]',ww={[tw]:_l,[nw]:jo},xw={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},kw={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class Wo extends j{constructor(g,S){super(g,S),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=J.findOne(vw,this._element),this._addEventListeners(),this._config.ride===mp&&this.cycle()}static get Default(){return xw}static get DefaultType(){return kw}static get NAME(){return ew}next(){this._slide(zr)}nextWhenVisible(){!document.hidden&&w(this._element)&&this.next()}prev(){this._slide(Ho)}pause(){this._isSliding&&m(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){if(this._config.ride){if(this._isSliding){N.one(this._element,Tu,()=>this.cycle());return}this.cycle()}}to(g){const S=this._getItems();if(g>S.length-1||g<0)return;if(this._isSliding){N.one(this._element,Tu,()=>this.to(g));return}const U=this._getItemIndex(this._getActive());if(U===g)return;const ge=g>U?zr:Ho;this._slide(ge,S[g])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(g){return g.defaultInterval=g.interval,g}_addEventListeners(){this._config.keyboard&&N.on(this._element,ow,g=>this._keydown(g)),this._config.pause==="hover"&&(N.on(this._element,rw,()=>this.pause()),N.on(this._element,aw,()=>this._maybeEnableCycle())),this._config.touch&&ml.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const U of J.find(_w,this._element))N.on(U,lw,ge=>ge.preventDefault());const S={leftCallback:()=>this._slide(this._directionToOrder(jo)),rightCallback:()=>this._slide(this._directionToOrder(_l)),endCallback:()=>{this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),sw+this._config.interval))}};this._swipeHelper=new ml(this._element,S)}_keydown(g){if(/input|textarea/i.test(g.target.tagName))return;const S=ww[g.key];S&&(g.preventDefault(),this._slide(this._directionToOrder(S)))}_getItemIndex(g){return this._getItems().indexOf(g)}_setActiveIndicatorElement(g){if(!this._indicatorsElement)return;const S=J.findOne(_p,this._indicatorsElement);S.classList.remove(vl),S.removeAttribute("aria-current");const U=J.findOne(`[data-bs-slide-to="${g}"]`,this._indicatorsElement);U&&(U.classList.add(vl),U.setAttribute("aria-current","true"))}_updateInterval(){const g=this._activeElement||this._getActive();if(!g)return;const S=Number.parseInt(g.getAttribute("data-bs-interval"),10);this._config.interval=S||this._config.defaultInterval}_slide(g,S=null){if(this._isSliding)return;const U=this._getActive(),ge=g===zr,Pe=S||ae(this._getItems(),U,ge,this._config.wrap);if(Pe===U)return;const Ce=this._getItemIndex(Pe),Xe=Cl=>N.trigger(this._element,Cl,{relatedTarget:Pe,direction:this._orderToDirection(g),from:this._getItemIndex(U),to:Ce});if(Xe(iw).defaultPrevented||!U||!Pe)return;const zn=!!this._interval;this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(Ce),this._activeElement=Pe;const Jt=ge?fw:hw,ms=ge?pw:gw;Pe.classList.add(ms),k(Pe),U.classList.add(Jt),Pe.classList.add(Jt);const ts=()=>{Pe.classList.remove(Jt,ms),Pe.classList.add(vl),U.classList.remove(vl,ms,Jt),this._isSliding=!1,Xe(Tu)};this._queueCallback(ts,U,this._isAnimated()),zn&&this.cycle()}_isAnimated(){return this._element.classList.contains(dw)}_getActive(){return J.findOne(mw,this._element)}_getItems(){return J.find(vp,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(g){return P()?g===jo?Ho:zr:g===jo?zr:Ho}_orderToDirection(g){return P()?g===Ho?jo:_l:g===Ho?_l:jo}static jQueryInterface(g){return this.each(function(){const S=Wo.getOrCreateInstance(this,g);if(typeof g=="number"){S.to(g);return}if(typeof g=="string"){if(S[g]===void 0||g.startsWith("_")||g==="constructor")throw new TypeError(`No method named "${g}"`);S[g]()}})}}N.on(document,uw,bw,function(z){const g=J.getElementFromSelector(this);if(!g||!g.classList.contains(mp))return;z.preventDefault();const S=Wo.getOrCreateInstance(g),U=this.getAttribute("data-bs-slide-to");if(U){S.to(U),S._maybeEnableCycle();return}if(H.getDataAttribute(this,"slide")==="next"){S.next(),S._maybeEnableCycle();return}S.prev(),S._maybeEnableCycle()}),N.on(window,cw,()=>{const z=J.find(yw);for(const g of z)Wo.getOrCreateInstance(g)}),E(Wo);const Sw="collapse",Yr=".bs.collapse",$w=".data-api",Aw=`show${Yr}`,Cw=`shown${Yr}`,Ew=`hide${Yr}`,Pw=`hidden${Yr}`,Mw=`click${Yr}${$w}`,Du="show",zo="collapse",bl="collapsing",Tw="collapsed",Dw=`:scope .${zo} .${zo}`,Ow="collapse-horizontal",Iw="width",Rw="height",Lw=".collapse.show, .collapse.collapsing",Ou='[data-bs-toggle="collapse"]',Nw={parent:null,toggle:!0},Fw={parent:"(null|element)",toggle:"boolean"};class Yo extends j{constructor(g,S){super(g,S),this._isTransitioning=!1,this._triggerArray=[];const U=J.find(Ou);for(const ge of U){const Pe=J.getSelectorFromElement(ge),Ce=J.find(Pe).filter(Xe=>Xe===this._element);Pe!==null&&Ce.length&&this._triggerArray.push(ge)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Nw}static get DefaultType(){return Fw}static get NAME(){return Sw}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let g=[];if(this._config.parent&&(g=this._getFirstLevelChildren(Lw).filter(Xe=>Xe!==this._element).map(Xe=>Yo.getOrCreateInstance(Xe,{toggle:!1}))),g.length&&g[0]._isTransitioning||N.trigger(this._element,Aw).defaultPrevented)return;for(const Xe of g)Xe.hide();const U=this._getDimension();this._element.classList.remove(zo),this._element.classList.add(bl),this._element.style[U]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const ge=()=>{this._isTransitioning=!1,this._element.classList.remove(bl),this._element.classList.add(zo,Du),this._element.style[U]="",N.trigger(this._element,Cw)},Ce=`scroll${U[0].toUpperCase()+U.slice(1)}`;this._queueCallback(ge,this._element,!0),this._element.style[U]=`${this._element[Ce]}px`}hide(){if(this._isTransitioning||!this._isShown()||N.trigger(this._element,Ew).defaultPrevented)return;const S=this._getDimension();this._element.style[S]=`${this._element.getBoundingClientRect()[S]}px`,k(this._element),this._element.classList.add(bl),this._element.classList.remove(zo,Du);for(const ge of this._triggerArray){const Pe=J.getElementFromSelector(ge);Pe&&!this._isShown(Pe)&&this._addAriaAndCollapsedClass([ge],!1)}this._isTransitioning=!0;const U=()=>{this._isTransitioning=!1,this._element.classList.remove(bl),this._element.classList.add(zo),N.trigger(this._element,Pw)};this._element.style[S]="",this._queueCallback(U,this._element,!0)}_isShown(g=this._element){return g.classList.contains(Du)}_configAfterMerge(g){return g.toggle=!!g.toggle,g.parent=b(g.parent),g}_getDimension(){return this._element.classList.contains(Ow)?Iw:Rw}_initializeChildren(){if(!this._config.parent)return;const g=this._getFirstLevelChildren(Ou);for(const S of g){const U=J.getElementFromSelector(S);U&&this._addAriaAndCollapsedClass([S],this._isShown(U))}}_getFirstLevelChildren(g){const S=J.find(Dw,this._config.parent);return J.find(g,this._config.parent).filter(U=>!S.includes(U))}_addAriaAndCollapsedClass(g,S){if(g.length)for(const U of g)U.classList.toggle(Tw,!S),U.setAttribute("aria-expanded",S)}static jQueryInterface(g){const S={};return typeof g=="string"&&/show|hide/.test(g)&&(S.toggle=!1),this.each(function(){const U=Yo.getOrCreateInstance(this,S);if(typeof g=="string"){if(typeof U[g]>"u")throw new TypeError(`No method named "${g}"`);U[g]()}})}}N.on(document,Mw,Ou,function(z){(z.target.tagName==="A"||z.delegateTarget&&z.delegateTarget.tagName==="A")&&z.preventDefault();for(const g of J.getMultipleElementsFromSelector(this))Yo.getOrCreateInstance(g,{toggle:!1}).toggle()}),E(Yo);const bp="dropdown",Xi=".bs.dropdown",Iu=".data-api",Bw="Escape",yp="Tab",Vw="ArrowUp",wp="ArrowDown",Hw=2,jw=`hide${Xi}`,Ww=`hidden${Xi}`,zw=`show${Xi}`,Yw=`shown${Xi}`,xp=`click${Xi}${Iu}`,kp=`keydown${Xi}${Iu}`,Kw=`keyup${Xi}${Iu}`,Ko="show",Uw="dropup",qw="dropend",Gw="dropstart",Jw="dropup-center",Xw="dropdown-center",Qi='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',Qw=`${Qi}.${Ko}`,yl=".dropdown-menu",Zw=".navbar",ex=".navbar-nav",tx=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",nx=P()?"top-end":"top-start",sx=P()?"top-start":"top-end",ix=P()?"bottom-end":"bottom-start",ox=P()?"bottom-start":"bottom-end",rx=P()?"left-start":"right-start",ax=P()?"right-start":"left-start",lx="top",cx="bottom",ux={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},dx={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class es extends j{constructor(g,S){super(g,S),this._popper=null,this._parent=this._element.parentNode,this._menu=J.next(this._element,yl)[0]||J.prev(this._element,yl)[0]||J.findOne(yl,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return ux}static get DefaultType(){return dx}static get NAME(){return bp}toggle(){return this._isShown()?this.hide():this.show()}show(){if($(this._element)||this._isShown())return;const g={relatedTarget:this._element};if(!N.trigger(this._element,zw,g).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(ex))for(const U of[].concat(...document.body.children))N.on(U,"mouseover",T);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(Ko),this._element.classList.add(Ko),N.trigger(this._element,Yw,g)}}hide(){if($(this._element)||!this._isShown())return;const g={relatedTarget:this._element};this._completeHide(g)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(g){if(!N.trigger(this._element,jw,g).defaultPrevented){if("ontouchstart"in document.documentElement)for(const U of[].concat(...document.body.children))N.off(U,"mouseover",T);this._popper&&this._popper.destroy(),this._menu.classList.remove(Ko),this._element.classList.remove(Ko),this._element.setAttribute("aria-expanded","false"),H.removeDataAttribute(this._menu,"popper"),N.trigger(this._element,Ww,g)}}_getConfig(g){if(g=super._getConfig(g),typeof g.reference=="object"&&!_(g.reference)&&typeof g.reference.getBoundingClientRect!="function")throw new TypeError(`${bp.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return g}_createPopper(){if(typeof i>"u")throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let g=this._element;this._config.reference==="parent"?g=this._parent:_(this._config.reference)?g=b(this._config.reference):typeof this._config.reference=="object"&&(g=this._config.reference);const S=this._getPopperConfig();this._popper=i.createPopper(g,this._menu,S)}_isShown(){return this._menu.classList.contains(Ko)}_getPlacement(){const g=this._parent;if(g.classList.contains(qw))return rx;if(g.classList.contains(Gw))return ax;if(g.classList.contains(Jw))return lx;if(g.classList.contains(Xw))return cx;const S=getComputedStyle(this._menu).getPropertyValue("--bs-position").trim()==="end";return g.classList.contains(Uw)?S?sx:nx:S?ox:ix}_detectNavbar(){return this._element.closest(Zw)!==null}_getOffset(){const{offset:g}=this._config;return typeof g=="string"?g.split(",").map(S=>Number.parseInt(S,10)):typeof g=="function"?S=>g(S,this._element):g}_getPopperConfig(){const g={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||this._config.display==="static")&&(H.setDataAttribute(this._menu,"popper","static"),g.modifiers=[{name:"applyStyles",enabled:!1}]),{...g,...B(this._config.popperConfig,[g])}}_selectMenuItem({key:g,target:S}){const U=J.find(tx,this._menu).filter(ge=>w(ge));U.length&&ae(U,S,g===wp,!U.includes(S)).focus()}static jQueryInterface(g){return this.each(function(){const S=es.getOrCreateInstance(this,g);if(typeof g=="string"){if(typeof S[g]>"u")throw new TypeError(`No method named "${g}"`);S[g]()}})}static clearMenus(g){if(g.button===Hw||g.type==="keyup"&&g.key!==yp)return;const S=J.find(Qw);for(const U of S){const ge=es.getInstance(U);if(!ge||ge._config.autoClose===!1)continue;const Pe=g.composedPath(),Ce=Pe.includes(ge._menu);if(Pe.includes(ge._element)||ge._config.autoClose==="inside"&&!Ce||ge._config.autoClose==="outside"&&Ce||ge._menu.contains(g.target)&&(g.type==="keyup"&&g.key===yp||/input|select|option|textarea|form/i.test(g.target.tagName)))continue;const Xe={relatedTarget:ge._element};g.type==="click"&&(Xe.clickEvent=g),ge._completeHide(Xe)}}static dataApiKeydownHandler(g){const S=/input|textarea/i.test(g.target.tagName),U=g.key===Bw,ge=[Vw,wp].includes(g.key);if(!ge&&!U||S&&!U)return;g.preventDefault();const Pe=this.matches(Qi)?this:J.prev(this,Qi)[0]||J.next(this,Qi)[0]||J.findOne(Qi,g.delegateTarget.parentNode),Ce=es.getOrCreateInstance(Pe);if(ge){g.stopPropagation(),Ce.show(),Ce._selectMenuItem(g);return}Ce._isShown()&&(g.stopPropagation(),Ce.hide(),Pe.focus())}}N.on(document,kp,Qi,es.dataApiKeydownHandler),N.on(document,kp,yl,es.dataApiKeydownHandler),N.on(document,xp,es.clearMenus),N.on(document,Kw,es.clearMenus),N.on(document,xp,Qi,function(z){z.preventDefault(),es.getOrCreateInstance(this).toggle()}),E(es);const Sp="backdrop",hx="fade",$p="show",Ap=`mousedown.bs.${Sp}`,fx={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},px={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Cp extends W{constructor(g){super(),this._config=this._getConfig(g),this._isAppended=!1,this._element=null}static get Default(){return fx}static get DefaultType(){return px}static get NAME(){return Sp}show(g){if(!this._config.isVisible){B(g);return}this._append();const S=this._getElement();this._config.isAnimated&&k(S),S.classList.add($p),this._emulateAnimation(()=>{B(g)})}hide(g){if(!this._config.isVisible){B(g);return}this._getElement().classList.remove($p),this._emulateAnimation(()=>{this.dispose(),B(g)})}dispose(){this._isAppended&&(N.off(this._element,Ap),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const g=document.createElement("div");g.className=this._config.className,this._config.isAnimated&&g.classList.add(hx),this._element=g}return this._element}_configAfterMerge(g){return g.rootElement=b(g.rootElement),g}_append(){if(this._isAppended)return;const g=this._getElement();this._config.rootElement.append(g),N.on(g,Ap,()=>{B(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(g){G(g,this._getElement(),this._config.isAnimated)}}const gx="focustrap",wl=".bs.focustrap",mx=`focusin${wl}`,_x=`keydown.tab${wl}`,vx="Tab",bx="forward",Ep="backward",yx={autofocus:!0,trapElement:null},wx={autofocus:"boolean",trapElement:"element"};class Pp extends W{constructor(g){super(),this._config=this._getConfig(g),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return yx}static get DefaultType(){return wx}static get NAME(){return gx}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),N.off(document,wl),N.on(document,mx,g=>this._handleFocusin(g)),N.on(document,_x,g=>this._handleKeydown(g)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,N.off(document,wl))}_handleFocusin(g){const{trapElement:S}=this._config;if(g.target===document||g.target===S||S.contains(g.target))return;const U=J.focusableChildren(S);U.length===0?S.focus():this._lastTabNavDirection===Ep?U[U.length-1].focus():U[0].focus()}_handleKeydown(g){g.key===vx&&(this._lastTabNavDirection=g.shiftKey?Ep:bx)}}const Mp=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",Tp=".sticky-top",xl="padding-right",Dp="margin-right";class Ru{constructor(){this._element=document.body}getWidth(){const g=document.documentElement.clientWidth;return Math.abs(window.innerWidth-g)}hide(){const g=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,xl,S=>S+g),this._setElementAttributes(Mp,xl,S=>S+g),this._setElementAttributes(Tp,Dp,S=>S-g)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,xl),this._resetElementAttributes(Mp,xl),this._resetElementAttributes(Tp,Dp)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(g,S,U){const ge=this.getWidth(),Pe=Ce=>{if(Ce!==this._element&&window.innerWidth>Ce.clientWidth+ge)return;this._saveInitialAttribute(Ce,S);const Xe=window.getComputedStyle(Ce).getPropertyValue(S);Ce.style.setProperty(S,`${U(Number.parseFloat(Xe))}px`)};this._applyManipulationCallback(g,Pe)}_saveInitialAttribute(g,S){const U=g.style.getPropertyValue(S);U&&H.setDataAttribute(g,S,U)}_resetElementAttributes(g,S){const U=ge=>{const Pe=H.getDataAttribute(ge,S);if(Pe===null){ge.style.removeProperty(S);return}H.removeDataAttribute(ge,S),ge.style.setProperty(S,Pe)};this._applyManipulationCallback(g,U)}_applyManipulationCallback(g,S){if(_(g)){S(g);return}for(const U of J.find(g,this._element))S(U)}}const xx="modal",Wn=".bs.modal",kx=".data-api",Sx="Escape",$x=`hide${Wn}`,Ax=`hidePrevented${Wn}`,Op=`hidden${Wn}`,Ip=`show${Wn}`,Cx=`shown${Wn}`,Ex=`resize${Wn}`,Px=`click.dismiss${Wn}`,Mx=`mousedown.dismiss${Wn}`,Tx=`keydown.dismiss${Wn}`,Dx=`click${Wn}${kx}`,Rp="modal-open",Ox="fade",Lp="show",Lu="modal-static",Ix=".modal.show",Rx=".modal-dialog",Lx=".modal-body",Nx='[data-bs-toggle="modal"]',Fx={backdrop:!0,focus:!0,keyboard:!0},Bx={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Zi extends j{constructor(g,S){super(g,S),this._dialog=J.findOne(Rx,this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new Ru,this._addEventListeners()}static get Default(){return Fx}static get DefaultType(){return Bx}static get NAME(){return xx}toggle(g){return this._isShown?this.hide():this.show(g)}show(g){this._isShown||this._isTransitioning||N.trigger(this._element,Ip,{relatedTarget:g}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(Rp),this._adjustDialog(),this._backdrop.show(()=>this._showElement(g)))}hide(){!this._isShown||this._isTransitioning||N.trigger(this._element,$x).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Lp),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated()))}dispose(){N.off(window,Wn),N.off(this._dialog,Wn),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Cp({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Pp({trapElement:this._element})}_showElement(g){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const S=J.findOne(Lx,this._dialog);S&&(S.scrollTop=0),k(this._element),this._element.classList.add(Lp);const U=()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,N.trigger(this._element,Cx,{relatedTarget:g})};this._queueCallback(U,this._dialog,this._isAnimated())}_addEventListeners(){N.on(this._element,Tx,g=>{if(g.key===Sx){if(this._config.keyboard){this.hide();return}this._triggerBackdropTransition()}}),N.on(window,Ex,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),N.on(this._element,Mx,g=>{N.one(this._element,Px,S=>{if(!(this._element!==g.target||this._element!==S.target)){if(this._config.backdrop==="static"){this._triggerBackdropTransition();return}this._config.backdrop&&this.hide()}})})}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove(Rp),this._resetAdjustments(),this._scrollBar.reset(),N.trigger(this._element,Op)})}_isAnimated(){return this._element.classList.contains(Ox)}_triggerBackdropTransition(){if(N.trigger(this._element,Ax).defaultPrevented)return;const S=this._element.scrollHeight>document.documentElement.clientHeight,U=this._element.style.overflowY;U==="hidden"||this._element.classList.contains(Lu)||(S||(this._element.style.overflowY="hidden"),this._element.classList.add(Lu),this._queueCallback(()=>{this._element.classList.remove(Lu),this._queueCallback(()=>{this._element.style.overflowY=U},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const g=this._element.scrollHeight>document.documentElement.clientHeight,S=this._scrollBar.getWidth(),U=S>0;if(U&&!g){const ge=P()?"paddingLeft":"paddingRight";this._element.style[ge]=`${S}px`}if(!U&&g){const ge=P()?"paddingRight":"paddingLeft";this._element.style[ge]=`${S}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(g,S){return this.each(function(){const U=Zi.getOrCreateInstance(this,g);if(typeof g=="string"){if(typeof U[g]>"u")throw new TypeError(`No method named "${g}"`);U[g](S)}})}}N.on(document,Dx,Nx,function(z){const g=J.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&z.preventDefault(),N.one(g,Ip,ge=>{ge.defaultPrevented||N.one(g,Op,()=>{w(this)&&this.focus()})});const S=J.findOne(Ix);S&&Zi.getInstance(S).hide(),Zi.getOrCreateInstance(g).toggle(this)}),he(Zi),E(Zi);const Vx="offcanvas",Ls=".bs.offcanvas",Np=".data-api",Hx=`load${Ls}${Np}`,jx="Escape",Fp="show",Bp="showing",Vp="hiding",Wx="offcanvas-backdrop",Hp=".offcanvas.show",zx=`show${Ls}`,Yx=`shown${Ls}`,Kx=`hide${Ls}`,jp=`hidePrevented${Ls}`,Wp=`hidden${Ls}`,Ux=`resize${Ls}`,qx=`click${Ls}${Np}`,Gx=`keydown.dismiss${Ls}`,Jx='[data-bs-toggle="offcanvas"]',Xx={backdrop:!0,keyboard:!0,scroll:!1},Qx={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Ns extends j{constructor(g,S){super(g,S),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Xx}static get DefaultType(){return Qx}static get NAME(){return Vx}toggle(g){return this._isShown?this.hide():this.show(g)}show(g){if(this._isShown||N.trigger(this._element,zx,{relatedTarget:g}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||new Ru().hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Bp);const U=()=>{(!this._config.scroll||this._config.backdrop)&&this._focustrap.activate(),this._element.classList.add(Fp),this._element.classList.remove(Bp),N.trigger(this._element,Yx,{relatedTarget:g})};this._queueCallback(U,this._element,!0)}hide(){if(!this._isShown||N.trigger(this._element,Kx).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Vp),this._backdrop.hide();const S=()=>{this._element.classList.remove(Fp,Vp),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||new Ru().reset(),N.trigger(this._element,Wp)};this._queueCallback(S,this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const g=()=>{if(this._config.backdrop==="static"){N.trigger(this._element,jp);return}this.hide()},S=!!this._config.backdrop;return new Cp({className:Wx,isVisible:S,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:S?g:null})}_initializeFocusTrap(){return new Pp({trapElement:this._element})}_addEventListeners(){N.on(this._element,Gx,g=>{if(g.key===jx){if(this._config.keyboard){this.hide();return}N.trigger(this._element,jp)}})}static jQueryInterface(g){return this.each(function(){const S=Ns.getOrCreateInstance(this,g);if(typeof g=="string"){if(S[g]===void 0||g.startsWith("_")||g==="constructor")throw new TypeError(`No method named "${g}"`);S[g](this)}})}}N.on(document,qx,Jx,function(z){const g=J.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&z.preventDefault(),$(this))return;N.one(g,Wp,()=>{w(this)&&this.focus()});const S=J.findOne(Hp);S&&S!==g&&Ns.getInstance(S).hide(),Ns.getOrCreateInstance(g).toggle(this)}),N.on(window,Hx,()=>{for(const z of J.find(Hp))Ns.getOrCreateInstance(z).show()}),N.on(window,Ux,()=>{for(const z of J.find("[aria-modal][class*=show][class*=offcanvas-]"))getComputedStyle(z).position!=="fixed"&&Ns.getOrCreateInstance(z).hide()}),he(Ns),E(Ns);const zp={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Zx=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),ek=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,tk=(z,g)=>{const S=z.nodeName.toLowerCase();return g.includes(S)?Zx.has(S)?!!ek.test(z.nodeValue):!0:g.filter(U=>U instanceof RegExp).some(U=>U.test(S))};function nk(z,g,S){if(!z.length)return z;if(S&&typeof S=="function")return S(z);const ge=new window.DOMParser().parseFromString(z,"text/html"),Pe=[].concat(...ge.body.querySelectorAll("*"));for(const Ce of Pe){const Xe=Ce.nodeName.toLowerCase();if(!Object.keys(g).includes(Xe)){Ce.remove();continue}const kn=[].concat(...Ce.attributes),zn=[].concat(g["*"]||[],g[Xe]||[]);for(const Jt of kn)tk(Jt,zn)||Ce.removeAttribute(Jt.nodeName)}return ge.body.innerHTML}const sk="TemplateFactory",ik={allowList:zp,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},ok={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},rk={entry:"(string|element|function|null)",selector:"(string|element)"};class ak extends W{constructor(g){super(),this._config=this._getConfig(g)}static get Default(){return ik}static get DefaultType(){return ok}static get NAME(){return sk}getContent(){return Object.values(this._config.content).map(g=>this._resolvePossibleFunction(g)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(g){return this._checkContent(g),this._config.content={...this._config.content,...g},this}toHtml(){const g=document.createElement("div");g.innerHTML=this._maybeSanitize(this._config.template);for(const[ge,Pe]of Object.entries(this._config.content))this._setContent(g,Pe,ge);const S=g.children[0],U=this._resolvePossibleFunction(this._config.extraClass);return U&&S.classList.add(...U.split(" ")),S}_typeCheckConfig(g){super._typeCheckConfig(g),this._checkContent(g.content)}_checkContent(g){for(const[S,U]of Object.entries(g))super._typeCheckConfig({selector:S,entry:U},rk)}_setContent(g,S,U){const ge=J.findOne(U,g);if(ge){if(S=this._resolvePossibleFunction(S),!S){ge.remove();return}if(_(S)){this._putElementInTemplate(b(S),ge);return}if(this._config.html){ge.innerHTML=this._maybeSanitize(S);return}ge.textContent=S}}_maybeSanitize(g){return this._config.sanitize?nk(g,this._config.allowList,this._config.sanitizeFn):g}_resolvePossibleFunction(g){return B(g,[this])}_putElementInTemplate(g,S){if(this._config.html){S.innerHTML="",S.append(g);return}S.textContent=g.textContent}}const lk="tooltip",ck=new Set(["sanitize","allowList","sanitizeFn"]),Nu="fade",uk="modal",kl="show",dk=".tooltip-inner",Yp=`.${uk}`,Kp="hide.bs.modal",Kr="hover",Fu="focus",hk="click",fk="manual",pk="hide",gk="hidden",mk="show",_k="shown",vk="inserted",bk="click",yk="focusin",wk="focusout",xk="mouseenter",kk="mouseleave",Sk={AUTO:"auto",TOP:"top",RIGHT:P()?"left":"right",BOTTOM:"bottom",LEFT:P()?"right":"left"},$k={allowList:zp,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},Ak={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class eo extends j{constructor(g,S){if(typeof i>"u")throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(g,S),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return $k}static get DefaultType(){return Ak}static get NAME(){return lk}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){if(this._isEnabled){if(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()){this._leave();return}this._enter()}}dispose(){clearTimeout(this._timeout),N.off(this._element.closest(Yp),Kp,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if(this._element.style.display==="none")throw new Error("Please use show on visible elements");if(!(this._isWithContent()&&this._isEnabled))return;const g=N.trigger(this._element,this.constructor.eventName(mk)),U=(A(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(g.defaultPrevented||!U)return;this._disposePopper();const ge=this._getTipElement();this._element.setAttribute("aria-describedby",ge.getAttribute("id"));const{container:Pe}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(Pe.append(ge),N.trigger(this._element,this.constructor.eventName(vk))),this._popper=this._createPopper(ge),ge.classList.add(kl),"ontouchstart"in document.documentElement)for(const Xe of[].concat(...document.body.children))N.on(Xe,"mouseover",T);const Ce=()=>{N.trigger(this._element,this.constructor.eventName(_k)),this._isHovered===!1&&this._leave(),this._isHovered=!1};this._queueCallback(Ce,this.tip,this._isAnimated())}hide(){if(!this._isShown()||N.trigger(this._element,this.constructor.eventName(pk)).defaultPrevented)return;if(this._getTipElement().classList.remove(kl),"ontouchstart"in document.documentElement)for(const ge of[].concat(...document.body.children))N.off(ge,"mouseover",T);this._activeTrigger[hk]=!1,this._activeTrigger[Fu]=!1,this._activeTrigger[Kr]=!1,this._isHovered=null;const U=()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),N.trigger(this._element,this.constructor.eventName(gk)))};this._queueCallback(U,this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return!!this._getTitle()}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(g){const S=this._getTemplateFactory(g).toHtml();if(!S)return null;S.classList.remove(Nu,kl),S.classList.add(`bs-${this.constructor.NAME}-auto`);const U=f(this.constructor.NAME).toString();return S.setAttribute("id",U),this._isAnimated()&&S.classList.add(Nu),S}setContent(g){this._newContent=g,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(g){return this._templateFactory?this._templateFactory.changeContent(g):this._templateFactory=new ak({...this._config,content:g,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[dk]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(g){return this.constructor.getOrCreateInstance(g.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(Nu)}_isShown(){return this.tip&&this.tip.classList.contains(kl)}_createPopper(g){const S=B(this._config.placement,[this,g,this._element]),U=Sk[S.toUpperCase()];return i.createPopper(this._element,g,this._getPopperConfig(U))}_getOffset(){const{offset:g}=this._config;return typeof g=="string"?g.split(",").map(S=>Number.parseInt(S,10)):typeof g=="function"?S=>g(S,this._element):g}_resolvePossibleFunction(g){return B(g,[this._element])}_getPopperConfig(g){const S={placement:g,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:U=>{this._getTipElement().setAttribute("data-popper-placement",U.state.placement)}}]};return{...S,...B(this._config.popperConfig,[S])}}_setListeners(){const g=this._config.trigger.split(" ");for(const S of g)if(S==="click")N.on(this._element,this.constructor.eventName(bk),this._config.selector,U=>{this._initializeOnDelegatedTarget(U).toggle()});else if(S!==fk){const U=S===Kr?this.constructor.eventName(xk):this.constructor.eventName(yk),ge=S===Kr?this.constructor.eventName(kk):this.constructor.eventName(wk);N.on(this._element,U,this._config.selector,Pe=>{const Ce=this._initializeOnDelegatedTarget(Pe);Ce._activeTrigger[Pe.type==="focusin"?Fu:Kr]=!0,Ce._enter()}),N.on(this._element,ge,this._config.selector,Pe=>{const Ce=this._initializeOnDelegatedTarget(Pe);Ce._activeTrigger[Pe.type==="focusout"?Fu:Kr]=Ce._element.contains(Pe.relatedTarget),Ce._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},N.on(this._element.closest(Yp),Kp,this._hideModalHandler)}_fixTitle(){const g=this._element.getAttribute("title");g&&(!this._element.getAttribute("aria-label")&&!this._element.textContent.trim()&&this._element.setAttribute("aria-label",g),this._element.setAttribute("data-bs-original-title",g),this._element.removeAttribute("title"))}_enter(){if(this._isShown()||this._isHovered){this._isHovered=!0;return}this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show)}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(g,S){clearTimeout(this._timeout),this._timeout=setTimeout(g,S)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(g){const S=H.getDataAttributes(this._element);for(const U of Object.keys(S))ck.has(U)&&delete S[U];return g={...S,...typeof g=="object"&&g?g:{}},g=this._mergeConfigObj(g),g=this._configAfterMerge(g),this._typeCheckConfig(g),g}_configAfterMerge(g){return g.container=g.container===!1?document.body:b(g.container),typeof g.delay=="number"&&(g.delay={show:g.delay,hide:g.delay}),typeof g.title=="number"&&(g.title=g.title.toString()),typeof g.content=="number"&&(g.content=g.content.toString()),g}_getDelegateConfig(){const g={};for(const[S,U]of Object.entries(this._config))this.constructor.Default[S]!==U&&(g[S]=U);return g.selector=!1,g.trigger="manual",g}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(g){return this.each(function(){const S=eo.getOrCreateInstance(this,g);if(typeof g=="string"){if(typeof S[g]>"u")throw new TypeError(`No method named "${g}"`);S[g]()}})}}E(eo);const Ck="popover",Ek=".popover-header",Pk=".popover-body",Mk={...eo.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},Tk={...eo.DefaultType,content:"(null|string|element|function)"};class Sl extends eo{static get Default(){return Mk}static get DefaultType(){return Tk}static get NAME(){return Ck}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[Ek]:this._getTitle(),[Pk]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(g){return this.each(function(){const S=Sl.getOrCreateInstance(this,g);if(typeof g=="string"){if(typeof S[g]>"u")throw new TypeError(`No method named "${g}"`);S[g]()}})}}E(Sl);const Dk="scrollspy",Bu=".bs.scrollspy",Ok=".data-api",Ik=`activate${Bu}`,Up=`click${Bu}`,Rk=`load${Bu}${Ok}`,Lk="dropdown-item",Uo="active",Nk='[data-bs-spy="scroll"]',Vu="[href]",Fk=".nav, .list-group",qp=".nav-link",Bk=`${qp}, .nav-item > ${qp}, .list-group-item`,Vk=".dropdown",Hk=".dropdown-toggle",jk={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},Wk={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Ur extends j{constructor(g,S){super(g,S),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement=getComputedStyle(this._element).overflowY==="visible"?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return jk}static get DefaultType(){return Wk}static get NAME(){return Dk}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const g of this._observableSections.values())this._observer.observe(g)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(g){return g.target=b(g.target)||document.body,g.rootMargin=g.offset?`${g.offset}px 0px -30%`:g.rootMargin,typeof g.threshold=="string"&&(g.threshold=g.threshold.split(",").map(S=>Number.parseFloat(S))),g}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(N.off(this._config.target,Up),N.on(this._config.target,Up,Vu,g=>{const S=this._observableSections.get(g.target.hash);if(S){g.preventDefault();const U=this._rootElement||window,ge=S.offsetTop-this._element.offsetTop;if(U.scrollTo){U.scrollTo({top:ge,behavior:"smooth"});return}U.scrollTop=ge}}))}_getNewObserver(){const g={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(S=>this._observerCallback(S),g)}_observerCallback(g){const S=Ce=>this._targetLinks.get(`#${Ce.target.id}`),U=Ce=>{this._previousScrollData.visibleEntryTop=Ce.target.offsetTop,this._process(S(Ce))},ge=(this._rootElement||document.documentElement).scrollTop,Pe=ge>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=ge;for(const Ce of g){if(!Ce.isIntersecting){this._activeTarget=null,this._clearActiveClass(S(Ce));continue}const Xe=Ce.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(Pe&&Xe){if(U(Ce),!ge)return;continue}!Pe&&!Xe&&U(Ce)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const g=J.find(Vu,this._config.target);for(const S of g){if(!S.hash||$(S))continue;const U=J.findOne(decodeURI(S.hash),this._element);w(U)&&(this._targetLinks.set(decodeURI(S.hash),S),this._observableSections.set(S.hash,U))}}_process(g){this._activeTarget!==g&&(this._clearActiveClass(this._config.target),this._activeTarget=g,g.classList.add(Uo),this._activateParents(g),N.trigger(this._element,Ik,{relatedTarget:g}))}_activateParents(g){if(g.classList.contains(Lk)){J.findOne(Hk,g.closest(Vk)).classList.add(Uo);return}for(const S of J.parents(g,Fk))for(const U of J.prev(S,Bk))U.classList.add(Uo)}_clearActiveClass(g){g.classList.remove(Uo);const S=J.find(`${Vu}.${Uo}`,g);for(const U of S)U.classList.remove(Uo)}static jQueryInterface(g){return this.each(function(){const S=Ur.getOrCreateInstance(this,g);if(typeof g=="string"){if(S[g]===void 0||g.startsWith("_")||g==="constructor")throw new TypeError(`No method named "${g}"`);S[g]()}})}}N.on(window,Rk,()=>{for(const z of J.find(Nk))Ur.getOrCreateInstance(z)}),E(Ur);const zk="tab",to=".bs.tab",Yk=`hide${to}`,Kk=`hidden${to}`,Uk=`show${to}`,qk=`shown${to}`,Gk=`click${to}`,Jk=`keydown${to}`,Xk=`load${to}`,Qk="ArrowLeft",Gp="ArrowRight",Zk="ArrowUp",Jp="ArrowDown",Hu="Home",Xp="End",no="active",Qp="fade",ju="show",eS="dropdown",Zp=".dropdown-toggle",tS=".dropdown-menu",Wu=`:not(${Zp})`,nS='.list-group, .nav, [role="tablist"]',sS=".nav-item, .list-group-item",iS=`.nav-link${Wu}, .list-group-item${Wu}, [role="tab"]${Wu}`,eg='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',zu=`${iS}, ${eg}`,oS=`.${no}[data-bs-toggle="tab"], .${no}[data-bs-toggle="pill"], .${no}[data-bs-toggle="list"]`;class so extends j{constructor(g){super(g),this._parent=this._element.closest(nS),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),N.on(this._element,Jk,S=>this._keydown(S)))}static get NAME(){return zk}show(){const g=this._element;if(this._elemIsActive(g))return;const S=this._getActiveElem(),U=S?N.trigger(S,Yk,{relatedTarget:g}):null;N.trigger(g,Uk,{relatedTarget:S}).defaultPrevented||U&&U.defaultPrevented||(this._deactivate(S,g),this._activate(g,S))}_activate(g,S){if(!g)return;g.classList.add(no),this._activate(J.getElementFromSelector(g));const U=()=>{if(g.getAttribute("role")!=="tab"){g.classList.add(ju);return}g.removeAttribute("tabindex"),g.setAttribute("aria-selected",!0),this._toggleDropDown(g,!0),N.trigger(g,qk,{relatedTarget:S})};this._queueCallback(U,g,g.classList.contains(Qp))}_deactivate(g,S){if(!g)return;g.classList.remove(no),g.blur(),this._deactivate(J.getElementFromSelector(g));const U=()=>{if(g.getAttribute("role")!=="tab"){g.classList.remove(ju);return}g.setAttribute("aria-selected",!1),g.setAttribute("tabindex","-1"),this._toggleDropDown(g,!1),N.trigger(g,Kk,{relatedTarget:S})};this._queueCallback(U,g,g.classList.contains(Qp))}_keydown(g){if(![Qk,Gp,Zk,Jp,Hu,Xp].includes(g.key))return;g.stopPropagation(),g.preventDefault();const S=this._getChildren().filter(ge=>!$(ge));let U;if([Hu,Xp].includes(g.key))U=S[g.key===Hu?0:S.length-1];else{const ge=[Gp,Jp].includes(g.key);U=ae(S,g.target,ge,!0)}U&&(U.focus({preventScroll:!0}),so.getOrCreateInstance(U).show())}_getChildren(){return J.find(zu,this._parent)}_getActiveElem(){return this._getChildren().find(g=>this._elemIsActive(g))||null}_setInitialAttributes(g,S){this._setAttributeIfNotExists(g,"role","tablist");for(const U of S)this._setInitialAttributesOnChild(U)}_setInitialAttributesOnChild(g){g=this._getInnerElement(g);const S=this._elemIsActive(g),U=this._getOuterElement(g);g.setAttribute("aria-selected",S),U!==g&&this._setAttributeIfNotExists(U,"role","presentation"),S||g.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(g,"role","tab"),this._setInitialAttributesOnTargetPanel(g)}_setInitialAttributesOnTargetPanel(g){const S=J.getElementFromSelector(g);S&&(this._setAttributeIfNotExists(S,"role","tabpanel"),g.id&&this._setAttributeIfNotExists(S,"aria-labelledby",`${g.id}`))}_toggleDropDown(g,S){const U=this._getOuterElement(g);if(!U.classList.contains(eS))return;const ge=(Pe,Ce)=>{const Xe=J.findOne(Pe,U);Xe&&Xe.classList.toggle(Ce,S)};ge(Zp,no),ge(tS,ju),U.setAttribute("aria-expanded",S)}_setAttributeIfNotExists(g,S,U){g.hasAttribute(S)||g.setAttribute(S,U)}_elemIsActive(g){return g.classList.contains(no)}_getInnerElement(g){return g.matches(zu)?g:J.findOne(zu,g)}_getOuterElement(g){return g.closest(sS)||g}static jQueryInterface(g){return this.each(function(){const S=so.getOrCreateInstance(this);if(typeof g=="string"){if(S[g]===void 0||g.startsWith("_")||g==="constructor")throw new TypeError(`No method named "${g}"`);S[g]()}})}}N.on(document,Gk,eg,function(z){["A","AREA"].includes(this.tagName)&&z.preventDefault(),!$(this)&&so.getOrCreateInstance(this).show()}),N.on(window,Xk,()=>{for(const z of J.find(oS))so.getOrCreateInstance(z)}),E(so);const rS="toast",li=".bs.toast",aS=`mouseover${li}`,lS=`mouseout${li}`,cS=`focusin${li}`,uS=`focusout${li}`,dS=`hide${li}`,hS=`hidden${li}`,fS=`show${li}`,pS=`shown${li}`,gS="fade",tg="hide",$l="show",Al="showing",mS={animation:"boolean",autohide:"boolean",delay:"number"},_S={animation:!0,autohide:!0,delay:5e3};class qr extends j{constructor(g,S){super(g,S),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return _S}static get DefaultType(){return mS}static get NAME(){return rS}show(){if(N.trigger(this._element,fS).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add(gS);const S=()=>{this._element.classList.remove(Al),N.trigger(this._element,pS),this._maybeScheduleHide()};this._element.classList.remove(tg),k(this._element),this._element.classList.add($l,Al),this._queueCallback(S,this._element,this._config.animation)}hide(){if(!this.isShown()||N.trigger(this._element,dS).defaultPrevented)return;const S=()=>{this._element.classList.add(tg),this._element.classList.remove(Al,$l),N.trigger(this._element,hS)};this._element.classList.add(Al),this._queueCallback(S,this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove($l),super.dispose()}isShown(){return this._element.classList.contains($l)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(g,S){switch(g.type){case"mouseover":case"mouseout":{this._hasMouseInteraction=S;break}case"focusin":case"focusout":{this._hasKeyboardInteraction=S;break}}if(S){this._clearTimeout();return}const U=g.relatedTarget;this._element===U||this._element.contains(U)||this._maybeScheduleHide()}_setListeners(){N.on(this._element,aS,g=>this._onInteraction(g,!0)),N.on(this._element,lS,g=>this._onInteraction(g,!1)),N.on(this._element,cS,g=>this._onInteraction(g,!0)),N.on(this._element,uS,g=>this._onInteraction(g,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(g){return this.each(function(){const S=qr.getOrCreateInstance(this,g);if(typeof g=="string"){if(typeof S[g]>"u")throw new TypeError(`No method named "${g}"`);S[g](this)}})}}return he(qr),E(qr),{Alert:Je,Button:ne,Carousel:Wo,Collapse:Yo,Dropdown:es,Modal:Zi,Offcanvas:Ns,Popover:Sl,ScrollSpy:Ur,Tab:so,Toast:qr,Tooltip:eo}})})(kS);/** * @vue/shared v3.4.29 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**//*! #__NO_SIDE_EFFECTS__ */function Yh(e,t){const n=new Set(e.split(","));return t?s=>n.has(s.toLowerCase()):s=>n.has(s)}const vt={},rr=[],Kn=()=>{},f$=()=>!1,Gc=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Uh=e=>e.startsWith("onUpdate:"),Nt=Object.assign,Kh=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},p$=Object.prototype.hasOwnProperty,it=(e,t)=>p$.call(e,t),Be=Array.isArray,ar=e=>nl(e)==="[object Map]",Nr=e=>nl(e)==="[object Set]",um=e=>nl(e)==="[object Date]",Ue=e=>typeof e=="function",$t=e=>typeof e=="string",Zs=e=>typeof e=="symbol",dt=e=>e!==null&&typeof e=="object",jv=e=>(dt(e)||Ue(e))&&Ue(e.then)&&Ue(e.catch),Wv=Object.prototype.toString,nl=e=>Wv.call(e),m$=e=>nl(e).slice(8,-1),zv=e=>nl(e)==="[object Object]",qh=e=>$t(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,ga=Yh(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Jc=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},g$=/-(\w)/g,Ms=Jc(e=>e.replace(g$,(t,n)=>n?n.toUpperCase():"")),_$=/\B([A-Z])/g,Oo=Jc(e=>e.replace(_$,"-$1").toLowerCase()),Xc=Jc(e=>e.charAt(0).toUpperCase()+e.slice(1)),Yu=Jc(e=>e?`on${Xc(e)}`:""),Ii=(e,t)=>!Object.is(e,t),oc=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},kc=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Uv=e=>{const t=$t(e)?Number(e):NaN;return isNaN(t)?e:t};let dm;const Kv=()=>dm||(dm=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Wt(e){if(Be(e)){const t={};for(let n=0;n{if(n){const s=n.split(b$);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Ee(e){let t="";if($t(e))t=e;else if(Be(e))for(let n=0;nPo(n,t))}const _e=e=>$t(e)?e:e==null?"":Be(e)||dt(e)&&(e.toString===Wv||!Ue(e.toString))?JSON.stringify(e,Gv,2):String(e),Gv=(e,t)=>t&&t.__v_isRef?Gv(e,t.value):ar(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,i],o)=>(n[Uu(s,o)+" =>"]=i,n),{})}:Nr(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Uu(n))}:Zs(t)?Uu(t):dt(t)&&!Be(t)&&!zv(t)?String(t):t,Uu=(e,t="")=>{var n;return Zs(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +**//*! #__NO_SIDE_EFFECTS__ */function Yh(e,t){const n=new Set(e.split(","));return t?s=>n.has(s.toLowerCase()):s=>n.has(s)}const vt={},rr=[],Un=()=>{},f$=()=>!1,Gc=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Kh=e=>e.startsWith("onUpdate:"),Nt=Object.assign,Uh=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},p$=Object.prototype.hasOwnProperty,it=(e,t)=>p$.call(e,t),Be=Array.isArray,ar=e=>nl(e)==="[object Map]",Nr=e=>nl(e)==="[object Set]",ug=e=>nl(e)==="[object Date]",Ke=e=>typeof e=="function",$t=e=>typeof e=="string",Zs=e=>typeof e=="symbol",dt=e=>e!==null&&typeof e=="object",jv=e=>(dt(e)||Ke(e))&&Ke(e.then)&&Ke(e.catch),Wv=Object.prototype.toString,nl=e=>Wv.call(e),g$=e=>nl(e).slice(8,-1),zv=e=>nl(e)==="[object Object]",qh=e=>$t(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,ma=Yh(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Jc=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},m$=/-(\w)/g,Ms=Jc(e=>e.replace(m$,(t,n)=>n?n.toUpperCase():"")),_$=/\B([A-Z])/g,Oo=Jc(e=>e.replace(_$,"-$1").toLowerCase()),Xc=Jc(e=>e.charAt(0).toUpperCase()+e.slice(1)),Yu=Jc(e=>e?`on${Xc(e)}`:""),Ii=(e,t)=>!Object.is(e,t),oc=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},kc=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Kv=e=>{const t=$t(e)?Number(e):NaN;return isNaN(t)?e:t};let dg;const Uv=()=>dg||(dg=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Wt(e){if(Be(e)){const t={};for(let n=0;n{if(n){const s=n.split(b$);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Ee(e){let t="";if($t(e))t=e;else if(Be(e))for(let n=0;nPo(n,t))}const _e=e=>$t(e)?e:e==null?"":Be(e)||dt(e)&&(e.toString===Wv||!Ke(e.toString))?JSON.stringify(e,Gv,2):String(e),Gv=(e,t)=>t&&t.__v_isRef?Gv(e,t.value):ar(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,i],o)=>(n[Ku(s,o)+" =>"]=i,n),{})}:Nr(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Ku(n))}:Zs(t)?Ku(t):dt(t)&&!Be(t)&&!zv(t)?String(t):t,Ku=(e,t="")=>{var n;return Zs(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** * @vue/reactivity v3.4.29 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Tn;class Jv{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Tn,!t&&Tn&&(this.index=(Tn.scopes||(Tn.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=Tn;try{return Tn=this,t()}finally{Tn=n}}}on(){Tn=this}off(){Tn=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n=5)break}}this._dirtyLevel===1&&(this._dirtyLevel=0),ji()}return this._dirtyLevel>=5}set dirty(t){this._dirtyLevel=t?5:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Pi,n=yo;try{return Pi=!0,yo=this,this._runnings++,hm(this),this.fn()}finally{fm(this),this._runnings--,yo=n,Pi=t}}stop(){this.active&&(hm(this),fm(this),this.onStop&&this.onStop(),this.active=!1)}}function A$(e){return e.value}function hm(e){e._trackId++,e._depsLength=0}function fm(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t0){s._dirtyLevel=2;continue}let i;s._dirtyLevel{const n=new Map;return n.cleanup=e,n.computed=t,n},Sc=new WeakMap,wo=Symbol(""),Bd=Symbol("");function Pn(e,t,n){if(Pi&&yo){let s=Sc.get(e);s||Sc.set(e,s=new Map);let i=s.get(n);i||s.set(n,i=nb(()=>s.delete(n))),eb(yo,i)}}function Xs(e,t,n,s,i,o){const r=Sc.get(e);if(!r)return;let a=[];if(t==="clear")a=[...r.values()];else if(n==="length"&&Be(e)){const l=Number(s);r.forEach((c,u)=>{(u==="length"||!Zs(u)&&u>=l)&&a.push(c)})}else switch(n!==void 0&&a.push(r.get(n)),t){case"add":Be(e)?qh(n)&&a.push(r.get("length")):(a.push(r.get(wo)),ar(e)&&a.push(r.get(Bd)));break;case"delete":Be(e)||(a.push(r.get(wo)),ar(e)&&a.push(r.get(Bd)));break;case"set":ar(e)&&a.push(r.get(wo));break}Qh();for(const l of a)l&&tb(l,5);Zh()}function C$(e,t){const n=Sc.get(e);return n&&n.get(t)}const E$=Yh("__proto__,__v_isRef,__isVue"),sb=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Zs)),pm=P$();function P$(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=Ze(this);for(let o=0,r=this.length;o{e[t]=function(...n){Hi(),Qh();const s=Ze(this)[t].apply(this,n);return Zh(),ji(),s}}),e}function M$(e){Zs(e)||(e=String(e));const t=Ze(this);return Pn(t,"has",e),t.hasOwnProperty(e)}class ib{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){const i=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!i;if(n==="__v_isReadonly")return i;if(n==="__v_isShallow")return o;if(n==="__v_raw")return s===(i?o?W$:lb:o?ab:rb).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const r=Be(t);if(!i){if(r&&it(pm,n))return Reflect.get(pm,n,s);if(n==="hasOwnProperty")return M$}const a=Reflect.get(t,n,s);return(Zs(n)?sb.has(n):E$(n))||(i||Pn(t,"get",n),o)?a:Mt(a)?r&&qh(n)?a:a.value:dt(a)?i?ub(a):Ds(a):a}}class ob extends ib{constructor(t=!1){super(!1,t)}set(t,n,s,i){let o=t[n];if(!this._isShallow){const l=Oa(o);if(!$c(s)&&!Oa(s)&&(o=Ze(o),s=Ze(s)),!Be(t)&&Mt(o)&&!Mt(s))return l?!1:(o.value=s,!0)}const r=Be(t)&&qh(n)?Number(n)e,Zc=e=>Reflect.getPrototypeOf(e);function Pl(e,t,n=!1,s=!1){e=e.__v_raw;const i=Ze(e),o=Ze(t);n||(Ii(t,o)&&Pn(i,"get",t),Pn(i,"get",o));const{has:r}=Zc(i),a=s?ef:n?sf:Ia;if(r.call(i,t))return a(e.get(t));if(r.call(i,o))return a(e.get(o));e!==i&&e.get(t)}function Ml(e,t=!1){const n=this.__v_raw,s=Ze(n),i=Ze(e);return t||(Ii(e,i)&&Pn(s,"has",e),Pn(s,"has",i)),e===i?n.has(e):n.has(e)||n.has(i)}function Tl(e,t=!1){return e=e.__v_raw,!t&&Pn(Ze(e),"iterate",wo),Reflect.get(e,"size",e)}function mm(e){e=Ze(e);const t=Ze(this);return Zc(t).has.call(t,e)||(t.add(e),Xs(t,"add",e,e)),this}function gm(e,t){t=Ze(t);const n=Ze(this),{has:s,get:i}=Zc(n);let o=s.call(n,e);o||(e=Ze(e),o=s.call(n,e));const r=i.call(n,e);return n.set(e,t),o?Ii(t,r)&&Xs(n,"set",e,t):Xs(n,"add",e,t),this}function _m(e){const t=Ze(this),{has:n,get:s}=Zc(t);let i=n.call(t,e);i||(e=Ze(e),i=n.call(t,e)),s&&s.call(t,e);const o=t.delete(e);return i&&Xs(t,"delete",e,void 0),o}function vm(){const e=Ze(this),t=e.size!==0,n=e.clear();return t&&Xs(e,"clear",void 0,void 0),n}function Dl(e,t){return function(s,i){const o=this,r=o.__v_raw,a=Ze(r),l=t?ef:e?sf:Ia;return!e&&Pn(a,"iterate",wo),r.forEach((c,u)=>s.call(i,l(c),l(u),o))}}function Ol(e,t,n){return function(...s){const i=this.__v_raw,o=Ze(i),r=ar(o),a=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=i[e](...s),u=n?ef:t?sf:Ia;return!t&&Pn(o,"iterate",l?Bd:wo),{next(){const{value:d,done:f}=c.next();return f?{value:d,done:f}:{value:a?[u(d[0]),u(d[1])]:u(d),done:f}},[Symbol.iterator](){return this}}}}function ci(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function R$(){const e={get(o){return Pl(this,o)},get size(){return Tl(this)},has:Ml,add:mm,set:gm,delete:_m,clear:vm,forEach:Dl(!1,!1)},t={get(o){return Pl(this,o,!1,!0)},get size(){return Tl(this)},has:Ml,add:mm,set:gm,delete:_m,clear:vm,forEach:Dl(!1,!0)},n={get(o){return Pl(this,o,!0)},get size(){return Tl(this,!0)},has(o){return Ml.call(this,o,!0)},add:ci("add"),set:ci("set"),delete:ci("delete"),clear:ci("clear"),forEach:Dl(!0,!1)},s={get(o){return Pl(this,o,!0,!0)},get size(){return Tl(this,!0)},has(o){return Ml.call(this,o,!0)},add:ci("add"),set:ci("set"),delete:ci("delete"),clear:ci("clear"),forEach:Dl(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=Ol(o,!1,!1),n[o]=Ol(o,!0,!1),t[o]=Ol(o,!1,!0),s[o]=Ol(o,!0,!0)}),[e,n,t,s]}const[L$,N$,F$,B$]=R$();function tf(e,t){const n=t?e?B$:F$:e?N$:L$;return(s,i,o)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_raw"?s:Reflect.get(it(n,i)&&i in s?n:s,i,o)}const V$={get:tf(!1,!1)},H$={get:tf(!1,!0)},j$={get:tf(!0,!1)};const rb=new WeakMap,ab=new WeakMap,lb=new WeakMap,W$=new WeakMap;function z$(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Y$(e){return e.__v_skip||!Object.isExtensible(e)?0:z$(m$(e))}function Ds(e){return Oa(e)?e:nf(e,!1,D$,V$,rb)}function cb(e){return nf(e,!1,I$,H$,ab)}function ub(e){return nf(e,!0,O$,j$,lb)}function nf(e,t,n,s,i){if(!dt(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=i.get(e);if(o)return o;const r=Y$(e);if(r===0)return e;const a=new Proxy(e,r===2?s:n);return i.set(e,a),a}function xo(e){return Oa(e)?xo(e.__v_raw):!!(e&&e.__v_isReactive)}function Oa(e){return!!(e&&e.__v_isReadonly)}function $c(e){return!!(e&&e.__v_isShallow)}function eu(e){return e?!!e.__v_raw:!1}function Ze(e){const t=e&&e.__v_raw;return t?Ze(t):e}function tu(e){return Object.isExtensible(e)&&Yv(e,"__v_skip",!0),e}const Ia=e=>dt(e)?Ds(e):e,sf=e=>dt(e)?ub(e):e;class db{constructor(t,n,s,i){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new Xh(()=>t(this._value),()=>rc(this,this.effect._dirtyLevel===3?3:4)),this.effect.computed=this,this.effect.active=this._cacheable=!i,this.__v_isReadonly=s}get value(){const t=Ze(this);return(!t._cacheable||t.effect.dirty)&&Ii(t._value,t._value=t.effect.run())&&rc(t,5),hb(t),t.effect._dirtyLevel>=2&&rc(t,3),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function U$(e,t,n=!1){let s,i;const o=Ue(e);return o?(s=e,i=Kn):(s=e.get,i=e.set),new db(s,i,o||!i,n)}function hb(e){var t;Pi&&yo&&(e=Ze(e),eb(yo,(t=e.dep)!=null?t:e.dep=nb(()=>e.dep=void 0,e instanceof db?e:void 0)))}function rc(e,t=5,n,s){e=Ze(e);const i=e.dep;i&&tb(i,t)}function Mt(e){return!!(e&&e.__v_isRef===!0)}function be(e){return fb(e,!1)}function of(e){return fb(e,!0)}function fb(e,t){return Mt(e)?e:new K$(e,t)}class K${constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:Ze(t),this._value=n?t:Ia(t)}get value(){return hb(this),this._value}set value(t){const n=this.__v_isShallow||$c(t)||Oa(t);t=n?t:Ze(t),Ii(t,this._rawValue)&&(this._rawValue,this._rawValue=t,this._value=n?t:Ia(t),rc(this,5))}}function q(e){return Mt(e)?e.value:e}const q$={get:(e,t,n)=>q(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const i=e[t];return Mt(i)&&!Mt(n)?(i.value=n,!0):Reflect.set(e,t,n,s)}};function pb(e){return xo(e)?e:new Proxy(e,q$)}function G$(e){const t=Be(e)?new Array(e.length):{};for(const n in e)t[n]=mb(e,n);return t}class J${constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return C$(Ze(this._object),this._key)}}class X${constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function Ra(e,t,n){return Mt(e)?e:Ue(e)?new X$(e):dt(e)&&arguments.length>1?mb(e,t,n):be(e)}function mb(e,t,n){const s=e[t];return Mt(s)?s:new J$(e,t,n)}/** +**/let Tn;class Jv{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Tn,!t&&Tn&&(this.index=(Tn.scopes||(Tn.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=Tn;try{return Tn=this,t()}finally{Tn=n}}}on(){Tn=this}off(){Tn=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n=5)break}}this._dirtyLevel===1&&(this._dirtyLevel=0),ji()}return this._dirtyLevel>=5}set dirty(t){this._dirtyLevel=t?5:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Pi,n=yo;try{return Pi=!0,yo=this,this._runnings++,hg(this),this.fn()}finally{fg(this),this._runnings--,yo=n,Pi=t}}stop(){this.active&&(hg(this),fg(this),this.onStop&&this.onStop(),this.active=!1)}}function A$(e){return e.value}function hg(e){e._trackId++,e._depsLength=0}function fg(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t0){s._dirtyLevel=2;continue}let i;s._dirtyLevel{const n=new Map;return n.cleanup=e,n.computed=t,n},Sc=new WeakMap,wo=Symbol(""),Bd=Symbol("");function Pn(e,t,n){if(Pi&&yo){let s=Sc.get(e);s||Sc.set(e,s=new Map);let i=s.get(n);i||s.set(n,i=nb(()=>s.delete(n))),eb(yo,i)}}function Xs(e,t,n,s,i,o){const r=Sc.get(e);if(!r)return;let a=[];if(t==="clear")a=[...r.values()];else if(n==="length"&&Be(e)){const l=Number(s);r.forEach((c,u)=>{(u==="length"||!Zs(u)&&u>=l)&&a.push(c)})}else switch(n!==void 0&&a.push(r.get(n)),t){case"add":Be(e)?qh(n)&&a.push(r.get("length")):(a.push(r.get(wo)),ar(e)&&a.push(r.get(Bd)));break;case"delete":Be(e)||(a.push(r.get(wo)),ar(e)&&a.push(r.get(Bd)));break;case"set":ar(e)&&a.push(r.get(wo));break}Qh();for(const l of a)l&&tb(l,5);Zh()}function C$(e,t){const n=Sc.get(e);return n&&n.get(t)}const E$=Yh("__proto__,__v_isRef,__isVue"),sb=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Zs)),pg=P$();function P$(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=Ze(this);for(let o=0,r=this.length;o{e[t]=function(...n){Hi(),Qh();const s=Ze(this)[t].apply(this,n);return Zh(),ji(),s}}),e}function M$(e){Zs(e)||(e=String(e));const t=Ze(this);return Pn(t,"has",e),t.hasOwnProperty(e)}class ib{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){const i=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!i;if(n==="__v_isReadonly")return i;if(n==="__v_isShallow")return o;if(n==="__v_raw")return s===(i?o?W$:lb:o?ab:rb).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const r=Be(t);if(!i){if(r&&it(pg,n))return Reflect.get(pg,n,s);if(n==="hasOwnProperty")return M$}const a=Reflect.get(t,n,s);return(Zs(n)?sb.has(n):E$(n))||(i||Pn(t,"get",n),o)?a:Mt(a)?r&&qh(n)?a:a.value:dt(a)?i?ub(a):Ds(a):a}}class ob extends ib{constructor(t=!1){super(!1,t)}set(t,n,s,i){let o=t[n];if(!this._isShallow){const l=Oa(o);if(!$c(s)&&!Oa(s)&&(o=Ze(o),s=Ze(s)),!Be(t)&&Mt(o)&&!Mt(s))return l?!1:(o.value=s,!0)}const r=Be(t)&&qh(n)?Number(n)e,Zc=e=>Reflect.getPrototypeOf(e);function Pl(e,t,n=!1,s=!1){e=e.__v_raw;const i=Ze(e),o=Ze(t);n||(Ii(t,o)&&Pn(i,"get",t),Pn(i,"get",o));const{has:r}=Zc(i),a=s?ef:n?sf:Ia;if(r.call(i,t))return a(e.get(t));if(r.call(i,o))return a(e.get(o));e!==i&&e.get(t)}function Ml(e,t=!1){const n=this.__v_raw,s=Ze(n),i=Ze(e);return t||(Ii(e,i)&&Pn(s,"has",e),Pn(s,"has",i)),e===i?n.has(e):n.has(e)||n.has(i)}function Tl(e,t=!1){return e=e.__v_raw,!t&&Pn(Ze(e),"iterate",wo),Reflect.get(e,"size",e)}function gg(e){e=Ze(e);const t=Ze(this);return Zc(t).has.call(t,e)||(t.add(e),Xs(t,"add",e,e)),this}function mg(e,t){t=Ze(t);const n=Ze(this),{has:s,get:i}=Zc(n);let o=s.call(n,e);o||(e=Ze(e),o=s.call(n,e));const r=i.call(n,e);return n.set(e,t),o?Ii(t,r)&&Xs(n,"set",e,t):Xs(n,"add",e,t),this}function _g(e){const t=Ze(this),{has:n,get:s}=Zc(t);let i=n.call(t,e);i||(e=Ze(e),i=n.call(t,e)),s&&s.call(t,e);const o=t.delete(e);return i&&Xs(t,"delete",e,void 0),o}function vg(){const e=Ze(this),t=e.size!==0,n=e.clear();return t&&Xs(e,"clear",void 0,void 0),n}function Dl(e,t){return function(s,i){const o=this,r=o.__v_raw,a=Ze(r),l=t?ef:e?sf:Ia;return!e&&Pn(a,"iterate",wo),r.forEach((c,u)=>s.call(i,l(c),l(u),o))}}function Ol(e,t,n){return function(...s){const i=this.__v_raw,o=Ze(i),r=ar(o),a=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=i[e](...s),u=n?ef:t?sf:Ia;return!t&&Pn(o,"iterate",l?Bd:wo),{next(){const{value:d,done:f}=c.next();return f?{value:d,done:f}:{value:a?[u(d[0]),u(d[1])]:u(d),done:f}},[Symbol.iterator](){return this}}}}function ci(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function R$(){const e={get(o){return Pl(this,o)},get size(){return Tl(this)},has:Ml,add:gg,set:mg,delete:_g,clear:vg,forEach:Dl(!1,!1)},t={get(o){return Pl(this,o,!1,!0)},get size(){return Tl(this)},has:Ml,add:gg,set:mg,delete:_g,clear:vg,forEach:Dl(!1,!0)},n={get(o){return Pl(this,o,!0)},get size(){return Tl(this,!0)},has(o){return Ml.call(this,o,!0)},add:ci("add"),set:ci("set"),delete:ci("delete"),clear:ci("clear"),forEach:Dl(!0,!1)},s={get(o){return Pl(this,o,!0,!0)},get size(){return Tl(this,!0)},has(o){return Ml.call(this,o,!0)},add:ci("add"),set:ci("set"),delete:ci("delete"),clear:ci("clear"),forEach:Dl(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=Ol(o,!1,!1),n[o]=Ol(o,!0,!1),t[o]=Ol(o,!1,!0),s[o]=Ol(o,!0,!0)}),[e,n,t,s]}const[L$,N$,F$,B$]=R$();function tf(e,t){const n=t?e?B$:F$:e?N$:L$;return(s,i,o)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_raw"?s:Reflect.get(it(n,i)&&i in s?n:s,i,o)}const V$={get:tf(!1,!1)},H$={get:tf(!1,!0)},j$={get:tf(!0,!1)};const rb=new WeakMap,ab=new WeakMap,lb=new WeakMap,W$=new WeakMap;function z$(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Y$(e){return e.__v_skip||!Object.isExtensible(e)?0:z$(g$(e))}function Ds(e){return Oa(e)?e:nf(e,!1,D$,V$,rb)}function cb(e){return nf(e,!1,I$,H$,ab)}function ub(e){return nf(e,!0,O$,j$,lb)}function nf(e,t,n,s,i){if(!dt(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=i.get(e);if(o)return o;const r=Y$(e);if(r===0)return e;const a=new Proxy(e,r===2?s:n);return i.set(e,a),a}function xo(e){return Oa(e)?xo(e.__v_raw):!!(e&&e.__v_isReactive)}function Oa(e){return!!(e&&e.__v_isReadonly)}function $c(e){return!!(e&&e.__v_isShallow)}function eu(e){return e?!!e.__v_raw:!1}function Ze(e){const t=e&&e.__v_raw;return t?Ze(t):e}function tu(e){return Object.isExtensible(e)&&Yv(e,"__v_skip",!0),e}const Ia=e=>dt(e)?Ds(e):e,sf=e=>dt(e)?ub(e):e;class db{constructor(t,n,s,i){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new Xh(()=>t(this._value),()=>rc(this,this.effect._dirtyLevel===3?3:4)),this.effect.computed=this,this.effect.active=this._cacheable=!i,this.__v_isReadonly=s}get value(){const t=Ze(this);return(!t._cacheable||t.effect.dirty)&&Ii(t._value,t._value=t.effect.run())&&rc(t,5),hb(t),t.effect._dirtyLevel>=2&&rc(t,3),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function K$(e,t,n=!1){let s,i;const o=Ke(e);return o?(s=e,i=Un):(s=e.get,i=e.set),new db(s,i,o||!i,n)}function hb(e){var t;Pi&&yo&&(e=Ze(e),eb(yo,(t=e.dep)!=null?t:e.dep=nb(()=>e.dep=void 0,e instanceof db?e:void 0)))}function rc(e,t=5,n,s){e=Ze(e);const i=e.dep;i&&tb(i,t)}function Mt(e){return!!(e&&e.__v_isRef===!0)}function be(e){return fb(e,!1)}function of(e){return fb(e,!0)}function fb(e,t){return Mt(e)?e:new U$(e,t)}class U${constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:Ze(t),this._value=n?t:Ia(t)}get value(){return hb(this),this._value}set value(t){const n=this.__v_isShallow||$c(t)||Oa(t);t=n?t:Ze(t),Ii(t,this._rawValue)&&(this._rawValue,this._rawValue=t,this._value=n?t:Ia(t),rc(this,5))}}function q(e){return Mt(e)?e.value:e}const q$={get:(e,t,n)=>q(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const i=e[t];return Mt(i)&&!Mt(n)?(i.value=n,!0):Reflect.set(e,t,n,s)}};function pb(e){return xo(e)?e:new Proxy(e,q$)}function G$(e){const t=Be(e)?new Array(e.length):{};for(const n in e)t[n]=gb(e,n);return t}class J${constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return C$(Ze(this._object),this._key)}}class X${constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function Ra(e,t,n){return Mt(e)?e:Ke(e)?new X$(e):dt(e)&&arguments.length>1?gb(e,t,n):be(e)}function gb(e,t,n){const s=e[t];return Mt(s)?s:new J$(e,t,n)}/** * @vue/runtime-core v3.4.29 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function Mi(e,t,n,s){try{return s?e(...s):e()}catch(i){sl(i,t,n)}}function Xn(e,t,n,s){if(Ue(e)){const i=Mi(e,t,n,s);return i&&jv(i)&&i.catch(o=>{sl(o,t,n)}),i}if(Be(e)){const i=[];for(let o=0;o>>1,i=un[s],o=Na(i);oys&&un.splice(t,1)}function Hd(e){Be(e)?lr.push(...e):(!_i||!_i.includes(e,e.allowRecurse?go+1:go))&&lr.push(e),_b()}function bm(e,t,n=La?ys+1:0){for(;nNa(n)-Na(s));if(lr.length=0,_i){_i.push(...t);return}for(_i=t,go=0;go<_i.length;go++){const n=_i[go];n.active!==!1&&n()}_i=null,go=0}}const Na=e=>e.id==null?1/0:e.id,tA=(e,t)=>{const n=Na(e)-Na(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function bb(e){Vd=!1,La=!0,un.sort(tA);try{for(ys=0;ys$t(p)?p.trim():p)),d&&(i=n.map(kc))}let a,l=s[a=Yu(t)]||s[a=Yu(Ms(t))];!l&&o&&(l=s[a=Yu(Oo(t))]),l&&Xn(l,e,6,i);const c=s[a+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,Xn(c,e,6,i)}}function yb(e,t,n=!1){const s=t.emitsCache,i=s.get(e);if(i!==void 0)return i;const o=e.emits;let r={},a=!1;if(!Ue(e)){const l=c=>{const u=yb(c,t,!0);u&&(a=!0,Nt(r,u))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!o&&!a?(dt(e)&&s.set(e,null),null):(Be(o)?o.forEach(l=>r[l]=null):Nt(r,o),dt(e)&&s.set(e,r),r)}function nu(e,t){return!e||!Gc(t)?!1:(t=t.slice(2).replace(/Once$/,""),it(e,t[0].toLowerCase()+t.slice(1))||it(e,Oo(t))||it(e,t))}let zt=null,su=null;function Ac(e){const t=zt;return zt=e,su=e&&e.type.__scopeId||null,t}function Kt(e){su=e}function qt(){su=null}function Me(e,t=zt,n){if(!t||e._n)return e;const s=(...i)=>{s._d&&Rm(-1);const o=Ac(t);let r;try{r=e(...i)}finally{Ac(o),s._d&&Rm(1)}return r};return s._n=!0,s._c=!0,s._d=!0,s}function Ku(e){const{type:t,vnode:n,proxy:s,withProxy:i,propsOptions:[o],slots:r,attrs:a,emit:l,render:c,renderCache:u,props:d,data:f,setupState:p,ctx:g,inheritAttrs:_}=e,b=Ac(e);let w,$;try{if(n.shapeFlag&4){const T=i||s,k=T;w=is(c.call(k,T,u,d,p,f,g)),$=a}else{const T=t;w=is(T.length>1?T(d,{attrs:a,slots:r,emit:l}):T(d,null)),$=t.props?a:iA(a)}}catch(T){ya.length=0,sl(T,e,1),w=$e(dn)}let A=w;if($&&_!==!1){const T=Object.keys($),{shapeFlag:k}=A;T.length&&k&7&&(o&&T.some(Uh)&&($=oA($,o)),A=Ri(A,$,!1,!0))}return n.dirs&&(A=Ri(A,null,!1,!0),A.dirs=A.dirs?A.dirs.concat(n.dirs):n.dirs),n.transition&&(A.transition=n.transition),w=A,Ac(b),w}function sA(e,t=!0){let n;for(let s=0;s{let t;for(const n in e)(n==="class"||n==="style"||Gc(n))&&((t||(t={}))[n]=e[n]);return t},oA=(e,t)=>{const n={};for(const s in e)(!Uh(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function rA(e,t,n){const{props:s,children:i,component:o}=e,{props:r,children:a,patchFlag:l}=t,c=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return s?ym(s,r,c):!!r;if(l&8){const u=t.dynamicProps;for(let d=0;de.__isSuspense;let jd=0;const lA={name:"Suspense",__isSuspense:!0,process(e,t,n,s,i,o,r,a,l,c){if(e==null)cA(t,n,s,i,o,r,a,l,c);else{if(o&&o.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}uA(e,t,n,s,i,r,a,l,c)}},hydrate:dA,create:df,normalize:hA},uf=lA;function Fa(e,t){const n=e.props&&e.props[t];Ue(n)&&n()}function cA(e,t,n,s,i,o,r,a,l){const{p:c,o:{createElement:u}}=l,d=u("div"),f=e.suspense=df(e,i,s,t,d,n,o,r,a,l);c(null,f.pendingBranch=e.ssContent,d,null,s,f,o,r),f.deps>0?(Fa(e,"onPending"),Fa(e,"onFallback"),c(null,e.ssFallback,t,n,s,null,o,r),cr(f,e.ssFallback)):f.resolve(!1,!0)}function uA(e,t,n,s,i,o,r,a,{p:l,um:c,o:{createElement:u}}){const d=t.suspense=e.suspense;d.vnode=t,t.el=e.el;const f=t.ssContent,p=t.ssFallback,{activeBranch:g,pendingBranch:_,isInFallback:b,isHydrating:w}=d;if(_)d.pendingBranch=f,ws(f,_)?(l(_,f,d.hiddenContainer,null,i,d,o,r,a),d.deps<=0?d.resolve():b&&(w||(l(g,p,n,s,i,null,o,r,a),cr(d,p)))):(d.pendingId=jd++,w?(d.isHydrating=!1,d.activeBranch=_):c(_,i,d),d.deps=0,d.effects.length=0,d.hiddenContainer=u("div"),b?(l(null,f,d.hiddenContainer,null,i,d,o,r,a),d.deps<=0?d.resolve():(l(g,p,n,s,i,null,o,r,a),cr(d,p))):g&&ws(f,g)?(l(g,f,n,s,i,d,o,r,a),d.resolve(!0)):(l(null,f,d.hiddenContainer,null,i,d,o,r,a),d.deps<=0&&d.resolve()));else if(g&&ws(f,g))l(g,f,n,s,i,d,o,r,a),cr(d,f);else if(Fa(t,"onPending"),d.pendingBranch=f,f.shapeFlag&512?d.pendingId=f.component.suspenseId:d.pendingId=jd++,l(null,f,d.hiddenContainer,null,i,d,o,r,a),d.deps<=0)d.resolve();else{const{timeout:$,pendingId:A}=d;$>0?setTimeout(()=>{d.pendingId===A&&d.fallback(p)},$):$===0&&d.fallback(p)}}function df(e,t,n,s,i,o,r,a,l,c,u=!1){const{p:d,m:f,um:p,n:g,o:{parentNode:_,remove:b}}=c;let w;const $=pA(e);$&&t&&t.pendingBranch&&(w=t.pendingId,t.deps++);const A=e.props?Uv(e.props.timeout):void 0,T=o,k={vnode:e,parent:t,parentComponent:n,namespace:r,container:s,hiddenContainer:i,deps:0,pendingId:jd++,timeout:typeof A=="number"?A:-1,activeBranch:null,pendingBranch:null,isInFallback:!u,isHydrating:u,isUnmounted:!1,effects:[],resolve(y=!1,x=!1){const{vnode:C,activeBranch:P,pendingBranch:E,pendingId:B,effects:G,parentComponent:ae,container:Y}=k;let L=!1;k.isHydrating?k.isHydrating=!1:y||(L=P&&E.transition&&E.transition.mode==="out-in",L&&(P.transition.afterLeave=()=>{B===k.pendingId&&(f(E,Y,o===T?g(P):o,0),Hd(G))}),P&&(_(P.el)!==k.hiddenContainer&&(o=g(P)),p(P,ae,k,!0)),L||f(E,Y,o,0)),cr(k,E),k.pendingBranch=null,k.isInFallback=!1;let I=k.parent,V=!1;for(;I;){if(I.pendingBranch){I.effects.push(...G),V=!0;break}I=I.parent}!V&&!L&&Hd(G),k.effects=[],$&&t&&t.pendingBranch&&w===t.pendingId&&(t.deps--,t.deps===0&&!x&&t.resolve()),Fa(C,"onResolve")},fallback(y){if(!k.pendingBranch)return;const{vnode:x,activeBranch:C,parentComponent:P,container:E,namespace:B}=k;Fa(x,"onFallback");const G=g(C),ae=()=>{k.isInFallback&&(d(null,y,E,G,P,null,B,a,l),cr(k,y))},Y=y.transition&&y.transition.mode==="out-in";Y&&(C.transition.afterLeave=ae),k.isInFallback=!0,p(C,P,null,!0),Y||ae()},move(y,x,C){k.activeBranch&&f(k.activeBranch,y,x,C),k.container=y},next(){return k.activeBranch&&g(k.activeBranch)},registerDep(y,x,C){const P=!!k.pendingBranch;P&&k.deps++;const E=y.vnode.el;y.asyncDep.catch(B=>{sl(B,y,0)}).then(B=>{if(y.isUnmounted||k.isUnmounted||k.pendingId!==y.suspenseId)return;y.asyncResolved=!0;const{vnode:G}=y;Jd(y,B,!1),E&&(G.el=E);const ae=!E&&y.subTree.el;x(y,G,_(E||y.subTree.el),E?null:g(y.subTree),k,r,C),ae&&b(ae),lf(y,G.el),P&&--k.deps===0&&k.resolve()})},unmount(y,x){k.isUnmounted=!0,k.activeBranch&&p(k.activeBranch,n,y,x),k.pendingBranch&&p(k.pendingBranch,n,y,x)}};return k}function dA(e,t,n,s,i,o,r,a,l){const c=t.suspense=df(t,s,n,e.parentNode,document.createElement("div"),null,i,o,r,a,!0),u=l(e,c.pendingBranch=t.ssContent,n,c,o,r);return c.deps===0&&c.resolve(!1,!0),u}function hA(e){const{shapeFlag:t,children:n}=e,s=t&32;e.ssContent=xm(s?n.default:n),e.ssFallback=s?xm(n.fallback):$e(dn)}function xm(e){let t;if(Ue(e)){const n=vr&&e._c;n&&(e._d=!1,D()),e=e(),n&&(e._d=!0,t=qn,Ub())}return Be(e)&&(e=sA(e)),e=is(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function fA(e,t){t&&t.pendingBranch?Be(e)?t.effects.push(...e):t.effects.push(e):Hd(e)}function cr(e,t){e.activeBranch=t;const{vnode:n,parentComponent:s}=e;let i=t.el;for(;!i&&t.component;)t=t.component.subTree,i=t.el;n.el=i,s&&s.subTree===n&&(s.vnode.el=i,lf(s,i))}function pA(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==!1}function iu(e,t,n=Qt,s=!1){if(n){const i=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...r)=>{Hi();const a=il(n),l=Xn(t,n,e,r);return a(),ji(),l});return s?i.unshift(o):i.push(o),o}}const ni=e=>(t,n=Qt)=>{(!au||e==="sp")&&iu(e,(...s)=>t(...s),n)},mA=ni("bm"),Gt=ni("m"),kb=ni("bu"),Sb=ni("u"),hf=ni("bum"),Fr=ni("um"),gA=ni("sp"),_A=ni("rtg"),vA=ni("rtc");function bA(e,t=Qt){iu("ec",e,t)}function Re(e,t){if(zt===null)return e;const n=lu(zt),s=e.dirs||(e.dirs=[]);for(let i=0;it(r,a,void 0,o&&o[a]));else{const r=Object.keys(e);i=new Array(r.length);for(let a=0,l=r.length;a{const o=s.fn(...i);return o&&(o.key=s.key),o}:s.fn)}return e}/*! #__NO_SIDE_EFFECTS__ */function Ft(e,t){return Ue(e)?Nt({name:e.name},t,{setup:e}):e}const _a=e=>!!e.type.__asyncLoader;function Ie(e,t,n={},s,i){if(zt.isCE||zt.parent&&_a(zt.parent)&&zt.parent.isCE)return t!=="default"&&(n.name=t),$e("slot",n,s&&s());let o=e[t];o&&o._c&&(o._d=!1),D();const r=o&&$b(o(n)),a=Ne(Te,{key:n.key||r&&r.key||`_${t}`},r||(s?s():[]),r&&e._===1?64:-2);return!i&&a.scopeId&&(a.slotScopeIds=[a.scopeId+"-s"]),o&&o._c&&(o._d=!0),a}function $b(e){return e.some(t=>Va(t)?!(t.type===dn||t.type===Te&&!$b(t.children)):!0)?e:null}const Wd=e=>e?Gb(e)?lu(e):Wd(e.parent):null,va=Nt(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Wd(e.parent),$root:e=>Wd(e.root),$emit:e=>e.emit,$options:e=>ff(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,af(e.update)}),$nextTick:e=>e.n||(e.n=tn.bind(e.proxy)),$watch:e=>HA.bind(e)}),qu=(e,t)=>e!==vt&&!e.__isScriptSetup&&it(e,t),yA={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:i,props:o,accessCache:r,type:a,appContext:l}=e;let c;if(t[0]!=="$"){const p=r[t];if(p!==void 0)switch(p){case 1:return s[t];case 2:return i[t];case 4:return n[t];case 3:return o[t]}else{if(qu(s,t))return r[t]=1,s[t];if(i!==vt&&it(i,t))return r[t]=2,i[t];if((c=e.propsOptions[0])&&it(c,t))return r[t]=3,o[t];if(n!==vt&&it(n,t))return r[t]=4,n[t];zd&&(r[t]=0)}}const u=va[t];let d,f;if(u)return t==="$attrs"&&Pn(e.attrs,"get",""),u(e);if((d=a.__cssModules)&&(d=d[t]))return d;if(n!==vt&&it(n,t))return r[t]=4,n[t];if(f=l.config.globalProperties,it(f,t))return f[t]},set({_:e},t,n){const{data:s,setupState:i,ctx:o}=e;return qu(i,t)?(i[t]=n,!0):s!==vt&&it(s,t)?(s[t]=n,!0):it(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:i,propsOptions:o}},r){let a;return!!n[r]||e!==vt&&it(e,r)||qu(t,r)||(a=o[0])&&it(a,r)||it(s,r)||it(va,r)||it(i.config.globalProperties,r)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:it(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Ro(){return Ab().slots}function wA(){return Ab().attrs}function Ab(){const e=vf();return e.setupContext||(e.setupContext=Xb(e))}function km(e){return Be(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let zd=!0;function xA(e){const t=ff(e),n=e.proxy,s=e.ctx;zd=!1,t.beforeCreate&&Sm(t.beforeCreate,e,"bc");const{data:i,computed:o,methods:r,watch:a,provide:l,inject:c,created:u,beforeMount:d,mounted:f,beforeUpdate:p,updated:g,activated:_,deactivated:b,beforeDestroy:w,beforeUnmount:$,destroyed:A,unmounted:T,render:k,renderTracked:y,renderTriggered:x,errorCaptured:C,serverPrefetch:P,expose:E,inheritAttrs:B,components:G,directives:ae,filters:Y}=t;if(c&&kA(c,s,null),r)for(const V in r){const Q=r[V];Ue(Q)&&(s[V]=Q.bind(n))}if(i){const V=i.call(n,n);dt(V)&&(e.data=Ds(V))}if(zd=!0,o)for(const V in o){const Q=o[V],Z=Ue(Q)?Q.bind(n,n):Ue(Q.get)?Q.get.bind(n,n):Kn,ce=!Ue(Q)&&Ue(Q.set)?Q.set.bind(n):Kn,we=ve({get:Z,set:ce});Object.defineProperty(s,V,{enumerable:!0,configurable:!0,get:()=>we.value,set:U=>we.value=U})}if(a)for(const V in a)Cb(a[V],s,n,V);if(l){const V=Ue(l)?l.call(n):l;Reflect.ownKeys(V).forEach(Q=>{ac(Q,V[Q])})}u&&Sm(u,e,"c");function I(V,Q){Be(Q)?Q.forEach(Z=>V(Z.bind(n))):Q&&V(Q.bind(n))}if(I(mA,d),I(Gt,f),I(kb,p),I(Sb,g),I(jA,_),I(WA,b),I(bA,C),I(vA,y),I(_A,x),I(hf,$),I(Fr,T),I(gA,P),Be(E))if(E.length){const V=e.exposed||(e.exposed={});E.forEach(Q=>{Object.defineProperty(V,Q,{get:()=>n[Q],set:Z=>n[Q]=Z})})}else e.exposed||(e.exposed={});k&&e.render===Kn&&(e.render=k),B!=null&&(e.inheritAttrs=B),G&&(e.components=G),ae&&(e.directives=ae)}function kA(e,t,n=Kn){Be(e)&&(e=Yd(e));for(const s in e){const i=e[s];let o;dt(i)?"default"in i?o=ls(i.from||s,i.default,!0):o=ls(i.from||s):o=ls(i),Mt(o)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>o.value,set:r=>o.value=r}):t[s]=o}}function Sm(e,t,n){Xn(Be(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Cb(e,t,n,s){const i=s.includes(".")?Bb(n,s):()=>n[s];if($t(e)){const o=t[e];Ue(o)&&Vt(i,o)}else if(Ue(e))Vt(i,e.bind(n));else if(dt(e))if(Be(e))e.forEach(o=>Cb(o,t,n,s));else{const o=Ue(e.handler)?e.handler.bind(n):t[e.handler];Ue(o)&&Vt(i,o,e)}}function ff(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:i,optionsCache:o,config:{optionMergeStrategies:r}}=e.appContext,a=o.get(t);let l;return a?l=a:!i.length&&!n&&!s?l=t:(l={},i.length&&i.forEach(c=>Cc(l,c,r,!0)),Cc(l,t,r)),dt(t)&&o.set(t,l),l}function Cc(e,t,n,s=!1){const{mixins:i,extends:o}=t;o&&Cc(e,o,n,!0),i&&i.forEach(r=>Cc(e,r,n,!0));for(const r in t)if(!(s&&r==="expose")){const a=SA[r]||n&&n[r];e[r]=a?a(e[r],t[r]):t[r]}return e}const SA={data:$m,props:Am,emits:Am,methods:ra,computed:ra,beforeCreate:mn,created:mn,beforeMount:mn,mounted:mn,beforeUpdate:mn,updated:mn,beforeDestroy:mn,beforeUnmount:mn,destroyed:mn,unmounted:mn,activated:mn,deactivated:mn,errorCaptured:mn,serverPrefetch:mn,components:ra,directives:ra,watch:AA,provide:$m,inject:$A};function $m(e,t){return t?e?function(){return Nt(Ue(e)?e.call(this,this):e,Ue(t)?t.call(this,this):t)}:t:e}function $A(e,t){return ra(Yd(e),Yd(t))}function Yd(e){if(Be(e)){const t={};for(let n=0;n1)return n&&Ue(t)?t.call(s&&s.proxy):t}}function PA(){return!!(Qt||zt||ur)}const Pb={},Mb=()=>Object.create(Pb),Tb=e=>Object.getPrototypeOf(e)===Pb;function MA(e,t,n,s=!1){const i={},o=Mb();e.propsDefaults=Object.create(null),Db(e,t,i,o);for(const r in e.propsOptions[0])r in i||(i[r]=void 0);n?e.props=s?i:cb(i):e.type.props?e.props=i:e.props=o,e.attrs=o}function TA(e,t,n,s){const{props:i,attrs:o,vnode:{patchFlag:r}}=e,a=Ze(i),[l]=e.propsOptions;let c=!1;if((s||r>0)&&!(r&16)){if(r&8){const u=e.vnode.dynamicProps;for(let d=0;d{l=!0;const[f,p]=Ob(d,t,!0);Nt(r,f),p&&a.push(...p)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!o&&!l)return dt(e)&&s.set(e,rr),rr;if(Be(o))for(let u=0;u-1,p[1]=_<0||g<_,(g>-1||it(p,"default"))&&a.push(d)}}}const c=[r,a];return dt(e)&&s.set(e,c),c}function Cm(e){return e[0]!=="$"&&!ga(e)}function Em(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function Pm(e,t){return Em(e)===Em(t)}function Mm(e,t){return Be(t)?t.findIndex(n=>Pm(n,e)):Ue(t)&&Pm(t,e)?0:-1}const Ib=e=>e[0]==="_"||e==="$stable",pf=e=>Be(e)?e.map(is):[is(e)],DA=(e,t,n)=>{if(t._n)return t;const s=Me((...i)=>pf(t(...i)),n);return s._c=!1,s},Rb=(e,t,n)=>{const s=e._ctx;for(const i in e){if(Ib(i))continue;const o=e[i];if(Ue(o))t[i]=DA(i,o,s);else if(o!=null){const r=pf(o);t[i]=()=>r}}},Lb=(e,t)=>{const n=pf(t);e.slots.default=()=>n},OA=(e,t)=>{const n=e.slots=Mb();if(e.vnode.shapeFlag&32){const s=t._;s?(Nt(n,t),Yv(n,"_",s,!0)):Rb(t,n)}else t&&Lb(e,t)},IA=(e,t,n)=>{const{vnode:s,slots:i}=e;let o=!0,r=vt;if(s.shapeFlag&32){const a=t._;a?n&&a===1?o=!1:(Nt(i,t),!n&&a===1&&delete i._):(o=!t.$stable,Rb(t,i)),r=t}else t&&(Lb(e,t),r={default:1});if(o)for(const a in i)!Ib(a)&&r[a]==null&&delete i[a]};function Kd(e,t,n,s,i=!1){if(Be(e)){e.forEach((f,p)=>Kd(f,t&&(Be(t)?t[p]:t),n,s,i));return}if(_a(s)&&!i)return;const o=s.shapeFlag&4?lu(s.component):s.el,r=i?null:o,{i:a,r:l}=e,c=t&&t.r,u=a.refs===vt?a.refs={}:a.refs,d=a.setupState;if(c!=null&&c!==l&&($t(c)?(u[c]=null,it(d,c)&&(d[c]=null)):Mt(c)&&(c.value=null)),Ue(l))Mi(l,a,12,[r,u]);else{const f=$t(l),p=Mt(l);if(f||p){const g=()=>{if(e.f){const _=f?it(d,l)?d[l]:u[l]:l.value;i?Be(_)&&Kh(_,o):Be(_)?_.includes(o)||_.push(o):f?(u[l]=[o],it(d,l)&&(d[l]=u[l])):(l.value=[o],e.k&&(u[e.k]=l.value))}else f?(u[l]=r,it(d,l)&&(d[l]=r)):p&&(l.value=r,e.k&&(u[e.k]=r))};r?(g.id=-1,$n(g,n)):g()}}}const $n=fA;function RA(e){return LA(e)}function LA(e,t){const n=Kv();n.__VUE__=!0;const{insert:s,remove:i,patchProp:o,createElement:r,createText:a,createComment:l,setText:c,setElementText:u,parentNode:d,nextSibling:f,setScopeId:p=Kn,insertStaticContent:g}=e,_=(v,O,H,W=null,ie=null,j=null,te=void 0,J=null,he=!!O.dynamicChildren)=>{if(v===O)return;v&&!ws(v,O)&&(W=M(v),U(v,ie,j,!0),v=null),O.patchFlag===-2&&(he=!1,O.dynamicChildren=null);const{type:ge,ref:pe,shapeFlag:Le}=O;switch(ge){case ru:b(v,O,H,W);break;case dn:w(v,O,H,W);break;case lc:v==null&&$(O,H,W,te);break;case Te:G(v,O,H,W,ie,j,te,J,he);break;default:Le&1?k(v,O,H,W,ie,j,te,J,he):Le&6?ae(v,O,H,W,ie,j,te,J,he):(Le&64||Le&128)&&ge.process(v,O,H,W,ie,j,te,J,he,ke)}pe!=null&&ie&&Kd(pe,v&&v.ref,j,O||v,!O)},b=(v,O,H,W)=>{if(v==null)s(O.el=a(O.children),H,W);else{const ie=O.el=v.el;O.children!==v.children&&c(ie,O.children)}},w=(v,O,H,W)=>{v==null?s(O.el=l(O.children||""),H,W):O.el=v.el},$=(v,O,H,W)=>{[v.el,v.anchor]=g(v.children,O,H,W,v.el,v.anchor)},A=({el:v,anchor:O},H,W)=>{let ie;for(;v&&v!==O;)ie=f(v),s(v,H,W),v=ie;s(O,H,W)},T=({el:v,anchor:O})=>{let H;for(;v&&v!==O;)H=f(v),i(v),v=H;i(O)},k=(v,O,H,W,ie,j,te,J,he)=>{O.type==="svg"?te="svg":O.type==="math"&&(te="mathml"),v==null?y(O,H,W,ie,j,te,J,he):P(v,O,ie,j,te,J,he)},y=(v,O,H,W,ie,j,te,J)=>{let he,ge;const{props:pe,shapeFlag:Le,transition:Oe,dirs:He}=v;if(he=v.el=r(v.type,j,pe&&pe.is,pe),Le&8?u(he,v.children):Le&16&&C(v.children,he,null,W,ie,Gu(v,j),te,J),He&&io(v,null,W,"created"),x(he,v,v.scopeId,te,W),pe){for(const tt in pe)tt!=="value"&&!ga(tt)&&o(he,tt,null,pe[tt],j,v.children,W,ie,oe);"value"in pe&&o(he,"value",null,pe.value,j),(ge=pe.onVnodeBeforeMount)&&_s(ge,W,v)}He&&io(v,null,W,"beforeMount");const Ve=NA(ie,Oe);Ve&&Oe.beforeEnter(he),s(he,O,H),((ge=pe&&pe.onVnodeMounted)||Ve||He)&&$n(()=>{ge&&_s(ge,W,v),Ve&&Oe.enter(he),He&&io(v,null,W,"mounted")},ie)},x=(v,O,H,W,ie)=>{if(H&&p(v,H),W)for(let j=0;j{for(let ge=he;ge{const J=O.el=v.el;let{patchFlag:he,dynamicChildren:ge,dirs:pe}=O;he|=v.patchFlag&16;const Le=v.props||vt,Oe=O.props||vt;let He;if(H&&oo(H,!1),(He=Oe.onVnodeBeforeUpdate)&&_s(He,H,O,v),pe&&io(O,v,H,"beforeUpdate"),H&&oo(H,!0),ge?E(v.dynamicChildren,ge,J,H,W,Gu(O,ie),j):te||Q(v,O,J,null,H,W,Gu(O,ie),j,!1),he>0){if(he&16)B(J,O,Le,Oe,H,W,ie);else if(he&2&&Le.class!==Oe.class&&o(J,"class",null,Oe.class,ie),he&4&&o(J,"style",Le.style,Oe.style,ie),he&8){const Ve=O.dynamicProps;for(let tt=0;tt{He&&_s(He,H,O,v),pe&&io(O,v,H,"updated")},W)},E=(v,O,H,W,ie,j,te)=>{for(let J=0;J{if(H!==W){if(H!==vt)for(const J in H)!ga(J)&&!(J in W)&&o(v,J,H[J],null,te,O.children,ie,j,oe);for(const J in W){if(ga(J))continue;const he=W[J],ge=H[J];he!==ge&&J!=="value"&&o(v,J,ge,he,te,O.children,ie,j,oe)}"value"in W&&o(v,"value",H.value,W.value,te)}},G=(v,O,H,W,ie,j,te,J,he)=>{const ge=O.el=v?v.el:a(""),pe=O.anchor=v?v.anchor:a("");let{patchFlag:Le,dynamicChildren:Oe,slotScopeIds:He}=O;He&&(J=J?J.concat(He):He),v==null?(s(ge,H,W),s(pe,H,W),C(O.children||[],H,pe,ie,j,te,J,he)):Le>0&&Le&64&&Oe&&v.dynamicChildren?(E(v.dynamicChildren,Oe,H,ie,j,te,J),(O.key!=null||ie&&O===ie.subTree)&&mf(v,O,!0)):Q(v,O,H,pe,ie,j,te,J,he)},ae=(v,O,H,W,ie,j,te,J,he)=>{O.slotScopeIds=J,v==null?O.shapeFlag&512?ie.ctx.activate(O,H,W,te,he):Y(O,H,W,ie,j,te,he):L(v,O,he)},Y=(v,O,H,W,ie,j,te)=>{const J=v.component=tC(v,W,ie);if(ou(v)&&(J.ctx.renderer=ke),nC(J),J.asyncDep){if(ie&&ie.registerDep(J,I,te),!v.el){const he=J.subTree=$e(dn);w(null,he,O,H)}}else I(J,v,O,H,ie,j,te)},L=(v,O,H)=>{const W=O.component=v.component;if(rA(v,O,H))if(W.asyncDep&&!W.asyncResolved){V(W,O,H);return}else W.next=O,eA(W.update),W.effect.dirty=!0,W.update();else O.el=v.el,W.vnode=O},I=(v,O,H,W,ie,j,te)=>{const J=()=>{if(v.isMounted){let{next:pe,bu:Le,u:Oe,parent:He,vnode:Ve}=v;{const jn=Nb(v);if(jn){pe&&(pe.el=Ve.el,V(v,pe,te)),jn.asyncDep.then(()=>{v.isUnmounted||J()});return}}let tt=pe,Je;oo(v,!1),pe?(pe.el=Ve.el,V(v,pe,te)):pe=Ve,Le&&oc(Le),(Je=pe.props&&pe.props.onVnodeBeforeUpdate)&&_s(Je,He,pe,Ve),oo(v,!0);const mt=Ku(v),rn=v.subTree;v.subTree=mt,_(rn,mt,d(rn.el),M(rn),v,ie,j),pe.el=mt.el,tt===null&&lf(v,mt.el),Oe&&$n(Oe,ie),(Je=pe.props&&pe.props.onVnodeUpdated)&&$n(()=>_s(Je,He,pe,Ve),ie)}else{let pe;const{el:Le,props:Oe}=O,{bm:He,m:Ve,parent:tt}=v,Je=_a(O);if(oo(v,!1),He&&oc(He),!Je&&(pe=Oe&&Oe.onVnodeBeforeMount)&&_s(pe,tt,O),oo(v,!0),Le&&fe){const mt=()=>{v.subTree=Ku(v),fe(Le,v.subTree,v,ie,null)};Je?O.type.__asyncLoader().then(()=>!v.isUnmounted&&mt()):mt()}else{const mt=v.subTree=Ku(v);_(null,mt,H,W,v,ie,j),O.el=mt.el}if(Ve&&$n(Ve,ie),!Je&&(pe=Oe&&Oe.onVnodeMounted)){const mt=O;$n(()=>_s(pe,tt,mt),ie)}(O.shapeFlag&256||tt&&_a(tt.vnode)&&tt.vnode.shapeFlag&256)&&v.a&&$n(v.a,ie),v.isMounted=!0,O=H=W=null}},he=v.effect=new Xh(J,Kn,()=>af(ge),v.scope),ge=v.update=()=>{he.dirty&&he.run()};ge.id=v.uid,oo(v,!0),ge()},V=(v,O,H)=>{O.component=v;const W=v.vnode.props;v.vnode=O,v.next=null,TA(v,O.props,W,H),IA(v,O.children,H),Hi(),bm(v),ji()},Q=(v,O,H,W,ie,j,te,J,he=!1)=>{const ge=v&&v.children,pe=v?v.shapeFlag:0,Le=O.children,{patchFlag:Oe,shapeFlag:He}=O;if(Oe>0){if(Oe&128){ce(ge,Le,H,W,ie,j,te,J,he);return}else if(Oe&256){Z(ge,Le,H,W,ie,j,te,J,he);return}}He&8?(pe&16&&oe(ge,ie,j),Le!==ge&&u(H,Le)):pe&16?He&16?ce(ge,Le,H,W,ie,j,te,J,he):oe(ge,ie,j,!0):(pe&8&&u(H,""),He&16&&C(Le,H,W,ie,j,te,J,he))},Z=(v,O,H,W,ie,j,te,J,he)=>{v=v||rr,O=O||rr;const ge=v.length,pe=O.length,Le=Math.min(ge,pe);let Oe;for(Oe=0;Oepe?oe(v,ie,j,!0,!1,Le):C(O,H,W,ie,j,te,J,he,Le)},ce=(v,O,H,W,ie,j,te,J,he)=>{let ge=0;const pe=O.length;let Le=v.length-1,Oe=pe-1;for(;ge<=Le&&ge<=Oe;){const He=v[ge],Ve=O[ge]=he?bi(O[ge]):is(O[ge]);if(ws(He,Ve))_(He,Ve,H,null,ie,j,te,J,he);else break;ge++}for(;ge<=Le&&ge<=Oe;){const He=v[Le],Ve=O[Oe]=he?bi(O[Oe]):is(O[Oe]);if(ws(He,Ve))_(He,Ve,H,null,ie,j,te,J,he);else break;Le--,Oe--}if(ge>Le){if(ge<=Oe){const He=Oe+1,Ve=HeOe)for(;ge<=Le;)U(v[ge],ie,j,!0),ge++;else{const He=ge,Ve=ge,tt=new Map;for(ge=Ve;ge<=Oe;ge++){const Ht=O[ge]=he?bi(O[ge]):is(O[ge]);Ht.key!=null&&tt.set(Ht.key,ge)}let Je,mt=0;const rn=Oe-Ve+1;let jn=!1,ri=0;const Zn=new Array(rn);for(ge=0;ge=rn){U(Ht,ie,j,!0);continue}let ne;if(Ht.key!=null)ne=tt.get(Ht.key);else for(Je=Ve;Je<=Oe;Je++)if(Zn[Je-Ve]===0&&ws(Ht,O[Je])){ne=Je;break}ne===void 0?U(Ht,ie,j,!0):(Zn[ne-Ve]=ge+1,ne>=ri?ri=ne:jn=!0,_(Ht,O[ne],H,null,ie,j,te,J,he),mt++)}const Is=jn?FA(Zn):rr;for(Je=Is.length-1,ge=rn-1;ge>=0;ge--){const Ht=Ve+ge,ne=O[Ht],Se=Ht+1{const{el:j,type:te,transition:J,children:he,shapeFlag:ge}=v;if(ge&6){we(v.component.subTree,O,H,W);return}if(ge&128){v.suspense.move(O,H,W);return}if(ge&64){te.move(v,O,H,ke);return}if(te===Te){s(j,O,H);for(let Le=0;LeJ.enter(j),ie);else{const{leave:Le,delayLeave:Oe,afterLeave:He}=J,Ve=()=>s(j,O,H),tt=()=>{Le(j,()=>{Ve(),He&&He()})};Oe?Oe(j,Ve,tt):tt()}else s(j,O,H)},U=(v,O,H,W=!1,ie=!1)=>{const{type:j,props:te,ref:J,children:he,dynamicChildren:ge,shapeFlag:pe,patchFlag:Le,dirs:Oe,memoIndex:He}=v;if(J!=null&&Kd(J,null,H,v,!0),He!=null&&(O.renderCache[He]=void 0),pe&256){O.ctx.deactivate(v);return}const Ve=pe&1&&Oe,tt=!_a(v);let Je;if(tt&&(Je=te&&te.onVnodeBeforeUnmount)&&_s(Je,O,v),pe&6)ee(v.component,H,W);else{if(pe&128){v.suspense.unmount(H,W);return}Ve&&io(v,null,O,"beforeUnmount"),pe&64?v.type.remove(v,O,H,ie,ke,W):ge&&(j!==Te||Le>0&&Le&64)?oe(ge,O,H,!1,!0):(j===Te&&Le&384||!ie&&pe&16)&&oe(he,O,H),W&&X(v)}(tt&&(Je=te&&te.onVnodeUnmounted)||Ve)&&$n(()=>{Je&&_s(Je,O,v),Ve&&io(v,null,O,"unmounted")},H)},X=v=>{const{type:O,el:H,anchor:W,transition:ie}=v;if(O===Te){R(H,W);return}if(O===lc){T(v);return}const j=()=>{i(H),ie&&!ie.persisted&&ie.afterLeave&&ie.afterLeave()};if(v.shapeFlag&1&&ie&&!ie.persisted){const{leave:te,delayLeave:J}=ie,he=()=>te(H,j);J?J(v.el,j,he):he()}else j()},R=(v,O)=>{let H;for(;v!==O;)H=f(v),i(v),v=H;i(O)},ee=(v,O,H)=>{const{bum:W,scope:ie,update:j,subTree:te,um:J,m:he,a:ge}=v;Tm(he),Tm(ge),W&&oc(W),ie.stop(),j&&(j.active=!1,U(te,v,O,H)),J&&$n(J,O),$n(()=>{v.isUnmounted=!0},O),O&&O.pendingBranch&&!O.isUnmounted&&v.asyncDep&&!v.asyncResolved&&v.suspenseId===O.pendingId&&(O.deps--,O.deps===0&&O.resolve())},oe=(v,O,H,W=!1,ie=!1,j=0)=>{for(let te=j;tev.shapeFlag&6?M(v.component.subTree):v.shapeFlag&128?v.suspense.next():f(v.anchor||v.el);let se=!1;const de=(v,O,H)=>{v==null?O._vnode&&U(O._vnode,null,null,!0):_(O._vnode||null,v,O,null,null,null,H),se||(se=!0,bm(),vb(),se=!1),O._vnode=v},ke={p:_,um:U,m:we,r:X,mt:Y,mc:C,pc:Q,pbc:E,n:M,o:e};let N,fe;return t&&([N,fe]=t(ke)),{render:de,hydrate:N,createApp:EA(de,N)}}function Gu({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function oo({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function NA(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function mf(e,t,n=!1){const s=e.children,i=t.children;if(Be(s)&&Be(i))for(let o=0;o>1,e[n[a]]0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,r=n[o-1];o-- >0;)n[o]=r,r=t[r];return n}function Nb(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Nb(t)}function Tm(e){if(e)for(let t=0;tls(BA),Il={};function Vt(e,t,n){return Fb(e,t,n)}function Fb(e,t,{immediate:n,deep:s,flush:i,once:o,onTrack:r,onTrigger:a}=vt){if(t&&o){const y=t;t=(...x)=>{y(...x),k()}}const l=Qt,c=y=>s===!0?y:wi(y,s===!1?1:void 0);let u,d=!1,f=!1;if(Mt(e)?(u=()=>e.value,d=$c(e)):xo(e)?(u=()=>c(e),d=!0):Be(e)?(f=!0,d=e.some(y=>xo(y)||$c(y)),u=()=>e.map(y=>{if(Mt(y))return y.value;if(xo(y))return c(y);if(Ue(y))return Mi(y,l,2)})):Ue(e)?t?u=()=>Mi(e,l,2):u=()=>(p&&p(),Xn(e,l,3,[g])):u=Kn,t&&s){const y=u;u=()=>wi(y())}let p,g=y=>{p=A.onStop=()=>{Mi(y,l,4),p=A.onStop=void 0}},_;if(au)if(g=Kn,t?n&&Xn(t,l,3,[u(),f?[]:void 0,g]):u(),i==="sync"){const y=VA();_=y.__watcherHandles||(y.__watcherHandles=[])}else return Kn;let b=f?new Array(e.length).fill(Il):Il;const w=()=>{if(!(!A.active||!A.dirty))if(t){const y=A.run();(s||d||(f?y.some((x,C)=>Ii(x,b[C])):Ii(y,b)))&&(p&&p(),Xn(t,l,3,[y,b===Il?void 0:f&&b[0]===Il?[]:b,g]),b=y)}else A.run()};w.allowRecurse=!!t;let $;i==="sync"?$=w:i==="post"?$=()=>$n(w,l&&l.suspense):(w.pre=!0,l&&(w.id=l.uid),$=()=>af(w));const A=new Xh(u,Kn,$),T=Qc(),k=()=>{A.stop(),T&&Kh(T.effects,A)};return t?n?w():b=A.run():i==="post"?$n(A.run.bind(A),l&&l.suspense):A.run(),_&&_.push(k),k}function HA(e,t,n){const s=this.proxy,i=$t(e)?e.includes(".")?Bb(s,e):()=>s[e]:e.bind(s,s);let o;Ue(t)?o=t:(o=t.handler,n=t);const r=il(this),a=Fb(i,o.bind(s),n);return r(),a}function Bb(e,t){const n=t.split(".");return()=>{let s=e;for(let i=0;i{wi(s,t,n)});else if(zv(e)){for(const s in e)wi(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&wi(e[s],t,n)}return e}const ou=e=>e.type.__isKeepAlive;function jA(e,t){Vb(e,"a",t)}function WA(e,t){Vb(e,"da",t)}function Vb(e,t,n=Qt){const s=e.__wdc||(e.__wdc=()=>{let i=n;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if(iu(t,s,n),n){let i=n.parent;for(;i&&i.parent;)ou(i.parent.vnode)&&zA(s,t,n,i),i=i.parent}}function zA(e,t,n,s){const i=iu(t,e,s,!0);Fr(()=>{Kh(s[t],i)},n)}const vi=Symbol("_leaveCb"),Rl=Symbol("_enterCb");function Hb(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Gt(()=>{e.isMounted=!0}),hf(()=>{e.isUnmounting=!0}),e}const Yn=[Function,Array],jb={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Yn,onEnter:Yn,onAfterEnter:Yn,onEnterCancelled:Yn,onBeforeLeave:Yn,onLeave:Yn,onAfterLeave:Yn,onLeaveCancelled:Yn,onBeforeAppear:Yn,onAppear:Yn,onAfterAppear:Yn,onAppearCancelled:Yn},Wb=e=>{const t=e.subTree;return t.component?Wb(t.component):t},YA={name:"BaseTransition",props:jb,setup(e,{slots:t}){const n=vf(),s=Hb();return()=>{const i=t.default&&gf(t.default(),!0);if(!i||!i.length)return;let o=i[0];if(i.length>1){for(const f of i)if(f.type!==dn){o=f;break}}const r=Ze(e),{mode:a}=r;if(s.isLeaving)return Ju(o);const l=Dm(o);if(!l)return Ju(o);let c=Ba(l,r,s,n,f=>c=f);_r(l,c);const u=n.subTree,d=u&&Dm(u);if(d&&d.type!==dn&&!ws(l,d)&&Wb(n).type!==dn){const f=Ba(d,r,s,n);if(_r(d,f),a==="out-in"&&l.type!==dn)return s.isLeaving=!0,f.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},Ju(o);a==="in-out"&&l.type!==dn&&(f.delayLeave=(p,g,_)=>{const b=zb(s,d);b[String(d.key)]=d,p[vi]=()=>{g(),p[vi]=void 0,delete c.delayedLeave},c.delayedLeave=_})}return o}}},UA=YA;function zb(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Ba(e,t,n,s,i){const{appear:o,mode:r,persisted:a=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:f,onLeave:p,onAfterLeave:g,onLeaveCancelled:_,onBeforeAppear:b,onAppear:w,onAfterAppear:$,onAppearCancelled:A}=t,T=String(e.key),k=zb(n,e),y=(P,E)=>{P&&Xn(P,s,9,E)},x=(P,E)=>{const B=E[1];y(P,E),Be(P)?P.every(G=>G.length<=1)&&B():P.length<=1&&B()},C={mode:r,persisted:a,beforeEnter(P){let E=l;if(!n.isMounted)if(o)E=b||l;else return;P[vi]&&P[vi](!0);const B=k[T];B&&ws(e,B)&&B.el[vi]&&B.el[vi](),y(E,[P])},enter(P){let E=c,B=u,G=d;if(!n.isMounted)if(o)E=w||c,B=$||u,G=A||d;else return;let ae=!1;const Y=P[Rl]=L=>{ae||(ae=!0,L?y(G,[P]):y(B,[P]),C.delayedLeave&&C.delayedLeave(),P[Rl]=void 0)};E?x(E,[P,Y]):Y()},leave(P,E){const B=String(e.key);if(P[Rl]&&P[Rl](!0),n.isUnmounting)return E();y(f,[P]);let G=!1;const ae=P[vi]=Y=>{G||(G=!0,E(),Y?y(_,[P]):y(g,[P]),P[vi]=void 0,k[B]===e&&delete k[B])};k[B]=e,p?x(p,[P,ae]):ae()},clone(P){const E=Ba(P,t,n,s,i);return i&&i(E),E}};return C}function Ju(e){if(ou(e))return e=Ri(e),e.children=null,e}function Dm(e){if(!ou(e))return e;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&Ue(n.default))return n.default()}}function _r(e,t){e.shapeFlag&6&&e.component?_r(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function gf(e,t=!1,n){let s=[],i=0;for(let o=0;o1)for(let o=0;oe.__isTeleport,ba=e=>e&&(e.disabled||e.disabled===""),Om=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Im=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,qd=(e,t)=>{const n=e&&e.to;return $t(n)?t?t(n):null:n},qA={name:"Teleport",__isTeleport:!0,process(e,t,n,s,i,o,r,a,l,c){const{mc:u,pc:d,pbc:f,o:{insert:p,querySelector:g,createText:_,createComment:b}}=c,w=ba(t.props);let{shapeFlag:$,children:A,dynamicChildren:T}=t;if(e==null){const k=t.el=_(""),y=t.anchor=_("");p(k,n,s),p(y,n,s);const x=t.target=qd(t.props,g),C=t.targetAnchor=_("");x&&(p(C,x),r==="svg"||Om(x)?r="svg":(r==="mathml"||Im(x))&&(r="mathml"));const P=(E,B)=>{$&16&&u(A,E,B,i,o,r,a,l)};w?P(n,y):x&&P(x,C)}else{t.el=e.el;const k=t.anchor=e.anchor,y=t.target=e.target,x=t.targetAnchor=e.targetAnchor,C=ba(e.props),P=C?n:y,E=C?k:x;if(r==="svg"||Om(y)?r="svg":(r==="mathml"||Im(y))&&(r="mathml"),T?(f(e.dynamicChildren,T,P,i,o,r,a),mf(e,t,!0)):l||d(e,t,P,E,i,o,r,a,!1),w)C?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Ll(t,n,k,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const B=t.target=qd(t.props,g);B&&Ll(t,B,null,c,0)}else C&&Ll(t,y,x,c,1)}Yb(t)},remove(e,t,n,s,{um:i,o:{remove:o}},r){const{shapeFlag:a,children:l,anchor:c,targetAnchor:u,target:d,props:f}=e;if(d&&o(u),r&&o(c),a&16){const p=r||!ba(f);for(let g=0;g0?qn||rr:null,Ub(),vr>0&&qn&&qn.push(e),e}function F(e,t,n,s,i,o){return Kb(h(e,t,n,s,i,o,!0))}function Ne(e,t,n,s,i){return Kb($e(e,t,n,s,i,!0))}function Va(e){return e?e.__v_isVNode===!0:!1}function ws(e,t){return e.type===t.type&&e.key===t.key}const qb=({key:e})=>e??null,cc=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?$t(e)||Mt(e)||Ue(e)?{i:zt,r:e,k:t,f:!!n}:e:null);function h(e,t=null,n=null,s=0,i=null,o=e===Te?0:1,r=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&qb(t),ref:t&&cc(t),scopeId:su,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:s,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:zt};return a?(_f(l,n),o&128&&e.normalize(l)):n&&(l.shapeFlag|=$t(n)?8:16),vr>0&&!r&&qn&&(l.patchFlag>0||o&6)&&l.patchFlag!==32&&qn.push(l),l}const $e=XA;function XA(e,t=null,n=null,s=0,i=null,o=!1){if((!e||e===wb)&&(e=dn),Va(e)){const a=Ri(e,t,!0);return n&&_f(a,n),vr>0&&!o&&qn&&(a.shapeFlag&6?qn[qn.indexOf(e)]=a:qn.push(a)),a.patchFlag=-2,a}if(rC(e)&&(e=e.__vccOpts),t){t=_n(t);let{class:a,style:l}=t;a&&!$t(a)&&(t.class=Ee(a)),dt(l)&&(eu(l)&&!Be(l)&&(l=Nt({},l)),t.style=Wt(l))}const r=$t(e)?1:aA(e)?128:KA(e)?64:dt(e)?4:Ue(e)?2:0;return h(e,t,n,s,i,r,o,!0)}function _n(e){return e?eu(e)||Tb(e)?Nt({},e):e:null}function Ri(e,t,n=!1,s=!1){const{props:i,ref:o,patchFlag:r,children:a,transition:l}=e,c=t?Yt(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&qb(c),ref:t&&t.ref?n&&o?Be(o)?o.concat(cc(t)):[o,cc(t)]:cc(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Te?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ri(e.ssContent),ssFallback:e.ssFallback&&Ri(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&s&&_r(u,l.clone(u)),u}function ye(e=" ",t=0){return $e(ru,null,e,t)}function QA(e,t){const n=$e(lc,null,e);return n.staticCount=t,n}function re(e="",t=!1){return t?(D(),Ne(dn,null,e)):$e(dn,null,e)}function is(e){return e==null||typeof e=="boolean"?$e(dn):Be(e)?$e(Te,null,e.slice()):typeof e=="object"?bi(e):$e(ru,null,String(e))}function bi(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ri(e)}function _f(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(Be(t))n=16;else if(typeof t=="object")if(s&65){const i=t.default;i&&(i._c&&(i._d=!1),_f(e,i()),i._c&&(i._d=!0));return}else{n=32;const i=t._;!i&&!Tb(t)?t._ctx=zt:i===3&&zt&&(zt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Ue(t)?(t={default:t,_ctx:zt},n=32):(t=String(t),s&64?(n=16,t=[ye(t)]):n=8);e.children=t,e.shapeFlag|=n}function Yt(...e){const t={};for(let n=0;nQt||zt;let Ec,Gd;{const e=Kv(),t=(n,s)=>{let i;return(i=e[n])||(i=e[n]=[]),i.push(s),o=>{i.length>1?i.forEach(r=>r(o)):i[0](o)}};Ec=t("__VUE_INSTANCE_SETTERS__",n=>Qt=n),Gd=t("__VUE_SSR_SETTERS__",n=>au=n)}const il=e=>{const t=Qt;return Ec(e),e.scope.on(),()=>{e.scope.off(),Ec(t)}},Lm=()=>{Qt&&Qt.scope.off(),Ec(null)};function Gb(e){return e.vnode.shapeFlag&4}let au=!1;function nC(e,t=!1){t&&Gd(t);const{props:n,children:s}=e.vnode,i=Gb(e);MA(e,n,i,t),OA(e,s);const o=i?sC(e,t):void 0;return t&&Gd(!1),o}function sC(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,yA);const{setup:s}=n;if(s){const i=e.setupContext=s.length>1?Xb(e):null,o=il(e);Hi();const r=Mi(s,e,0,[e.props,i]);if(ji(),o(),jv(r)){if(r.then(Lm,Lm),t)return r.then(a=>{Jd(e,a,t)}).catch(a=>{sl(a,e,0)});e.asyncDep=r}else Jd(e,r,t)}else Jb(e,t)}function Jd(e,t,n){Ue(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:dt(t)&&(e.setupState=pb(t)),Jb(e,n)}let Nm;function Jb(e,t,n){const s=e.type;if(!e.render){if(!t&&Nm&&!s.render){const i=s.template||ff(e).template;if(i){const{isCustomElement:o,compilerOptions:r}=e.appContext.config,{delimiters:a,compilerOptions:l}=s,c=Nt(Nt({isCustomElement:o,delimiters:a},r),l);s.render=Nm(i,c)}}e.render=s.render||Kn}{const i=il(e);Hi();try{xA(e)}finally{ji(),i()}}}const iC={get(e,t){return Pn(e,"get",""),e[t]}};function Xb(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,iC),slots:e.slots,emit:e.emit,expose:t}}function lu(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(pb(tu(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in va)return va[n](e)},has(t,n){return n in t||n in va}})):e.proxy}function oC(e,t=!0){return Ue(e)?e.displayName||e.name:e.name||t&&e.__name}function rC(e){return Ue(e)&&"__vccOpts"in e}const ve=(e,t)=>U$(e,t,au);function Mo(e,t,n){const s=arguments.length;return s===2?dt(t)&&!Be(t)?Va(t)?$e(e,null,[t]):$e(e,t):$e(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Va(n)&&(n=[n]),$e(e,t,n))}const Qb="3.4.29";/** +**/function Mi(e,t,n,s){try{return s?e(...s):e()}catch(i){sl(i,t,n)}}function Xn(e,t,n,s){if(Ke(e)){const i=Mi(e,t,n,s);return i&&jv(i)&&i.catch(o=>{sl(o,t,n)}),i}if(Be(e)){const i=[];for(let o=0;o>>1,i=un[s],o=Na(i);oys&&un.splice(t,1)}function Hd(e){Be(e)?lr.push(...e):(!_i||!_i.includes(e,e.allowRecurse?mo+1:mo))&&lr.push(e),_b()}function bg(e,t,n=La?ys+1:0){for(;nNa(n)-Na(s));if(lr.length=0,_i){_i.push(...t);return}for(_i=t,mo=0;mo<_i.length;mo++){const n=_i[mo];n.active!==!1&&n()}_i=null,mo=0}}const Na=e=>e.id==null?1/0:e.id,tA=(e,t)=>{const n=Na(e)-Na(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function bb(e){Vd=!1,La=!0,un.sort(tA);try{for(ys=0;ys$t(p)?p.trim():p)),d&&(i=n.map(kc))}let a,l=s[a=Yu(t)]||s[a=Yu(Ms(t))];!l&&o&&(l=s[a=Yu(Oo(t))]),l&&Xn(l,e,6,i);const c=s[a+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,Xn(c,e,6,i)}}function yb(e,t,n=!1){const s=t.emitsCache,i=s.get(e);if(i!==void 0)return i;const o=e.emits;let r={},a=!1;if(!Ke(e)){const l=c=>{const u=yb(c,t,!0);u&&(a=!0,Nt(r,u))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!o&&!a?(dt(e)&&s.set(e,null),null):(Be(o)?o.forEach(l=>r[l]=null):Nt(r,o),dt(e)&&s.set(e,r),r)}function nu(e,t){return!e||!Gc(t)?!1:(t=t.slice(2).replace(/Once$/,""),it(e,t[0].toLowerCase()+t.slice(1))||it(e,Oo(t))||it(e,t))}let zt=null,su=null;function Ac(e){const t=zt;return zt=e,su=e&&e.type.__scopeId||null,t}function Ut(e){su=e}function qt(){su=null}function Me(e,t=zt,n){if(!t||e._n)return e;const s=(...i)=>{s._d&&Rg(-1);const o=Ac(t);let r;try{r=e(...i)}finally{Ac(o),s._d&&Rg(1)}return r};return s._n=!0,s._c=!0,s._d=!0,s}function Uu(e){const{type:t,vnode:n,proxy:s,withProxy:i,propsOptions:[o],slots:r,attrs:a,emit:l,render:c,renderCache:u,props:d,data:f,setupState:p,ctx:m,inheritAttrs:_}=e,b=Ac(e);let w,$;try{if(n.shapeFlag&4){const T=i||s,k=T;w=is(c.call(k,T,u,d,p,f,m)),$=a}else{const T=t;w=is(T.length>1?T(d,{attrs:a,slots:r,emit:l}):T(d,null)),$=t.props?a:iA(a)}}catch(T){ya.length=0,sl(T,e,1),w=$e(dn)}let A=w;if($&&_!==!1){const T=Object.keys($),{shapeFlag:k}=A;T.length&&k&7&&(o&&T.some(Kh)&&($=oA($,o)),A=Ri(A,$,!1,!0))}return n.dirs&&(A=Ri(A,null,!1,!0),A.dirs=A.dirs?A.dirs.concat(n.dirs):n.dirs),n.transition&&(A.transition=n.transition),w=A,Ac(b),w}function sA(e,t=!0){let n;for(let s=0;s{let t;for(const n in e)(n==="class"||n==="style"||Gc(n))&&((t||(t={}))[n]=e[n]);return t},oA=(e,t)=>{const n={};for(const s in e)(!Kh(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function rA(e,t,n){const{props:s,children:i,component:o}=e,{props:r,children:a,patchFlag:l}=t,c=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return s?yg(s,r,c):!!r;if(l&8){const u=t.dynamicProps;for(let d=0;de.__isSuspense;let jd=0;const lA={name:"Suspense",__isSuspense:!0,process(e,t,n,s,i,o,r,a,l,c){if(e==null)cA(t,n,s,i,o,r,a,l,c);else{if(o&&o.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}uA(e,t,n,s,i,r,a,l,c)}},hydrate:dA,create:df,normalize:hA},uf=lA;function Fa(e,t){const n=e.props&&e.props[t];Ke(n)&&n()}function cA(e,t,n,s,i,o,r,a,l){const{p:c,o:{createElement:u}}=l,d=u("div"),f=e.suspense=df(e,i,s,t,d,n,o,r,a,l);c(null,f.pendingBranch=e.ssContent,d,null,s,f,o,r),f.deps>0?(Fa(e,"onPending"),Fa(e,"onFallback"),c(null,e.ssFallback,t,n,s,null,o,r),cr(f,e.ssFallback)):f.resolve(!1,!0)}function uA(e,t,n,s,i,o,r,a,{p:l,um:c,o:{createElement:u}}){const d=t.suspense=e.suspense;d.vnode=t,t.el=e.el;const f=t.ssContent,p=t.ssFallback,{activeBranch:m,pendingBranch:_,isInFallback:b,isHydrating:w}=d;if(_)d.pendingBranch=f,ws(f,_)?(l(_,f,d.hiddenContainer,null,i,d,o,r,a),d.deps<=0?d.resolve():b&&(w||(l(m,p,n,s,i,null,o,r,a),cr(d,p)))):(d.pendingId=jd++,w?(d.isHydrating=!1,d.activeBranch=_):c(_,i,d),d.deps=0,d.effects.length=0,d.hiddenContainer=u("div"),b?(l(null,f,d.hiddenContainer,null,i,d,o,r,a),d.deps<=0?d.resolve():(l(m,p,n,s,i,null,o,r,a),cr(d,p))):m&&ws(f,m)?(l(m,f,n,s,i,d,o,r,a),d.resolve(!0)):(l(null,f,d.hiddenContainer,null,i,d,o,r,a),d.deps<=0&&d.resolve()));else if(m&&ws(f,m))l(m,f,n,s,i,d,o,r,a),cr(d,f);else if(Fa(t,"onPending"),d.pendingBranch=f,f.shapeFlag&512?d.pendingId=f.component.suspenseId:d.pendingId=jd++,l(null,f,d.hiddenContainer,null,i,d,o,r,a),d.deps<=0)d.resolve();else{const{timeout:$,pendingId:A}=d;$>0?setTimeout(()=>{d.pendingId===A&&d.fallback(p)},$):$===0&&d.fallback(p)}}function df(e,t,n,s,i,o,r,a,l,c,u=!1){const{p:d,m:f,um:p,n:m,o:{parentNode:_,remove:b}}=c;let w;const $=pA(e);$&&t&&t.pendingBranch&&(w=t.pendingId,t.deps++);const A=e.props?Kv(e.props.timeout):void 0,T=o,k={vnode:e,parent:t,parentComponent:n,namespace:r,container:s,hiddenContainer:i,deps:0,pendingId:jd++,timeout:typeof A=="number"?A:-1,activeBranch:null,pendingBranch:null,isInFallback:!u,isHydrating:u,isUnmounted:!1,effects:[],resolve(y=!1,x=!1){const{vnode:C,activeBranch:P,pendingBranch:E,pendingId:B,effects:G,parentComponent:ae,container:Y}=k;let L=!1;k.isHydrating?k.isHydrating=!1:y||(L=P&&E.transition&&E.transition.mode==="out-in",L&&(P.transition.afterLeave=()=>{B===k.pendingId&&(f(E,Y,o===T?m(P):o,0),Hd(G))}),P&&(_(P.el)!==k.hiddenContainer&&(o=m(P)),p(P,ae,k,!0)),L||f(E,Y,o,0)),cr(k,E),k.pendingBranch=null,k.isInFallback=!1;let I=k.parent,V=!1;for(;I;){if(I.pendingBranch){I.effects.push(...G),V=!0;break}I=I.parent}!V&&!L&&Hd(G),k.effects=[],$&&t&&t.pendingBranch&&w===t.pendingId&&(t.deps--,t.deps===0&&!x&&t.resolve()),Fa(C,"onResolve")},fallback(y){if(!k.pendingBranch)return;const{vnode:x,activeBranch:C,parentComponent:P,container:E,namespace:B}=k;Fa(x,"onFallback");const G=m(C),ae=()=>{k.isInFallback&&(d(null,y,E,G,P,null,B,a,l),cr(k,y))},Y=y.transition&&y.transition.mode==="out-in";Y&&(C.transition.afterLeave=ae),k.isInFallback=!0,p(C,P,null,!0),Y||ae()},move(y,x,C){k.activeBranch&&f(k.activeBranch,y,x,C),k.container=y},next(){return k.activeBranch&&m(k.activeBranch)},registerDep(y,x,C){const P=!!k.pendingBranch;P&&k.deps++;const E=y.vnode.el;y.asyncDep.catch(B=>{sl(B,y,0)}).then(B=>{if(y.isUnmounted||k.isUnmounted||k.pendingId!==y.suspenseId)return;y.asyncResolved=!0;const{vnode:G}=y;Jd(y,B,!1),E&&(G.el=E);const ae=!E&&y.subTree.el;x(y,G,_(E||y.subTree.el),E?null:m(y.subTree),k,r,C),ae&&b(ae),lf(y,G.el),P&&--k.deps===0&&k.resolve()})},unmount(y,x){k.isUnmounted=!0,k.activeBranch&&p(k.activeBranch,n,y,x),k.pendingBranch&&p(k.pendingBranch,n,y,x)}};return k}function dA(e,t,n,s,i,o,r,a,l){const c=t.suspense=df(t,s,n,e.parentNode,document.createElement("div"),null,i,o,r,a,!0),u=l(e,c.pendingBranch=t.ssContent,n,c,o,r);return c.deps===0&&c.resolve(!1,!0),u}function hA(e){const{shapeFlag:t,children:n}=e,s=t&32;e.ssContent=xg(s?n.default:n),e.ssFallback=s?xg(n.fallback):$e(dn)}function xg(e){let t;if(Ke(e)){const n=vr&&e._c;n&&(e._d=!1,D()),e=e(),n&&(e._d=!0,t=qn,Kb())}return Be(e)&&(e=sA(e)),e=is(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function fA(e,t){t&&t.pendingBranch?Be(e)?t.effects.push(...e):t.effects.push(e):Hd(e)}function cr(e,t){e.activeBranch=t;const{vnode:n,parentComponent:s}=e;let i=t.el;for(;!i&&t.component;)t=t.component.subTree,i=t.el;n.el=i,s&&s.subTree===n&&(s.vnode.el=i,lf(s,i))}function pA(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==!1}function iu(e,t,n=Qt,s=!1){if(n){const i=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...r)=>{Hi();const a=il(n),l=Xn(t,n,e,r);return a(),ji(),l});return s?i.unshift(o):i.push(o),o}}const ni=e=>(t,n=Qt)=>{(!au||e==="sp")&&iu(e,(...s)=>t(...s),n)},gA=ni("bm"),Gt=ni("m"),kb=ni("bu"),Sb=ni("u"),hf=ni("bum"),Fr=ni("um"),mA=ni("sp"),_A=ni("rtg"),vA=ni("rtc");function bA(e,t=Qt){iu("ec",e,t)}function Re(e,t){if(zt===null)return e;const n=lu(zt),s=e.dirs||(e.dirs=[]);for(let i=0;it(r,a,void 0,o&&o[a]));else{const r=Object.keys(e);i=new Array(r.length);for(let a=0,l=r.length;a{const o=s.fn(...i);return o&&(o.key=s.key),o}:s.fn)}return e}/*! #__NO_SIDE_EFFECTS__ */function Ft(e,t){return Ke(e)?Nt({name:e.name},t,{setup:e}):e}const _a=e=>!!e.type.__asyncLoader;function Ie(e,t,n={},s,i){if(zt.isCE||zt.parent&&_a(zt.parent)&&zt.parent.isCE)return t!=="default"&&(n.name=t),$e("slot",n,s&&s());let o=e[t];o&&o._c&&(o._d=!1),D();const r=o&&$b(o(n)),a=Ne(Te,{key:n.key||r&&r.key||`_${t}`},r||(s?s():[]),r&&e._===1?64:-2);return!i&&a.scopeId&&(a.slotScopeIds=[a.scopeId+"-s"]),o&&o._c&&(o._d=!0),a}function $b(e){return e.some(t=>Va(t)?!(t.type===dn||t.type===Te&&!$b(t.children)):!0)?e:null}const Wd=e=>e?Gb(e)?lu(e):Wd(e.parent):null,va=Nt(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Wd(e.parent),$root:e=>Wd(e.root),$emit:e=>e.emit,$options:e=>ff(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,af(e.update)}),$nextTick:e=>e.n||(e.n=tn.bind(e.proxy)),$watch:e=>HA.bind(e)}),qu=(e,t)=>e!==vt&&!e.__isScriptSetup&&it(e,t),yA={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:i,props:o,accessCache:r,type:a,appContext:l}=e;let c;if(t[0]!=="$"){const p=r[t];if(p!==void 0)switch(p){case 1:return s[t];case 2:return i[t];case 4:return n[t];case 3:return o[t]}else{if(qu(s,t))return r[t]=1,s[t];if(i!==vt&&it(i,t))return r[t]=2,i[t];if((c=e.propsOptions[0])&&it(c,t))return r[t]=3,o[t];if(n!==vt&&it(n,t))return r[t]=4,n[t];zd&&(r[t]=0)}}const u=va[t];let d,f;if(u)return t==="$attrs"&&Pn(e.attrs,"get",""),u(e);if((d=a.__cssModules)&&(d=d[t]))return d;if(n!==vt&&it(n,t))return r[t]=4,n[t];if(f=l.config.globalProperties,it(f,t))return f[t]},set({_:e},t,n){const{data:s,setupState:i,ctx:o}=e;return qu(i,t)?(i[t]=n,!0):s!==vt&&it(s,t)?(s[t]=n,!0):it(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:i,propsOptions:o}},r){let a;return!!n[r]||e!==vt&&it(e,r)||qu(t,r)||(a=o[0])&&it(a,r)||it(s,r)||it(va,r)||it(i.config.globalProperties,r)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:it(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Ro(){return Ab().slots}function wA(){return Ab().attrs}function Ab(){const e=vf();return e.setupContext||(e.setupContext=Xb(e))}function kg(e){return Be(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let zd=!0;function xA(e){const t=ff(e),n=e.proxy,s=e.ctx;zd=!1,t.beforeCreate&&Sg(t.beforeCreate,e,"bc");const{data:i,computed:o,methods:r,watch:a,provide:l,inject:c,created:u,beforeMount:d,mounted:f,beforeUpdate:p,updated:m,activated:_,deactivated:b,beforeDestroy:w,beforeUnmount:$,destroyed:A,unmounted:T,render:k,renderTracked:y,renderTriggered:x,errorCaptured:C,serverPrefetch:P,expose:E,inheritAttrs:B,components:G,directives:ae,filters:Y}=t;if(c&&kA(c,s,null),r)for(const V in r){const Q=r[V];Ke(Q)&&(s[V]=Q.bind(n))}if(i){const V=i.call(n,n);dt(V)&&(e.data=Ds(V))}if(zd=!0,o)for(const V in o){const Q=o[V],Z=Ke(Q)?Q.bind(n,n):Ke(Q.get)?Q.get.bind(n,n):Un,ce=!Ke(Q)&&Ke(Q.set)?Q.set.bind(n):Un,we=ve({get:Z,set:ce});Object.defineProperty(s,V,{enumerable:!0,configurable:!0,get:()=>we.value,set:K=>we.value=K})}if(a)for(const V in a)Cb(a[V],s,n,V);if(l){const V=Ke(l)?l.call(n):l;Reflect.ownKeys(V).forEach(Q=>{ac(Q,V[Q])})}u&&Sg(u,e,"c");function I(V,Q){Be(Q)?Q.forEach(Z=>V(Z.bind(n))):Q&&V(Q.bind(n))}if(I(gA,d),I(Gt,f),I(kb,p),I(Sb,m),I(jA,_),I(WA,b),I(bA,C),I(vA,y),I(_A,x),I(hf,$),I(Fr,T),I(mA,P),Be(E))if(E.length){const V=e.exposed||(e.exposed={});E.forEach(Q=>{Object.defineProperty(V,Q,{get:()=>n[Q],set:Z=>n[Q]=Z})})}else e.exposed||(e.exposed={});k&&e.render===Un&&(e.render=k),B!=null&&(e.inheritAttrs=B),G&&(e.components=G),ae&&(e.directives=ae)}function kA(e,t,n=Un){Be(e)&&(e=Yd(e));for(const s in e){const i=e[s];let o;dt(i)?"default"in i?o=ls(i.from||s,i.default,!0):o=ls(i.from||s):o=ls(i),Mt(o)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>o.value,set:r=>o.value=r}):t[s]=o}}function Sg(e,t,n){Xn(Be(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Cb(e,t,n,s){const i=s.includes(".")?Bb(n,s):()=>n[s];if($t(e)){const o=t[e];Ke(o)&&Vt(i,o)}else if(Ke(e))Vt(i,e.bind(n));else if(dt(e))if(Be(e))e.forEach(o=>Cb(o,t,n,s));else{const o=Ke(e.handler)?e.handler.bind(n):t[e.handler];Ke(o)&&Vt(i,o,e)}}function ff(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:i,optionsCache:o,config:{optionMergeStrategies:r}}=e.appContext,a=o.get(t);let l;return a?l=a:!i.length&&!n&&!s?l=t:(l={},i.length&&i.forEach(c=>Cc(l,c,r,!0)),Cc(l,t,r)),dt(t)&&o.set(t,l),l}function Cc(e,t,n,s=!1){const{mixins:i,extends:o}=t;o&&Cc(e,o,n,!0),i&&i.forEach(r=>Cc(e,r,n,!0));for(const r in t)if(!(s&&r==="expose")){const a=SA[r]||n&&n[r];e[r]=a?a(e[r],t[r]):t[r]}return e}const SA={data:$g,props:Ag,emits:Ag,methods:ra,computed:ra,beforeCreate:gn,created:gn,beforeMount:gn,mounted:gn,beforeUpdate:gn,updated:gn,beforeDestroy:gn,beforeUnmount:gn,destroyed:gn,unmounted:gn,activated:gn,deactivated:gn,errorCaptured:gn,serverPrefetch:gn,components:ra,directives:ra,watch:AA,provide:$g,inject:$A};function $g(e,t){return t?e?function(){return Nt(Ke(e)?e.call(this,this):e,Ke(t)?t.call(this,this):t)}:t:e}function $A(e,t){return ra(Yd(e),Yd(t))}function Yd(e){if(Be(e)){const t={};for(let n=0;n1)return n&&Ke(t)?t.call(s&&s.proxy):t}}function PA(){return!!(Qt||zt||ur)}const Pb={},Mb=()=>Object.create(Pb),Tb=e=>Object.getPrototypeOf(e)===Pb;function MA(e,t,n,s=!1){const i={},o=Mb();e.propsDefaults=Object.create(null),Db(e,t,i,o);for(const r in e.propsOptions[0])r in i||(i[r]=void 0);n?e.props=s?i:cb(i):e.type.props?e.props=i:e.props=o,e.attrs=o}function TA(e,t,n,s){const{props:i,attrs:o,vnode:{patchFlag:r}}=e,a=Ze(i),[l]=e.propsOptions;let c=!1;if((s||r>0)&&!(r&16)){if(r&8){const u=e.vnode.dynamicProps;for(let d=0;d{l=!0;const[f,p]=Ob(d,t,!0);Nt(r,f),p&&a.push(...p)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!o&&!l)return dt(e)&&s.set(e,rr),rr;if(Be(o))for(let u=0;u-1,p[1]=_<0||m<_,(m>-1||it(p,"default"))&&a.push(d)}}}const c=[r,a];return dt(e)&&s.set(e,c),c}function Cg(e){return e[0]!=="$"&&!ma(e)}function Eg(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function Pg(e,t){return Eg(e)===Eg(t)}function Mg(e,t){return Be(t)?t.findIndex(n=>Pg(n,e)):Ke(t)&&Pg(t,e)?0:-1}const Ib=e=>e[0]==="_"||e==="$stable",pf=e=>Be(e)?e.map(is):[is(e)],DA=(e,t,n)=>{if(t._n)return t;const s=Me((...i)=>pf(t(...i)),n);return s._c=!1,s},Rb=(e,t,n)=>{const s=e._ctx;for(const i in e){if(Ib(i))continue;const o=e[i];if(Ke(o))t[i]=DA(i,o,s);else if(o!=null){const r=pf(o);t[i]=()=>r}}},Lb=(e,t)=>{const n=pf(t);e.slots.default=()=>n},OA=(e,t)=>{const n=e.slots=Mb();if(e.vnode.shapeFlag&32){const s=t._;s?(Nt(n,t),Yv(n,"_",s,!0)):Rb(t,n)}else t&&Lb(e,t)},IA=(e,t,n)=>{const{vnode:s,slots:i}=e;let o=!0,r=vt;if(s.shapeFlag&32){const a=t._;a?n&&a===1?o=!1:(Nt(i,t),!n&&a===1&&delete i._):(o=!t.$stable,Rb(t,i)),r=t}else t&&(Lb(e,t),r={default:1});if(o)for(const a in i)!Ib(a)&&r[a]==null&&delete i[a]};function Ud(e,t,n,s,i=!1){if(Be(e)){e.forEach((f,p)=>Ud(f,t&&(Be(t)?t[p]:t),n,s,i));return}if(_a(s)&&!i)return;const o=s.shapeFlag&4?lu(s.component):s.el,r=i?null:o,{i:a,r:l}=e,c=t&&t.r,u=a.refs===vt?a.refs={}:a.refs,d=a.setupState;if(c!=null&&c!==l&&($t(c)?(u[c]=null,it(d,c)&&(d[c]=null)):Mt(c)&&(c.value=null)),Ke(l))Mi(l,a,12,[r,u]);else{const f=$t(l),p=Mt(l);if(f||p){const m=()=>{if(e.f){const _=f?it(d,l)?d[l]:u[l]:l.value;i?Be(_)&&Uh(_,o):Be(_)?_.includes(o)||_.push(o):f?(u[l]=[o],it(d,l)&&(d[l]=u[l])):(l.value=[o],e.k&&(u[e.k]=l.value))}else f?(u[l]=r,it(d,l)&&(d[l]=r)):p&&(l.value=r,e.k&&(u[e.k]=r))};r?(m.id=-1,$n(m,n)):m()}}}const $n=fA;function RA(e){return LA(e)}function LA(e,t){const n=Uv();n.__VUE__=!0;const{insert:s,remove:i,patchProp:o,createElement:r,createText:a,createComment:l,setText:c,setElementText:u,parentNode:d,nextSibling:f,setScopeId:p=Un,insertStaticContent:m}=e,_=(v,O,H,W=null,ie=null,j=null,te=void 0,J=null,he=!!O.dynamicChildren)=>{if(v===O)return;v&&!ws(v,O)&&(W=M(v),K(v,ie,j,!0),v=null),O.patchFlag===-2&&(he=!1,O.dynamicChildren=null);const{type:me,ref:pe,shapeFlag:Le}=O;switch(me){case ru:b(v,O,H,W);break;case dn:w(v,O,H,W);break;case lc:v==null&&$(O,H,W,te);break;case Te:G(v,O,H,W,ie,j,te,J,he);break;default:Le&1?k(v,O,H,W,ie,j,te,J,he):Le&6?ae(v,O,H,W,ie,j,te,J,he):(Le&64||Le&128)&&me.process(v,O,H,W,ie,j,te,J,he,ke)}pe!=null&&ie&&Ud(pe,v&&v.ref,j,O||v,!O)},b=(v,O,H,W)=>{if(v==null)s(O.el=a(O.children),H,W);else{const ie=O.el=v.el;O.children!==v.children&&c(ie,O.children)}},w=(v,O,H,W)=>{v==null?s(O.el=l(O.children||""),H,W):O.el=v.el},$=(v,O,H,W)=>{[v.el,v.anchor]=m(v.children,O,H,W,v.el,v.anchor)},A=({el:v,anchor:O},H,W)=>{let ie;for(;v&&v!==O;)ie=f(v),s(v,H,W),v=ie;s(O,H,W)},T=({el:v,anchor:O})=>{let H;for(;v&&v!==O;)H=f(v),i(v),v=H;i(O)},k=(v,O,H,W,ie,j,te,J,he)=>{O.type==="svg"?te="svg":O.type==="math"&&(te="mathml"),v==null?y(O,H,W,ie,j,te,J,he):P(v,O,ie,j,te,J,he)},y=(v,O,H,W,ie,j,te,J)=>{let he,me;const{props:pe,shapeFlag:Le,transition:Oe,dirs:He}=v;if(he=v.el=r(v.type,j,pe&&pe.is,pe),Le&8?u(he,v.children):Le&16&&C(v.children,he,null,W,ie,Gu(v,j),te,J),He&&io(v,null,W,"created"),x(he,v,v.scopeId,te,W),pe){for(const tt in pe)tt!=="value"&&!ma(tt)&&o(he,tt,null,pe[tt],j,v.children,W,ie,oe);"value"in pe&&o(he,"value",null,pe.value,j),(me=pe.onVnodeBeforeMount)&&_s(me,W,v)}He&&io(v,null,W,"beforeMount");const Ve=NA(ie,Oe);Ve&&Oe.beforeEnter(he),s(he,O,H),((me=pe&&pe.onVnodeMounted)||Ve||He)&&$n(()=>{me&&_s(me,W,v),Ve&&Oe.enter(he),He&&io(v,null,W,"mounted")},ie)},x=(v,O,H,W,ie)=>{if(H&&p(v,H),W)for(let j=0;j{for(let me=he;me{const J=O.el=v.el;let{patchFlag:he,dynamicChildren:me,dirs:pe}=O;he|=v.patchFlag&16;const Le=v.props||vt,Oe=O.props||vt;let He;if(H&&oo(H,!1),(He=Oe.onVnodeBeforeUpdate)&&_s(He,H,O,v),pe&&io(O,v,H,"beforeUpdate"),H&&oo(H,!0),me?E(v.dynamicChildren,me,J,H,W,Gu(O,ie),j):te||Q(v,O,J,null,H,W,Gu(O,ie),j,!1),he>0){if(he&16)B(J,O,Le,Oe,H,W,ie);else if(he&2&&Le.class!==Oe.class&&o(J,"class",null,Oe.class,ie),he&4&&o(J,"style",Le.style,Oe.style,ie),he&8){const Ve=O.dynamicProps;for(let tt=0;tt{He&&_s(He,H,O,v),pe&&io(O,v,H,"updated")},W)},E=(v,O,H,W,ie,j,te)=>{for(let J=0;J{if(H!==W){if(H!==vt)for(const J in H)!ma(J)&&!(J in W)&&o(v,J,H[J],null,te,O.children,ie,j,oe);for(const J in W){if(ma(J))continue;const he=W[J],me=H[J];he!==me&&J!=="value"&&o(v,J,me,he,te,O.children,ie,j,oe)}"value"in W&&o(v,"value",H.value,W.value,te)}},G=(v,O,H,W,ie,j,te,J,he)=>{const me=O.el=v?v.el:a(""),pe=O.anchor=v?v.anchor:a("");let{patchFlag:Le,dynamicChildren:Oe,slotScopeIds:He}=O;He&&(J=J?J.concat(He):He),v==null?(s(me,H,W),s(pe,H,W),C(O.children||[],H,pe,ie,j,te,J,he)):Le>0&&Le&64&&Oe&&v.dynamicChildren?(E(v.dynamicChildren,Oe,H,ie,j,te,J),(O.key!=null||ie&&O===ie.subTree)&&gf(v,O,!0)):Q(v,O,H,pe,ie,j,te,J,he)},ae=(v,O,H,W,ie,j,te,J,he)=>{O.slotScopeIds=J,v==null?O.shapeFlag&512?ie.ctx.activate(O,H,W,te,he):Y(O,H,W,ie,j,te,he):L(v,O,he)},Y=(v,O,H,W,ie,j,te)=>{const J=v.component=tC(v,W,ie);if(ou(v)&&(J.ctx.renderer=ke),nC(J),J.asyncDep){if(ie&&ie.registerDep(J,I,te),!v.el){const he=J.subTree=$e(dn);w(null,he,O,H)}}else I(J,v,O,H,ie,j,te)},L=(v,O,H)=>{const W=O.component=v.component;if(rA(v,O,H))if(W.asyncDep&&!W.asyncResolved){V(W,O,H);return}else W.next=O,eA(W.update),W.effect.dirty=!0,W.update();else O.el=v.el,W.vnode=O},I=(v,O,H,W,ie,j,te)=>{const J=()=>{if(v.isMounted){let{next:pe,bu:Le,u:Oe,parent:He,vnode:Ve}=v;{const jn=Nb(v);if(jn){pe&&(pe.el=Ve.el,V(v,pe,te)),jn.asyncDep.then(()=>{v.isUnmounted||J()});return}}let tt=pe,Je;oo(v,!1),pe?(pe.el=Ve.el,V(v,pe,te)):pe=Ve,Le&&oc(Le),(Je=pe.props&&pe.props.onVnodeBeforeUpdate)&&_s(Je,He,pe,Ve),oo(v,!0);const gt=Uu(v),rn=v.subTree;v.subTree=gt,_(rn,gt,d(rn.el),M(rn),v,ie,j),pe.el=gt.el,tt===null&&lf(v,gt.el),Oe&&$n(Oe,ie),(Je=pe.props&&pe.props.onVnodeUpdated)&&$n(()=>_s(Je,He,pe,Ve),ie)}else{let pe;const{el:Le,props:Oe}=O,{bm:He,m:Ve,parent:tt}=v,Je=_a(O);if(oo(v,!1),He&&oc(He),!Je&&(pe=Oe&&Oe.onVnodeBeforeMount)&&_s(pe,tt,O),oo(v,!0),Le&&fe){const gt=()=>{v.subTree=Uu(v),fe(Le,v.subTree,v,ie,null)};Je?O.type.__asyncLoader().then(()=>!v.isUnmounted&>()):gt()}else{const gt=v.subTree=Uu(v);_(null,gt,H,W,v,ie,j),O.el=gt.el}if(Ve&&$n(Ve,ie),!Je&&(pe=Oe&&Oe.onVnodeMounted)){const gt=O;$n(()=>_s(pe,tt,gt),ie)}(O.shapeFlag&256||tt&&_a(tt.vnode)&&tt.vnode.shapeFlag&256)&&v.a&&$n(v.a,ie),v.isMounted=!0,O=H=W=null}},he=v.effect=new Xh(J,Un,()=>af(me),v.scope),me=v.update=()=>{he.dirty&&he.run()};me.id=v.uid,oo(v,!0),me()},V=(v,O,H)=>{O.component=v;const W=v.vnode.props;v.vnode=O,v.next=null,TA(v,O.props,W,H),IA(v,O.children,H),Hi(),bg(v),ji()},Q=(v,O,H,W,ie,j,te,J,he=!1)=>{const me=v&&v.children,pe=v?v.shapeFlag:0,Le=O.children,{patchFlag:Oe,shapeFlag:He}=O;if(Oe>0){if(Oe&128){ce(me,Le,H,W,ie,j,te,J,he);return}else if(Oe&256){Z(me,Le,H,W,ie,j,te,J,he);return}}He&8?(pe&16&&oe(me,ie,j),Le!==me&&u(H,Le)):pe&16?He&16?ce(me,Le,H,W,ie,j,te,J,he):oe(me,ie,j,!0):(pe&8&&u(H,""),He&16&&C(Le,H,W,ie,j,te,J,he))},Z=(v,O,H,W,ie,j,te,J,he)=>{v=v||rr,O=O||rr;const me=v.length,pe=O.length,Le=Math.min(me,pe);let Oe;for(Oe=0;Oepe?oe(v,ie,j,!0,!1,Le):C(O,H,W,ie,j,te,J,he,Le)},ce=(v,O,H,W,ie,j,te,J,he)=>{let me=0;const pe=O.length;let Le=v.length-1,Oe=pe-1;for(;me<=Le&&me<=Oe;){const He=v[me],Ve=O[me]=he?bi(O[me]):is(O[me]);if(ws(He,Ve))_(He,Ve,H,null,ie,j,te,J,he);else break;me++}for(;me<=Le&&me<=Oe;){const He=v[Le],Ve=O[Oe]=he?bi(O[Oe]):is(O[Oe]);if(ws(He,Ve))_(He,Ve,H,null,ie,j,te,J,he);else break;Le--,Oe--}if(me>Le){if(me<=Oe){const He=Oe+1,Ve=HeOe)for(;me<=Le;)K(v[me],ie,j,!0),me++;else{const He=me,Ve=me,tt=new Map;for(me=Ve;me<=Oe;me++){const Ht=O[me]=he?bi(O[me]):is(O[me]);Ht.key!=null&&tt.set(Ht.key,me)}let Je,gt=0;const rn=Oe-Ve+1;let jn=!1,ri=0;const Zn=new Array(rn);for(me=0;me=rn){K(Ht,ie,j,!0);continue}let ne;if(Ht.key!=null)ne=tt.get(Ht.key);else for(Je=Ve;Je<=Oe;Je++)if(Zn[Je-Ve]===0&&ws(Ht,O[Je])){ne=Je;break}ne===void 0?K(Ht,ie,j,!0):(Zn[ne-Ve]=me+1,ne>=ri?ri=ne:jn=!0,_(Ht,O[ne],H,null,ie,j,te,J,he),gt++)}const Is=jn?FA(Zn):rr;for(Je=Is.length-1,me=rn-1;me>=0;me--){const Ht=Ve+me,ne=O[Ht],Se=Ht+1{const{el:j,type:te,transition:J,children:he,shapeFlag:me}=v;if(me&6){we(v.component.subTree,O,H,W);return}if(me&128){v.suspense.move(O,H,W);return}if(me&64){te.move(v,O,H,ke);return}if(te===Te){s(j,O,H);for(let Le=0;LeJ.enter(j),ie);else{const{leave:Le,delayLeave:Oe,afterLeave:He}=J,Ve=()=>s(j,O,H),tt=()=>{Le(j,()=>{Ve(),He&&He()})};Oe?Oe(j,Ve,tt):tt()}else s(j,O,H)},K=(v,O,H,W=!1,ie=!1)=>{const{type:j,props:te,ref:J,children:he,dynamicChildren:me,shapeFlag:pe,patchFlag:Le,dirs:Oe,memoIndex:He}=v;if(J!=null&&Ud(J,null,H,v,!0),He!=null&&(O.renderCache[He]=void 0),pe&256){O.ctx.deactivate(v);return}const Ve=pe&1&&Oe,tt=!_a(v);let Je;if(tt&&(Je=te&&te.onVnodeBeforeUnmount)&&_s(Je,O,v),pe&6)ee(v.component,H,W);else{if(pe&128){v.suspense.unmount(H,W);return}Ve&&io(v,null,O,"beforeUnmount"),pe&64?v.type.remove(v,O,H,ie,ke,W):me&&(j!==Te||Le>0&&Le&64)?oe(me,O,H,!1,!0):(j===Te&&Le&384||!ie&&pe&16)&&oe(he,O,H),W&&X(v)}(tt&&(Je=te&&te.onVnodeUnmounted)||Ve)&&$n(()=>{Je&&_s(Je,O,v),Ve&&io(v,null,O,"unmounted")},H)},X=v=>{const{type:O,el:H,anchor:W,transition:ie}=v;if(O===Te){R(H,W);return}if(O===lc){T(v);return}const j=()=>{i(H),ie&&!ie.persisted&&ie.afterLeave&&ie.afterLeave()};if(v.shapeFlag&1&&ie&&!ie.persisted){const{leave:te,delayLeave:J}=ie,he=()=>te(H,j);J?J(v.el,j,he):he()}else j()},R=(v,O)=>{let H;for(;v!==O;)H=f(v),i(v),v=H;i(O)},ee=(v,O,H)=>{const{bum:W,scope:ie,update:j,subTree:te,um:J,m:he,a:me}=v;Tg(he),Tg(me),W&&oc(W),ie.stop(),j&&(j.active=!1,K(te,v,O,H)),J&&$n(J,O),$n(()=>{v.isUnmounted=!0},O),O&&O.pendingBranch&&!O.isUnmounted&&v.asyncDep&&!v.asyncResolved&&v.suspenseId===O.pendingId&&(O.deps--,O.deps===0&&O.resolve())},oe=(v,O,H,W=!1,ie=!1,j=0)=>{for(let te=j;tev.shapeFlag&6?M(v.component.subTree):v.shapeFlag&128?v.suspense.next():f(v.anchor||v.el);let se=!1;const de=(v,O,H)=>{v==null?O._vnode&&K(O._vnode,null,null,!0):_(O._vnode||null,v,O,null,null,null,H),se||(se=!0,bg(),vb(),se=!1),O._vnode=v},ke={p:_,um:K,m:we,r:X,mt:Y,mc:C,pc:Q,pbc:E,n:M,o:e};let N,fe;return t&&([N,fe]=t(ke)),{render:de,hydrate:N,createApp:EA(de,N)}}function Gu({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function oo({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function NA(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function gf(e,t,n=!1){const s=e.children,i=t.children;if(Be(s)&&Be(i))for(let o=0;o>1,e[n[a]]0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,r=n[o-1];o-- >0;)n[o]=r,r=t[r];return n}function Nb(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Nb(t)}function Tg(e){if(e)for(let t=0;tls(BA),Il={};function Vt(e,t,n){return Fb(e,t,n)}function Fb(e,t,{immediate:n,deep:s,flush:i,once:o,onTrack:r,onTrigger:a}=vt){if(t&&o){const y=t;t=(...x)=>{y(...x),k()}}const l=Qt,c=y=>s===!0?y:wi(y,s===!1?1:void 0);let u,d=!1,f=!1;if(Mt(e)?(u=()=>e.value,d=$c(e)):xo(e)?(u=()=>c(e),d=!0):Be(e)?(f=!0,d=e.some(y=>xo(y)||$c(y)),u=()=>e.map(y=>{if(Mt(y))return y.value;if(xo(y))return c(y);if(Ke(y))return Mi(y,l,2)})):Ke(e)?t?u=()=>Mi(e,l,2):u=()=>(p&&p(),Xn(e,l,3,[m])):u=Un,t&&s){const y=u;u=()=>wi(y())}let p,m=y=>{p=A.onStop=()=>{Mi(y,l,4),p=A.onStop=void 0}},_;if(au)if(m=Un,t?n&&Xn(t,l,3,[u(),f?[]:void 0,m]):u(),i==="sync"){const y=VA();_=y.__watcherHandles||(y.__watcherHandles=[])}else return Un;let b=f?new Array(e.length).fill(Il):Il;const w=()=>{if(!(!A.active||!A.dirty))if(t){const y=A.run();(s||d||(f?y.some((x,C)=>Ii(x,b[C])):Ii(y,b)))&&(p&&p(),Xn(t,l,3,[y,b===Il?void 0:f&&b[0]===Il?[]:b,m]),b=y)}else A.run()};w.allowRecurse=!!t;let $;i==="sync"?$=w:i==="post"?$=()=>$n(w,l&&l.suspense):(w.pre=!0,l&&(w.id=l.uid),$=()=>af(w));const A=new Xh(u,Un,$),T=Qc(),k=()=>{A.stop(),T&&Uh(T.effects,A)};return t?n?w():b=A.run():i==="post"?$n(A.run.bind(A),l&&l.suspense):A.run(),_&&_.push(k),k}function HA(e,t,n){const s=this.proxy,i=$t(e)?e.includes(".")?Bb(s,e):()=>s[e]:e.bind(s,s);let o;Ke(t)?o=t:(o=t.handler,n=t);const r=il(this),a=Fb(i,o.bind(s),n);return r(),a}function Bb(e,t){const n=t.split(".");return()=>{let s=e;for(let i=0;i{wi(s,t,n)});else if(zv(e)){for(const s in e)wi(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&wi(e[s],t,n)}return e}const ou=e=>e.type.__isKeepAlive;function jA(e,t){Vb(e,"a",t)}function WA(e,t){Vb(e,"da",t)}function Vb(e,t,n=Qt){const s=e.__wdc||(e.__wdc=()=>{let i=n;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if(iu(t,s,n),n){let i=n.parent;for(;i&&i.parent;)ou(i.parent.vnode)&&zA(s,t,n,i),i=i.parent}}function zA(e,t,n,s){const i=iu(t,e,s,!0);Fr(()=>{Uh(s[t],i)},n)}const vi=Symbol("_leaveCb"),Rl=Symbol("_enterCb");function Hb(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Gt(()=>{e.isMounted=!0}),hf(()=>{e.isUnmounting=!0}),e}const Yn=[Function,Array],jb={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Yn,onEnter:Yn,onAfterEnter:Yn,onEnterCancelled:Yn,onBeforeLeave:Yn,onLeave:Yn,onAfterLeave:Yn,onLeaveCancelled:Yn,onBeforeAppear:Yn,onAppear:Yn,onAfterAppear:Yn,onAppearCancelled:Yn},Wb=e=>{const t=e.subTree;return t.component?Wb(t.component):t},YA={name:"BaseTransition",props:jb,setup(e,{slots:t}){const n=vf(),s=Hb();return()=>{const i=t.default&&mf(t.default(),!0);if(!i||!i.length)return;let o=i[0];if(i.length>1){for(const f of i)if(f.type!==dn){o=f;break}}const r=Ze(e),{mode:a}=r;if(s.isLeaving)return Ju(o);const l=Dg(o);if(!l)return Ju(o);let c=Ba(l,r,s,n,f=>c=f);_r(l,c);const u=n.subTree,d=u&&Dg(u);if(d&&d.type!==dn&&!ws(l,d)&&Wb(n).type!==dn){const f=Ba(d,r,s,n);if(_r(d,f),a==="out-in"&&l.type!==dn)return s.isLeaving=!0,f.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},Ju(o);a==="in-out"&&l.type!==dn&&(f.delayLeave=(p,m,_)=>{const b=zb(s,d);b[String(d.key)]=d,p[vi]=()=>{m(),p[vi]=void 0,delete c.delayedLeave},c.delayedLeave=_})}return o}}},KA=YA;function zb(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Ba(e,t,n,s,i){const{appear:o,mode:r,persisted:a=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:f,onLeave:p,onAfterLeave:m,onLeaveCancelled:_,onBeforeAppear:b,onAppear:w,onAfterAppear:$,onAppearCancelled:A}=t,T=String(e.key),k=zb(n,e),y=(P,E)=>{P&&Xn(P,s,9,E)},x=(P,E)=>{const B=E[1];y(P,E),Be(P)?P.every(G=>G.length<=1)&&B():P.length<=1&&B()},C={mode:r,persisted:a,beforeEnter(P){let E=l;if(!n.isMounted)if(o)E=b||l;else return;P[vi]&&P[vi](!0);const B=k[T];B&&ws(e,B)&&B.el[vi]&&B.el[vi](),y(E,[P])},enter(P){let E=c,B=u,G=d;if(!n.isMounted)if(o)E=w||c,B=$||u,G=A||d;else return;let ae=!1;const Y=P[Rl]=L=>{ae||(ae=!0,L?y(G,[P]):y(B,[P]),C.delayedLeave&&C.delayedLeave(),P[Rl]=void 0)};E?x(E,[P,Y]):Y()},leave(P,E){const B=String(e.key);if(P[Rl]&&P[Rl](!0),n.isUnmounting)return E();y(f,[P]);let G=!1;const ae=P[vi]=Y=>{G||(G=!0,E(),Y?y(_,[P]):y(m,[P]),P[vi]=void 0,k[B]===e&&delete k[B])};k[B]=e,p?x(p,[P,ae]):ae()},clone(P){const E=Ba(P,t,n,s,i);return i&&i(E),E}};return C}function Ju(e){if(ou(e))return e=Ri(e),e.children=null,e}function Dg(e){if(!ou(e))return e;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&Ke(n.default))return n.default()}}function _r(e,t){e.shapeFlag&6&&e.component?_r(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function mf(e,t=!1,n){let s=[],i=0;for(let o=0;o1)for(let o=0;oe.__isTeleport,ba=e=>e&&(e.disabled||e.disabled===""),Og=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Ig=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,qd=(e,t)=>{const n=e&&e.to;return $t(n)?t?t(n):null:n},qA={name:"Teleport",__isTeleport:!0,process(e,t,n,s,i,o,r,a,l,c){const{mc:u,pc:d,pbc:f,o:{insert:p,querySelector:m,createText:_,createComment:b}}=c,w=ba(t.props);let{shapeFlag:$,children:A,dynamicChildren:T}=t;if(e==null){const k=t.el=_(""),y=t.anchor=_("");p(k,n,s),p(y,n,s);const x=t.target=qd(t.props,m),C=t.targetAnchor=_("");x&&(p(C,x),r==="svg"||Og(x)?r="svg":(r==="mathml"||Ig(x))&&(r="mathml"));const P=(E,B)=>{$&16&&u(A,E,B,i,o,r,a,l)};w?P(n,y):x&&P(x,C)}else{t.el=e.el;const k=t.anchor=e.anchor,y=t.target=e.target,x=t.targetAnchor=e.targetAnchor,C=ba(e.props),P=C?n:y,E=C?k:x;if(r==="svg"||Og(y)?r="svg":(r==="mathml"||Ig(y))&&(r="mathml"),T?(f(e.dynamicChildren,T,P,i,o,r,a),gf(e,t,!0)):l||d(e,t,P,E,i,o,r,a,!1),w)C?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Ll(t,n,k,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const B=t.target=qd(t.props,m);B&&Ll(t,B,null,c,0)}else C&&Ll(t,y,x,c,1)}Yb(t)},remove(e,t,n,s,{um:i,o:{remove:o}},r){const{shapeFlag:a,children:l,anchor:c,targetAnchor:u,target:d,props:f}=e;if(d&&o(u),r&&o(c),a&16){const p=r||!ba(f);for(let m=0;m0?qn||rr:null,Kb(),vr>0&&qn&&qn.push(e),e}function F(e,t,n,s,i,o){return Ub(h(e,t,n,s,i,o,!0))}function Ne(e,t,n,s,i){return Ub($e(e,t,n,s,i,!0))}function Va(e){return e?e.__v_isVNode===!0:!1}function ws(e,t){return e.type===t.type&&e.key===t.key}const qb=({key:e})=>e??null,cc=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?$t(e)||Mt(e)||Ke(e)?{i:zt,r:e,k:t,f:!!n}:e:null);function h(e,t=null,n=null,s=0,i=null,o=e===Te?0:1,r=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&qb(t),ref:t&&cc(t),scopeId:su,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:s,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:zt};return a?(_f(l,n),o&128&&e.normalize(l)):n&&(l.shapeFlag|=$t(n)?8:16),vr>0&&!r&&qn&&(l.patchFlag>0||o&6)&&l.patchFlag!==32&&qn.push(l),l}const $e=XA;function XA(e,t=null,n=null,s=0,i=null,o=!1){if((!e||e===wb)&&(e=dn),Va(e)){const a=Ri(e,t,!0);return n&&_f(a,n),vr>0&&!o&&qn&&(a.shapeFlag&6?qn[qn.indexOf(e)]=a:qn.push(a)),a.patchFlag=-2,a}if(rC(e)&&(e=e.__vccOpts),t){t=_n(t);let{class:a,style:l}=t;a&&!$t(a)&&(t.class=Ee(a)),dt(l)&&(eu(l)&&!Be(l)&&(l=Nt({},l)),t.style=Wt(l))}const r=$t(e)?1:aA(e)?128:UA(e)?64:dt(e)?4:Ke(e)?2:0;return h(e,t,n,s,i,r,o,!0)}function _n(e){return e?eu(e)||Tb(e)?Nt({},e):e:null}function Ri(e,t,n=!1,s=!1){const{props:i,ref:o,patchFlag:r,children:a,transition:l}=e,c=t?Yt(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&qb(c),ref:t&&t.ref?n&&o?Be(o)?o.concat(cc(t)):[o,cc(t)]:cc(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Te?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ri(e.ssContent),ssFallback:e.ssFallback&&Ri(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&s&&_r(u,l.clone(u)),u}function ye(e=" ",t=0){return $e(ru,null,e,t)}function QA(e,t){const n=$e(lc,null,e);return n.staticCount=t,n}function re(e="",t=!1){return t?(D(),Ne(dn,null,e)):$e(dn,null,e)}function is(e){return e==null||typeof e=="boolean"?$e(dn):Be(e)?$e(Te,null,e.slice()):typeof e=="object"?bi(e):$e(ru,null,String(e))}function bi(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ri(e)}function _f(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(Be(t))n=16;else if(typeof t=="object")if(s&65){const i=t.default;i&&(i._c&&(i._d=!1),_f(e,i()),i._c&&(i._d=!0));return}else{n=32;const i=t._;!i&&!Tb(t)?t._ctx=zt:i===3&&zt&&(zt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Ke(t)?(t={default:t,_ctx:zt},n=32):(t=String(t),s&64?(n=16,t=[ye(t)]):n=8);e.children=t,e.shapeFlag|=n}function Yt(...e){const t={};for(let n=0;nQt||zt;let Ec,Gd;{const e=Uv(),t=(n,s)=>{let i;return(i=e[n])||(i=e[n]=[]),i.push(s),o=>{i.length>1?i.forEach(r=>r(o)):i[0](o)}};Ec=t("__VUE_INSTANCE_SETTERS__",n=>Qt=n),Gd=t("__VUE_SSR_SETTERS__",n=>au=n)}const il=e=>{const t=Qt;return Ec(e),e.scope.on(),()=>{e.scope.off(),Ec(t)}},Lg=()=>{Qt&&Qt.scope.off(),Ec(null)};function Gb(e){return e.vnode.shapeFlag&4}let au=!1;function nC(e,t=!1){t&&Gd(t);const{props:n,children:s}=e.vnode,i=Gb(e);MA(e,n,i,t),OA(e,s);const o=i?sC(e,t):void 0;return t&&Gd(!1),o}function sC(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,yA);const{setup:s}=n;if(s){const i=e.setupContext=s.length>1?Xb(e):null,o=il(e);Hi();const r=Mi(s,e,0,[e.props,i]);if(ji(),o(),jv(r)){if(r.then(Lg,Lg),t)return r.then(a=>{Jd(e,a,t)}).catch(a=>{sl(a,e,0)});e.asyncDep=r}else Jd(e,r,t)}else Jb(e,t)}function Jd(e,t,n){Ke(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:dt(t)&&(e.setupState=pb(t)),Jb(e,n)}let Ng;function Jb(e,t,n){const s=e.type;if(!e.render){if(!t&&Ng&&!s.render){const i=s.template||ff(e).template;if(i){const{isCustomElement:o,compilerOptions:r}=e.appContext.config,{delimiters:a,compilerOptions:l}=s,c=Nt(Nt({isCustomElement:o,delimiters:a},r),l);s.render=Ng(i,c)}}e.render=s.render||Un}{const i=il(e);Hi();try{xA(e)}finally{ji(),i()}}}const iC={get(e,t){return Pn(e,"get",""),e[t]}};function Xb(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,iC),slots:e.slots,emit:e.emit,expose:t}}function lu(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(pb(tu(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in va)return va[n](e)},has(t,n){return n in t||n in va}})):e.proxy}function oC(e,t=!0){return Ke(e)?e.displayName||e.name:e.name||t&&e.__name}function rC(e){return Ke(e)&&"__vccOpts"in e}const ve=(e,t)=>K$(e,t,au);function Mo(e,t,n){const s=arguments.length;return s===2?dt(t)&&!Be(t)?Va(t)?$e(e,null,[t]):$e(e,t):$e(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Va(n)&&(n=[n]),$e(e,t,n))}const Qb="3.4.29";/** * @vue/runtime-dom v3.4.29 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const aC="http://www.w3.org/2000/svg",lC="http://www.w3.org/1998/Math/MathML",Ws=typeof document<"u"?document:null,Fm=Ws&&Ws.createElement("template"),cC={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const i=t==="svg"?Ws.createElementNS(aC,e):t==="mathml"?Ws.createElementNS(lC,e):n?Ws.createElement(e,{is:n}):Ws.createElement(e);return e==="select"&&s&&s.multiple!=null&&i.setAttribute("multiple",s.multiple),i},createText:e=>Ws.createTextNode(e),createComment:e=>Ws.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ws.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,i,o){const r=n?n.previousSibling:t.lastChild;if(i&&(i===o||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===o||!(i=i.nextSibling)););else{Fm.innerHTML=s==="svg"?`${e}`:s==="mathml"?`${e}`:e;const a=Fm.content;if(s==="svg"||s==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,n)}return[r?r.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},ui="transition",Gr="animation",br=Symbol("_vtc"),Ct=(e,{slots:t})=>Mo(UA,ey(e),t);Ct.displayName="Transition";const Zb={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},uC=Ct.props=Nt({},jb,Zb),ro=(e,t=[])=>{Be(e)?e.forEach(n=>n(...t)):e&&e(...t)},Bm=e=>e?Be(e)?e.some(t=>t.length>1):e.length>1:!1;function ey(e){const t={};for(const G in e)G in Zb||(t[G]=e[G]);if(e.css===!1)return t;const{name:n="v",type:s,duration:i,enterFromClass:o=`${n}-enter-from`,enterActiveClass:r=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:l=o,appearActiveClass:c=r,appearToClass:u=a,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:f=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,g=dC(i),_=g&&g[0],b=g&&g[1],{onBeforeEnter:w,onEnter:$,onEnterCancelled:A,onLeave:T,onLeaveCancelled:k,onBeforeAppear:y=w,onAppear:x=$,onAppearCancelled:C=A}=t,P=(G,ae,Y)=>{mi(G,ae?u:a),mi(G,ae?c:r),Y&&Y()},E=(G,ae)=>{G._isLeaving=!1,mi(G,d),mi(G,p),mi(G,f),ae&&ae()},B=G=>(ae,Y)=>{const L=G?x:$,I=()=>P(ae,G,Y);ro(L,[ae,I]),Vm(()=>{mi(ae,G?l:o),Vs(ae,G?u:a),Bm(L)||Hm(ae,s,_,I)})};return Nt(t,{onBeforeEnter(G){ro(w,[G]),Vs(G,o),Vs(G,r)},onBeforeAppear(G){ro(y,[G]),Vs(G,l),Vs(G,c)},onEnter:B(!1),onAppear:B(!0),onLeave(G,ae){G._isLeaving=!0;const Y=()=>E(G,ae);Vs(G,d),Vs(G,f),ny(),Vm(()=>{G._isLeaving&&(mi(G,d),Vs(G,p),Bm(T)||Hm(G,s,b,Y))}),ro(T,[G,Y])},onEnterCancelled(G){P(G,!1),ro(A,[G])},onAppearCancelled(G){P(G,!0),ro(C,[G])},onLeaveCancelled(G){E(G),ro(k,[G])}})}function dC(e){if(e==null)return null;if(dt(e))return[Xu(e.enter),Xu(e.leave)];{const t=Xu(e);return[t,t]}}function Xu(e){return Uv(e)}function Vs(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[br]||(e[br]=new Set)).add(t)}function mi(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[br];n&&(n.delete(t),n.size||(e[br]=void 0))}function Vm(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let hC=0;function Hm(e,t,n,s){const i=e._endId=++hC,o=()=>{i===e._endId&&s()};if(n)return setTimeout(o,n);const{type:r,timeout:a,propCount:l}=ty(e,t);if(!r)return s();const c=r+"end";let u=0;const d=()=>{e.removeEventListener(c,f),o()},f=p=>{p.target===e&&++u>=l&&d()};setTimeout(()=>{u(n[g]||"").split(", "),i=s(`${ui}Delay`),o=s(`${ui}Duration`),r=jm(i,o),a=s(`${Gr}Delay`),l=s(`${Gr}Duration`),c=jm(a,l);let u=null,d=0,f=0;t===ui?r>0&&(u=ui,d=r,f=o.length):t===Gr?c>0&&(u=Gr,d=c,f=l.length):(d=Math.max(r,c),u=d>0?r>c?ui:Gr:null,f=u?u===ui?o.length:l.length:0);const p=u===ui&&/\b(transform|all)(,|$)/.test(s(`${ui}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:p}}function jm(e,t){for(;e.lengthWm(n)+Wm(e[s])))}function Wm(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function ny(){return document.body.offsetHeight}function fC(e,t,n){const s=e[br];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Pc=Symbol("_vod"),sy=Symbol("_vsh"),uc={beforeMount(e,{value:t},{transition:n}){e[Pc]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Jr(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),Jr(e,!0),s.enter(e)):s.leave(e,()=>{Jr(e,!1)}):Jr(e,t))},beforeUnmount(e,{value:t}){Jr(e,t)}};function Jr(e,t){e.style.display=t?e[Pc]:"none",e[sy]=!t}const pC=Symbol(""),mC=/(^|;)\s*display\s*:/;function gC(e,t,n){const s=e.style,i=$t(n);let o=!1;if(n&&!i){if(t)if($t(t))for(const r of t.split(";")){const a=r.slice(0,r.indexOf(":")).trim();n[a]==null&&dc(s,a,"")}else for(const r in t)n[r]==null&&dc(s,r,"");for(const r in n)r==="display"&&(o=!0),dc(s,r,n[r])}else if(i){if(t!==n){const r=s[pC];r&&(n+=";"+r),s.cssText=n,o=mC.test(n)}}else t&&e.removeAttribute("style");Pc in e&&(e[Pc]=o?s.display:"",e[sy]&&(s.display="none"))}const zm=/\s*!important$/;function dc(e,t,n){if(Be(n))n.forEach(s=>dc(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=_C(e,t);zm.test(n)?e.setProperty(Oo(s),n.replace(zm,""),"important"):e[s]=n}}const Ym=["Webkit","Moz","ms"],Qu={};function _C(e,t){const n=Qu[t];if(n)return n;let s=Ms(t);if(s!=="filter"&&s in e)return Qu[t]=s;s=Xc(s);for(let i=0;iZu||(xC.then(()=>Zu=0),Zu=Date.now());function SC(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;Xn($C(s,n.value),t,5,[s])};return n.value=e,n.attached=kC(),n}function $C(e,t){if(Be(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>i=>!i._stopped&&s&&s(i))}else return t}const Jm=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,AC=(e,t,n,s,i,o,r,a,l)=>{const c=i==="svg";t==="class"?fC(e,s,c):t==="style"?gC(e,n,s):Gc(t)?Uh(t)||yC(e,t,n,s,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):CC(e,t,s,c))?(vC(e,t,s,o,r,a,l),(t==="value"||t==="checked"||t==="selected")&&Km(e,t,s,c,r,t!=="value")):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Km(e,t,s,c))};function CC(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Jm(t)&&Ue(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const i=e.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return Jm(t)&&$t(n)?!1:t in e}const iy=new WeakMap,oy=new WeakMap,Mc=Symbol("_moveCb"),Xm=Symbol("_enterCb"),ry={name:"TransitionGroup",props:Nt({},uC,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=vf(),s=Hb();let i,o;return Sb(()=>{if(!i.length)return;const r=e.moveClass||`${e.name||"v"}-move`;if(!DC(i[0].el,n.vnode.el,r))return;i.forEach(PC),i.forEach(MC);const a=i.filter(TC);ny(),a.forEach(l=>{const c=l.el,u=c.style;Vs(c,r),u.transform=u.webkitTransform=u.transitionDuration="";const d=c[Mc]=f=>{f&&f.target!==c||(!f||/transform$/.test(f.propertyName))&&(c.removeEventListener("transitionend",d),c[Mc]=null,mi(c,r))};c.addEventListener("transitionend",d)})}),()=>{const r=Ze(e),a=ey(r);let l=r.tag||Te;if(i=[],o)for(let c=0;cdelete e.mode;ry.props;const Wi=ry;function PC(e){const t=e.el;t[Mc]&&t[Mc](),t[Xm]&&t[Xm]()}function MC(e){oy.set(e,e.el.getBoundingClientRect())}function TC(e){const t=iy.get(e),n=oy.get(e),s=t.left-n.left,i=t.top-n.top;if(s||i){const o=e.el.style;return o.transform=o.webkitTransform=`translate(${s}px,${i}px)`,o.transitionDuration="0s",e}}function DC(e,t,n){const s=e.cloneNode(),i=e[br];i&&i.forEach(a=>{a.split(/\s+/).forEach(l=>l&&s.classList.remove(l))}),n.split(/\s+/).forEach(a=>a&&s.classList.add(a)),s.style.display="none";const o=t.nodeType===1?t:t.parentNode;o.appendChild(s);const{hasTransform:r}=ty(s);return o.removeChild(s),r}const Li=e=>{const t=e.props["onUpdate:modelValue"]||!1;return Be(t)?n=>oc(t,n):t};function OC(e){e.target.composing=!0}function Qm(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Qn=Symbol("_assign"),We={created(e,{modifiers:{lazy:t,trim:n,number:s}},i){e[Qn]=Li(i);const o=s||i.props&&i.props.type==="number";Us(e,t?"change":"input",r=>{if(r.target.composing)return;let a=e.value;n&&(a=a.trim()),o&&(a=kc(a)),e[Qn](a)}),n&&Us(e,"change",()=>{e.value=e.value.trim()}),t||(Us(e,"compositionstart",OC),Us(e,"compositionend",Qm),Us(e,"change",Qm))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:i,number:o}},r){if(e[Qn]=Li(r),e.composing)return;const a=(o||e.type==="number")&&!/^0\d/.test(e.value)?kc(e.value):e.value,l=t??"";a!==l&&(document.activeElement===e&&e.type!=="range"&&(s&&t===n||i&&e.value.trim()===l)||(e.value=l))}},In={deep:!0,created(e,t,n){e[Qn]=Li(n),Us(e,"change",()=>{const s=e._modelValue,i=yr(e),o=e.checked,r=e[Qn];if(Be(s)){const a=Gh(s,i),l=a!==-1;if(o&&!l)r(s.concat(i));else if(!o&&l){const c=[...s];c.splice(a,1),r(c)}}else if(Nr(s)){const a=new Set(s);o?a.add(i):a.delete(i),r(a)}else r(ay(e,o))})},mounted:Zm,beforeUpdate(e,t,n){e[Qn]=Li(n),Zm(e,t,n)}};function Zm(e,{value:t,oldValue:n},s){e._modelValue=t,Be(t)?e.checked=Gh(t,s.props.value)>-1:Nr(t)?e.checked=t.has(s.props.value):t!==n&&(e.checked=Po(t,ay(e,!0)))}const IC={created(e,{value:t},n){e.checked=Po(t,n.props.value),e[Qn]=Li(n),Us(e,"change",()=>{e[Qn](yr(e))})},beforeUpdate(e,{value:t,oldValue:n},s){e[Qn]=Li(s),t!==n&&(e.checked=Po(t,s.props.value))}},hc={deep:!0,created(e,{value:t,modifiers:{number:n}},s){const i=Nr(t);Us(e,"change",()=>{const o=Array.prototype.filter.call(e.options,r=>r.selected).map(r=>n?kc(yr(r)):yr(r));e[Qn](e.multiple?i?new Set(o):o:o[0]),e._assigning=!0,tn(()=>{e._assigning=!1})}),e[Qn]=Li(s)},mounted(e,{value:t,modifiers:{number:n}}){eg(e,t)},beforeUpdate(e,t,n){e[Qn]=Li(n)},updated(e,{value:t,modifiers:{number:n}}){e._assigning||eg(e,t)}};function eg(e,t,n){const s=e.multiple,i=Be(t);if(!(s&&!i&&!Nr(t))){for(let o=0,r=e.options.length;oString(u)===String(l)):a.selected=Gh(t,l)>-1}else a.selected=t.has(l);else if(Po(yr(a),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!s&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function yr(e){return"_value"in e?e._value:e.value}function ay(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const RC={created(e,t,n){Nl(e,t,n,null,"created")},mounted(e,t,n){Nl(e,t,n,null,"mounted")},beforeUpdate(e,t,n,s){Nl(e,t,n,s,"beforeUpdate")},updated(e,t,n,s){Nl(e,t,n,s,"updated")}};function LC(e,t){switch(e){case"SELECT":return hc;case"TEXTAREA":return We;default:switch(t){case"checkbox":return In;case"radio":return IC;default:return We}}}function Nl(e,t,n,s,i){const r=LC(e.tagName,n.props&&n.props.type)[i];r&&r(e,t,n,s)}const NC=["ctrl","shift","alt","meta"],FC={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>NC.some(n=>e[`${n}Key`]&&!t.includes(n))},Ha=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(i,...o)=>{for(let r=0;r{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=i=>{if(!("key"in i))return;const o=Oo(i.key);if(t.some(r=>r===o||BC[r]===o))return e(i)})},HC=Nt({patchProp:AC},cC);let tg;function ly(){return tg||(tg=RA(HC))}const ng=(...e)=>{ly().render(...e)},jC=(...e)=>{const t=ly().createApp(...e),{mount:n}=t;return t.mount=s=>{const i=zC(s);if(!i)return;const o=t._component;!Ue(o)&&!o.render&&!o.template&&(o.template=i.innerHTML),i.innerHTML="";const r=n(i,!1,WC(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),r},t};function WC(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function zC(e){return $t(e)?document.querySelector(e):e}var YC=!1;/*! +**/const aC="http://www.w3.org/2000/svg",lC="http://www.w3.org/1998/Math/MathML",Ws=typeof document<"u"?document:null,Fg=Ws&&Ws.createElement("template"),cC={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const i=t==="svg"?Ws.createElementNS(aC,e):t==="mathml"?Ws.createElementNS(lC,e):n?Ws.createElement(e,{is:n}):Ws.createElement(e);return e==="select"&&s&&s.multiple!=null&&i.setAttribute("multiple",s.multiple),i},createText:e=>Ws.createTextNode(e),createComment:e=>Ws.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ws.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,i,o){const r=n?n.previousSibling:t.lastChild;if(i&&(i===o||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===o||!(i=i.nextSibling)););else{Fg.innerHTML=s==="svg"?`${e}`:s==="mathml"?`${e}`:e;const a=Fg.content;if(s==="svg"||s==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,n)}return[r?r.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},ui="transition",Gr="animation",br=Symbol("_vtc"),Ct=(e,{slots:t})=>Mo(KA,ey(e),t);Ct.displayName="Transition";const Zb={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},uC=Ct.props=Nt({},jb,Zb),ro=(e,t=[])=>{Be(e)?e.forEach(n=>n(...t)):e&&e(...t)},Bg=e=>e?Be(e)?e.some(t=>t.length>1):e.length>1:!1;function ey(e){const t={};for(const G in e)G in Zb||(t[G]=e[G]);if(e.css===!1)return t;const{name:n="v",type:s,duration:i,enterFromClass:o=`${n}-enter-from`,enterActiveClass:r=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:l=o,appearActiveClass:c=r,appearToClass:u=a,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:f=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,m=dC(i),_=m&&m[0],b=m&&m[1],{onBeforeEnter:w,onEnter:$,onEnterCancelled:A,onLeave:T,onLeaveCancelled:k,onBeforeAppear:y=w,onAppear:x=$,onAppearCancelled:C=A}=t,P=(G,ae,Y)=>{gi(G,ae?u:a),gi(G,ae?c:r),Y&&Y()},E=(G,ae)=>{G._isLeaving=!1,gi(G,d),gi(G,p),gi(G,f),ae&&ae()},B=G=>(ae,Y)=>{const L=G?x:$,I=()=>P(ae,G,Y);ro(L,[ae,I]),Vg(()=>{gi(ae,G?l:o),Vs(ae,G?u:a),Bg(L)||Hg(ae,s,_,I)})};return Nt(t,{onBeforeEnter(G){ro(w,[G]),Vs(G,o),Vs(G,r)},onBeforeAppear(G){ro(y,[G]),Vs(G,l),Vs(G,c)},onEnter:B(!1),onAppear:B(!0),onLeave(G,ae){G._isLeaving=!0;const Y=()=>E(G,ae);Vs(G,d),Vs(G,f),ny(),Vg(()=>{G._isLeaving&&(gi(G,d),Vs(G,p),Bg(T)||Hg(G,s,b,Y))}),ro(T,[G,Y])},onEnterCancelled(G){P(G,!1),ro(A,[G])},onAppearCancelled(G){P(G,!0),ro(C,[G])},onLeaveCancelled(G){E(G),ro(k,[G])}})}function dC(e){if(e==null)return null;if(dt(e))return[Xu(e.enter),Xu(e.leave)];{const t=Xu(e);return[t,t]}}function Xu(e){return Kv(e)}function Vs(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[br]||(e[br]=new Set)).add(t)}function gi(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[br];n&&(n.delete(t),n.size||(e[br]=void 0))}function Vg(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let hC=0;function Hg(e,t,n,s){const i=e._endId=++hC,o=()=>{i===e._endId&&s()};if(n)return setTimeout(o,n);const{type:r,timeout:a,propCount:l}=ty(e,t);if(!r)return s();const c=r+"end";let u=0;const d=()=>{e.removeEventListener(c,f),o()},f=p=>{p.target===e&&++u>=l&&d()};setTimeout(()=>{u(n[m]||"").split(", "),i=s(`${ui}Delay`),o=s(`${ui}Duration`),r=jg(i,o),a=s(`${Gr}Delay`),l=s(`${Gr}Duration`),c=jg(a,l);let u=null,d=0,f=0;t===ui?r>0&&(u=ui,d=r,f=o.length):t===Gr?c>0&&(u=Gr,d=c,f=l.length):(d=Math.max(r,c),u=d>0?r>c?ui:Gr:null,f=u?u===ui?o.length:l.length:0);const p=u===ui&&/\b(transform|all)(,|$)/.test(s(`${ui}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:p}}function jg(e,t){for(;e.lengthWg(n)+Wg(e[s])))}function Wg(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function ny(){return document.body.offsetHeight}function fC(e,t,n){const s=e[br];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Pc=Symbol("_vod"),sy=Symbol("_vsh"),uc={beforeMount(e,{value:t},{transition:n}){e[Pc]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Jr(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),Jr(e,!0),s.enter(e)):s.leave(e,()=>{Jr(e,!1)}):Jr(e,t))},beforeUnmount(e,{value:t}){Jr(e,t)}};function Jr(e,t){e.style.display=t?e[Pc]:"none",e[sy]=!t}const pC=Symbol(""),gC=/(^|;)\s*display\s*:/;function mC(e,t,n){const s=e.style,i=$t(n);let o=!1;if(n&&!i){if(t)if($t(t))for(const r of t.split(";")){const a=r.slice(0,r.indexOf(":")).trim();n[a]==null&&dc(s,a,"")}else for(const r in t)n[r]==null&&dc(s,r,"");for(const r in n)r==="display"&&(o=!0),dc(s,r,n[r])}else if(i){if(t!==n){const r=s[pC];r&&(n+=";"+r),s.cssText=n,o=gC.test(n)}}else t&&e.removeAttribute("style");Pc in e&&(e[Pc]=o?s.display:"",e[sy]&&(s.display="none"))}const zg=/\s*!important$/;function dc(e,t,n){if(Be(n))n.forEach(s=>dc(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=_C(e,t);zg.test(n)?e.setProperty(Oo(s),n.replace(zg,""),"important"):e[s]=n}}const Yg=["Webkit","Moz","ms"],Qu={};function _C(e,t){const n=Qu[t];if(n)return n;let s=Ms(t);if(s!=="filter"&&s in e)return Qu[t]=s;s=Xc(s);for(let i=0;iZu||(xC.then(()=>Zu=0),Zu=Date.now());function SC(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;Xn($C(s,n.value),t,5,[s])};return n.value=e,n.attached=kC(),n}function $C(e,t){if(Be(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>i=>!i._stopped&&s&&s(i))}else return t}const Jg=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,AC=(e,t,n,s,i,o,r,a,l)=>{const c=i==="svg";t==="class"?fC(e,s,c):t==="style"?mC(e,n,s):Gc(t)?Kh(t)||yC(e,t,n,s,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):CC(e,t,s,c))?(vC(e,t,s,o,r,a,l),(t==="value"||t==="checked"||t==="selected")&&Ug(e,t,s,c,r,t!=="value")):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Ug(e,t,s,c))};function CC(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Jg(t)&&Ke(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const i=e.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return Jg(t)&&$t(n)?!1:t in e}const iy=new WeakMap,oy=new WeakMap,Mc=Symbol("_moveCb"),Xg=Symbol("_enterCb"),ry={name:"TransitionGroup",props:Nt({},uC,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=vf(),s=Hb();let i,o;return Sb(()=>{if(!i.length)return;const r=e.moveClass||`${e.name||"v"}-move`;if(!DC(i[0].el,n.vnode.el,r))return;i.forEach(PC),i.forEach(MC);const a=i.filter(TC);ny(),a.forEach(l=>{const c=l.el,u=c.style;Vs(c,r),u.transform=u.webkitTransform=u.transitionDuration="";const d=c[Mc]=f=>{f&&f.target!==c||(!f||/transform$/.test(f.propertyName))&&(c.removeEventListener("transitionend",d),c[Mc]=null,gi(c,r))};c.addEventListener("transitionend",d)})}),()=>{const r=Ze(e),a=ey(r);let l=r.tag||Te;if(i=[],o)for(let c=0;cdelete e.mode;ry.props;const Wi=ry;function PC(e){const t=e.el;t[Mc]&&t[Mc](),t[Xg]&&t[Xg]()}function MC(e){oy.set(e,e.el.getBoundingClientRect())}function TC(e){const t=iy.get(e),n=oy.get(e),s=t.left-n.left,i=t.top-n.top;if(s||i){const o=e.el.style;return o.transform=o.webkitTransform=`translate(${s}px,${i}px)`,o.transitionDuration="0s",e}}function DC(e,t,n){const s=e.cloneNode(),i=e[br];i&&i.forEach(a=>{a.split(/\s+/).forEach(l=>l&&s.classList.remove(l))}),n.split(/\s+/).forEach(a=>a&&s.classList.add(a)),s.style.display="none";const o=t.nodeType===1?t:t.parentNode;o.appendChild(s);const{hasTransform:r}=ty(s);return o.removeChild(s),r}const Li=e=>{const t=e.props["onUpdate:modelValue"]||!1;return Be(t)?n=>oc(t,n):t};function OC(e){e.target.composing=!0}function Qg(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Qn=Symbol("_assign"),We={created(e,{modifiers:{lazy:t,trim:n,number:s}},i){e[Qn]=Li(i);const o=s||i.props&&i.props.type==="number";Ks(e,t?"change":"input",r=>{if(r.target.composing)return;let a=e.value;n&&(a=a.trim()),o&&(a=kc(a)),e[Qn](a)}),n&&Ks(e,"change",()=>{e.value=e.value.trim()}),t||(Ks(e,"compositionstart",OC),Ks(e,"compositionend",Qg),Ks(e,"change",Qg))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:i,number:o}},r){if(e[Qn]=Li(r),e.composing)return;const a=(o||e.type==="number")&&!/^0\d/.test(e.value)?kc(e.value):e.value,l=t??"";a!==l&&(document.activeElement===e&&e.type!=="range"&&(s&&t===n||i&&e.value.trim()===l)||(e.value=l))}},In={deep:!0,created(e,t,n){e[Qn]=Li(n),Ks(e,"change",()=>{const s=e._modelValue,i=yr(e),o=e.checked,r=e[Qn];if(Be(s)){const a=Gh(s,i),l=a!==-1;if(o&&!l)r(s.concat(i));else if(!o&&l){const c=[...s];c.splice(a,1),r(c)}}else if(Nr(s)){const a=new Set(s);o?a.add(i):a.delete(i),r(a)}else r(ay(e,o))})},mounted:Zg,beforeUpdate(e,t,n){e[Qn]=Li(n),Zg(e,t,n)}};function Zg(e,{value:t,oldValue:n},s){e._modelValue=t,Be(t)?e.checked=Gh(t,s.props.value)>-1:Nr(t)?e.checked=t.has(s.props.value):t!==n&&(e.checked=Po(t,ay(e,!0)))}const IC={created(e,{value:t},n){e.checked=Po(t,n.props.value),e[Qn]=Li(n),Ks(e,"change",()=>{e[Qn](yr(e))})},beforeUpdate(e,{value:t,oldValue:n},s){e[Qn]=Li(s),t!==n&&(e.checked=Po(t,s.props.value))}},hc={deep:!0,created(e,{value:t,modifiers:{number:n}},s){const i=Nr(t);Ks(e,"change",()=>{const o=Array.prototype.filter.call(e.options,r=>r.selected).map(r=>n?kc(yr(r)):yr(r));e[Qn](e.multiple?i?new Set(o):o:o[0]),e._assigning=!0,tn(()=>{e._assigning=!1})}),e[Qn]=Li(s)},mounted(e,{value:t,modifiers:{number:n}}){em(e,t)},beforeUpdate(e,t,n){e[Qn]=Li(n)},updated(e,{value:t,modifiers:{number:n}}){e._assigning||em(e,t)}};function em(e,t,n){const s=e.multiple,i=Be(t);if(!(s&&!i&&!Nr(t))){for(let o=0,r=e.options.length;oString(u)===String(l)):a.selected=Gh(t,l)>-1}else a.selected=t.has(l);else if(Po(yr(a),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!s&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function yr(e){return"_value"in e?e._value:e.value}function ay(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const RC={created(e,t,n){Nl(e,t,n,null,"created")},mounted(e,t,n){Nl(e,t,n,null,"mounted")},beforeUpdate(e,t,n,s){Nl(e,t,n,s,"beforeUpdate")},updated(e,t,n,s){Nl(e,t,n,s,"updated")}};function LC(e,t){switch(e){case"SELECT":return hc;case"TEXTAREA":return We;default:switch(t){case"checkbox":return In;case"radio":return IC;default:return We}}}function Nl(e,t,n,s,i){const r=LC(e.tagName,n.props&&n.props.type)[i];r&&r(e,t,n,s)}const NC=["ctrl","shift","alt","meta"],FC={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>NC.some(n=>e[`${n}Key`]&&!t.includes(n))},Ha=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(i,...o)=>{for(let r=0;r{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=i=>{if(!("key"in i))return;const o=Oo(i.key);if(t.some(r=>r===o||BC[r]===o))return e(i)})},HC=Nt({patchProp:AC},cC);let tm;function ly(){return tm||(tm=RA(HC))}const nm=(...e)=>{ly().render(...e)},jC=(...e)=>{const t=ly().createApp(...e),{mount:n}=t;return t.mount=s=>{const i=zC(s);if(!i)return;const o=t._component;!Ke(o)&&!o.render&&!o.template&&(o.template=i.innerHTML),i.innerHTML="";const r=n(i,!1,WC(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),r},t};function WC(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function zC(e){return $t(e)?document.querySelector(e):e}var YC=!1;/*! * pinia v2.1.7 * (c) 2023 Eduardo San Martin Morote * @license MIT - */let cy;const cu=e=>cy=e,uy=Symbol();function Xd(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var wa;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(wa||(wa={}));function UC(){const e=Xv(!0),t=e.run(()=>be({}));let n=[],s=[];const i=tu({install(o){cu(i),i._a=o,o.provide(uy,i),o.config.globalProperties.$pinia=i,s.forEach(r=>n.push(r)),s=[]},use(o){return!this._a&&!YC?s.push(o):n.push(o),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return i}const dy=()=>{};function sg(e,t,n,s=dy){e.push(t);const i=()=>{const o=e.indexOf(t);o>-1&&(e.splice(o,1),s())};return!n&&Qc()&&Jh(i),i}function Go(e,...t){e.slice().forEach(n=>{n(...t)})}const KC=e=>e();function Qd(e,t){e instanceof Map&&t instanceof Map&&t.forEach((n,s)=>e.set(s,n)),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const s=t[n],i=e[n];Xd(i)&&Xd(s)&&e.hasOwnProperty(n)&&!Mt(s)&&!xo(s)?e[n]=Qd(i,s):e[n]=s}return e}const qC=Symbol();function GC(e){return!Xd(e)||!e.hasOwnProperty(qC)}const{assign:gi}=Object;function JC(e){return!!(Mt(e)&&e.effect)}function XC(e,t,n,s){const{state:i,actions:o,getters:r}=t,a=n.state.value[e];let l;function c(){a||(n.state.value[e]=i?i():{});const u=G$(n.state.value[e]);return gi(u,o,Object.keys(r||{}).reduce((d,f)=>(d[f]=tu(ve(()=>{cu(n);const p=n._s.get(e);return r[f].call(p,p)})),d),{}))}return l=hy(e,c,t,n,s,!0),l}function hy(e,t,n={},s,i,o){let r;const a=gi({actions:{}},n),l={deep:!0};let c,u,d=[],f=[],p;const g=s.state.value[e];!o&&!g&&(s.state.value[e]={}),be({});let _;function b(C){let P;c=u=!1,typeof C=="function"?(C(s.state.value[e]),P={type:wa.patchFunction,storeId:e,events:p}):(Qd(s.state.value[e],C),P={type:wa.patchObject,payload:C,storeId:e,events:p});const E=_=Symbol();tn().then(()=>{_===E&&(c=!0)}),u=!0,Go(d,P,s.state.value[e])}const w=o?function(){const{state:P}=n,E=P?P():{};this.$patch(B=>{gi(B,E)})}:dy;function $(){r.stop(),d=[],f=[],s._s.delete(e)}function A(C,P){return function(){cu(s);const E=Array.from(arguments),B=[],G=[];function ae(I){B.push(I)}function Y(I){G.push(I)}Go(f,{args:E,name:C,store:k,after:ae,onError:Y});let L;try{L=P.apply(this&&this.$id===e?this:k,E)}catch(I){throw Go(G,I),I}return L instanceof Promise?L.then(I=>(Go(B,I),I)).catch(I=>(Go(G,I),Promise.reject(I))):(Go(B,L),L)}}const T={_p:s,$id:e,$onAction:sg.bind(null,f),$patch:b,$reset:w,$subscribe(C,P={}){const E=sg(d,C,P.detached,()=>B()),B=r.run(()=>Vt(()=>s.state.value[e],G=>{(P.flush==="sync"?u:c)&&C({storeId:e,type:wa.direct,events:p},G)},gi({},l,P)));return E},$dispose:$},k=Ds(T);s._s.set(e,k);const x=(s._a&&s._a.runWithContext||KC)(()=>s._e.run(()=>(r=Xv()).run(t)));for(const C in x){const P=x[C];if(Mt(P)&&!JC(P)||xo(P))o||(g&&GC(P)&&(Mt(P)?P.value=g[C]:Qd(P,g[C])),s.state.value[e][C]=P);else if(typeof P=="function"){const E=A(C,P);x[C]=E,a.actions[C]=P}}return gi(k,x),gi(Ze(k),x),Object.defineProperty(k,"$state",{get:()=>s.state.value[e],set:C=>{b(P=>{gi(P,C)})}}),s._p.forEach(C=>{gi(k,r.run(()=>C({store:k,app:s._a,pinia:s,options:a})))}),g&&o&&n.hydrate&&n.hydrate(k.$state,g),c=!0,u=!0,k}function bf(e,t,n){let s,i;const o=typeof t=="function";typeof e=="string"?(s=e,i=o?n:t):(i=e,s=e.id);function r(a,l){const c=PA();return a=a||(c?ls(uy,null):null),a&&cu(a),a=cy,a._s.has(s)||(o?hy(s,t,i,a):XC(s,i,a)),a._s.get(s)}return r.$id=s,r}/*! + */let cy;const cu=e=>cy=e,uy=Symbol();function Xd(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var wa;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(wa||(wa={}));function KC(){const e=Xv(!0),t=e.run(()=>be({}));let n=[],s=[];const i=tu({install(o){cu(i),i._a=o,o.provide(uy,i),o.config.globalProperties.$pinia=i,s.forEach(r=>n.push(r)),s=[]},use(o){return!this._a&&!YC?s.push(o):n.push(o),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return i}const dy=()=>{};function sm(e,t,n,s=dy){e.push(t);const i=()=>{const o=e.indexOf(t);o>-1&&(e.splice(o,1),s())};return!n&&Qc()&&Jh(i),i}function Go(e,...t){e.slice().forEach(n=>{n(...t)})}const UC=e=>e();function Qd(e,t){e instanceof Map&&t instanceof Map&&t.forEach((n,s)=>e.set(s,n)),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const s=t[n],i=e[n];Xd(i)&&Xd(s)&&e.hasOwnProperty(n)&&!Mt(s)&&!xo(s)?e[n]=Qd(i,s):e[n]=s}return e}const qC=Symbol();function GC(e){return!Xd(e)||!e.hasOwnProperty(qC)}const{assign:mi}=Object;function JC(e){return!!(Mt(e)&&e.effect)}function XC(e,t,n,s){const{state:i,actions:o,getters:r}=t,a=n.state.value[e];let l;function c(){a||(n.state.value[e]=i?i():{});const u=G$(n.state.value[e]);return mi(u,o,Object.keys(r||{}).reduce((d,f)=>(d[f]=tu(ve(()=>{cu(n);const p=n._s.get(e);return r[f].call(p,p)})),d),{}))}return l=hy(e,c,t,n,s,!0),l}function hy(e,t,n={},s,i,o){let r;const a=mi({actions:{}},n),l={deep:!0};let c,u,d=[],f=[],p;const m=s.state.value[e];!o&&!m&&(s.state.value[e]={}),be({});let _;function b(C){let P;c=u=!1,typeof C=="function"?(C(s.state.value[e]),P={type:wa.patchFunction,storeId:e,events:p}):(Qd(s.state.value[e],C),P={type:wa.patchObject,payload:C,storeId:e,events:p});const E=_=Symbol();tn().then(()=>{_===E&&(c=!0)}),u=!0,Go(d,P,s.state.value[e])}const w=o?function(){const{state:P}=n,E=P?P():{};this.$patch(B=>{mi(B,E)})}:dy;function $(){r.stop(),d=[],f=[],s._s.delete(e)}function A(C,P){return function(){cu(s);const E=Array.from(arguments),B=[],G=[];function ae(I){B.push(I)}function Y(I){G.push(I)}Go(f,{args:E,name:C,store:k,after:ae,onError:Y});let L;try{L=P.apply(this&&this.$id===e?this:k,E)}catch(I){throw Go(G,I),I}return L instanceof Promise?L.then(I=>(Go(B,I),I)).catch(I=>(Go(G,I),Promise.reject(I))):(Go(B,L),L)}}const T={_p:s,$id:e,$onAction:sm.bind(null,f),$patch:b,$reset:w,$subscribe(C,P={}){const E=sm(d,C,P.detached,()=>B()),B=r.run(()=>Vt(()=>s.state.value[e],G=>{(P.flush==="sync"?u:c)&&C({storeId:e,type:wa.direct,events:p},G)},mi({},l,P)));return E},$dispose:$},k=Ds(T);s._s.set(e,k);const x=(s._a&&s._a.runWithContext||UC)(()=>s._e.run(()=>(r=Xv()).run(t)));for(const C in x){const P=x[C];if(Mt(P)&&!JC(P)||xo(P))o||(m&&GC(P)&&(Mt(P)?P.value=m[C]:Qd(P,m[C])),s.state.value[e][C]=P);else if(typeof P=="function"){const E=A(C,P);x[C]=E,a.actions[C]=P}}return mi(k,x),mi(Ze(k),x),Object.defineProperty(k,"$state",{get:()=>s.state.value[e],set:C=>{b(P=>{mi(P,C)})}}),s._p.forEach(C=>{mi(k,r.run(()=>C({store:k,app:s._a,pinia:s,options:a})))}),m&&o&&n.hydrate&&n.hydrate(k.$state,m),c=!0,u=!0,k}function bf(e,t,n){let s,i;const o=typeof t=="function";typeof e=="string"?(s=e,i=o?n:t):(i=e,s=e.id);function r(a,l){const c=PA();return a=a||(c?ls(uy,null):null),a&&cu(a),a=cy,a._s.has(s)||(o?hy(s,t,i,a):XC(s,i,a)),a._s.get(s)}return r.$id=s,r}/*! * vue-router v4.2.5 * (c) 2023 Eduardo San Martin Morote * @license MIT - */const nr=typeof window<"u";function QC(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const ct=Object.assign;function ed(e,t){const n={};for(const s in t){const i=t[s];n[s]=ds(i)?i.map(e):e(i)}return n}const xa=()=>{},ds=Array.isArray,ZC=/\/$/,eE=e=>e.replace(ZC,"");function td(e,t,n="/"){let s,i={},o="",r="";const a=t.indexOf("#");let l=t.indexOf("?");return a=0&&(l=-1),l>-1&&(s=t.slice(0,l),o=t.slice(l+1,a>-1?a:t.length),i=e(o)),a>-1&&(s=s||t.slice(0,a),r=t.slice(a,t.length)),s=iE(s??t,n),{fullPath:s+(o&&"?")+o+r,path:s,query:i,hash:r}}function tE(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function ig(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function nE(e,t,n){const s=t.matched.length-1,i=n.matched.length-1;return s>-1&&s===i&&wr(t.matched[s],n.matched[i])&&fy(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function wr(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function fy(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!sE(e[n],t[n]))return!1;return!0}function sE(e,t){return ds(e)?og(e,t):ds(t)?og(t,e):e===t}function og(e,t){return ds(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function iE(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),i=s[s.length-1];(i===".."||i===".")&&s.push("");let o=n.length-1,r,a;for(r=0;r1&&o--;else break;return n.slice(0,o).join("/")+"/"+s.slice(r-(r===s.length?1:0)).join("/")}var ja;(function(e){e.pop="pop",e.push="push"})(ja||(ja={}));var ka;(function(e){e.back="back",e.forward="forward",e.unknown=""})(ka||(ka={}));function oE(e){if(!e)if(nr){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),eE(e)}const rE=/^[^#]+#/;function aE(e,t){return e.replace(rE,"#")+t}function lE(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const uu=()=>({left:window.pageXOffset,top:window.pageYOffset});function cE(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),i=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=lE(i,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function rg(e,t){return(history.state?history.state.position-t:-1)+e}const Zd=new Map;function uE(e,t){Zd.set(e,t)}function dE(e){const t=Zd.get(e);return Zd.delete(e),t}let hE=()=>location.protocol+"//"+location.host;function py(e,t){const{pathname:n,search:s,hash:i}=t,o=e.indexOf("#");if(o>-1){let a=i.includes(e.slice(o))?e.slice(o).length:1,l=i.slice(a);return l[0]!=="/"&&(l="/"+l),ig(l,"")}return ig(n,e)+s+i}function fE(e,t,n,s){let i=[],o=[],r=null;const a=({state:f})=>{const p=py(e,location),g=n.value,_=t.value;let b=0;if(f){if(n.value=p,t.value=f,r&&r===g){r=null;return}b=_?f.position-_.position:0}else s(p);i.forEach(w=>{w(n.value,g,{delta:b,type:ja.pop,direction:b?b>0?ka.forward:ka.back:ka.unknown})})};function l(){r=n.value}function c(f){i.push(f);const p=()=>{const g=i.indexOf(f);g>-1&&i.splice(g,1)};return o.push(p),p}function u(){const{history:f}=window;f.state&&f.replaceState(ct({},f.state,{scroll:uu()}),"")}function d(){for(const f of o)f();o=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:l,listen:c,destroy:d}}function ag(e,t,n,s=!1,i=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:i?uu():null}}function pE(e){const{history:t,location:n}=window,s={value:py(e,n)},i={value:t.state};i.value||o(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(l,c,u){const d=e.indexOf("#"),f=d>-1?(n.host&&document.querySelector("base")?e:e.slice(d))+l:hE()+e+l;try{t[u?"replaceState":"pushState"](c,"",f),i.value=c}catch(p){console.error(p),n[u?"replace":"assign"](f)}}function r(l,c){const u=ct({},t.state,ag(i.value.back,l,i.value.forward,!0),c,{position:i.value.position});o(l,u,!0),s.value=l}function a(l,c){const u=ct({},i.value,t.state,{forward:l,scroll:uu()});o(u.current,u,!0);const d=ct({},ag(s.value,l,null),{position:u.position+1},c);o(l,d,!1),s.value=l}return{location:s,state:i,push:a,replace:r}}function mE(e){e=oE(e);const t=pE(e),n=fE(e,t.state,t.location,t.replace);function s(o,r=!0){r||n.pauseListeners(),history.go(o)}const i=ct({location:"",base:e,go:s,createHref:aE.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}function gE(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),mE(e)}function _E(e){return typeof e=="string"||e&&typeof e=="object"}function my(e){return typeof e=="string"||typeof e=="symbol"}const di={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},gy=Symbol("");var lg;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(lg||(lg={}));function xr(e,t){return ct(new Error,{type:e,[gy]:!0},t)}function Fs(e,t){return e instanceof Error&&gy in e&&(t==null||!!(e.type&t))}const cg="[^/]+?",vE={sensitive:!1,strict:!1,start:!0,end:!0},bE=/[.+*?^${}()[\]/\\]/g;function yE(e,t){const n=ct({},vE,t),s=[];let i=n.start?"^":"";const o=[];for(const c of e){const u=c.length?[]:[90];n.strict&&!c.length&&(i+="/");for(let d=0;dt.length?t.length===1&&t[0]===80?1:-1:0}function xE(e,t){let n=0;const s=e.score,i=t.score;for(;n0&&t[t.length-1]<0}const kE={type:0,value:""},SE=/[a-zA-Z0-9_]/;function $E(e){if(!e)return[[]];if(e==="/")return[[kE]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(p){throw new Error(`ERR (${n})/"${c}": ${p}`)}let n=0,s=n;const i=[];let o;function r(){o&&i.push(o),o=[]}let a=0,l,c="",u="";function d(){c&&(n===0?o.push({type:0,value:c}):n===1||n===2||n===3?(o.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:c,regexp:u,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),c="")}function f(){c+=l}for(;a{r($)}:xa}function r(u){if(my(u)){const d=s.get(u);d&&(s.delete(u),n.splice(n.indexOf(d),1),d.children.forEach(r),d.alias.forEach(r))}else{const d=n.indexOf(u);d>-1&&(n.splice(d,1),u.record.name&&s.delete(u.record.name),u.children.forEach(r),u.alias.forEach(r))}}function a(){return n}function l(u){let d=0;for(;d=0&&(u.record.path!==n[d].record.path||!_y(u,n[d]));)d++;n.splice(d,0,u),u.record.name&&!hg(u)&&s.set(u.record.name,u)}function c(u,d){let f,p={},g,_;if("name"in u&&u.name){if(f=s.get(u.name),!f)throw xr(1,{location:u});_=f.record.name,p=ct(dg(d.params,f.keys.filter($=>!$.optional).map($=>$.name)),u.params&&dg(u.params,f.keys.map($=>$.name))),g=f.stringify(p)}else if("path"in u)g=u.path,f=n.find($=>$.re.test(g)),f&&(p=f.parse(g),_=f.record.name);else{if(f=d.name?s.get(d.name):n.find($=>$.re.test(d.path)),!f)throw xr(1,{location:u,currentLocation:d});_=f.record.name,p=ct({},d.params,u.params),g=f.stringify(p)}const b=[];let w=f;for(;w;)b.unshift(w.record),w=w.parent;return{name:_,path:g,params:p,matched:b,meta:ME(b)}}return e.forEach(u=>o(u)),{addRoute:o,resolve:c,removeRoute:r,getRoutes:a,getRecordMatcher:i}}function dg(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function EE(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:PE(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function PE(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function hg(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function ME(e){return e.reduce((t,n)=>ct(t,n.meta),{})}function fg(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}function _y(e,t){return t.children.some(n=>n===e||_y(e,n))}const vy=/#/g,TE=/&/g,DE=/\//g,OE=/=/g,IE=/\?/g,by=/\+/g,RE=/%5B/g,LE=/%5D/g,yy=/%5E/g,NE=/%60/g,wy=/%7B/g,FE=/%7C/g,xy=/%7D/g,BE=/%20/g;function yf(e){return encodeURI(""+e).replace(FE,"|").replace(RE,"[").replace(LE,"]")}function VE(e){return yf(e).replace(wy,"{").replace(xy,"}").replace(yy,"^")}function eh(e){return yf(e).replace(by,"%2B").replace(BE,"+").replace(vy,"%23").replace(TE,"%26").replace(NE,"`").replace(wy,"{").replace(xy,"}").replace(yy,"^")}function HE(e){return eh(e).replace(OE,"%3D")}function jE(e){return yf(e).replace(vy,"%23").replace(IE,"%3F")}function WE(e){return e==null?"":jE(e).replace(DE,"%2F")}function Tc(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function zE(e){const t={};if(e===""||e==="?")return t;const s=(e[0]==="?"?e.slice(1):e).split("&");for(let i=0;io&&eh(o)):[s&&eh(s)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function YE(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=ds(s)?s.map(i=>i==null?null:""+i):s==null?s:""+s)}return t}const UE=Symbol(""),mg=Symbol(""),wf=Symbol(""),xf=Symbol(""),th=Symbol("");function Xr(){let e=[];function t(s){return e.push(s),()=>{const i=e.indexOf(s);i>-1&&e.splice(i,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function yi(e,t,n,s,i){const o=s&&(s.enterCallbacks[i]=s.enterCallbacks[i]||[]);return()=>new Promise((r,a)=>{const l=d=>{d===!1?a(xr(4,{from:n,to:t})):d instanceof Error?a(d):_E(d)?a(xr(2,{from:t,to:d})):(o&&s.enterCallbacks[i]===o&&typeof d=="function"&&o.push(d),r())},c=e.call(s&&s.instances[i],t,n,l);let u=Promise.resolve(c);e.length<3&&(u=u.then(l)),u.catch(d=>a(d))})}function nd(e,t,n,s){const i=[];for(const o of e)for(const r in o.components){let a=o.components[r];if(!(t!=="beforeRouteEnter"&&!o.instances[r]))if(KE(a)){const c=(a.__vccOpts||a)[t];c&&i.push(yi(c,n,s,o,r))}else{let l=a();i.push(()=>l.then(c=>{if(!c)return Promise.reject(new Error(`Couldn't resolve component "${r}" at "${o.path}"`));const u=QC(c)?c.default:c;o.components[r]=u;const f=(u.__vccOpts||u)[t];return f&&yi(f,n,s,o,r)()}))}}return i}function KE(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function gg(e){const t=ls(wf),n=ls(xf),s=ve(()=>t.resolve(q(e.to))),i=ve(()=>{const{matched:l}=s.value,{length:c}=l,u=l[c-1],d=n.matched;if(!u||!d.length)return-1;const f=d.findIndex(wr.bind(null,u));if(f>-1)return f;const p=_g(l[c-2]);return c>1&&_g(u)===p&&d[d.length-1].path!==p?d.findIndex(wr.bind(null,l[c-2])):f}),o=ve(()=>i.value>-1&&XE(n.params,s.value.params)),r=ve(()=>i.value>-1&&i.value===n.matched.length-1&&fy(n.params,s.value.params));function a(l={}){return JE(l)?t[q(e.replace)?"replace":"push"](q(e.to)).catch(xa):Promise.resolve()}return{route:s,href:ve(()=>s.value.href),isActive:o,isExactActive:r,navigate:a}}const qE=Ft({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:gg,setup(e,{slots:t}){const n=Ds(gg(e)),{options:s}=ls(wf),i=ve(()=>({[vg(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[vg(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&t.default(n);return e.custom?o:Mo("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},o)}}}),GE=qE;function JE(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function XE(e,t){for(const n in t){const s=t[n],i=e[n];if(typeof s=="string"){if(s!==i)return!1}else if(!ds(i)||i.length!==s.length||s.some((o,r)=>o!==i[r]))return!1}return!0}function _g(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const vg=(e,t,n)=>e??t??n,QE=Ft({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=ls(th),i=ve(()=>e.route||s.value),o=ls(mg,0),r=ve(()=>{let c=q(o);const{matched:u}=i.value;let d;for(;(d=u[c])&&!d.components;)c++;return c}),a=ve(()=>i.value.matched[r.value]);ac(mg,ve(()=>r.value+1)),ac(UE,a),ac(th,i);const l=be();return Vt(()=>[l.value,a.value,e.name],([c,u,d],[f,p,g])=>{u&&(u.instances[d]=c,p&&p!==u&&c&&c===f&&(u.leaveGuards.size||(u.leaveGuards=p.leaveGuards),u.updateGuards.size||(u.updateGuards=p.updateGuards))),c&&u&&(!p||!wr(u,p)||!f)&&(u.enterCallbacks[d]||[]).forEach(_=>_(c))},{flush:"post"}),()=>{const c=i.value,u=e.name,d=a.value,f=d&&d.components[u];if(!f)return bg(n.default,{Component:f,route:c});const p=d.props[u],g=p?p===!0?c.params:typeof p=="function"?p(c):p:null,b=Mo(f,ct({},g,t,{onVnodeUnmounted:w=>{w.component.isUnmounted&&(d.instances[u]=null)},ref:l}));return bg(n.default,{Component:b,route:c})||b}}});function bg(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const ky=QE;function ZE(e){const t=CE(e.routes,e),n=e.parseQuery||zE,s=e.stringifyQuery||pg,i=e.history,o=Xr(),r=Xr(),a=Xr(),l=of(di);let c=di;nr&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=ed.bind(null,M=>""+M),d=ed.bind(null,WE),f=ed.bind(null,Tc);function p(M,se){let de,ke;return my(M)?(de=t.getRecordMatcher(M),ke=se):ke=M,t.addRoute(ke,de)}function g(M){const se=t.getRecordMatcher(M);se&&t.removeRoute(se)}function _(){return t.getRoutes().map(M=>M.record)}function b(M){return!!t.getRecordMatcher(M)}function w(M,se){if(se=ct({},se||l.value),typeof M=="string"){const O=td(n,M,se.path),H=t.resolve({path:O.path},se),W=i.createHref(O.fullPath);return ct(O,H,{params:f(H.params),hash:Tc(O.hash),redirectedFrom:void 0,href:W})}let de;if("path"in M)de=ct({},M,{path:td(n,M.path,se.path).path});else{const O=ct({},M.params);for(const H in O)O[H]==null&&delete O[H];de=ct({},M,{params:d(O)}),se.params=d(se.params)}const ke=t.resolve(de,se),N=M.hash||"";ke.params=u(f(ke.params));const fe=tE(s,ct({},M,{hash:VE(N),path:ke.path})),v=i.createHref(fe);return ct({fullPath:fe,hash:N,query:s===pg?YE(M.query):M.query||{}},ke,{redirectedFrom:void 0,href:v})}function $(M){return typeof M=="string"?td(n,M,l.value.path):ct({},M)}function A(M,se){if(c!==M)return xr(8,{from:se,to:M})}function T(M){return x(M)}function k(M){return T(ct($(M),{replace:!0}))}function y(M){const se=M.matched[M.matched.length-1];if(se&&se.redirect){const{redirect:de}=se;let ke=typeof de=="function"?de(M):de;return typeof ke=="string"&&(ke=ke.includes("?")||ke.includes("#")?ke=$(ke):{path:ke},ke.params={}),ct({query:M.query,hash:M.hash,params:"path"in ke?{}:M.params},ke)}}function x(M,se){const de=c=w(M),ke=l.value,N=M.state,fe=M.force,v=M.replace===!0,O=y(de);if(O)return x(ct($(O),{state:typeof O=="object"?ct({},N,O.state):N,force:fe,replace:v}),se||de);const H=de;H.redirectedFrom=se;let W;return!fe&&nE(s,ke,de)&&(W=xr(16,{to:H,from:ke}),we(ke,ke,!0,!1)),(W?Promise.resolve(W):E(H,ke)).catch(ie=>Fs(ie)?Fs(ie,2)?ie:ce(ie):Q(ie,H,ke)).then(ie=>{if(ie){if(Fs(ie,2))return x(ct({replace:v},$(ie.to),{state:typeof ie.to=="object"?ct({},N,ie.to.state):N,force:fe}),se||H)}else ie=G(H,ke,!0,v,N);return B(H,ke,ie),ie})}function C(M,se){const de=A(M,se);return de?Promise.reject(de):Promise.resolve()}function P(M){const se=R.values().next().value;return se&&typeof se.runWithContext=="function"?se.runWithContext(M):M()}function E(M,se){let de;const[ke,N,fe]=eP(M,se);de=nd(ke.reverse(),"beforeRouteLeave",M,se);for(const O of ke)O.leaveGuards.forEach(H=>{de.push(yi(H,M,se))});const v=C.bind(null,M,se);return de.push(v),oe(de).then(()=>{de=[];for(const O of o.list())de.push(yi(O,M,se));return de.push(v),oe(de)}).then(()=>{de=nd(N,"beforeRouteUpdate",M,se);for(const O of N)O.updateGuards.forEach(H=>{de.push(yi(H,M,se))});return de.push(v),oe(de)}).then(()=>{de=[];for(const O of fe)if(O.beforeEnter)if(ds(O.beforeEnter))for(const H of O.beforeEnter)de.push(yi(H,M,se));else de.push(yi(O.beforeEnter,M,se));return de.push(v),oe(de)}).then(()=>(M.matched.forEach(O=>O.enterCallbacks={}),de=nd(fe,"beforeRouteEnter",M,se),de.push(v),oe(de))).then(()=>{de=[];for(const O of r.list())de.push(yi(O,M,se));return de.push(v),oe(de)}).catch(O=>Fs(O,8)?O:Promise.reject(O))}function B(M,se,de){a.list().forEach(ke=>P(()=>ke(M,se,de)))}function G(M,se,de,ke,N){const fe=A(M,se);if(fe)return fe;const v=se===di,O=nr?history.state:{};de&&(ke||v?i.replace(M.fullPath,ct({scroll:v&&O&&O.scroll},N)):i.push(M.fullPath,N)),l.value=M,we(M,se,de,v),ce()}let ae;function Y(){ae||(ae=i.listen((M,se,de)=>{if(!ee.listening)return;const ke=w(M),N=y(ke);if(N){x(ct(N,{replace:!0}),ke).catch(xa);return}c=ke;const fe=l.value;nr&&uE(rg(fe.fullPath,de.delta),uu()),E(ke,fe).catch(v=>Fs(v,12)?v:Fs(v,2)?(x(v.to,ke).then(O=>{Fs(O,20)&&!de.delta&&de.type===ja.pop&&i.go(-1,!1)}).catch(xa),Promise.reject()):(de.delta&&i.go(-de.delta,!1),Q(v,ke,fe))).then(v=>{v=v||G(ke,fe,!1),v&&(de.delta&&!Fs(v,8)?i.go(-de.delta,!1):de.type===ja.pop&&Fs(v,20)&&i.go(-1,!1)),B(ke,fe,v)}).catch(xa)}))}let L=Xr(),I=Xr(),V;function Q(M,se,de){ce(M);const ke=I.list();return ke.length?ke.forEach(N=>N(M,se,de)):console.error(M),Promise.reject(M)}function Z(){return V&&l.value!==di?Promise.resolve():new Promise((M,se)=>{L.add([M,se])})}function ce(M){return V||(V=!M,Y(),L.list().forEach(([se,de])=>M?de(M):se()),L.reset()),M}function we(M,se,de,ke){const{scrollBehavior:N}=e;if(!nr||!N)return Promise.resolve();const fe=!de&&dE(rg(M.fullPath,0))||(ke||!de)&&history.state&&history.state.scroll||null;return tn().then(()=>N(M,se,fe)).then(v=>v&&cE(v)).catch(v=>Q(v,M,se))}const U=M=>i.go(M);let X;const R=new Set,ee={currentRoute:l,listening:!0,addRoute:p,removeRoute:g,hasRoute:b,getRoutes:_,resolve:w,options:e,push:T,replace:k,go:U,back:()=>U(-1),forward:()=>U(1),beforeEach:o.add,beforeResolve:r.add,afterEach:a.add,onError:I.add,isReady:Z,install(M){const se=this;M.component("RouterLink",GE),M.component("RouterView",ky),M.config.globalProperties.$router=se,Object.defineProperty(M.config.globalProperties,"$route",{enumerable:!0,get:()=>q(l)}),nr&&!X&&l.value===di&&(X=!0,T(i.location).catch(N=>{}));const de={};for(const N in di)Object.defineProperty(de,N,{get:()=>l.value[N],enumerable:!0});M.provide(wf,se),M.provide(xf,cb(de)),M.provide(th,l);const ke=M.unmount;R.add(M),M.unmount=function(){R.delete(M),R.size<1&&(c=di,ae&&ae(),ae=null,l.value=di,X=!1,V=!1),ke()}}};function oe(M){return M.reduce((se,de)=>se.then(()=>P(de)),Promise.resolve())}return ee}function eP(e,t){const n=[],s=[],i=[],o=Math.max(t.matched.length,e.matched.length);for(let r=0;rwr(c,a))?s.push(a):n.push(a));const l=e.matched[r];l&&(t.matched.find(c=>wr(c,l))||i.push(l))}return[n,s,i]}function tP(){return ls(xf)}const nP={getCookie(e){const n=`; ${document.cookie}`.split(`; ${e}=`);if(n.length===2)return n.pop().split(";").shift()}};bf("WGDashboardStore",{state:()=>({WireguardConfigurations:void 0,DashboardConfiguration:void 0}),actions:{async getDashboardConfiguration(){await xt("/api/getDashboardConfiguration",{},e=>{console.log(e.status),e.status&&(this.DashboardConfiguration=e.data)})}}});const yg="[a-fA-F\\d:]",xi=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${yg})|(?<=${yg})(?=\\s|$))`:"",ss="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",Bt="[a-fA-F\\d]{1,4}",du=` + */const nr=typeof window<"u";function QC(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const ct=Object.assign;function ed(e,t){const n={};for(const s in t){const i=t[s];n[s]=ds(i)?i.map(e):e(i)}return n}const xa=()=>{},ds=Array.isArray,ZC=/\/$/,eE=e=>e.replace(ZC,"");function td(e,t,n="/"){let s,i={},o="",r="";const a=t.indexOf("#");let l=t.indexOf("?");return a=0&&(l=-1),l>-1&&(s=t.slice(0,l),o=t.slice(l+1,a>-1?a:t.length),i=e(o)),a>-1&&(s=s||t.slice(0,a),r=t.slice(a,t.length)),s=iE(s??t,n),{fullPath:s+(o&&"?")+o+r,path:s,query:i,hash:r}}function tE(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function im(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function nE(e,t,n){const s=t.matched.length-1,i=n.matched.length-1;return s>-1&&s===i&&wr(t.matched[s],n.matched[i])&&fy(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function wr(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function fy(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!sE(e[n],t[n]))return!1;return!0}function sE(e,t){return ds(e)?om(e,t):ds(t)?om(t,e):e===t}function om(e,t){return ds(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function iE(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),i=s[s.length-1];(i===".."||i===".")&&s.push("");let o=n.length-1,r,a;for(r=0;r1&&o--;else break;return n.slice(0,o).join("/")+"/"+s.slice(r-(r===s.length?1:0)).join("/")}var ja;(function(e){e.pop="pop",e.push="push"})(ja||(ja={}));var ka;(function(e){e.back="back",e.forward="forward",e.unknown=""})(ka||(ka={}));function oE(e){if(!e)if(nr){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),eE(e)}const rE=/^[^#]+#/;function aE(e,t){return e.replace(rE,"#")+t}function lE(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const uu=()=>({left:window.pageXOffset,top:window.pageYOffset});function cE(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),i=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=lE(i,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function rm(e,t){return(history.state?history.state.position-t:-1)+e}const Zd=new Map;function uE(e,t){Zd.set(e,t)}function dE(e){const t=Zd.get(e);return Zd.delete(e),t}let hE=()=>location.protocol+"//"+location.host;function py(e,t){const{pathname:n,search:s,hash:i}=t,o=e.indexOf("#");if(o>-1){let a=i.includes(e.slice(o))?e.slice(o).length:1,l=i.slice(a);return l[0]!=="/"&&(l="/"+l),im(l,"")}return im(n,e)+s+i}function fE(e,t,n,s){let i=[],o=[],r=null;const a=({state:f})=>{const p=py(e,location),m=n.value,_=t.value;let b=0;if(f){if(n.value=p,t.value=f,r&&r===m){r=null;return}b=_?f.position-_.position:0}else s(p);i.forEach(w=>{w(n.value,m,{delta:b,type:ja.pop,direction:b?b>0?ka.forward:ka.back:ka.unknown})})};function l(){r=n.value}function c(f){i.push(f);const p=()=>{const m=i.indexOf(f);m>-1&&i.splice(m,1)};return o.push(p),p}function u(){const{history:f}=window;f.state&&f.replaceState(ct({},f.state,{scroll:uu()}),"")}function d(){for(const f of o)f();o=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:l,listen:c,destroy:d}}function am(e,t,n,s=!1,i=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:i?uu():null}}function pE(e){const{history:t,location:n}=window,s={value:py(e,n)},i={value:t.state};i.value||o(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(l,c,u){const d=e.indexOf("#"),f=d>-1?(n.host&&document.querySelector("base")?e:e.slice(d))+l:hE()+e+l;try{t[u?"replaceState":"pushState"](c,"",f),i.value=c}catch(p){console.error(p),n[u?"replace":"assign"](f)}}function r(l,c){const u=ct({},t.state,am(i.value.back,l,i.value.forward,!0),c,{position:i.value.position});o(l,u,!0),s.value=l}function a(l,c){const u=ct({},i.value,t.state,{forward:l,scroll:uu()});o(u.current,u,!0);const d=ct({},am(s.value,l,null),{position:u.position+1},c);o(l,d,!1),s.value=l}return{location:s,state:i,push:a,replace:r}}function gE(e){e=oE(e);const t=pE(e),n=fE(e,t.state,t.location,t.replace);function s(o,r=!0){r||n.pauseListeners(),history.go(o)}const i=ct({location:"",base:e,go:s,createHref:aE.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}function mE(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),gE(e)}function _E(e){return typeof e=="string"||e&&typeof e=="object"}function gy(e){return typeof e=="string"||typeof e=="symbol"}const di={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},my=Symbol("");var lm;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(lm||(lm={}));function xr(e,t){return ct(new Error,{type:e,[my]:!0},t)}function Fs(e,t){return e instanceof Error&&my in e&&(t==null||!!(e.type&t))}const cm="[^/]+?",vE={sensitive:!1,strict:!1,start:!0,end:!0},bE=/[.+*?^${}()[\]/\\]/g;function yE(e,t){const n=ct({},vE,t),s=[];let i=n.start?"^":"";const o=[];for(const c of e){const u=c.length?[]:[90];n.strict&&!c.length&&(i+="/");for(let d=0;dt.length?t.length===1&&t[0]===80?1:-1:0}function xE(e,t){let n=0;const s=e.score,i=t.score;for(;n0&&t[t.length-1]<0}const kE={type:0,value:""},SE=/[a-zA-Z0-9_]/;function $E(e){if(!e)return[[]];if(e==="/")return[[kE]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(p){throw new Error(`ERR (${n})/"${c}": ${p}`)}let n=0,s=n;const i=[];let o;function r(){o&&i.push(o),o=[]}let a=0,l,c="",u="";function d(){c&&(n===0?o.push({type:0,value:c}):n===1||n===2||n===3?(o.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:c,regexp:u,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),c="")}function f(){c+=l}for(;a{r($)}:xa}function r(u){if(gy(u)){const d=s.get(u);d&&(s.delete(u),n.splice(n.indexOf(d),1),d.children.forEach(r),d.alias.forEach(r))}else{const d=n.indexOf(u);d>-1&&(n.splice(d,1),u.record.name&&s.delete(u.record.name),u.children.forEach(r),u.alias.forEach(r))}}function a(){return n}function l(u){let d=0;for(;d=0&&(u.record.path!==n[d].record.path||!_y(u,n[d]));)d++;n.splice(d,0,u),u.record.name&&!hm(u)&&s.set(u.record.name,u)}function c(u,d){let f,p={},m,_;if("name"in u&&u.name){if(f=s.get(u.name),!f)throw xr(1,{location:u});_=f.record.name,p=ct(dm(d.params,f.keys.filter($=>!$.optional).map($=>$.name)),u.params&&dm(u.params,f.keys.map($=>$.name))),m=f.stringify(p)}else if("path"in u)m=u.path,f=n.find($=>$.re.test(m)),f&&(p=f.parse(m),_=f.record.name);else{if(f=d.name?s.get(d.name):n.find($=>$.re.test(d.path)),!f)throw xr(1,{location:u,currentLocation:d});_=f.record.name,p=ct({},d.params,u.params),m=f.stringify(p)}const b=[];let w=f;for(;w;)b.unshift(w.record),w=w.parent;return{name:_,path:m,params:p,matched:b,meta:ME(b)}}return e.forEach(u=>o(u)),{addRoute:o,resolve:c,removeRoute:r,getRoutes:a,getRecordMatcher:i}}function dm(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function EE(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:PE(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function PE(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function hm(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function ME(e){return e.reduce((t,n)=>ct(t,n.meta),{})}function fm(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}function _y(e,t){return t.children.some(n=>n===e||_y(e,n))}const vy=/#/g,TE=/&/g,DE=/\//g,OE=/=/g,IE=/\?/g,by=/\+/g,RE=/%5B/g,LE=/%5D/g,yy=/%5E/g,NE=/%60/g,wy=/%7B/g,FE=/%7C/g,xy=/%7D/g,BE=/%20/g;function yf(e){return encodeURI(""+e).replace(FE,"|").replace(RE,"[").replace(LE,"]")}function VE(e){return yf(e).replace(wy,"{").replace(xy,"}").replace(yy,"^")}function eh(e){return yf(e).replace(by,"%2B").replace(BE,"+").replace(vy,"%23").replace(TE,"%26").replace(NE,"`").replace(wy,"{").replace(xy,"}").replace(yy,"^")}function HE(e){return eh(e).replace(OE,"%3D")}function jE(e){return yf(e).replace(vy,"%23").replace(IE,"%3F")}function WE(e){return e==null?"":jE(e).replace(DE,"%2F")}function Tc(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function zE(e){const t={};if(e===""||e==="?")return t;const s=(e[0]==="?"?e.slice(1):e).split("&");for(let i=0;io&&eh(o)):[s&&eh(s)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function YE(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=ds(s)?s.map(i=>i==null?null:""+i):s==null?s:""+s)}return t}const KE=Symbol(""),gm=Symbol(""),wf=Symbol(""),xf=Symbol(""),th=Symbol("");function Xr(){let e=[];function t(s){return e.push(s),()=>{const i=e.indexOf(s);i>-1&&e.splice(i,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function yi(e,t,n,s,i){const o=s&&(s.enterCallbacks[i]=s.enterCallbacks[i]||[]);return()=>new Promise((r,a)=>{const l=d=>{d===!1?a(xr(4,{from:n,to:t})):d instanceof Error?a(d):_E(d)?a(xr(2,{from:t,to:d})):(o&&s.enterCallbacks[i]===o&&typeof d=="function"&&o.push(d),r())},c=e.call(s&&s.instances[i],t,n,l);let u=Promise.resolve(c);e.length<3&&(u=u.then(l)),u.catch(d=>a(d))})}function nd(e,t,n,s){const i=[];for(const o of e)for(const r in o.components){let a=o.components[r];if(!(t!=="beforeRouteEnter"&&!o.instances[r]))if(UE(a)){const c=(a.__vccOpts||a)[t];c&&i.push(yi(c,n,s,o,r))}else{let l=a();i.push(()=>l.then(c=>{if(!c)return Promise.reject(new Error(`Couldn't resolve component "${r}" at "${o.path}"`));const u=QC(c)?c.default:c;o.components[r]=u;const f=(u.__vccOpts||u)[t];return f&&yi(f,n,s,o,r)()}))}}return i}function UE(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function mm(e){const t=ls(wf),n=ls(xf),s=ve(()=>t.resolve(q(e.to))),i=ve(()=>{const{matched:l}=s.value,{length:c}=l,u=l[c-1],d=n.matched;if(!u||!d.length)return-1;const f=d.findIndex(wr.bind(null,u));if(f>-1)return f;const p=_m(l[c-2]);return c>1&&_m(u)===p&&d[d.length-1].path!==p?d.findIndex(wr.bind(null,l[c-2])):f}),o=ve(()=>i.value>-1&&XE(n.params,s.value.params)),r=ve(()=>i.value>-1&&i.value===n.matched.length-1&&fy(n.params,s.value.params));function a(l={}){return JE(l)?t[q(e.replace)?"replace":"push"](q(e.to)).catch(xa):Promise.resolve()}return{route:s,href:ve(()=>s.value.href),isActive:o,isExactActive:r,navigate:a}}const qE=Ft({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:mm,setup(e,{slots:t}){const n=Ds(mm(e)),{options:s}=ls(wf),i=ve(()=>({[vm(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[vm(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&t.default(n);return e.custom?o:Mo("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},o)}}}),GE=qE;function JE(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function XE(e,t){for(const n in t){const s=t[n],i=e[n];if(typeof s=="string"){if(s!==i)return!1}else if(!ds(i)||i.length!==s.length||s.some((o,r)=>o!==i[r]))return!1}return!0}function _m(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const vm=(e,t,n)=>e??t??n,QE=Ft({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=ls(th),i=ve(()=>e.route||s.value),o=ls(gm,0),r=ve(()=>{let c=q(o);const{matched:u}=i.value;let d;for(;(d=u[c])&&!d.components;)c++;return c}),a=ve(()=>i.value.matched[r.value]);ac(gm,ve(()=>r.value+1)),ac(KE,a),ac(th,i);const l=be();return Vt(()=>[l.value,a.value,e.name],([c,u,d],[f,p,m])=>{u&&(u.instances[d]=c,p&&p!==u&&c&&c===f&&(u.leaveGuards.size||(u.leaveGuards=p.leaveGuards),u.updateGuards.size||(u.updateGuards=p.updateGuards))),c&&u&&(!p||!wr(u,p)||!f)&&(u.enterCallbacks[d]||[]).forEach(_=>_(c))},{flush:"post"}),()=>{const c=i.value,u=e.name,d=a.value,f=d&&d.components[u];if(!f)return bm(n.default,{Component:f,route:c});const p=d.props[u],m=p?p===!0?c.params:typeof p=="function"?p(c):p:null,b=Mo(f,ct({},m,t,{onVnodeUnmounted:w=>{w.component.isUnmounted&&(d.instances[u]=null)},ref:l}));return bm(n.default,{Component:b,route:c})||b}}});function bm(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const ky=QE;function ZE(e){const t=CE(e.routes,e),n=e.parseQuery||zE,s=e.stringifyQuery||pm,i=e.history,o=Xr(),r=Xr(),a=Xr(),l=of(di);let c=di;nr&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=ed.bind(null,M=>""+M),d=ed.bind(null,WE),f=ed.bind(null,Tc);function p(M,se){let de,ke;return gy(M)?(de=t.getRecordMatcher(M),ke=se):ke=M,t.addRoute(ke,de)}function m(M){const se=t.getRecordMatcher(M);se&&t.removeRoute(se)}function _(){return t.getRoutes().map(M=>M.record)}function b(M){return!!t.getRecordMatcher(M)}function w(M,se){if(se=ct({},se||l.value),typeof M=="string"){const O=td(n,M,se.path),H=t.resolve({path:O.path},se),W=i.createHref(O.fullPath);return ct(O,H,{params:f(H.params),hash:Tc(O.hash),redirectedFrom:void 0,href:W})}let de;if("path"in M)de=ct({},M,{path:td(n,M.path,se.path).path});else{const O=ct({},M.params);for(const H in O)O[H]==null&&delete O[H];de=ct({},M,{params:d(O)}),se.params=d(se.params)}const ke=t.resolve(de,se),N=M.hash||"";ke.params=u(f(ke.params));const fe=tE(s,ct({},M,{hash:VE(N),path:ke.path})),v=i.createHref(fe);return ct({fullPath:fe,hash:N,query:s===pm?YE(M.query):M.query||{}},ke,{redirectedFrom:void 0,href:v})}function $(M){return typeof M=="string"?td(n,M,l.value.path):ct({},M)}function A(M,se){if(c!==M)return xr(8,{from:se,to:M})}function T(M){return x(M)}function k(M){return T(ct($(M),{replace:!0}))}function y(M){const se=M.matched[M.matched.length-1];if(se&&se.redirect){const{redirect:de}=se;let ke=typeof de=="function"?de(M):de;return typeof ke=="string"&&(ke=ke.includes("?")||ke.includes("#")?ke=$(ke):{path:ke},ke.params={}),ct({query:M.query,hash:M.hash,params:"path"in ke?{}:M.params},ke)}}function x(M,se){const de=c=w(M),ke=l.value,N=M.state,fe=M.force,v=M.replace===!0,O=y(de);if(O)return x(ct($(O),{state:typeof O=="object"?ct({},N,O.state):N,force:fe,replace:v}),se||de);const H=de;H.redirectedFrom=se;let W;return!fe&&nE(s,ke,de)&&(W=xr(16,{to:H,from:ke}),we(ke,ke,!0,!1)),(W?Promise.resolve(W):E(H,ke)).catch(ie=>Fs(ie)?Fs(ie,2)?ie:ce(ie):Q(ie,H,ke)).then(ie=>{if(ie){if(Fs(ie,2))return x(ct({replace:v},$(ie.to),{state:typeof ie.to=="object"?ct({},N,ie.to.state):N,force:fe}),se||H)}else ie=G(H,ke,!0,v,N);return B(H,ke,ie),ie})}function C(M,se){const de=A(M,se);return de?Promise.reject(de):Promise.resolve()}function P(M){const se=R.values().next().value;return se&&typeof se.runWithContext=="function"?se.runWithContext(M):M()}function E(M,se){let de;const[ke,N,fe]=eP(M,se);de=nd(ke.reverse(),"beforeRouteLeave",M,se);for(const O of ke)O.leaveGuards.forEach(H=>{de.push(yi(H,M,se))});const v=C.bind(null,M,se);return de.push(v),oe(de).then(()=>{de=[];for(const O of o.list())de.push(yi(O,M,se));return de.push(v),oe(de)}).then(()=>{de=nd(N,"beforeRouteUpdate",M,se);for(const O of N)O.updateGuards.forEach(H=>{de.push(yi(H,M,se))});return de.push(v),oe(de)}).then(()=>{de=[];for(const O of fe)if(O.beforeEnter)if(ds(O.beforeEnter))for(const H of O.beforeEnter)de.push(yi(H,M,se));else de.push(yi(O.beforeEnter,M,se));return de.push(v),oe(de)}).then(()=>(M.matched.forEach(O=>O.enterCallbacks={}),de=nd(fe,"beforeRouteEnter",M,se),de.push(v),oe(de))).then(()=>{de=[];for(const O of r.list())de.push(yi(O,M,se));return de.push(v),oe(de)}).catch(O=>Fs(O,8)?O:Promise.reject(O))}function B(M,se,de){a.list().forEach(ke=>P(()=>ke(M,se,de)))}function G(M,se,de,ke,N){const fe=A(M,se);if(fe)return fe;const v=se===di,O=nr?history.state:{};de&&(ke||v?i.replace(M.fullPath,ct({scroll:v&&O&&O.scroll},N)):i.push(M.fullPath,N)),l.value=M,we(M,se,de,v),ce()}let ae;function Y(){ae||(ae=i.listen((M,se,de)=>{if(!ee.listening)return;const ke=w(M),N=y(ke);if(N){x(ct(N,{replace:!0}),ke).catch(xa);return}c=ke;const fe=l.value;nr&&uE(rm(fe.fullPath,de.delta),uu()),E(ke,fe).catch(v=>Fs(v,12)?v:Fs(v,2)?(x(v.to,ke).then(O=>{Fs(O,20)&&!de.delta&&de.type===ja.pop&&i.go(-1,!1)}).catch(xa),Promise.reject()):(de.delta&&i.go(-de.delta,!1),Q(v,ke,fe))).then(v=>{v=v||G(ke,fe,!1),v&&(de.delta&&!Fs(v,8)?i.go(-de.delta,!1):de.type===ja.pop&&Fs(v,20)&&i.go(-1,!1)),B(ke,fe,v)}).catch(xa)}))}let L=Xr(),I=Xr(),V;function Q(M,se,de){ce(M);const ke=I.list();return ke.length?ke.forEach(N=>N(M,se,de)):console.error(M),Promise.reject(M)}function Z(){return V&&l.value!==di?Promise.resolve():new Promise((M,se)=>{L.add([M,se])})}function ce(M){return V||(V=!M,Y(),L.list().forEach(([se,de])=>M?de(M):se()),L.reset()),M}function we(M,se,de,ke){const{scrollBehavior:N}=e;if(!nr||!N)return Promise.resolve();const fe=!de&&dE(rm(M.fullPath,0))||(ke||!de)&&history.state&&history.state.scroll||null;return tn().then(()=>N(M,se,fe)).then(v=>v&&cE(v)).catch(v=>Q(v,M,se))}const K=M=>i.go(M);let X;const R=new Set,ee={currentRoute:l,listening:!0,addRoute:p,removeRoute:m,hasRoute:b,getRoutes:_,resolve:w,options:e,push:T,replace:k,go:K,back:()=>K(-1),forward:()=>K(1),beforeEach:o.add,beforeResolve:r.add,afterEach:a.add,onError:I.add,isReady:Z,install(M){const se=this;M.component("RouterLink",GE),M.component("RouterView",ky),M.config.globalProperties.$router=se,Object.defineProperty(M.config.globalProperties,"$route",{enumerable:!0,get:()=>q(l)}),nr&&!X&&l.value===di&&(X=!0,T(i.location).catch(N=>{}));const de={};for(const N in di)Object.defineProperty(de,N,{get:()=>l.value[N],enumerable:!0});M.provide(wf,se),M.provide(xf,cb(de)),M.provide(th,l);const ke=M.unmount;R.add(M),M.unmount=function(){R.delete(M),R.size<1&&(c=di,ae&&ae(),ae=null,l.value=di,X=!1,V=!1),ke()}}};function oe(M){return M.reduce((se,de)=>se.then(()=>P(de)),Promise.resolve())}return ee}function eP(e,t){const n=[],s=[],i=[],o=Math.max(t.matched.length,e.matched.length);for(let r=0;rwr(c,a))?s.push(a):n.push(a));const l=e.matched[r];l&&(t.matched.find(c=>wr(c,l))||i.push(l))}return[n,s,i]}function tP(){return ls(xf)}const nP={getCookie(e){const n=`; ${document.cookie}`.split(`; ${e}=`);if(n.length===2)return n.pop().split(";").shift()}};bf("WGDashboardStore",{state:()=>({WireguardConfigurations:void 0,DashboardConfiguration:void 0}),actions:{async getDashboardConfiguration(){await xt("/api/getDashboardConfiguration",{},e=>{console.log(e.status),e.status&&(this.DashboardConfiguration=e.data)})}}});const ym="[a-fA-F\\d:]",xi=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${ym})|(?<=${ym})(?=\\s|$))`:"",ss="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",Bt="[a-fA-F\\d]{1,4}",du=` (?: (?:${Bt}:){7}(?:${Bt}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8 (?:${Bt}:){6}(?:${ss}|:${Bt}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4 @@ -37,32 +37,32 @@ var bS=Object.defineProperty;var yS=(e,t,n)=>t in e?bS(e,t,{enumerable:!0,config (?:${Bt}:){1}(?:(?::${Bt}){0,4}:${ss}|(?::${Bt}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4 (?::(?:(?::${Bt}){0,5}:${ss}|(?::${Bt}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4 )(?:%[0-9a-zA-Z]{1,})? // %eth0 %1 -`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),sP=new RegExp(`(?:^${ss}$)|(?:^${du}$)`),iP=new RegExp(`^${ss}$`),oP=new RegExp(`^${du}$`),hu=e=>e&&e.exact?sP:new RegExp(`(?:${xi(e)}${ss}${xi(e)})|(?:${xi(e)}${du}${xi(e)})`,"g");hu.v4=e=>e&&e.exact?iP:new RegExp(`${xi(e)}${ss}${xi(e)}`,"g");hu.v6=e=>e&&e.exact?oP:new RegExp(`${xi(e)}${du}${xi(e)}`,"g");const Sy={exact:!1},$y=`${hu.v4().source}\\/(3[0-2]|[12]?[0-9])`,Ay=`${hu.v6().source}\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])`,rP=new RegExp(`^${$y}$`),aP=new RegExp(`^${Ay}$`),lP=({exact:e}=Sy)=>e?rP:new RegExp($y,"g"),cP=({exact:e}=Sy)=>e?aP:new RegExp(Ay,"g"),Cy=lP({exact:!0}),Ey=cP({exact:!0}),kf=e=>Cy.test(e)?4:Ey.test(e)?6:0;kf.v4=e=>Cy.test(e);kf.v6=e=>Ey.test(e);const Bn=bf("WireguardConfigurationsStore",{state:()=>({Configurations:void 0,searchString:"",ConfigurationListInterval:void 0,PeerScheduleJobs:{dropdowns:{Field:[{display:"Total Received",value:"total_receive",unit:"GB",type:"number"},{display:"Total Sent",value:"total_sent",unit:"GB",type:"number"},{display:"Total Data",value:"total_data",unit:"GB",type:"number"},{display:"Date",value:"date",type:"date"}],Operator:[{display:"equal",value:"eq"},{display:"not equal",value:"neq"},{display:"larger than",value:"lgt"},{display:"less than",value:"lst"}],Action:[{display:"Restrict Peer",value:"restrict"},{display:"Delete Peer",value:"delete"}]}}}),actions:{async getConfigurations(){await xt("/api/getWireguardConfigurations",{},e=>{e.status&&(this.Configurations=e.data)})},regexCheckIP(e){return/((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$))/.test(e)},checkCIDR(e){return kf(e)!==0}}}),ze=(e,t)=>{const n=e.__vccOpts||e;for(const[s,i]of t)n[s]=i;return n},uP={name:"navbar",setup(){const e=Bn(),t=et();return{wireguardConfigurationsStore:e,dashboardConfigurationStore:t}},data(){return{updateAvailable:!1,updateMessage:"Checking for update...",updateUrl:""}},mounted(){xt("/api/getDashboardUpdate",{},e=>{e.status?(e.data&&(this.updateAvailable=!0,this.updateUrl=e.data),this.updateMessage=e.message):(this.updateMessage="Failed to check available update",console.log(`Failed to get update: ${e.message}`))})}},zi=e=>(Kt("data-v-a0b378dd"),e=e(),qt(),e),dP=["data-bs-theme"],hP={id:"sidebarMenu",class:"bg-body-tertiary sidebar border h-100 rounded-3 shadow overflow-y-scroll"},fP={class:"sidebar-sticky pt-3"},pP={class:"nav flex-column px-2"},mP={class:"nav-item"},gP=zi(()=>h("i",{class:"bi bi-house me-2"},null,-1)),_P={class:"nav-item"},vP=zi(()=>h("i",{class:"bi bi-gear me-2"},null,-1)),bP=zi(()=>h("hr",{class:"text-body"},null,-1)),yP=zi(()=>h("h6",{class:"sidebar-heading px-3 mt-4 mb-1 text-muted text-center"},[h("i",{class:"bi bi-body-text me-2"}),ye(" Configurations ")],-1)),wP={class:"nav flex-column px-2"},xP={class:"nav-item"},kP=zi(()=>h("hr",{class:"text-body"},null,-1)),SP=zi(()=>h("h6",{class:"sidebar-heading px-3 mt-4 mb-1 text-muted text-center"},[h("i",{class:"bi bi-tools me-2"}),ye(" Tools ")],-1)),$P={class:"nav flex-column px-2"},AP={class:"nav-item"},CP={class:"nav-item"},EP=zi(()=>h("hr",{class:"text-body"},null,-1)),PP={class:"nav flex-column px-2"},MP={class:"nav-item"},TP=zi(()=>h("i",{class:"bi bi-box-arrow-left me-2"},null,-1)),DP={class:"nav-item",style:{"font-size":"0.8rem"}},OP=["href"],IP={class:"nav-link text-muted rounded-3"},RP={key:1,class:"nav-link text-muted"};function LP(e,t,n,s,i,o){const r=je("RouterLink");return D(),F("div",{class:Ee(["col-md-3 col-lg-2 d-md-block p-3 navbar-container",{active:this.dashboardConfigurationStore.ShowNavBar}]),"data-bs-theme":s.dashboardConfigurationStore.Configuration.Server.dashboard_theme,style:{height:"calc(-50px + 100vh)"}},[h("nav",hP,[h("div",fP,[h("ul",pP,[h("li",mP,[$e(r,{class:"nav-link rounded-3",to:"/","exact-active-class":"active"},{default:Me(()=>[gP,ye(" Home")]),_:1})]),h("li",_P,[$e(r,{class:"nav-link rounded-3",to:"/settings","exact-active-class":"active"},{default:Me(()=>[vP,ye(" Settings")]),_:1})])]),bP,yP,h("ul",wP,[h("li",xP,[(D(!0),F(Te,null,Ke(this.wireguardConfigurationsStore.Configurations,a=>(D(),Ne(r,{to:"/configuration/"+a.Name+"/peers",class:"nav-link nav-conf-link rounded-3","active-class":"active"},{default:Me(()=>[h("span",{class:Ee(["dot me-2",{active:a.Status}])},null,2),ye(" "+_e(a.Name),1)]),_:2},1032,["to"]))),256))])]),kP,SP,h("ul",$P,[h("li",AP,[$e(r,{to:"/ping",class:"nav-link rounded-3","active-class":"active"},{default:Me(()=>[ye("Ping")]),_:1})]),h("li",CP,[$e(r,{to:"/traceroute",class:"nav-link rounded-3","active-class":"active"},{default:Me(()=>[ye("Traceroute")]),_:1})])]),EP,h("ul",PP,[h("li",MP,[h("a",{class:"nav-link text-danger rounded-3",onClick:t[0]||(t[0]=a=>this.dashboardConfigurationStore.signOut()),role:"button",style:{"font-weight":"bold"}},[TP,ye(" Sign Out")])]),h("li",DP,[this.updateAvailable?(D(),F("a",{key:0,href:this.updateUrl,class:"text-decoration-none",target:"_blank"},[h("small",IP,_e(this.updateMessage),1)],8,OP)):(D(),F("small",RP,_e(this.updateMessage),1))])])])])],10,dP)}const NP=ze(uP,[["render",LP],["__scopeId","data-v-a0b378dd"]]),FP={name:"message",props:{message:Object},mounted(){setTimeout(()=>{this.message.show=!1},5e3)}},BP=["id"],VP={class:"card-body"},HP={class:"fw-bold d-block",style:{"text-transform":"uppercase"}};function jP(e,t,n,s,i,o){return D(),F("div",{class:Ee(["card shadow rounded-3 position-relative mb-2",{"text-bg-danger":this.message.type==="danger","text-bg-success":this.message.type==="success","text-bg-warning":this.message.type==="warning"}]),id:this.message.id,style:{width:"400px"}},[h("div",VP,[h("small",HP,"FROM "+_e(this.message.from),1),ye(" "+_e(this.message.content),1)])],10,BP)}const Py=ze(FP,[["render",jP]]),WP={name:"index",components:{Message:Py,Navbar:NP},async setup(){return{dashboardConfigurationStore:et()}},computed:{getMessages(){return this.dashboardConfigurationStore.Messages.filter(e=>e.show)}}},zP=["data-bs-theme"],YP={class:"row h-100"},UP={class:"col-md-9 ml-sm-auto col-lg-10 px-md-4 overflow-y-scroll mb-0",style:{height:"calc(100vh - 50px)"}},KP={class:"messageCentre text-body position-fixed"};function qP(e,t,n,s,i,o){const r=je("Navbar"),a=je("RouterView"),l=je("Message");return D(),F("div",{class:"container-fluid flex-grow-1 main","data-bs-theme":this.dashboardConfigurationStore.Configuration.Server.dashboard_theme},[h("div",YP,[$e(r),h("main",UP,[(D(),Ne(uf,null,{default:Me(()=>[$e(a,null,{default:Me(({Component:c})=>[$e(Ct,{name:"fade2",mode:"out-in"},{default:Me(()=>[(D(),Ne(Io(c)))]),_:2},1024)]),_:1})]),_:1})),h("div",KP,[$e(Wi,{name:"message",tag:"div",class:"position-relative"},{default:Me(()=>[(D(!0),F(Te,null,Ke(o.getMessages.slice().reverse(),c=>(D(),Ne(l,{message:c,key:c.id},null,8,["message"]))),128))]),_:1})])])])],8,zP)}const GP=ze(WP,[["render",qP],["__scopeId","data-v-b776d181"]]);var My={exports:{}};(function(e,t){(function(n,s){e.exports=s()})(_v,function(){var n=1e3,s=6e4,i=36e5,o="millisecond",r="second",a="minute",l="hour",c="day",u="week",d="month",f="quarter",p="year",g="date",_="Invalid Date",b=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,w=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,$={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(Y){var L=["th","st","nd","rd"],I=Y%100;return"["+Y+(L[(I-20)%10]||L[I]||L[0])+"]"}},A=function(Y,L,I){var V=String(Y);return!V||V.length>=L?Y:""+Array(L+1-V.length).join(I)+Y},T={s:A,z:function(Y){var L=-Y.utcOffset(),I=Math.abs(L),V=Math.floor(I/60),Q=I%60;return(L<=0?"+":"-")+A(V,2,"0")+":"+A(Q,2,"0")},m:function Y(L,I){if(L.date()1)return Y(ce[0])}else{var we=L.name;y[we]=L,Q=we}return!V&&Q&&(k=Q),Q||!V&&k},E=function(Y,L){if(C(Y))return Y.clone();var I=typeof L=="object"?L:{};return I.date=Y,I.args=arguments,new G(I)},B=T;B.l=P,B.i=C,B.w=function(Y,L){return E(Y,{locale:L.$L,utc:L.$u,x:L.$x,$offset:L.$offset})};var G=function(){function Y(I){this.$L=P(I.locale,null,!0),this.parse(I),this.$x=this.$x||I.x||{},this[x]=!0}var L=Y.prototype;return L.parse=function(I){this.$d=function(V){var Q=V.date,Z=V.utc;if(Q===null)return new Date(NaN);if(B.u(Q))return new Date;if(Q instanceof Date)return new Date(Q);if(typeof Q=="string"&&!/Z$/i.test(Q)){var ce=Q.match(b);if(ce){var we=ce[2]-1||0,U=(ce[7]||"0").substring(0,3);return Z?new Date(Date.UTC(ce[1],we,ce[3]||1,ce[4]||0,ce[5]||0,ce[6]||0,U)):new Date(ce[1],we,ce[3]||1,ce[4]||0,ce[5]||0,ce[6]||0,U)}}return new Date(Q)}(I),this.init()},L.init=function(){var I=this.$d;this.$y=I.getFullYear(),this.$M=I.getMonth(),this.$D=I.getDate(),this.$W=I.getDay(),this.$H=I.getHours(),this.$m=I.getMinutes(),this.$s=I.getSeconds(),this.$ms=I.getMilliseconds()},L.$utils=function(){return B},L.isValid=function(){return this.$d.toString()!==_},L.isSame=function(I,V){var Q=E(I);return this.startOf(V)<=Q&&Q<=this.endOf(V)},L.isAfter=function(I,V){return E(I){if(e.status===200)return e.json();throw new Error(e.statusText)}).then(()=>{this.endTime=Cn(),this.active=!0}).catch(e=>{this.active=!1,this.errorMsg=e}),this.refreshing=!1)},async connect(){await fetch(`${this.server.host}/api/authenticate`,{headers:{"content-type":"application/json","wg-dashboard-apikey":this.server.apiKey},body:JSON.stringify({host:window.location.hostname}),method:"POST",signal:AbortSignal.timeout(5e3)}).then(e=>e.json()).then(e=>{this.$emit("setActiveServer"),this.$router.push("/")})}},mounted(){this.handshake()},computed:{getHandshakeTime(){return this.startTime&&this.endTime?`${Cn().subtract(this.startTime).millisecond()}ms`:this.refreshing?"Pinging...":this.errorMsg?this.errorMsg:"N/A"}}},Br=e=>(Kt("data-v-03a1c13c"),e=e(),qt(),e),QP={class:"card rounded-3"},ZP={class:"card-body"},eM={class:"d-flex gap-3 w-100 remoteServerContainer"},tM={class:"d-flex gap-3 align-items-center flex-grow-1"},nM=Br(()=>h("i",{class:"bi bi-server"},null,-1)),sM={class:"d-flex gap-3 align-items-center flex-grow-1"},iM=Br(()=>h("i",{class:"bi bi-key-fill"},null,-1)),oM={class:"d-flex gap-2 button-group"},rM=Br(()=>h("i",{class:"bi bi-trash"},null,-1)),aM=[rM],lM=Br(()=>h("i",{class:"bi bi-arrow-right-circle"},null,-1)),cM=[lM],uM={class:"card-footer gap-2 d-flex align-items-center"},dM={key:0,class:"spin ms-auto text-primary-emphasis"},hM=Br(()=>h("i",{class:"bi bi-arrow-clockwise"},null,-1)),fM=[hM],pM=Br(()=>h("i",{class:"bi bi-arrow-clockwise me"},null,-1)),mM=[pM];function gM(e,t,n,s,i,o){return D(),F("div",QP,[h("div",ZP,[h("div",eM,[h("div",tM,[nM,Re(h("input",{class:"form-control form-control-sm",onBlur:t[0]||(t[0]=r=>this.handshake()),"onUpdate:modelValue":t[1]||(t[1]=r=>this.server.host=r),type:"url"},null,544),[[We,this.server.host]])]),h("div",sM,[iM,Re(h("input",{class:"form-control form-control-sm",onBlur:t[2]||(t[2]=r=>this.handshake()),"onUpdate:modelValue":t[3]||(t[3]=r=>this.server.apiKey=r),type:"text"},null,544),[[We,this.server.apiKey]])]),h("div",oM,[h("button",{onClick:t[4]||(t[4]=r=>this.$emit("delete")),class:"ms-auto btn btn-sm bg-danger-subtle text-danger-emphasis border-1 border-danger-subtle"},aM),h("button",{onClick:t[5]||(t[5]=r=>this.connect()),class:Ee([{disabled:!this.active},"ms-auto btn btn-sm bg-success-subtle text-success-emphasis border-1 border-success-subtle"])},cM,2)])])]),h("div",uM,[h("span",{class:Ee(["dot ms-0 me-2",[this.active?"active":"inactive"]])},null,2),h("small",null,_e(this.getHandshakeTime),1),this.refreshing?(D(),F("div",dM,fM)):(D(),F("a",{key:1,role:"button",onClick:t[6]||(t[6]=r=>this.handshake()),class:"text-primary-emphasis text-decoration-none ms-auto disabled"},mM))])])}const _M=ze(XP,[["render",gM],["__scopeId","data-v-03a1c13c"]]),vM={name:"RemoteServerList",setup(){return{store:et()}},components:{RemoteServer:_M}},bM={class:"w-100 mt-3"},yM={class:"d-flex align-items-center mb-3"},wM=h("h5",{class:"mb-0"},"Server List",-1),xM=h("i",{class:"bi bi-plus-circle-fill me-2"},null,-1),kM={class:"w-100 d-flex gap-3 flex-column p-3 border border-1 border-secondary-subtle rounded-3",style:{height:"400px","overflow-y":"scroll"}},SM={key:0,class:"text-muted m-auto"},$M=h("i",{class:"bi bi-plus-circle-fill mx-1"},null,-1);function AM(e,t,n,s,i,o){const r=je("RemoteServer");return D(),F("div",bM,[h("div",yM,[wM,h("button",{onClick:t[0]||(t[0]=a=>this.store.addCrossServerConfiguration()),class:"btn bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle shadow-sm ms-auto"},[xM,ye("Server ")])]),h("div",kM,[(D(!0),F(Te,null,Ke(this.store.CrossServerConfiguration.ServerList,(a,l)=>(D(),Ne(r,{onSetActiveServer:c=>this.store.setActiveCrossServer(l),onDelete:c=>this.store.deleteCrossServerConfiguration(l),key:l,server:a},null,8,["onSetActiveServer","onDelete","server"]))),128)),Object.keys(this.store.CrossServerConfiguration.ServerList).length===0?(D(),F("h6",SM,[ye(" Click"),$M,ye("to add your server")])):re("",!0)])])}const CM=ze(vM,[["render",AM]]),EM={name:"signin",components:{RemoteServerList:CM,Message:Py},async setup(){const e=et();let t="dark",n=!1,s;return e.IsElectronApp||await Promise.all([xt("/api/getDashboardTheme",{},i=>{t=i.data}),xt("/api/isTotpEnabled",{},i=>{n=i.data}),xt("/api/getDashboardVersion",{},i=>{s=i.data})]),e.removeActiveCrossServer(),{store:e,theme:t,totpEnabled:n,version:s}},data(){return{username:"",password:"",totp:"",loginError:!1,loginErrorMessage:"",loading:!1}},computed:{getMessages(){return this.store.Messages.filter(e=>e.show)}},methods:{async auth(){this.username&&this.password&&(this.totpEnabled&&this.totp||!this.totpEnabled)?(this.loading=!0,await ft("/api/authenticate",{username:this.username,password:this.password,totp:this.totp},e=>{e.status?(this.loginError=!1,this.$refs.signInBtn.classList.add("signedIn"),e.message?this.$router.push("/welcome"):this.store.Redirect!==void 0?this.$router.push(this.store.Redirect):this.$router.push("/")):(this.loginError=!0,this.loginErrorMessage=e.message,document.querySelectorAll("input[required]").forEach(t=>{t.classList.remove("is-valid"),t.classList.add("is-invalid")}),this.loading=!1)})):document.querySelectorAll("input[required]").forEach(e=>{e.value.length===0?(e.classList.remove("is-valid"),e.classList.add("is-invalid")):(e.classList.remove("is-invalid"),e.classList.add("is-valid"))})}}},si=e=>(Kt("data-v-e351e82c"),e=e(),qt(),e),PM=["data-bs-theme"],MM={class:"login-box m-auto"},TM={class:"m-auto",style:{width:"700px"}},DM=si(()=>h("h4",{class:"mb-0 text-body"},"Welcome to",-1)),OM=si(()=>h("span",{class:"dashboardLogo display-3"},[h("strong",null,"WGDashboard")],-1)),IM={key:0,class:"alert alert-danger mt-2 mb-0",role:"alert"},RM={class:"form-group text-body"},LM=si(()=>h("label",{for:"username",class:"text-left",style:{"font-size":"1rem"}},[h("i",{class:"bi bi-person-circle"})],-1)),NM={class:"form-group text-body"},FM=si(()=>h("label",{for:"password",class:"text-left",style:{"font-size":"1rem"}},[h("i",{class:"bi bi-key-fill"})],-1)),BM={key:0,class:"form-group text-body"},VM=si(()=>h("label",{for:"totp",class:"text-left",style:{"font-size":"1rem"}},[h("i",{class:"bi bi-lock-fill"})],-1)),HM={class:"btn btn-lg btn-dark ms-auto mt-4 w-100 d-flex btn-brand signInBtn",ref:"signInBtn"},jM={key:0,class:"d-flex w-100"},WM=si(()=>h("i",{class:"ms-auto bi bi-chevron-right"},null,-1)),zM={key:1,class:"d-flex w-100 align-items-center"},YM=si(()=>h("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},[h("span",{class:"visually-hidden"},"Loading...")],-1)),UM={key:3,class:"d-flex mt-3"},KM={class:"form-check form-switch ms-auto"},qM=si(()=>h("label",{class:"form-check-label",for:"flexSwitchCheckChecked"},"Access Remote Server",-1)),GM={class:"text-muted pb-3 d-block w-100 text-center mt-3"},JM=si(()=>h("a",{href:"https://github.com/donaldzou",target:"_blank"},[h("strong",null,"Donald Zou")],-1)),XM={class:"messageCentre text-body position-absolute end-0 m-3"};function QM(e,t,n,s,i,o){const r=je("RemoteServerList"),a=je("Message");return D(),F("div",{class:"container-fluid login-container-fluid d-flex main flex-column py-4 text-body",style:{"overflow-y":"scroll"},"data-bs-theme":this.theme},[h("div",MM,[h("div",TM,[DM,OM,i.loginError?(D(),F("div",IM,_e(this.loginErrorMessage),1)):re("",!0),this.store.CrossServerConfiguration.Enable?(D(),Ne(r,{key:2})):(D(),F("form",{key:1,onSubmit:t[3]||(t[3]=l=>{l.preventDefault(),this.auth()})},[h("div",RM,[LM,Re(h("input",{type:"text","onUpdate:modelValue":t[0]||(t[0]=l=>i.username=l),class:"form-control",id:"username",name:"username",autocomplete:"on",placeholder:"Username",required:""},null,512),[[We,i.username]])]),h("div",NM,[FM,Re(h("input",{type:"password","onUpdate:modelValue":t[1]||(t[1]=l=>i.password=l),class:"form-control",id:"password",name:"password",autocomplete:"on",placeholder:"Password",required:""},null,512),[[We,i.password]])]),s.totpEnabled?(D(),F("div",BM,[VM,Re(h("input",{class:"form-control totp",required:"",id:"totp",maxlength:"6",type:"text",inputmode:"numeric",autocomplete:"one-time-code",placeholder:"OTP from your authenticator","onUpdate:modelValue":t[2]||(t[2]=l=>this.totp=l)},null,512),[[We,this.totp]])])):re("",!0),h("button",HM,[this.loading?(D(),F("span",zM,[ye(" Signing In... "),YM])):(D(),F("span",jM,[ye(" Sign In"),WM]))],512)],32)),this.store.IsElectronApp?re("",!0):(D(),F("div",UM,[h("div",KM,[Re(h("input",{"onUpdate:modelValue":t[4]||(t[4]=l=>this.store.CrossServerConfiguration.Enable=l),class:"form-check-input",type:"checkbox",role:"switch",id:"flexSwitchCheckChecked"},null,512),[[In,this.store.CrossServerConfiguration.Enable]]),qM])]))])]),h("small",GM,[ye(" WGDashboard "+_e(this.version)+" | Developed with ❤️ by ",1),JM]),h("div",XM,[$e(Wi,{name:"message",tag:"div",class:"position-relative"},{default:Me(()=>[(D(!0),F(Te,null,Ke(o.getMessages.slice().reverse(),l=>(D(),Ne(a,{message:l,key:l.id},null,8,["message"]))),128))]),_:1})])],8,PM)}const ZM=ze(EM,[["render",QM],["__scopeId","data-v-e351e82c"]]),eT={name:"configurationCard",props:{c:{Name:String,Status:Boolean,PublicKey:String,PrivateKey:String}},data(){return{configurationToggling:!1}},setup(){return{dashboardConfigurationStore:et()}},methods:{toggle(){this.configurationToggling=!0,xt("/api/toggleWireguardConfiguration/",{configurationName:this.c.Name},e=>{e.status?this.dashboardConfigurationStore.newMessage("Server",`${this.c.Name} is ${e.data?"is on":"is off"}`):this.dashboardConfigurationStore.newMessage("Server",e.message,"danger"),this.c.Status=e.data,this.configurationToggling=!1})}}},tT={class:"card conf_card rounded-3 shadow text-decoration-none"},nT={class:"mb-0"},sT={class:"card-title mb-0"},iT=h("h6",{class:"mb-0 ms-auto"},[h("i",{class:"bi bi-chevron-right"})],-1),oT={class:"card-footer d-flex gap-2 flex-column"},rT={class:"row"},aT={class:"col-6 col-md-3"},lT=h("i",{class:"bi bi-arrow-down-up me-2"},null,-1),cT={class:"text-primary-emphasis col-6 col-md-3"},uT=h("i",{class:"bi bi-arrow-down me-2"},null,-1),dT={class:"text-success-emphasis col-6 col-md-3"},hT=h("i",{class:"bi bi-arrow-up me-2"},null,-1),fT={class:"text-md-end col-6 col-md-3"},pT={class:"d-flex align-items-center gap-2"},mT=h("small",{class:"text-muted"},[h("strong",{style:{"word-break":"keep-all"}},"Public Key")],-1),gT={class:"mb-0 d-block d-lg-inline-block"},_T={style:{"line-break":"anywhere"}},vT={class:"form-check form-switch ms-auto"},bT=["for"],yT={key:0,class:"spinner-border spinner-border-sm","aria-hidden":"true"},wT=["disabled","id"];function xT(e,t,n,s,i,o){const r=je("RouterLink");return D(),F("div",tT,[$e(r,{to:"/configuration/"+n.c.Name+"/peers",class:"card-body d-flex align-items-center gap-3 flex-wrap text-decoration-none"},{default:Me(()=>[h("h6",nT,[h("span",{class:Ee(["dot",{active:n.c.Status}])},null,2)]),h("h6",sT,[h("samp",null,_e(n.c.Name),1)]),iT]),_:1},8,["to"]),h("div",oT,[h("div",rT,[h("small",aT,[lT,ye(_e(n.c.DataUsage.Total>0?n.c.DataUsage.Total.toFixed(4):0)+" GB ",1)]),h("small",cT,[uT,ye(_e(n.c.DataUsage.Receive>0?n.c.DataUsage.Receive.toFixed(4):0)+" GB ",1)]),h("small",dT,[hT,ye(_e(n.c.DataUsage.Sent>0?n.c.DataUsage.Sent.toFixed(4):0)+" GB ",1)]),h("small",fT,[h("span",{class:Ee(["dot me-2",{active:n.c.ConnectedPeers>0}])},null,2),ye(_e(n.c.ConnectedPeers)+" Peers ",1)])]),h("div",pT,[mT,h("small",gT,[h("samp",_T,_e(n.c.PublicKey),1)]),h("div",vT,[h("label",{class:"form-check-label",style:{cursor:"pointer"},for:"switch"+n.c.PrivateKey},[ye(_e(this.configurationToggling?"Turning ":"")+" "+_e(n.c.Status?"On":"Off")+" ",1),this.configurationToggling?(D(),F("span",yT)):re("",!0)],8,bT),Re(h("input",{class:"form-check-input",style:{cursor:"pointer"},disabled:this.configurationToggling,type:"checkbox",role:"switch",id:"switch"+n.c.PrivateKey,onChange:t[0]||(t[0]=a=>this.toggle()),"onUpdate:modelValue":t[1]||(t[1]=a=>n.c.Status=a)},null,40,wT),[[In,n.c.Status]])])])])])}const kT=ze(eT,[["render",xT]]),ST={name:"configurationList",components:{ConfigurationCard:kT},async setup(){return{wireguardConfigurationsStore:Bn()}},data(){return{configurationLoaded:!1}},async mounted(){await this.wireguardConfigurationsStore.getConfigurations(),this.configurationLoaded=!0,this.wireguardConfigurationsStore.ConfigurationListInterval=setInterval(()=>{this.wireguardConfigurationsStore.getConfigurations()},1e4)},beforeUnmount(){clearInterval(this.wireguardConfigurationsStore.ConfigurationListInterval)}},Ty=e=>(Kt("data-v-bff52ca5"),e=e(),qt(),e),$T={class:"mt-md-5 mt-3"},AT={class:"container-md"},CT={class:"d-flex mb-4 configurationListTitle"},ET=Ty(()=>h("h3",{class:"text-body d-flex"},[h("i",{class:"bi bi-body-text me-2"}),h("span",null,"WireGuard Configurations")],-1)),PT=Ty(()=>h("i",{class:"bi bi-plus-circle-fill me-2"},null,-1)),MT={key:0},TT={key:0,class:"text-muted"},DT={key:1,class:"d-flex gap-3 flex-column mb-3"};function OT(e,t,n,s,i,o){const r=je("RouterLink"),a=je("ConfigurationCard");return D(),F("div",$T,[h("div",AT,[h("div",CT,[ET,$e(r,{to:"/new_configuration",class:"btn btn-dark btn-brand rounded-3 px-3 py-2 shadow ms-auto rounded-3"},{default:Me(()=>[PT,ye(" Configuration ")]),_:1})]),$e(Ct,{name:"fade",mode:"out-in"},{default:Me(()=>[this.configurationLoaded?(D(),F("div",MT,[this.wireguardConfigurationsStore.Configurations.length===0?(D(),F("p",TT,` You don't have any WireGuard configurations yet. Please check the configuration folder or change it in "Settings". By default the folder is "/etc/wireguard". `)):(D(),F("div",DT,[(D(!0),F(Te,null,Ke(this.wireguardConfigurationsStore.Configurations,l=>(D(),Ne(a,{key:l.Name,c:l},null,8,["c"]))),128))]))])):re("",!0)]),_:1})])])}const IT=ze(ST,[["render",OT],["__scopeId","data-v-bff52ca5"]]);let Fl;const RT=new Uint8Array(16);function LT(){if(!Fl&&(Fl=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Fl))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Fl(RT)}const on=[];for(let e=0;e<256;++e)on.push((e+256).toString(16).slice(1));function NT(e,t=0){return on[e[t+0]]+on[e[t+1]]+on[e[t+2]]+on[e[t+3]]+"-"+on[e[t+4]]+on[e[t+5]]+"-"+on[e[t+6]]+on[e[t+7]]+"-"+on[e[t+8]]+on[e[t+9]]+"-"+on[e[t+10]]+on[e[t+11]]+on[e[t+12]]+on[e[t+13]]+on[e[t+14]]+on[e[t+15]]}const FT=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),wg={randomUUID:FT};function Ts(e,t,n){if(wg.randomUUID&&!t&&!e)return wg.randomUUID();e=e||{};const s=e.random||(e.rng||LT)();if(s[6]=s[6]&15|64,s[8]=s[8]&63|128,t){n=n||0;for(let i=0;i<16;++i)t[n+i]=s[i];return t}return NT(s)}const BT={props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const e=et(),t=`input_${Ts()}`;return{store:e,uuid:t}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Peers[this.targetData]},methods:{async useValidation(){this.changed&&await ft("/api/updateDashboardConfigurationItem",{section:"Peers",key:this.targetData,value:this.value},e=>{e.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Peers[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=e.message),this.changed=!1,this.updating=!1})}}},VT={class:"form-group mb-2"},HT=["for"],jT=["id","disabled"],WT={class:"invalid-feedback"},zT={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1"},YT=h("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1),UT=["innerHTML"];function KT(e,t,n,s,i,o){return D(),F("div",VT,[h("label",{for:this.uuid,class:"text-muted mb-1"},[h("strong",null,[h("small",null,_e(this.title),1)])],8,HT),Re(h("input",{type:"text",class:Ee(["form-control",{"is-invalid":i.showInvalidFeedback,"is-valid":i.isValid}]),id:this.uuid,"onUpdate:modelValue":t[0]||(t[0]=r=>this.value=r),onKeydown:t[1]||(t[1]=r=>this.changed=!0),onBlur:t[2]||(t[2]=r=>o.useValidation()),disabled:this.updating},null,42,jT),[[We,this.value]]),h("div",WT,_e(this.invalidFeedback),1),n.warning?(D(),F("div",zT,[h("small",null,[YT,h("span",{innerHTML:n.warningText},null,8,UT)])])):re("",!0)])}const qT=ze(BT,[["render",KT]]),GT=e=>{},JT={name:"accountSettingsInputUsername",props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const e=et(),t=`input_${Ts()}`;return{store:e,uuid:t}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Account[this.targetData]},methods:{async useValidation(){this.changed&&(this.updating=!0,await ft("/api/updateDashboardConfigurationItem",{section:"Account",key:this.targetData,value:this.value},e=>{e.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=e.message),this.changed=!1,this.updating=!1}))}}},XT={class:"form-group mb-2"},QT=["for"],ZT=["id","disabled"],eD={class:"invalid-feedback"},tD={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1"},nD=h("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1),sD=["innerHTML"];function iD(e,t,n,s,i,o){return D(),F("div",XT,[h("label",{for:this.uuid,class:"text-muted mb-1"},[h("strong",null,[h("small",null,_e(this.title),1)])],8,QT),Re(h("input",{type:"text",class:Ee(["form-control",{"is-invalid":i.showInvalidFeedback,"is-valid":i.isValid}]),id:this.uuid,"onUpdate:modelValue":t[0]||(t[0]=r=>this.value=r),onKeydown:t[1]||(t[1]=r=>this.changed=!0),onBlur:t[2]||(t[2]=r=>o.useValidation()),disabled:this.updating},null,42,ZT),[[We,this.value]]),h("div",eD,_e(this.invalidFeedback),1),n.warning?(D(),F("div",tD,[h("small",null,[nD,h("span",{innerHTML:n.warningText},null,8,sD)])])):re("",!0)])}const oD=ze(JT,[["render",iD]]),rD={name:"accountSettingsInputPassword",props:{targetData:String,warning:!1,warningText:""},setup(){const e=et(),t=`input_${Ts()}`;return{store:e,uuid:t}},data(){return{value:{currentPassword:"",newPassword:"",repeatNewPassword:""},invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0}},methods:{async useValidation(){Object.values(this.value).find(e=>e.length===0)===void 0?this.value.newPassword===this.value.repeatNewPassword?await ft("/api/updateDashboardConfigurationItem",{section:"Account",key:this.targetData,value:this.value},e=>{e.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.isValid=!1,this.value={currentPassword:"",newPassword:"",repeatNewPassword:""}},5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=e.message)}):(this.showInvalidFeedback=!0,this.invalidFeedback="New passwords does not match"):(this.showInvalidFeedback=!0,this.invalidFeedback="Please fill in all required fields.")}}},aD={class:"d-flex flex-column"},lD={class:"row"},cD={class:"col-sm"},uD={class:"form-group mb-2"},dD=["for"],hD=h("strong",null,[h("small",null,"Current Password")],-1),fD=[hD],pD=["id"],mD={key:0,class:"invalid-feedback d-block"},gD={class:"col-sm"},_D={class:"form-group mb-2"},vD=["for"],bD=h("strong",null,[h("small",null,"New Password")],-1),yD=[bD],wD=["id"],xD={class:"col-sm"},kD={class:"form-group mb-2"},SD=["for"],$D=h("strong",null,[h("small",null,"Repeat New Password")],-1),AD=[$D],CD=["id"],ED=h("i",{class:"bi bi-save2-fill me-2"},null,-1);function PD(e,t,n,s,i,o){return D(),F("div",aD,[h("div",lD,[h("div",cD,[h("div",uD,[h("label",{for:"currentPassword_"+this.uuid,class:"text-muted mb-1"},fD,8,dD),Re(h("input",{type:"password",class:Ee(["form-control mb-2",{"is-invalid":i.showInvalidFeedback,"is-valid":i.isValid}]),"onUpdate:modelValue":t[0]||(t[0]=r=>this.value.currentPassword=r),id:"currentPassword_"+this.uuid},null,10,pD),[[We,this.value.currentPassword]]),i.showInvalidFeedback?(D(),F("div",mD,_e(this.invalidFeedback),1)):re("",!0)])]),h("div",gD,[h("div",_D,[h("label",{for:"newPassword_"+this.uuid,class:"text-muted mb-1"},yD,8,vD),Re(h("input",{type:"password",class:Ee(["form-control mb-2",{"is-invalid":i.showInvalidFeedback,"is-valid":i.isValid}]),"onUpdate:modelValue":t[1]||(t[1]=r=>this.value.newPassword=r),id:"newPassword_"+this.uuid},null,10,wD),[[We,this.value.newPassword]])])]),h("div",xD,[h("div",kD,[h("label",{for:"repeatNewPassword_"+this.uuid,class:"text-muted mb-1"},AD,8,SD),Re(h("input",{type:"password",class:Ee(["form-control mb-2",{"is-invalid":i.showInvalidFeedback,"is-valid":i.isValid}]),"onUpdate:modelValue":t[2]||(t[2]=r=>this.value.repeatNewPassword=r),id:"repeatNewPassword_"+this.uuid},null,10,CD),[[We,this.value.repeatNewPassword]])])])]),h("button",{class:"ms-auto btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm",onClick:t[3]||(t[3]=r=>this.useValidation())},[ED,ye("Update Password ")])])}const MD=ze(rD,[["render",PD]]),TD={name:"dashboardSettingsInputWireguardConfigurationPath",props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const e=et(),t=`input_${Ts()}`;return{store:e,uuid:t}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Server[this.targetData]},methods:{async useValidation(){this.changed&&await ft("/api/updateDashboardConfigurationItem",{section:"Server",key:this.targetData,value:this.value},e=>{e.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=e.message),this.changed=!1,this.updating=!1})}}},DD={class:"form-group mb-2"},OD=["for"],ID=["id","disabled"],RD={class:"invalid-feedback"},LD={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1"},ND=h("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1),FD=["innerHTML"];function BD(e,t,n,s,i,o){return D(),F("div",DD,[h("label",{for:this.uuid,class:"text-muted mb-1"},[h("strong",null,[h("small",null,_e(this.title),1)])],8,OD),Re(h("input",{type:"text",class:Ee(["form-control",{"is-invalid":this.showInvalidFeedback,"is-valid":this.isValid}]),id:this.uuid,"onUpdate:modelValue":t[0]||(t[0]=r=>this.value=r),onKeydown:t[1]||(t[1]=r=>this.changed=!0),onBlur:t[2]||(t[2]=r=>this.useValidation()),disabled:this.updating},null,42,ID),[[We,this.value]]),h("div",RD,_e(this.invalidFeedback),1),n.warning?(D(),F("div",LD,[h("small",null,[ND,h("span",{innerHTML:n.warningText},null,8,FD)])])):re("",!0)])}const VD=ze(TD,[["render",BD]]),HD={name:"dashboardTheme",setup(){return{dashboardConfigurationStore:et()}},methods:{async switchTheme(e){await ft("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_theme",value:e},t=>{t.status&&(this.dashboardConfigurationStore.Configuration.Server.dashboard_theme=e)})}}},jD={class:"card mb-4 shadow rounded-3"},WD=h("p",{class:"card-header"},"Dashboard Theme",-1),zD={class:"card-body d-flex gap-2"},YD=h("i",{class:"bi bi-sun-fill"},null,-1),UD=h("i",{class:"bi bi-moon-fill"},null,-1);function KD(e,t,n,s,i,o){return D(),F("div",jD,[WD,h("div",zD,[h("button",{class:Ee(["btn bg-primary-subtle text-primary-emphasis flex-grow-1",{active:this.dashboardConfigurationStore.Configuration.Server.dashboard_theme==="light"}]),onClick:t[0]||(t[0]=r=>this.switchTheme("light"))},[YD,ye(" Light ")],2),h("button",{class:Ee(["btn bg-primary-subtle text-primary-emphasis flex-grow-1",{active:this.dashboardConfigurationStore.Configuration.Server.dashboard_theme==="dark"}]),onClick:t[1]||(t[1]=r=>this.switchTheme("dark"))},[UD,ye(" Dark ")],2)])])}const qD=ze(HD,[["render",KD]]),GD={name:"dashboardSettingsInputIPAddressAndPort",props:{},setup(){const e=et(),t=`input_${Ts()}`;return{store:e,uuid:t}},data(){return{app_ip:"",app_port:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.app_ip=this.store.Configuration.Server.app_ip,this.app_port=this.store.Configuration.Server.app_port},methods:{async useValidation(){this.changed&&await ft("/api/updateDashboardConfigurationItem",{section:"Server",key:this.targetData,value:this.value},e=>{e.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=e.message)})}}},JD={class:"invalid-feedback d-block mt-0"},XD={class:"row"},QD={class:"form-group mb-2 col-sm"},ZD=["for"],e2=h("strong",null,[h("small",null,"Dashboard IP Address")],-1),t2=[e2],n2=["id"],s2=h("div",{class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block"},[h("small",null,[h("i",{class:"bi bi-exclamation-triangle-fill me-2"}),h("code",null,"0.0.0.0"),ye(" means it can be access by anyone with your server IP Address.")])],-1),i2={class:"form-group col-sm"},o2=["for"],r2=h("strong",null,[h("small",null,"Dashboard Port")],-1),a2=[r2],l2=["id"],c2=h("button",{class:"btn btn-success btn-sm fw-bold rounded-3"},[h("i",{class:"bi bi-floppy-fill me-2"}),ye("Update Dashboard Settings & Restart ")],-1);function u2(e,t,n,s,i,o){return D(),F("div",null,[h("div",JD,_e(this.invalidFeedback),1),h("div",XD,[h("div",QD,[h("label",{for:"app_ip_"+this.uuid,class:"text-muted mb-1"},t2,8,ZD),Re(h("input",{type:"text",class:"form-control mb-2",id:"app_ip_"+this.uuid,"onUpdate:modelValue":t[0]||(t[0]=r=>this.app_ip=r)},null,8,n2),[[We,this.app_ip]]),s2]),h("div",i2,[h("label",{for:"app_port_"+this.uuid,class:"text-muted mb-1"},a2,8,o2),Re(h("input",{type:"text",class:"form-control mb-2",id:"app_port_"+this.uuid,"onUpdate:modelValue":t[1]||(t[1]=r=>this.app_port=r)},null,8,l2),[[We,this.app_port]])])]),c2])}const d2=ze(GD,[["render",u2]]);function Fe(e){const t=Object.prototype.toString.call(e);return e instanceof Date||typeof e=="object"&&t==="[object Date]"?new e.constructor(+e):typeof e=="number"||t==="[object Number]"||typeof e=="string"||t==="[object String]"?new Date(e):new Date(NaN)}function rt(e,t){return e instanceof Date?new e.constructor(t):new Date(t)}function os(e,t){const n=Fe(e);return isNaN(t)?rt(e,NaN):(t&&n.setDate(n.getDate()+t),n)}function cs(e,t){const n=Fe(e);if(isNaN(t))return rt(e,NaN);if(!t)return n;const s=n.getDate(),i=rt(e,n.getTime());i.setMonth(n.getMonth()+t+1,0);const o=i.getDate();return s>=o?i:(n.setFullYear(i.getFullYear(),i.getMonth(),s),n)}function Dy(e,t){const{years:n=0,months:s=0,weeks:i=0,days:o=0,hours:r=0,minutes:a=0,seconds:l=0}=t,c=Fe(e),u=s||n?cs(c,s+n*12):c,d=o||i?os(u,o+i*7):u,f=a+r*60,g=(l+f*60)*1e3;return rt(e,d.getTime()+g)}function h2(e,t){const n=+Fe(e);return rt(e,n+t)}const Oy=6048e5,f2=864e5,p2=6e4,Iy=36e5,m2=1e3;function g2(e,t){return h2(e,t*Iy)}let _2={};function Lo(){return _2}function hs(e,t){var a,l,c,u;const n=Lo(),s=(t==null?void 0:t.weekStartsOn)??((l=(a=t==null?void 0:t.locale)==null?void 0:a.options)==null?void 0:l.weekStartsOn)??n.weekStartsOn??((u=(c=n.locale)==null?void 0:c.options)==null?void 0:u.weekStartsOn)??0,i=Fe(e),o=i.getDay(),r=(o=i.getTime()?n+1:t.getTime()>=r.getTime()?n:n-1}function xg(e){const t=Fe(e);return t.setHours(0,0,0,0),t}function Dc(e){const t=Fe(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function Ly(e,t){const n=xg(e),s=xg(t),i=+n-Dc(n),o=+s-Dc(s);return Math.round((i-o)/f2)}function v2(e){const t=Ry(e),n=rt(e,0);return n.setFullYear(t,0,4),n.setHours(0,0,0,0),kr(n)}function b2(e,t){const n=t*3;return cs(e,n)}function Sf(e,t){return cs(e,t*12)}function kg(e,t){const n=Fe(e),s=Fe(t),i=n.getTime()-s.getTime();return i<0?-1:i>0?1:i}function Ny(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function Sa(e){if(!Ny(e)&&typeof e!="number")return!1;const t=Fe(e);return!isNaN(Number(t))}function Sg(e){const t=Fe(e);return Math.trunc(t.getMonth()/3)+1}function y2(e,t){const n=Fe(e),s=Fe(t);return n.getFullYear()-s.getFullYear()}function w2(e,t){const n=Fe(e),s=Fe(t),i=kg(n,s),o=Math.abs(y2(n,s));n.setFullYear(1584),s.setFullYear(1584);const r=kg(n,s)===-i,a=i*(o-+r);return a===0?0:a}function Fy(e,t){const n=Fe(e.start),s=Fe(e.end);let i=+n>+s;const o=i?+n:+s,r=i?s:n;r.setHours(0,0,0,0);let a=(t==null?void 0:t.step)??1;if(!a)return[];a<0&&(a=-a,i=!i);const l=[];for(;+r<=o;)l.push(Fe(r)),r.setDate(r.getDate()+a),r.setHours(0,0,0,0);return i?l.reverse():l}function vo(e){const t=Fe(e),n=t.getMonth(),s=n-n%3;return t.setMonth(s,1),t.setHours(0,0,0,0),t}function x2(e,t){const n=Fe(e.start),s=Fe(e.end);let i=+n>+s;const o=i?+vo(n):+vo(s);let r=vo(i?s:n),a=(t==null?void 0:t.step)??1;if(!a)return[];a<0&&(a=-a,i=!i);const l=[];for(;+r<=o;)l.push(Fe(r)),r=b2(r,a);return i?l.reverse():l}function k2(e){const t=Fe(e);return t.setDate(1),t.setHours(0,0,0,0),t}function By(e){const t=Fe(e),n=t.getFullYear();return t.setFullYear(n+1,0,0),t.setHours(23,59,59,999),t}function Wa(e){const t=Fe(e),n=rt(e,0);return n.setFullYear(t.getFullYear(),0,1),n.setHours(0,0,0,0),n}function Vy(e,t){var a,l,c,u;const n=Lo(),s=(t==null?void 0:t.weekStartsOn)??((l=(a=t==null?void 0:t.locale)==null?void 0:a.options)==null?void 0:l.weekStartsOn)??n.weekStartsOn??((u=(c=n.locale)==null?void 0:c.options)==null?void 0:u.weekStartsOn)??0,i=Fe(e),o=i.getDay(),r=(o{let s;const i=S2[e];return typeof i=="string"?s=i:t===1?s=i.one:s=i.other.replace("{{count}}",t.toString()),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"in "+s:s+" ago":s};function sd(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const A2={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},C2={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},E2={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},P2={date:sd({formats:A2,defaultWidth:"full"}),time:sd({formats:C2,defaultWidth:"full"}),dateTime:sd({formats:E2,defaultWidth:"full"})},M2={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},T2=(e,t,n,s)=>M2[e];function Qr(e){return(t,n)=>{const s=n!=null&&n.context?String(n.context):"standalone";let i;if(s==="formatting"&&e.formattingValues){const r=e.defaultFormattingWidth||e.defaultWidth,a=n!=null&&n.width?String(n.width):r;i=e.formattingValues[a]||e.formattingValues[r]}else{const r=e.defaultWidth,a=n!=null&&n.width?String(n.width):e.defaultWidth;i=e.values[a]||e.values[r]}const o=e.argumentCallback?e.argumentCallback(t):t;return i[o]}}const D2={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},O2={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},I2={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},R2={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},L2={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},N2={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},F2=(e,t)=>{const n=Number(e),s=n%100;if(s>20||s<10)switch(s%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},B2={ordinalNumber:F2,era:Qr({values:D2,defaultWidth:"wide"}),quarter:Qr({values:O2,defaultWidth:"wide",argumentCallback:e=>e-1}),month:Qr({values:I2,defaultWidth:"wide"}),day:Qr({values:R2,defaultWidth:"wide"}),dayPeriod:Qr({values:L2,defaultWidth:"wide",formattingValues:N2,defaultFormattingWidth:"wide"})};function Zr(e){return(t,n={})=>{const s=n.width,i=s&&e.matchPatterns[s]||e.matchPatterns[e.defaultMatchWidth],o=t.match(i);if(!o)return null;const r=o[0],a=s&&e.parsePatterns[s]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(a)?H2(a,d=>d.test(r)):V2(a,d=>d.test(r));let c;c=e.valueCallback?e.valueCallback(l):l,c=n.valueCallback?n.valueCallback(c):c;const u=t.slice(r.length);return{value:c,rest:u}}}function V2(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function H2(e,t){for(let n=0;n{const s=t.match(e.matchPattern);if(!s)return null;const i=s[0],o=t.match(e.parsePattern);if(!o)return null;let r=e.valueCallback?e.valueCallback(o[0]):o[0];r=n.valueCallback?n.valueCallback(r):r;const a=t.slice(i.length);return{value:r,rest:a}}}const W2=/^(\d+)(th|st|nd|rd)?/i,z2=/\d+/i,Y2={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},U2={any:[/^b/i,/^(a|c)/i]},K2={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},q2={any:[/1/i,/2/i,/3/i,/4/i]},G2={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},J2={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},X2={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Q2={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},Z2={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},eO={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},tO={ordinalNumber:j2({matchPattern:W2,parsePattern:z2,valueCallback:e=>parseInt(e,10)}),era:Zr({matchPatterns:Y2,defaultMatchWidth:"wide",parsePatterns:U2,defaultParseWidth:"any"}),quarter:Zr({matchPatterns:K2,defaultMatchWidth:"wide",parsePatterns:q2,defaultParseWidth:"any",valueCallback:e=>e+1}),month:Zr({matchPatterns:G2,defaultMatchWidth:"wide",parsePatterns:J2,defaultParseWidth:"any"}),day:Zr({matchPatterns:X2,defaultMatchWidth:"wide",parsePatterns:Q2,defaultParseWidth:"any"}),dayPeriod:Zr({matchPatterns:Z2,defaultMatchWidth:"any",parsePatterns:eO,defaultParseWidth:"any"})},Hy={code:"en-US",formatDistance:$2,formatLong:P2,formatRelative:T2,localize:B2,match:tO,options:{weekStartsOn:0,firstWeekContainsDate:1}};function nO(e){const t=Fe(e);return Ly(t,Wa(t))+1}function $f(e){const t=Fe(e),n=+kr(t)-+v2(t);return Math.round(n/Oy)+1}function Af(e,t){var u,d,f,p;const n=Fe(e),s=n.getFullYear(),i=Lo(),o=(t==null?void 0:t.firstWeekContainsDate)??((d=(u=t==null?void 0:t.locale)==null?void 0:u.options)==null?void 0:d.firstWeekContainsDate)??i.firstWeekContainsDate??((p=(f=i.locale)==null?void 0:f.options)==null?void 0:p.firstWeekContainsDate)??1,r=rt(e,0);r.setFullYear(s+1,0,o),r.setHours(0,0,0,0);const a=hs(r,t),l=rt(e,0);l.setFullYear(s,0,o),l.setHours(0,0,0,0);const c=hs(l,t);return n.getTime()>=a.getTime()?s+1:n.getTime()>=c.getTime()?s:s-1}function sO(e,t){var a,l,c,u;const n=Lo(),s=(t==null?void 0:t.firstWeekContainsDate)??((l=(a=t==null?void 0:t.locale)==null?void 0:a.options)==null?void 0:l.firstWeekContainsDate)??n.firstWeekContainsDate??((u=(c=n.locale)==null?void 0:c.options)==null?void 0:u.firstWeekContainsDate)??1,i=Af(e,t),o=rt(e,0);return o.setFullYear(i,0,s),o.setHours(0,0,0,0),hs(o,t)}function Cf(e,t){const n=Fe(e),s=+hs(n,t)-+sO(n,t);return Math.round(s/Oy)+1}function lt(e,t){const n=e<0?"-":"",s=Math.abs(e).toString().padStart(t,"0");return n+s}const hi={y(e,t){const n=e.getFullYear(),s=n>0?n:1-n;return lt(t==="yy"?s%100:s,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):lt(n+1,2)},d(e,t){return lt(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return n==="am"?"a.m.":"p.m."}},h(e,t){return lt(e.getHours()%12||12,t.length)},H(e,t){return lt(e.getHours(),t.length)},m(e,t){return lt(e.getMinutes(),t.length)},s(e,t){return lt(e.getSeconds(),t.length)},S(e,t){const n=t.length,s=e.getMilliseconds(),i=Math.trunc(s*Math.pow(10,n-3));return lt(i,t.length)}},Jo={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},Ag={G:function(e,t,n){const s=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(s,{width:"abbreviated"});case"GGGGG":return n.era(s,{width:"narrow"});case"GGGG":default:return n.era(s,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const s=e.getFullYear(),i=s>0?s:1-s;return n.ordinalNumber(i,{unit:"year"})}return hi.y(e,t)},Y:function(e,t,n,s){const i=Af(e,s),o=i>0?i:1-i;if(t==="YY"){const r=o%100;return lt(r,2)}return t==="Yo"?n.ordinalNumber(o,{unit:"year"}):lt(o,t.length)},R:function(e,t){const n=Ry(e);return lt(n,t.length)},u:function(e,t){const n=e.getFullYear();return lt(n,t.length)},Q:function(e,t,n){const s=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(s);case"QQ":return lt(s,2);case"Qo":return n.ordinalNumber(s,{unit:"quarter"});case"QQQ":return n.quarter(s,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(s,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(s,{width:"wide",context:"formatting"})}},q:function(e,t,n){const s=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(s);case"qq":return lt(s,2);case"qo":return n.ordinalNumber(s,{unit:"quarter"});case"qqq":return n.quarter(s,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(s,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(s,{width:"wide",context:"standalone"})}},M:function(e,t,n){const s=e.getMonth();switch(t){case"M":case"MM":return hi.M(e,t);case"Mo":return n.ordinalNumber(s+1,{unit:"month"});case"MMM":return n.month(s,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(s,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(s,{width:"wide",context:"formatting"})}},L:function(e,t,n){const s=e.getMonth();switch(t){case"L":return String(s+1);case"LL":return lt(s+1,2);case"Lo":return n.ordinalNumber(s+1,{unit:"month"});case"LLL":return n.month(s,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(s,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(s,{width:"wide",context:"standalone"})}},w:function(e,t,n,s){const i=Cf(e,s);return t==="wo"?n.ordinalNumber(i,{unit:"week"}):lt(i,t.length)},I:function(e,t,n){const s=$f(e);return t==="Io"?n.ordinalNumber(s,{unit:"week"}):lt(s,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):hi.d(e,t)},D:function(e,t,n){const s=nO(e);return t==="Do"?n.ordinalNumber(s,{unit:"dayOfYear"}):lt(s,t.length)},E:function(e,t,n){const s=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(s,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(s,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(s,{width:"short",context:"formatting"});case"EEEE":default:return n.day(s,{width:"wide",context:"formatting"})}},e:function(e,t,n,s){const i=e.getDay(),o=(i-s.weekStartsOn+8)%7||7;switch(t){case"e":return String(o);case"ee":return lt(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});case"eee":return n.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(i,{width:"short",context:"formatting"});case"eeee":default:return n.day(i,{width:"wide",context:"formatting"})}},c:function(e,t,n,s){const i=e.getDay(),o=(i-s.weekStartsOn+8)%7||7;switch(t){case"c":return String(o);case"cc":return lt(o,t.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(i,{width:"narrow",context:"standalone"});case"cccccc":return n.day(i,{width:"short",context:"standalone"});case"cccc":default:return n.day(i,{width:"wide",context:"standalone"})}},i:function(e,t,n){const s=e.getDay(),i=s===0?7:s;switch(t){case"i":return String(i);case"ii":return lt(i,t.length);case"io":return n.ordinalNumber(i,{unit:"day"});case"iii":return n.day(s,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(s,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(s,{width:"short",context:"formatting"});case"iiii":default:return n.day(s,{width:"wide",context:"formatting"})}},a:function(e,t,n){const i=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},b:function(e,t,n){const s=e.getHours();let i;switch(s===12?i=Jo.noon:s===0?i=Jo.midnight:i=s/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},B:function(e,t,n){const s=e.getHours();let i;switch(s>=17?i=Jo.evening:s>=12?i=Jo.afternoon:s>=4?i=Jo.morning:i=Jo.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let s=e.getHours()%12;return s===0&&(s=12),n.ordinalNumber(s,{unit:"hour"})}return hi.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):hi.H(e,t)},K:function(e,t,n){const s=e.getHours()%12;return t==="Ko"?n.ordinalNumber(s,{unit:"hour"}):lt(s,t.length)},k:function(e,t,n){let s=e.getHours();return s===0&&(s=24),t==="ko"?n.ordinalNumber(s,{unit:"hour"}):lt(s,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):hi.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):hi.s(e,t)},S:function(e,t){return hi.S(e,t)},X:function(e,t,n){const s=e.getTimezoneOffset();if(s===0)return"Z";switch(t){case"X":return Eg(s);case"XXXX":case"XX":return ho(s);case"XXXXX":case"XXX":default:return ho(s,":")}},x:function(e,t,n){const s=e.getTimezoneOffset();switch(t){case"x":return Eg(s);case"xxxx":case"xx":return ho(s);case"xxxxx":case"xxx":default:return ho(s,":")}},O:function(e,t,n){const s=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+Cg(s,":");case"OOOO":default:return"GMT"+ho(s,":")}},z:function(e,t,n){const s=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+Cg(s,":");case"zzzz":default:return"GMT"+ho(s,":")}},t:function(e,t,n){const s=Math.trunc(e.getTime()/1e3);return lt(s,t.length)},T:function(e,t,n){const s=e.getTime();return lt(s,t.length)}};function Cg(e,t=""){const n=e>0?"-":"+",s=Math.abs(e),i=Math.trunc(s/60),o=s%60;return o===0?n+String(i):n+String(i)+t+lt(o,2)}function Eg(e,t){return e%60===0?(e>0?"-":"+")+lt(Math.abs(e)/60,2):ho(e,t)}function ho(e,t=""){const n=e>0?"-":"+",s=Math.abs(e),i=lt(Math.trunc(s/60),2),o=lt(s%60,2);return n+i+t+o}const Pg=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});case"PPPP":default:return t.date({width:"full"})}},jy=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});case"pppp":default:return t.time({width:"full"})}},iO=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],s=n[1],i=n[2];if(!i)return Pg(e,t);let o;switch(s){case"P":o=t.dateTime({width:"short"});break;case"PP":o=t.dateTime({width:"medium"});break;case"PPP":o=t.dateTime({width:"long"});break;case"PPPP":default:o=t.dateTime({width:"full"});break}return o.replace("{{date}}",Pg(s,t)).replace("{{time}}",jy(i,t))},nh={p:jy,P:iO},oO=/^D+$/,rO=/^Y+$/,aO=["D","DD","YY","YYYY"];function Wy(e){return oO.test(e)}function zy(e){return rO.test(e)}function sh(e,t,n){const s=lO(e,t,n);if(console.warn(s),aO.includes(e))throw new RangeError(s)}function lO(e,t,n){const s=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${s} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const cO=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,uO=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,dO=/^'([^]*?)'?$/,hO=/''/g,fO=/[a-zA-Z]/;function Cs(e,t,n){var u,d,f,p,g,_,b,w;const s=Lo(),i=(n==null?void 0:n.locale)??s.locale??Hy,o=(n==null?void 0:n.firstWeekContainsDate)??((d=(u=n==null?void 0:n.locale)==null?void 0:u.options)==null?void 0:d.firstWeekContainsDate)??s.firstWeekContainsDate??((p=(f=s.locale)==null?void 0:f.options)==null?void 0:p.firstWeekContainsDate)??1,r=(n==null?void 0:n.weekStartsOn)??((_=(g=n==null?void 0:n.locale)==null?void 0:g.options)==null?void 0:_.weekStartsOn)??s.weekStartsOn??((w=(b=s.locale)==null?void 0:b.options)==null?void 0:w.weekStartsOn)??0,a=Fe(e);if(!Sa(a))throw new RangeError("Invalid time value");let l=t.match(uO).map($=>{const A=$[0];if(A==="p"||A==="P"){const T=nh[A];return T($,i.formatLong)}return $}).join("").match(cO).map($=>{if($==="''")return{isToken:!1,value:"'"};const A=$[0];if(A==="'")return{isToken:!1,value:pO($)};if(Ag[A])return{isToken:!0,value:$};if(A.match(fO))throw new RangeError("Format string contains an unescaped latin alphabet character `"+A+"`");return{isToken:!1,value:$}});i.localize.preprocessor&&(l=i.localize.preprocessor(a,l));const c={firstWeekContainsDate:o,weekStartsOn:r,locale:i};return l.map($=>{if(!$.isToken)return $.value;const A=$.value;(!(n!=null&&n.useAdditionalWeekYearTokens)&&zy(A)||!(n!=null&&n.useAdditionalDayOfYearTokens)&&Wy(A))&&sh(A,t,String(e));const T=Ag[A[0]];return T(a,A,i.localize,c)}).join("")}function pO(e){const t=e.match(dO);return t?t[1].replace(hO,"'"):e}function mO(e){return Fe(e).getDay()}function gO(e){const t=Fe(e),n=t.getFullYear(),s=t.getMonth(),i=rt(e,0);return i.setFullYear(n,s+1,0),i.setHours(0,0,0,0),i.getDate()}function _O(){return Object.assign({},Lo())}function ei(e){return Fe(e).getHours()}function vO(e){let n=Fe(e).getDay();return n===0&&(n=7),n}function Ni(e){return Fe(e).getMinutes()}function Qe(e){return Fe(e).getMonth()}function Sr(e){return Fe(e).getSeconds()}function Ye(e){return Fe(e).getFullYear()}function $r(e,t){const n=Fe(e),s=Fe(t);return n.getTime()>s.getTime()}function za(e,t){const n=Fe(e),s=Fe(t);return+n<+s}function ir(e,t){const n=Fe(e),s=Fe(t);return+n==+s}function bO(e,t){const n=t instanceof Date?rt(t,0):new t(0);return n.setFullYear(e.getFullYear(),e.getMonth(),e.getDate()),n.setHours(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()),n}const yO=10;class Yy{constructor(){le(this,"subPriority",0)}validate(t,n){return!0}}class wO extends Yy{constructor(t,n,s,i,o){super(),this.value=t,this.validateValue=n,this.setValue=s,this.priority=i,o&&(this.subPriority=o)}validate(t,n){return this.validateValue(t,this.value,n)}set(t,n,s){return this.setValue(t,n,this.value,s)}}class xO extends Yy{constructor(){super(...arguments);le(this,"priority",yO);le(this,"subPriority",-1)}set(n,s){return s.timestampIsSet?n:rt(n,bO(n,Date))}}class at{run(t,n,s,i){const o=this.parse(t,n,s,i);return o?{setter:new wO(o.value,this.validate,this.set,this.priority,this.subPriority),rest:o.rest}:null}validate(t,n,s){return!0}}class kO extends at{constructor(){super(...arguments);le(this,"priority",140);le(this,"incompatibleTokens",["R","u","t","T"])}parse(n,s,i){switch(s){case"G":case"GG":case"GGG":return i.era(n,{width:"abbreviated"})||i.era(n,{width:"narrow"});case"GGGGG":return i.era(n,{width:"narrow"});case"GGGG":default:return i.era(n,{width:"wide"})||i.era(n,{width:"abbreviated"})||i.era(n,{width:"narrow"})}}set(n,s,i){return s.era=i,n.setFullYear(i,0,1),n.setHours(0,0,0,0),n}}const It={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},xs={basicOptionalMinutes:/^([+-])(\d{2})(\d{2})?|Z/,basic:/^([+-])(\d{2})(\d{2})|Z/,basicOptionalSeconds:/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,extended:/^([+-])(\d{2}):(\d{2})|Z/,extendedOptionalSeconds:/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/};function Rt(e,t){return e&&{value:t(e.value),rest:e.rest}}function St(e,t){const n=t.match(e);return n?{value:parseInt(n[0],10),rest:t.slice(n[0].length)}:null}function ks(e,t){const n=t.match(e);if(!n)return null;if(n[0]==="Z")return{value:0,rest:t.slice(1)};const s=n[1]==="+"?1:-1,i=n[2]?parseInt(n[2],10):0,o=n[3]?parseInt(n[3],10):0,r=n[5]?parseInt(n[5],10):0;return{value:s*(i*Iy+o*p2+r*m2),rest:t.slice(n[0].length)}}function Uy(e){return St(It.anyDigitsSigned,e)}function Tt(e,t){switch(e){case 1:return St(It.singleDigit,t);case 2:return St(It.twoDigits,t);case 3:return St(It.threeDigits,t);case 4:return St(It.fourDigits,t);default:return St(new RegExp("^\\d{1,"+e+"}"),t)}}function Oc(e,t){switch(e){case 1:return St(It.singleDigitSigned,t);case 2:return St(It.twoDigitsSigned,t);case 3:return St(It.threeDigitsSigned,t);case 4:return St(It.fourDigitsSigned,t);default:return St(new RegExp("^-?\\d{1,"+e+"}"),t)}}function Ef(e){switch(e){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;case"am":case"midnight":case"night":default:return 0}}function Ky(e,t){const n=t>0,s=n?t:1-t;let i;if(s<=50)i=e||100;else{const o=s+50,r=Math.trunc(o/100)*100,a=e>=o%100;i=e+r-(a?100:0)}return n?i:1-i}function qy(e){return e%400===0||e%4===0&&e%100!==0}class SO extends at{constructor(){super(...arguments);le(this,"priority",130);le(this,"incompatibleTokens",["Y","R","u","w","I","i","e","c","t","T"])}parse(n,s,i){const o=r=>({year:r,isTwoDigitYear:s==="yy"});switch(s){case"y":return Rt(Tt(4,n),o);case"yo":return Rt(i.ordinalNumber(n,{unit:"year"}),o);default:return Rt(Tt(s.length,n),o)}}validate(n,s){return s.isTwoDigitYear||s.year>0}set(n,s,i){const o=n.getFullYear();if(i.isTwoDigitYear){const a=Ky(i.year,o);return n.setFullYear(a,0,1),n.setHours(0,0,0,0),n}const r=!("era"in s)||s.era===1?i.year:1-i.year;return n.setFullYear(r,0,1),n.setHours(0,0,0,0),n}}class $O extends at{constructor(){super(...arguments);le(this,"priority",130);le(this,"incompatibleTokens",["y","R","u","Q","q","M","L","I","d","D","i","t","T"])}parse(n,s,i){const o=r=>({year:r,isTwoDigitYear:s==="YY"});switch(s){case"Y":return Rt(Tt(4,n),o);case"Yo":return Rt(i.ordinalNumber(n,{unit:"year"}),o);default:return Rt(Tt(s.length,n),o)}}validate(n,s){return s.isTwoDigitYear||s.year>0}set(n,s,i,o){const r=Af(n,o);if(i.isTwoDigitYear){const l=Ky(i.year,r);return n.setFullYear(l,0,o.firstWeekContainsDate),n.setHours(0,0,0,0),hs(n,o)}const a=!("era"in s)||s.era===1?i.year:1-i.year;return n.setFullYear(a,0,o.firstWeekContainsDate),n.setHours(0,0,0,0),hs(n,o)}}class AO extends at{constructor(){super(...arguments);le(this,"priority",130);le(this,"incompatibleTokens",["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"])}parse(n,s){return Oc(s==="R"?4:s.length,n)}set(n,s,i){const o=rt(n,0);return o.setFullYear(i,0,4),o.setHours(0,0,0,0),kr(o)}}class CO extends at{constructor(){super(...arguments);le(this,"priority",130);le(this,"incompatibleTokens",["G","y","Y","R","w","I","i","e","c","t","T"])}parse(n,s){return Oc(s==="u"?4:s.length,n)}set(n,s,i){return n.setFullYear(i,0,1),n.setHours(0,0,0,0),n}}class EO extends at{constructor(){super(...arguments);le(this,"priority",120);le(this,"incompatibleTokens",["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"])}parse(n,s,i){switch(s){case"Q":case"QQ":return Tt(s.length,n);case"Qo":return i.ordinalNumber(n,{unit:"quarter"});case"QQQ":return i.quarter(n,{width:"abbreviated",context:"formatting"})||i.quarter(n,{width:"narrow",context:"formatting"});case"QQQQQ":return i.quarter(n,{width:"narrow",context:"formatting"});case"QQQQ":default:return i.quarter(n,{width:"wide",context:"formatting"})||i.quarter(n,{width:"abbreviated",context:"formatting"})||i.quarter(n,{width:"narrow",context:"formatting"})}}validate(n,s){return s>=1&&s<=4}set(n,s,i){return n.setMonth((i-1)*3,1),n.setHours(0,0,0,0),n}}class PO extends at{constructor(){super(...arguments);le(this,"priority",120);le(this,"incompatibleTokens",["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"])}parse(n,s,i){switch(s){case"q":case"qq":return Tt(s.length,n);case"qo":return i.ordinalNumber(n,{unit:"quarter"});case"qqq":return i.quarter(n,{width:"abbreviated",context:"standalone"})||i.quarter(n,{width:"narrow",context:"standalone"});case"qqqqq":return i.quarter(n,{width:"narrow",context:"standalone"});case"qqqq":default:return i.quarter(n,{width:"wide",context:"standalone"})||i.quarter(n,{width:"abbreviated",context:"standalone"})||i.quarter(n,{width:"narrow",context:"standalone"})}}validate(n,s){return s>=1&&s<=4}set(n,s,i){return n.setMonth((i-1)*3,1),n.setHours(0,0,0,0),n}}class MO extends at{constructor(){super(...arguments);le(this,"incompatibleTokens",["Y","R","q","Q","L","w","I","D","i","e","c","t","T"]);le(this,"priority",110)}parse(n,s,i){const o=r=>r-1;switch(s){case"M":return Rt(St(It.month,n),o);case"MM":return Rt(Tt(2,n),o);case"Mo":return Rt(i.ordinalNumber(n,{unit:"month"}),o);case"MMM":return i.month(n,{width:"abbreviated",context:"formatting"})||i.month(n,{width:"narrow",context:"formatting"});case"MMMMM":return i.month(n,{width:"narrow",context:"formatting"});case"MMMM":default:return i.month(n,{width:"wide",context:"formatting"})||i.month(n,{width:"abbreviated",context:"formatting"})||i.month(n,{width:"narrow",context:"formatting"})}}validate(n,s){return s>=0&&s<=11}set(n,s,i){return n.setMonth(i,1),n.setHours(0,0,0,0),n}}class TO extends at{constructor(){super(...arguments);le(this,"priority",110);le(this,"incompatibleTokens",["Y","R","q","Q","M","w","I","D","i","e","c","t","T"])}parse(n,s,i){const o=r=>r-1;switch(s){case"L":return Rt(St(It.month,n),o);case"LL":return Rt(Tt(2,n),o);case"Lo":return Rt(i.ordinalNumber(n,{unit:"month"}),o);case"LLL":return i.month(n,{width:"abbreviated",context:"standalone"})||i.month(n,{width:"narrow",context:"standalone"});case"LLLLL":return i.month(n,{width:"narrow",context:"standalone"});case"LLLL":default:return i.month(n,{width:"wide",context:"standalone"})||i.month(n,{width:"abbreviated",context:"standalone"})||i.month(n,{width:"narrow",context:"standalone"})}}validate(n,s){return s>=0&&s<=11}set(n,s,i){return n.setMonth(i,1),n.setHours(0,0,0,0),n}}function DO(e,t,n){const s=Fe(e),i=Cf(s,n)-t;return s.setDate(s.getDate()-i*7),s}class OO extends at{constructor(){super(...arguments);le(this,"priority",100);le(this,"incompatibleTokens",["y","R","u","q","Q","M","L","I","d","D","i","t","T"])}parse(n,s,i){switch(s){case"w":return St(It.week,n);case"wo":return i.ordinalNumber(n,{unit:"week"});default:return Tt(s.length,n)}}validate(n,s){return s>=1&&s<=53}set(n,s,i,o){return hs(DO(n,i,o),o)}}function IO(e,t){const n=Fe(e),s=$f(n)-t;return n.setDate(n.getDate()-s*7),n}class RO extends at{constructor(){super(...arguments);le(this,"priority",100);le(this,"incompatibleTokens",["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"])}parse(n,s,i){switch(s){case"I":return St(It.week,n);case"Io":return i.ordinalNumber(n,{unit:"week"});default:return Tt(s.length,n)}}validate(n,s){return s>=1&&s<=53}set(n,s,i){return kr(IO(n,i))}}const LO=[31,28,31,30,31,30,31,31,30,31,30,31],NO=[31,29,31,30,31,30,31,31,30,31,30,31];class FO extends at{constructor(){super(...arguments);le(this,"priority",90);le(this,"subPriority",1);le(this,"incompatibleTokens",["Y","R","q","Q","w","I","D","i","e","c","t","T"])}parse(n,s,i){switch(s){case"d":return St(It.date,n);case"do":return i.ordinalNumber(n,{unit:"date"});default:return Tt(s.length,n)}}validate(n,s){const i=n.getFullYear(),o=qy(i),r=n.getMonth();return o?s>=1&&s<=NO[r]:s>=1&&s<=LO[r]}set(n,s,i){return n.setDate(i),n.setHours(0,0,0,0),n}}class BO extends at{constructor(){super(...arguments);le(this,"priority",90);le(this,"subpriority",1);le(this,"incompatibleTokens",["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"])}parse(n,s,i){switch(s){case"D":case"DD":return St(It.dayOfYear,n);case"Do":return i.ordinalNumber(n,{unit:"date"});default:return Tt(s.length,n)}}validate(n,s){const i=n.getFullYear();return qy(i)?s>=1&&s<=366:s>=1&&s<=365}set(n,s,i){return n.setMonth(0,i),n.setHours(0,0,0,0),n}}function Pf(e,t,n){var d,f,p,g;const s=Lo(),i=(n==null?void 0:n.weekStartsOn)??((f=(d=n==null?void 0:n.locale)==null?void 0:d.options)==null?void 0:f.weekStartsOn)??s.weekStartsOn??((g=(p=s.locale)==null?void 0:p.options)==null?void 0:g.weekStartsOn)??0,o=Fe(e),r=o.getDay(),l=(t%7+7)%7,c=7-i,u=t<0||t>6?t-(r+c)%7:(l+c)%7-(r+c)%7;return os(o,u)}class VO extends at{constructor(){super(...arguments);le(this,"priority",90);le(this,"incompatibleTokens",["D","i","e","c","t","T"])}parse(n,s,i){switch(s){case"E":case"EE":case"EEE":return i.day(n,{width:"abbreviated",context:"formatting"})||i.day(n,{width:"short",context:"formatting"})||i.day(n,{width:"narrow",context:"formatting"});case"EEEEE":return i.day(n,{width:"narrow",context:"formatting"});case"EEEEEE":return i.day(n,{width:"short",context:"formatting"})||i.day(n,{width:"narrow",context:"formatting"});case"EEEE":default:return i.day(n,{width:"wide",context:"formatting"})||i.day(n,{width:"abbreviated",context:"formatting"})||i.day(n,{width:"short",context:"formatting"})||i.day(n,{width:"narrow",context:"formatting"})}}validate(n,s){return s>=0&&s<=6}set(n,s,i,o){return n=Pf(n,i,o),n.setHours(0,0,0,0),n}}class HO extends at{constructor(){super(...arguments);le(this,"priority",90);le(this,"incompatibleTokens",["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"])}parse(n,s,i,o){const r=a=>{const l=Math.floor((a-1)/7)*7;return(a+o.weekStartsOn+6)%7+l};switch(s){case"e":case"ee":return Rt(Tt(s.length,n),r);case"eo":return Rt(i.ordinalNumber(n,{unit:"day"}),r);case"eee":return i.day(n,{width:"abbreviated",context:"formatting"})||i.day(n,{width:"short",context:"formatting"})||i.day(n,{width:"narrow",context:"formatting"});case"eeeee":return i.day(n,{width:"narrow",context:"formatting"});case"eeeeee":return i.day(n,{width:"short",context:"formatting"})||i.day(n,{width:"narrow",context:"formatting"});case"eeee":default:return i.day(n,{width:"wide",context:"formatting"})||i.day(n,{width:"abbreviated",context:"formatting"})||i.day(n,{width:"short",context:"formatting"})||i.day(n,{width:"narrow",context:"formatting"})}}validate(n,s){return s>=0&&s<=6}set(n,s,i,o){return n=Pf(n,i,o),n.setHours(0,0,0,0),n}}class jO extends at{constructor(){super(...arguments);le(this,"priority",90);le(this,"incompatibleTokens",["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"])}parse(n,s,i,o){const r=a=>{const l=Math.floor((a-1)/7)*7;return(a+o.weekStartsOn+6)%7+l};switch(s){case"c":case"cc":return Rt(Tt(s.length,n),r);case"co":return Rt(i.ordinalNumber(n,{unit:"day"}),r);case"ccc":return i.day(n,{width:"abbreviated",context:"standalone"})||i.day(n,{width:"short",context:"standalone"})||i.day(n,{width:"narrow",context:"standalone"});case"ccccc":return i.day(n,{width:"narrow",context:"standalone"});case"cccccc":return i.day(n,{width:"short",context:"standalone"})||i.day(n,{width:"narrow",context:"standalone"});case"cccc":default:return i.day(n,{width:"wide",context:"standalone"})||i.day(n,{width:"abbreviated",context:"standalone"})||i.day(n,{width:"short",context:"standalone"})||i.day(n,{width:"narrow",context:"standalone"})}}validate(n,s){return s>=0&&s<=6}set(n,s,i,o){return n=Pf(n,i,o),n.setHours(0,0,0,0),n}}function WO(e,t){const n=Fe(e),s=vO(n),i=t-s;return os(n,i)}class zO extends at{constructor(){super(...arguments);le(this,"priority",90);le(this,"incompatibleTokens",["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"])}parse(n,s,i){const o=r=>r===0?7:r;switch(s){case"i":case"ii":return Tt(s.length,n);case"io":return i.ordinalNumber(n,{unit:"day"});case"iii":return Rt(i.day(n,{width:"abbreviated",context:"formatting"})||i.day(n,{width:"short",context:"formatting"})||i.day(n,{width:"narrow",context:"formatting"}),o);case"iiiii":return Rt(i.day(n,{width:"narrow",context:"formatting"}),o);case"iiiiii":return Rt(i.day(n,{width:"short",context:"formatting"})||i.day(n,{width:"narrow",context:"formatting"}),o);case"iiii":default:return Rt(i.day(n,{width:"wide",context:"formatting"})||i.day(n,{width:"abbreviated",context:"formatting"})||i.day(n,{width:"short",context:"formatting"})||i.day(n,{width:"narrow",context:"formatting"}),o)}}validate(n,s){return s>=1&&s<=7}set(n,s,i){return n=WO(n,i),n.setHours(0,0,0,0),n}}class YO extends at{constructor(){super(...arguments);le(this,"priority",80);le(this,"incompatibleTokens",["b","B","H","k","t","T"])}parse(n,s,i){switch(s){case"a":case"aa":case"aaa":return i.dayPeriod(n,{width:"abbreviated",context:"formatting"})||i.dayPeriod(n,{width:"narrow",context:"formatting"});case"aaaaa":return i.dayPeriod(n,{width:"narrow",context:"formatting"});case"aaaa":default:return i.dayPeriod(n,{width:"wide",context:"formatting"})||i.dayPeriod(n,{width:"abbreviated",context:"formatting"})||i.dayPeriod(n,{width:"narrow",context:"formatting"})}}set(n,s,i){return n.setHours(Ef(i),0,0,0),n}}class UO extends at{constructor(){super(...arguments);le(this,"priority",80);le(this,"incompatibleTokens",["a","B","H","k","t","T"])}parse(n,s,i){switch(s){case"b":case"bb":case"bbb":return i.dayPeriod(n,{width:"abbreviated",context:"formatting"})||i.dayPeriod(n,{width:"narrow",context:"formatting"});case"bbbbb":return i.dayPeriod(n,{width:"narrow",context:"formatting"});case"bbbb":default:return i.dayPeriod(n,{width:"wide",context:"formatting"})||i.dayPeriod(n,{width:"abbreviated",context:"formatting"})||i.dayPeriod(n,{width:"narrow",context:"formatting"})}}set(n,s,i){return n.setHours(Ef(i),0,0,0),n}}class KO extends at{constructor(){super(...arguments);le(this,"priority",80);le(this,"incompatibleTokens",["a","b","t","T"])}parse(n,s,i){switch(s){case"B":case"BB":case"BBB":return i.dayPeriod(n,{width:"abbreviated",context:"formatting"})||i.dayPeriod(n,{width:"narrow",context:"formatting"});case"BBBBB":return i.dayPeriod(n,{width:"narrow",context:"formatting"});case"BBBB":default:return i.dayPeriod(n,{width:"wide",context:"formatting"})||i.dayPeriod(n,{width:"abbreviated",context:"formatting"})||i.dayPeriod(n,{width:"narrow",context:"formatting"})}}set(n,s,i){return n.setHours(Ef(i),0,0,0),n}}class qO extends at{constructor(){super(...arguments);le(this,"priority",70);le(this,"incompatibleTokens",["H","K","k","t","T"])}parse(n,s,i){switch(s){case"h":return St(It.hour12h,n);case"ho":return i.ordinalNumber(n,{unit:"hour"});default:return Tt(s.length,n)}}validate(n,s){return s>=1&&s<=12}set(n,s,i){const o=n.getHours()>=12;return o&&i<12?n.setHours(i+12,0,0,0):!o&&i===12?n.setHours(0,0,0,0):n.setHours(i,0,0,0),n}}class GO extends at{constructor(){super(...arguments);le(this,"priority",70);le(this,"incompatibleTokens",["a","b","h","K","k","t","T"])}parse(n,s,i){switch(s){case"H":return St(It.hour23h,n);case"Ho":return i.ordinalNumber(n,{unit:"hour"});default:return Tt(s.length,n)}}validate(n,s){return s>=0&&s<=23}set(n,s,i){return n.setHours(i,0,0,0),n}}class JO extends at{constructor(){super(...arguments);le(this,"priority",70);le(this,"incompatibleTokens",["h","H","k","t","T"])}parse(n,s,i){switch(s){case"K":return St(It.hour11h,n);case"Ko":return i.ordinalNumber(n,{unit:"hour"});default:return Tt(s.length,n)}}validate(n,s){return s>=0&&s<=11}set(n,s,i){return n.getHours()>=12&&i<12?n.setHours(i+12,0,0,0):n.setHours(i,0,0,0),n}}class XO extends at{constructor(){super(...arguments);le(this,"priority",70);le(this,"incompatibleTokens",["a","b","h","H","K","t","T"])}parse(n,s,i){switch(s){case"k":return St(It.hour24h,n);case"ko":return i.ordinalNumber(n,{unit:"hour"});default:return Tt(s.length,n)}}validate(n,s){return s>=1&&s<=24}set(n,s,i){const o=i<=24?i%24:i;return n.setHours(o,0,0,0),n}}class QO extends at{constructor(){super(...arguments);le(this,"priority",60);le(this,"incompatibleTokens",["t","T"])}parse(n,s,i){switch(s){case"m":return St(It.minute,n);case"mo":return i.ordinalNumber(n,{unit:"minute"});default:return Tt(s.length,n)}}validate(n,s){return s>=0&&s<=59}set(n,s,i){return n.setMinutes(i,0,0),n}}class ZO extends at{constructor(){super(...arguments);le(this,"priority",50);le(this,"incompatibleTokens",["t","T"])}parse(n,s,i){switch(s){case"s":return St(It.second,n);case"so":return i.ordinalNumber(n,{unit:"second"});default:return Tt(s.length,n)}}validate(n,s){return s>=0&&s<=59}set(n,s,i){return n.setSeconds(i,0),n}}class eI extends at{constructor(){super(...arguments);le(this,"priority",30);le(this,"incompatibleTokens",["t","T"])}parse(n,s){const i=o=>Math.trunc(o*Math.pow(10,-s.length+3));return Rt(Tt(s.length,n),i)}set(n,s,i){return n.setMilliseconds(i),n}}class tI extends at{constructor(){super(...arguments);le(this,"priority",10);le(this,"incompatibleTokens",["t","T","x"])}parse(n,s){switch(s){case"X":return ks(xs.basicOptionalMinutes,n);case"XX":return ks(xs.basic,n);case"XXXX":return ks(xs.basicOptionalSeconds,n);case"XXXXX":return ks(xs.extendedOptionalSeconds,n);case"XXX":default:return ks(xs.extended,n)}}set(n,s,i){return s.timestampIsSet?n:rt(n,n.getTime()-Dc(n)-i)}}class nI extends at{constructor(){super(...arguments);le(this,"priority",10);le(this,"incompatibleTokens",["t","T","X"])}parse(n,s){switch(s){case"x":return ks(xs.basicOptionalMinutes,n);case"xx":return ks(xs.basic,n);case"xxxx":return ks(xs.basicOptionalSeconds,n);case"xxxxx":return ks(xs.extendedOptionalSeconds,n);case"xxx":default:return ks(xs.extended,n)}}set(n,s,i){return s.timestampIsSet?n:rt(n,n.getTime()-Dc(n)-i)}}class sI extends at{constructor(){super(...arguments);le(this,"priority",40);le(this,"incompatibleTokens","*")}parse(n){return Uy(n)}set(n,s,i){return[rt(n,i*1e3),{timestampIsSet:!0}]}}class iI extends at{constructor(){super(...arguments);le(this,"priority",20);le(this,"incompatibleTokens","*")}parse(n){return Uy(n)}set(n,s,i){return[rt(n,i),{timestampIsSet:!0}]}}const oI={G:new kO,y:new SO,Y:new $O,R:new AO,u:new CO,Q:new EO,q:new PO,M:new MO,L:new TO,w:new OO,I:new RO,d:new FO,D:new BO,E:new VO,e:new HO,c:new jO,i:new zO,a:new YO,b:new UO,B:new KO,h:new qO,H:new GO,K:new JO,k:new XO,m:new QO,s:new ZO,S:new eI,X:new tI,x:new nI,t:new sI,T:new iI},rI=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,aI=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,lI=/^'([^]*?)'?$/,cI=/''/g,uI=/\S/,dI=/[a-zA-Z]/;function ih(e,t,n,s){var _,b,w,$,A,T,k,y;const i=_O(),o=(s==null?void 0:s.locale)??i.locale??Hy,r=(s==null?void 0:s.firstWeekContainsDate)??((b=(_=s==null?void 0:s.locale)==null?void 0:_.options)==null?void 0:b.firstWeekContainsDate)??i.firstWeekContainsDate??(($=(w=i.locale)==null?void 0:w.options)==null?void 0:$.firstWeekContainsDate)??1,a=(s==null?void 0:s.weekStartsOn)??((T=(A=s==null?void 0:s.locale)==null?void 0:A.options)==null?void 0:T.weekStartsOn)??i.weekStartsOn??((y=(k=i.locale)==null?void 0:k.options)==null?void 0:y.weekStartsOn)??0;if(t==="")return e===""?Fe(n):rt(n,NaN);const l={firstWeekContainsDate:r,weekStartsOn:a,locale:o},c=[new xO],u=t.match(aI).map(x=>{const C=x[0];if(C in nh){const P=nh[C];return P(x,o.formatLong)}return x}).join("").match(rI),d=[];for(let x of u){!(s!=null&&s.useAdditionalWeekYearTokens)&&zy(x)&&sh(x,t,e),!(s!=null&&s.useAdditionalDayOfYearTokens)&&Wy(x)&&sh(x,t,e);const C=x[0],P=oI[C];if(P){const{incompatibleTokens:E}=P;if(Array.isArray(E)){const G=d.find(ae=>E.includes(ae.token)||ae.token===C);if(G)throw new RangeError(`The format string mustn't contain \`${G.fullToken}\` and \`${x}\` at the same time`)}else if(P.incompatibleTokens==="*"&&d.length>0)throw new RangeError(`The format string mustn't contain \`${x}\` and any other token at the same time`);d.push({token:C,fullToken:x});const B=P.run(e,x,o.match,l);if(!B)return rt(n,NaN);c.push(B.setter),e=B.rest}else{if(C.match(dI))throw new RangeError("Format string contains an unescaped latin alphabet character `"+C+"`");if(x==="''"?x="'":C==="'"&&(x=hI(x)),e.indexOf(x)===0)e=e.slice(x.length);else return rt(n,NaN)}}if(e.length>0&&uI.test(e))return rt(n,NaN);const f=c.map(x=>x.priority).sort((x,C)=>C-x).filter((x,C,P)=>P.indexOf(x)===C).map(x=>c.filter(C=>C.priority===x).sort((C,P)=>P.subPriority-C.subPriority)).map(x=>x[0]);let p=Fe(n);if(isNaN(p.getTime()))return rt(n,NaN);const g={};for(const x of f){if(!x.validate(p,l))return rt(n,NaN);const C=x.set(p,g,l);Array.isArray(C)?(p=C[0],Object.assign(g,C[1])):p=C}return rt(n,p)}function hI(e){return e.match(lI)[1].replace(cI,"'")}function Mg(e,t){const n=vo(e),s=vo(t);return+n==+s}function fI(e,t){return os(e,-t)}function Gy(e,t){const n=Fe(e),s=n.getFullYear(),i=n.getDate(),o=rt(e,0);o.setFullYear(s,t,15),o.setHours(0,0,0,0);const r=gO(o);return n.setMonth(t,Math.min(i,r)),n}function ht(e,t){let n=Fe(e);return isNaN(+n)?rt(e,NaN):(t.year!=null&&n.setFullYear(t.year),t.month!=null&&(n=Gy(n,t.month)),t.date!=null&&n.setDate(t.date),t.hours!=null&&n.setHours(t.hours),t.minutes!=null&&n.setMinutes(t.minutes),t.seconds!=null&&n.setSeconds(t.seconds),t.milliseconds!=null&&n.setMilliseconds(t.milliseconds),n)}function pI(e,t){const n=Fe(e);return n.setHours(t),n}function Jy(e,t){const n=Fe(e);return n.setMilliseconds(t),n}function mI(e,t){const n=Fe(e);return n.setMinutes(t),n}function Xy(e,t){const n=Fe(e);return n.setSeconds(t),n}function Ss(e,t){const n=Fe(e);return isNaN(+n)?rt(e,NaN):(n.setFullYear(t),n)}function Ar(e,t){return cs(e,-t)}function gI(e,t){const{years:n=0,months:s=0,weeks:i=0,days:o=0,hours:r=0,minutes:a=0,seconds:l=0}=t,c=Ar(e,s+n*12),u=fI(c,o+i*7),d=a+r*60,p=(l+d*60)*1e3;return rt(e,u.getTime()-p)}function Qy(e,t){return Sf(e,-t)}function Vr(){const e=wA();return D(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img",...e},[h("path",{d:"M29.333 8c0-2.208-1.792-4-4-4h-18.667c-2.208 0-4 1.792-4 4v18.667c0 2.208 1.792 4 4 4h18.667c2.208 0 4-1.792 4-4v-18.667zM26.667 8v18.667c0 0.736-0.597 1.333-1.333 1.333 0 0-18.667 0-18.667 0-0.736 0-1.333-0.597-1.333-1.333 0 0 0-18.667 0-18.667 0-0.736 0.597-1.333 1.333-1.333 0 0 18.667 0 18.667 0 0.736 0 1.333 0.597 1.333 1.333z"}),h("path",{d:"M20 2.667v5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-5.333c0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z"}),h("path",{d:"M9.333 2.667v5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-5.333c0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z"}),h("path",{d:"M4 14.667h24c0.736 0 1.333-0.597 1.333-1.333s-0.597-1.333-1.333-1.333h-24c-0.736 0-1.333 0.597-1.333 1.333s0.597 1.333 1.333 1.333z"})])}Vr.compatConfig={MODE:3};function Zy(){return D(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[h("path",{d:"M23.057 7.057l-16 16c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l16-16c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0z"}),h("path",{d:"M7.057 8.943l16 16c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885l-16-16c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z"})])}Zy.compatConfig={MODE:3};function Mf(){return D(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[h("path",{d:"M20.943 23.057l-7.057-7.057c0 0 7.057-7.057 7.057-7.057 0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0l-8 8c-0.521 0.521-0.521 1.365 0 1.885l8 8c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885z"})])}Mf.compatConfig={MODE:3};function Tf(){return D(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[h("path",{d:"M12.943 24.943l8-8c0.521-0.521 0.521-1.365 0-1.885l-8-8c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885l7.057 7.057c0 0-7.057 7.057-7.057 7.057-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0z"})])}Tf.compatConfig={MODE:3};function Df(){return D(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[h("path",{d:"M16 1.333c-8.095 0-14.667 6.572-14.667 14.667s6.572 14.667 14.667 14.667c8.095 0 14.667-6.572 14.667-14.667s-6.572-14.667-14.667-14.667zM16 4c6.623 0 12 5.377 12 12s-5.377 12-12 12c-6.623 0-12-5.377-12-12s5.377-12 12-12z"}),h("path",{d:"M14.667 8v8c0 0.505 0.285 0.967 0.737 1.193l5.333 2.667c0.658 0.329 1.46 0.062 1.789-0.596s0.062-1.46-0.596-1.789l-4.596-2.298c0 0 0-7.176 0-7.176 0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z"})])}Df.compatConfig={MODE:3};function Of(){return D(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[h("path",{d:"M24.943 19.057l-8-8c-0.521-0.521-1.365-0.521-1.885 0l-8 8c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l7.057-7.057c0 0 7.057 7.057 7.057 7.057 0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885z"})])}Of.compatConfig={MODE:3};function If(){return D(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[h("path",{d:"M7.057 12.943l8 8c0.521 0.521 1.365 0.521 1.885 0l8-8c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0l-7.057 7.057c0 0-7.057-7.057-7.057-7.057-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z"})])}If.compatConfig={MODE:3};const En=(e,t)=>t?new Date(e.toLocaleString("en-US",{timeZone:t})):new Date(e),Rf=(e,t,n)=>oh(e,t,n)||xe(),_I=(e,t,n)=>{const s=t.dateInTz?En(new Date(e),t.dateInTz):xe(e);return n?wn(s,!0):s},oh=(e,t,n)=>{if(!e)return null;const s=n?wn(xe(e),!0):xe(e);return t?t.exactMatch?_I(e,t,n):En(s,t.timezone):s},vI=e=>{if(!e)return 0;const t=new Date,n=new Date(t.toLocaleString("en-US",{timeZone:"UTC"})),s=new Date(t.toLocaleString("en-US",{timeZone:e})),i=s.getTimezoneOffset()/60;return(+n-+s)/(1e3*60*60)-i};var ns=(e=>(e.month="month",e.year="year",e))(ns||{}),fo=(e=>(e.top="top",e.bottom="bottom",e))(fo||{}),ko=(e=>(e.header="header",e.calendar="calendar",e.timePicker="timePicker",e))(ko||{}),cn=(e=>(e.month="month",e.year="year",e.calendar="calendar",e.time="time",e.minutes="minutes",e.hours="hours",e.seconds="seconds",e))(cn||{});const bI=["timestamp","date","iso"];var gn=(e=>(e.up="up",e.down="down",e.left="left",e.right="right",e))(gn||{}),_t=(e=>(e.arrowUp="ArrowUp",e.arrowDown="ArrowDown",e.arrowLeft="ArrowLeft",e.arrowRight="ArrowRight",e.enter="Enter",e.space=" ",e.esc="Escape",e.tab="Tab",e.home="Home",e.end="End",e.pageUp="PageUp",e.pageDown="PageDown",e))(_t||{});function Tg(e){return t=>new Intl.DateTimeFormat(e,{weekday:"short",timeZone:"UTC"}).format(new Date(`2017-01-0${t}T00:00:00+00:00`)).slice(0,2)}function yI(e){return t=>Cs(En(new Date(`2017-01-0${t}T00:00:00+00:00`),"UTC"),"EEEEEE",{locale:e})}const wI=(e,t,n)=>{const s=[1,2,3,4,5,6,7];let i;if(e!==null)try{i=s.map(yI(e))}catch{i=s.map(Tg(t))}else i=s.map(Tg(t));const o=i.slice(0,n),r=i.slice(n+1,i.length);return[i[n]].concat(...r).concat(...o)},Lf=(e,t,n)=>{const s=[];for(let i=+e[0];i<=+e[1];i++)s.push({value:+i,text:s0(i,t)});return n?s.reverse():s},e0=(e,t,n)=>{const s=[1,2,3,4,5,6,7,8,9,10,11,12].map(o=>{const r=o<10?`0${o}`:o;return new Date(`2017-${r}-01T00:00:00+00:00`)});if(e!==null)try{const o=n==="long"?"LLLL":"LLL";return s.map((r,a)=>{const l=Cs(En(r,"UTC"),o,{locale:e});return{text:l.charAt(0).toUpperCase()+l.substring(1),value:a}})}catch{}const i=new Intl.DateTimeFormat(t,{month:n,timeZone:"UTC"});return s.map((o,r)=>{const a=i.format(o);return{text:a.charAt(0).toUpperCase()+a.substring(1),value:r}})},xI=e=>[12,1,2,3,4,5,6,7,8,9,10,11,12,1,2,3,4,5,6,7,8,9,10,11][e],jt=e=>{const t=q(e);return t!=null&&t.$el?t==null?void 0:t.$el:t},kI=e=>({type:"dot",...e??{}}),t0=e=>Array.isArray(e)?!!e[0]&&!!e[1]:!1,Nf={prop:e=>`"${e}" prop must be enabled!`,dateArr:e=>`You need to use array as "model-value" binding in order to support "${e}"`},Xt=e=>e,Dg=e=>e===0?e:!e||isNaN(+e)?null:+e,Og=e=>e===null,n0=e=>{if(e)return[...e.querySelectorAll("input, button, select, textarea, a[href]")][0]},SI=e=>{const t=[],n=s=>s.filter(i=>i);for(let s=0;s{const s=n!=null,i=t!=null;if(!s&&!i)return!1;const o=+n,r=+t;return s&&i?+e>o||+eo:i?+eSI(e).map(n=>n.map(s=>{const{active:i,disabled:o,isBetween:r,highlighted:a}=t(s);return{...s,active:i,disabled:o,className:{dp__overlay_cell_active:i,dp__overlay_cell:!i,dp__overlay_cell_disabled:o,dp__overlay_cell_pad:!0,dp__overlay_cell_active_disabled:o&&i,dp__cell_in_between:r,"dp--highlighted":a}}})),Ti=(e,t,n=!1)=>{e&&t.allowStopPropagation&&(n&&e.stopImmediatePropagation(),e.stopPropagation())},$I=()=>["a[href]","area[href]","input:not([disabled]):not([type='hidden'])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","[tabindex]:not([tabindex='-1'])","[data-datepicker-instance]"].join(", ");function AI(e,t){let n=[...document.querySelectorAll($I())];n=n.filter(i=>!e.contains(i)||i.hasAttribute("data-datepicker-instance"));const s=n.indexOf(e);if(s>=0&&(t?s-1>=0:s+1<=n.length))return n[s+(t?-1:1)]}const rh=(e,t)=>e==null?void 0:e.querySelector(`[data-dp-element="${t}"]`),s0=(e,t)=>new Intl.NumberFormat(t,{useGrouping:!1,style:"decimal"}).format(e),Ff=e=>Cs(e,"dd-MM-yyyy"),id=e=>Array.isArray(e),Ic=(e,t)=>t.get(Ff(e)),CI=(e,t)=>e?t?t instanceof Map?!!Ic(e,t):t(xe(e)):!1:!0,vn=(e,t,n=!1,s)=>{if(e.key===_t.enter||e.key===_t.space)return n&&e.preventDefault(),t();if(s)return s(e)},EI=()=>["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].some(e=>navigator.userAgent.includes(e))||navigator.userAgent.includes("Mac")&&"ontouchend"in document,Ig=(e,t,n,s,i,o)=>{const r=ih(e,t.slice(0,e.length),new Date,{locale:o});return Sa(r)&&Ny(r)?s||i?r:ht(r,{hours:+n.hours,minutes:+(n==null?void 0:n.minutes),seconds:+(n==null?void 0:n.seconds),milliseconds:0}):null},PI=(e,t,n,s,i,o)=>{const r=Array.isArray(n)?n[0]:n;if(typeof t=="string")return Ig(e,t,r,s,i,o);if(Array.isArray(t)){let a=null;for(const l of t)if(a=Ig(e,l,r,s,i,o),a)break;return a}return typeof t=="function"?t(e):null},xe=e=>e?new Date(e):new Date,MI=(e,t,n)=>{if(t){const i=(e.getMonth()+1).toString().padStart(2,"0"),o=e.getDate().toString().padStart(2,"0"),r=e.getHours().toString().padStart(2,"0"),a=e.getMinutes().toString().padStart(2,"0"),l=n?e.getSeconds().toString().padStart(2,"0"):"00";return`${e.getFullYear()}-${i}-${o}T${r}:${a}:${l}.000Z`}const s=Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds());return new Date(s).toISOString()},wn=(e,t)=>{const n=xe(JSON.parse(JSON.stringify(e))),s=ht(n,{hours:0,minutes:0,seconds:0,milliseconds:0});return t?k2(s):s},Di=(e,t,n,s)=>{let i=e?xe(e):xe();return(t||t===0)&&(i=pI(i,+t)),(n||n===0)&&(i=mI(i,+n)),(s||s===0)&&(i=Xy(i,+s)),Jy(i,0)},At=(e,t)=>!e||!t?!1:za(wn(e),wn(t)),nt=(e,t)=>!e||!t?!1:ir(wn(e),wn(t)),Ot=(e,t)=>!e||!t?!1:$r(wn(e),wn(t)),fu=(e,t,n)=>e!=null&&e[0]&&e!=null&&e[1]?Ot(n,e[0])&&At(n,e[1]):e!=null&&e[0]&&t?Ot(n,e[0])&&At(n,t)||At(n,e[0])&&Ot(n,t):!1,rs=e=>{const t=ht(new Date(e),{date:1});return wn(t)},od=(e,t,n)=>t&&(n||n===0)?Object.fromEntries(["hours","minutes","seconds"].map(s=>s===t?[s,n]:[s,isNaN(+e[s])?void 0:+e[s]])):{hours:isNaN(+e.hours)?void 0:+e.hours,minutes:isNaN(+e.minutes)?void 0:+e.minutes,seconds:isNaN(+e.seconds)?void 0:+e.seconds},So=e=>({hours:ei(e),minutes:Ni(e),seconds:Sr(e)}),i0=(e,t)=>{if(t){const n=Ye(xe(t));if(n>e)return 12;if(n===e)return Qe(xe(t))}},o0=(e,t)=>{if(t){const n=Ye(xe(t));return n{if(e)return Ye(xe(e))},r0=(e,t)=>{const n=Ot(e,t)?t:e,s=Ot(t,e)?t:e;return Fy({start:n,end:s})},TI=e=>{const t=cs(e,1);return{month:Qe(t),year:Ye(t)}},zs=(e,t)=>{const n=hs(e,{weekStartsOn:+t}),s=Vy(e,{weekStartsOn:+t});return[n,s]},a0=(e,t)=>{const n={hours:ei(xe()),minutes:Ni(xe()),seconds:t?Sr(xe()):0};return Object.assign(n,e)},ki=(e,t,n)=>[ht(xe(e),{date:1}),ht(xe(),{month:t,year:n,date:1})],Ks=(e,t,n)=>{let s=e?xe(e):xe();return(t||t===0)&&(s=Gy(s,t)),n&&(s=Ss(s,n)),s},l0=(e,t,n,s,i)=>{if(!s||i&&!t||!i&&!n)return!1;const o=i?cs(e,1):Ar(e,1),r=[Qe(o),Ye(o)];return i?!OI(...r,t):!DI(...r,n)},DI=(e,t,n)=>At(...ki(n,e,t))||nt(...ki(n,e,t)),OI=(e,t,n)=>Ot(...ki(n,e,t))||nt(...ki(n,e,t)),c0=(e,t,n,s,i,o,r)=>{if(typeof t=="function"&&!r)return t(e);const a=n?{locale:n}:void 0;return Array.isArray(e)?`${Cs(e[0],o,a)}${i&&!e[1]?"":s}${e[1]?Cs(e[1],o,a):""}`:Cs(e,o,a)},Xo=e=>{if(e)return null;throw new Error(Nf.prop("partial-range"))},Bl=(e,t)=>{if(t)return e();throw new Error(Nf.prop("range"))},ah=e=>Array.isArray(e)?Sa(e[0])&&(e[1]?Sa(e[1]):!0):e?Sa(e):!1,II=(e,t)=>ht(t??xe(),{hours:+e.hours||0,minutes:+e.minutes||0,seconds:+e.seconds||0}),rd=(e,t,n,s)=>{if(!e)return!0;if(s){const i=n==="max"?za(e,t):$r(e,t),o={seconds:0,milliseconds:0};return i||ir(ht(e,o),ht(t,o))}return n==="max"?e.getTime()<=t.getTime():e.getTime()>=t.getTime()},ad=(e,t,n)=>e?II(e,t):xe(n??t),Rg=(e,t,n,s,i)=>{if(Array.isArray(s)){const r=ad(e,s[0],t),a=ad(e,s[1],t);return rd(s[0],r,n,!!t)&&rd(s[1],a,n,!!t)&&i}const o=ad(e,s,t);return rd(s,o,n,!!t)&&i},ld=e=>ht(xe(),So(e)),RI=(e,t)=>e instanceof Map?Array.from(e.values()).filter(n=>Ye(xe(n))===t).map(n=>Qe(n)):[],u0=(e,t,n)=>typeof e=="function"?e({month:t,year:n}):!!e.months.find(s=>s.month===t&&s.year===n),Bf=(e,t)=>typeof e=="function"?e(t):e.years.includes(t),d0=e=>Cs(e,"yyyy-MM-dd"),ea=Ds({menuFocused:!1,shiftKeyInMenu:!1}),h0=()=>{const e=n=>{ea.menuFocused=n},t=n=>{ea.shiftKeyInMenu!==n&&(ea.shiftKeyInMenu=n)};return{control:ve(()=>({shiftKeyInMenu:ea.shiftKeyInMenu,menuFocused:ea.menuFocused})),setMenuFocused:e,setShiftKey:t}},gt=Ds({monthYear:[],calendar:[],time:[],actionRow:[],selectionGrid:[],timePicker:{0:[],1:[]},monthPicker:[]}),cd=be(null),Vl=be(!1),ud=be(!1),dd=be(!1),hd=be(!1),an=be(0),Dt=be(0),Yi=()=>{const e=ve(()=>Vl.value?[...gt.selectionGrid,gt.actionRow].filter(d=>d.length):ud.value?[...gt.timePicker[0],...gt.timePicker[1],hd.value?[]:[cd.value],gt.actionRow].filter(d=>d.length):dd.value?[...gt.monthPicker,gt.actionRow]:[gt.monthYear,...gt.calendar,gt.time,gt.actionRow].filter(d=>d.length)),t=d=>{an.value=d?an.value+1:an.value-1;let f=null;e.value[Dt.value]&&(f=e.value[Dt.value][an.value]),!f&&e.value[Dt.value+(d?1:-1)]?(Dt.value=Dt.value+(d?1:-1),an.value=d?0:e.value[Dt.value].length-1):f||(an.value=d?an.value-1:an.value+1)},n=d=>{Dt.value===0&&!d||Dt.value===e.value.length&&d||(Dt.value=d?Dt.value+1:Dt.value-1,e.value[Dt.value]?e.value[Dt.value]&&!e.value[Dt.value][an.value]&&an.value!==0&&(an.value=e.value[Dt.value].length-1):Dt.value=d?Dt.value-1:Dt.value+1)},s=d=>{let f=null;e.value[Dt.value]&&(f=e.value[Dt.value][an.value]),f?f.focus({preventScroll:!Vl.value}):an.value=d?an.value-1:an.value+1},i=()=>{t(!0),s(!0)},o=()=>{t(!1),s(!1)},r=()=>{n(!1),s(!0)},a=()=>{n(!0),s(!0)},l=(d,f)=>{gt[f]=d},c=(d,f)=>{gt[f]=d},u=()=>{an.value=0,Dt.value=0};return{buildMatrix:l,buildMultiLevelMatrix:c,setTimePickerBackRef:d=>{cd.value=d},setSelectionGrid:d=>{Vl.value=d,u(),d||(gt.selectionGrid=[])},setTimePicker:(d,f=!1)=>{ud.value=d,hd.value=f,u(),d||(gt.timePicker[0]=[],gt.timePicker[1]=[])},setTimePickerElements:(d,f=0)=>{gt.timePicker[f]=d},arrowRight:i,arrowLeft:o,arrowUp:r,arrowDown:a,clearArrowNav:()=>{gt.monthYear=[],gt.calendar=[],gt.time=[],gt.actionRow=[],gt.selectionGrid=[],gt.timePicker[0]=[],gt.timePicker[1]=[],Vl.value=!1,ud.value=!1,hd.value=!1,dd.value=!1,u(),cd.value=null},setMonthPicker:d=>{dd.value=d,u()},refSets:gt}},Lg=e=>({menuAppearTop:"dp-menu-appear-top",menuAppearBottom:"dp-menu-appear-bottom",open:"dp-slide-down",close:"dp-slide-up",next:"calendar-next",previous:"calendar-prev",vNext:"dp-slide-up",vPrevious:"dp-slide-down",...e??{}}),LI=e=>({toggleOverlay:"Toggle overlay",menu:"Datepicker menu",input:"Datepicker input",openTimePicker:"Open time picker",closeTimePicker:"Close time Picker",incrementValue:t=>`Increment ${t}`,decrementValue:t=>`Decrement ${t}`,openTpOverlay:t=>`Open ${t} overlay`,amPmButton:"Switch AM/PM mode",openYearsOverlay:"Open years overlay",openMonthsOverlay:"Open months overlay",nextMonth:"Next month",prevMonth:"Previous month",nextYear:"Next year",prevYear:"Previous year",day:void 0,weekDay:void 0,clearInput:"Clear value",calendarIcon:"Calendar icon",timePicker:"Time picker",monthPicker:t=>`Month picker${t?" overlay":""}`,yearPicker:t=>`Year picker${t?" overlay":""}`,timeOverlay:t=>`${t} overlay`,...e??{}}),Ng=e=>e?typeof e=="boolean"?e?2:0:+e>=2?+e:2:0,NI=e=>{const t=typeof e=="object"&&e,n={static:!0,solo:!1};if(!e)return{...n,count:Ng(!1)};const s=t?e:{},i=t?s.count??!0:e,o=Ng(i);return Object.assign(n,s,{count:o})},FI=(e,t,n)=>e||(typeof n=="string"?n:t),BI=e=>typeof e=="boolean"?e?Lg({}):!1:Lg(e),VI=e=>{const t={enterSubmit:!0,tabSubmit:!0,openMenu:"open",selectOnFocus:!1,rangeSeparator:" - "};return typeof e=="object"?{...t,...e??{},enabled:!0}:{...t,enabled:e}},HI=e=>({months:[],years:[],times:{hours:[],minutes:[],seconds:[]},...e??{}}),jI=e=>({showSelect:!0,showCancel:!0,showNow:!1,showPreview:!0,...e??{}}),WI=e=>{const t={input:!1};return typeof e=="object"?{...t,...e??{},enabled:!0}:{enabled:e,...t}},zI=e=>({allowStopPropagation:!0,closeOnScroll:!1,modeHeight:255,allowPreventDefault:!1,closeOnClearValue:!0,closeOnAutoApply:!0,noSwipe:!1,keepActionRow:!1,onClickOutside:void 0,tabOutClosesMenu:!0,arrowLeft:void 0,keepViewOnOffsetClick:!1,timeArrowHoldThreshold:0,shadowDom:!1,...e??{}}),YI=e=>{const t={dates:Array.isArray(e)?e.map(n=>xe(n)):[],years:[],months:[],quarters:[],weeks:[],weekdays:[],options:{highlightDisabled:!1}};return typeof e=="function"?e:{...t,...e??{}}},UI=e=>typeof e=="object"?{type:(e==null?void 0:e.type)??"local",hideOnOffsetDates:(e==null?void 0:e.hideOnOffsetDates)??!1}:{type:e,hideOnOffsetDates:!1},KI=e=>{const t={noDisabledRange:!1,showLastInRange:!0,minMaxRawRange:!1,partialRange:!0,disableTimeRangeValidation:!1,maxRange:void 0,minRange:void 0,autoRange:void 0,fixedStart:!1,fixedEnd:!1};return typeof e=="object"?{enabled:!0,...t,...e}:{enabled:e,...t}},qI=e=>e?typeof e=="string"?{timezone:e,exactMatch:!1,dateInTz:void 0,emitTimezone:void 0,convertModel:!0}:{timezone:e.timezone,exactMatch:e.exactMatch??!1,dateInTz:e.dateInTz??void 0,emitTimezone:e.emitTimezone??void 0,convertModel:e.convertModel??!0}:{timezone:void 0,exactMatch:!1,emitTimezone:void 0},fd=(e,t,n)=>new Map(e.map(s=>{const i=Rf(s,t,n);return[Ff(i),i]})),GI=(e,t)=>e.length?new Map(e.map(n=>{const s=Rf(n.date,t);return[Ff(s),n]})):null,JI=e=>{var t;return{minDate:oh(e.minDate,e.timezone,e.isSpecific),maxDate:oh(e.maxDate,e.timezone,e.isSpecific),disabledDates:id(e.disabledDates)?fd(e.disabledDates,e.timezone,e.isSpecific):e.disabledDates,allowedDates:id(e.allowedDates)?fd(e.allowedDates,e.timezone,e.isSpecific):null,highlight:typeof e.highlight=="object"&&id((t=e.highlight)==null?void 0:t.dates)?fd(e.highlight.dates,e.timezone):e.highlight,markers:GI(e.markers,e.timezone)}},XI=e=>typeof e=="boolean"?{enabled:e,dragSelect:!0,limit:null}:{enabled:!!e,limit:e.limit?+e.limit:null,dragSelect:e.dragSelect??!0},QI=e=>({...Object.fromEntries(Object.keys(e).map(t=>{const n=t,s=e[n],i=typeof e[n]=="string"?{[s]:!0}:Object.fromEntries(s.map(o=>[o,!0]));return[t,i]}))}),kt=e=>{const t=()=>{const y=e.enableSeconds?":ss":"",x=e.enableMinutes?":mm":"";return e.is24?`HH${x}${y}`:`hh${x}${y} aa`},n=()=>{var y;return e.format?e.format:e.monthPicker?"MM/yyyy":e.timePicker?t():e.weekPicker?`${((y=b.value)==null?void 0:y.type)==="iso"?"RR":"ww"}-yyyy`:e.yearPicker?"yyyy":e.quarterPicker?"QQQ/yyyy":e.enableTimePicker?`MM/dd/yyyy, ${t()}`:"MM/dd/yyyy"},s=y=>a0(y,e.enableSeconds),i=()=>T.value.enabled?e.startTime&&Array.isArray(e.startTime)?[s(e.startTime[0]),s(e.startTime[1])]:null:e.startTime&&!Array.isArray(e.startTime)?s(e.startTime):null,o=ve(()=>NI(e.multiCalendars)),r=ve(()=>i()),a=ve(()=>LI(e.ariaLabels)),l=ve(()=>HI(e.filters)),c=ve(()=>BI(e.transitions)),u=ve(()=>jI(e.actionRow)),d=ve(()=>FI(e.previewFormat,e.format,n())),f=ve(()=>VI(e.textInput)),p=ve(()=>WI(e.inline)),g=ve(()=>zI(e.config)),_=ve(()=>YI(e.highlight)),b=ve(()=>UI(e.weekNumbers)),w=ve(()=>qI(e.timezone)),$=ve(()=>XI(e.multiDates)),A=ve(()=>JI({minDate:e.minDate,maxDate:e.maxDate,disabledDates:e.disabledDates,allowedDates:e.allowedDates,highlight:_.value,markers:e.markers,timezone:w.value,isSpecific:e.monthPicker||e.yearPicker||e.quarterPicker})),T=ve(()=>KI(e.range)),k=ve(()=>QI(e.ui));return{defaultedTransitions:c,defaultedMultiCalendars:o,defaultedStartTime:r,defaultedAriaLabels:a,defaultedFilters:l,defaultedActionRow:u,defaultedPreviewFormat:d,defaultedTextInput:f,defaultedInline:p,defaultedConfig:g,defaultedHighlight:_,defaultedWeekNumbers:b,defaultedRange:T,propDates:A,defaultedTz:w,defaultedMultiDates:$,defaultedUI:k,getDefaultPattern:n,getDefaultStartTime:i}},ZI=(e,t,n)=>{const s=be(),{defaultedTextInput:i,defaultedRange:o,defaultedTz:r,defaultedMultiDates:a,getDefaultPattern:l}=kt(t),c=be(""),u=Ra(t,"format"),d=Ra(t,"formatLocale");Vt(s,()=>{typeof t.onInternalModelChange=="function"&&e("internal-model-change",s.value,oe(!0))},{deep:!0}),Vt(o,(M,se)=>{M.enabled!==se.enabled&&(s.value=null)}),Vt(u,()=>{Q()});const f=M=>r.value.timezone&&r.value.convertModel?En(M,r.value.timezone):M,p=M=>{if(r.value.timezone&&r.value.convertModel){const se=vI(r.value.timezone);return g2(M,se)}return M},g=(M,se,de=!1)=>c0(M,t.format,t.formatLocale,i.value.rangeSeparator,t.modelAuto,se??l(),de),_=M=>M?t.modelType?ce(M):{hours:ei(M),minutes:Ni(M),seconds:t.enableSeconds?Sr(M):0}:null,b=M=>t.modelType?ce(M):{month:Qe(M),year:Ye(M)},w=M=>Array.isArray(M)?a.value.enabled?M.map(se=>$(se,Ss(xe(),se))):Bl(()=>[Ss(xe(),M[0]),M[1]?Ss(xe(),M[1]):Xo(o.value.partialRange)],o.value.enabled):Ss(xe(),+M),$=(M,se)=>(typeof M=="string"||typeof M=="number")&&t.modelType?Z(M):se,A=M=>Array.isArray(M)?[$(M[0],Di(null,+M[0].hours,+M[0].minutes,M[0].seconds)),$(M[1],Di(null,+M[1].hours,+M[1].minutes,M[1].seconds))]:$(M,Di(null,M.hours,M.minutes,M.seconds)),T=M=>{const se=ht(xe(),{date:1});return Array.isArray(M)?a.value.enabled?M.map(de=>$(de,Ks(se,+de.month,+de.year))):Bl(()=>[$(M[0],Ks(se,+M[0].month,+M[0].year)),$(M[1],M[1]?Ks(se,+M[1].month,+M[1].year):Xo(o.value.partialRange))],o.value.enabled):$(M,Ks(se,+M.month,+M.year))},k=M=>{if(Array.isArray(M))return M.map(se=>Z(se));throw new Error(Nf.dateArr("multi-dates"))},y=M=>{if(Array.isArray(M)&&o.value.enabled){const se=M[0],de=M[1];return[xe(Array.isArray(se)?se[0]:null),xe(Array.isArray(de)?de[0]:null)]}return xe(M[0])},x=M=>t.modelAuto?Array.isArray(M)?[Z(M[0]),Z(M[1])]:t.autoApply?[Z(M)]:[Z(M),null]:Array.isArray(M)?Bl(()=>M[1]?[Z(M[0]),M[1]?Z(M[1]):Xo(o.value.partialRange)]:[Z(M[0])],o.value.enabled):Z(M),C=()=>{Array.isArray(s.value)&&o.value.enabled&&s.value.length===1&&s.value.push(Xo(o.value.partialRange))},P=()=>{const M=s.value;return[ce(M[0]),M[1]?ce(M[1]):Xo(o.value.partialRange)]},E=()=>s.value[1]?P():ce(Xt(s.value[0])),B=()=>(s.value||[]).map(M=>ce(M)),G=(M=!1)=>(M||C(),t.modelAuto?E():a.value.enabled?B():Array.isArray(s.value)?Bl(()=>P(),o.value.enabled):ce(Xt(s.value))),ae=M=>!M||Array.isArray(M)&&!M.length?null:t.timePicker?A(Xt(M)):t.monthPicker?T(Xt(M)):t.yearPicker?w(Xt(M)):a.value.enabled?k(Xt(M)):t.weekPicker?y(Xt(M)):x(Xt(M)),Y=M=>{const se=ae(M);ah(Xt(se))?(s.value=Xt(se),Q()):(s.value=null,c.value="")},L=()=>{const M=se=>Cs(se,i.value.format);return`${M(s.value[0])} ${i.value.rangeSeparator} ${s.value[1]?M(s.value[1]):""}`},I=()=>n.value&&s.value?Array.isArray(s.value)?L():Cs(s.value,i.value.format):g(s.value),V=()=>s.value?a.value.enabled?s.value.map(M=>g(M)).join("; "):i.value.enabled&&typeof i.value.format=="string"?I():g(s.value):"",Q=()=>{!t.format||typeof t.format=="string"||i.value.enabled&&typeof i.value.format=="string"?c.value=V():c.value=t.format(s.value)},Z=M=>{if(t.utc){const se=new Date(M);return t.utc==="preserve"?new Date(se.getTime()+se.getTimezoneOffset()*6e4):se}return t.modelType?bI.includes(t.modelType)?f(new Date(M)):t.modelType==="format"&&(typeof t.format=="string"||!t.format)?f(ih(M,l(),new Date,{locale:d.value})):f(ih(M,t.modelType,new Date,{locale:d.value})):f(new Date(M))},ce=M=>M?t.utc?MI(M,t.utc==="preserve",t.enableSeconds):t.modelType?t.modelType==="timestamp"?+p(M):t.modelType==="iso"?p(M).toISOString():t.modelType==="format"&&(typeof t.format=="string"||!t.format)?g(p(M)):g(p(M),t.modelType,!0):p(M):"",we=(M,se=!1,de=!1)=>{if(de)return M;if(e("update:model-value",M),r.value.emitTimezone&&se){const ke=Array.isArray(M)?M.map(N=>En(Xt(N),r.value.emitTimezone)):En(Xt(M),r.value.emitTimezone);e("update:model-timezone-value",ke)}},U=M=>Array.isArray(s.value)?a.value.enabled?s.value.map(se=>M(se)):[M(s.value[0]),s.value[1]?M(s.value[1]):Xo(o.value.partialRange)]:M(Xt(s.value)),X=()=>{if(Array.isArray(s.value)){const M=zs(s.value[0],t.weekStart),se=s.value[1]?zs(s.value[1],t.weekStart):[];return[M.map(de=>xe(de)),se.map(de=>xe(de))]}return zs(s.value,t.weekStart).map(M=>xe(M))},R=(M,se)=>we(Xt(U(M)),!1,se),ee=M=>{const se=X();return M?se:e("update:model-value",X())},oe=(M=!1)=>(M||Q(),t.monthPicker?R(b,M):t.timePicker?R(_,M):t.yearPicker?R(Ye,M):t.weekPicker?ee(M):we(G(M),!0,M));return{inputValue:c,internalModelValue:s,checkBeforeEmit:()=>s.value?o.value.enabled?o.value.partialRange?s.value.length>=1:s.value.length===2:!!s.value:!1,parseExternalModelValue:Y,formatInputValue:Q,emitModelValue:oe}},eR=(e,t)=>{const{defaultedFilters:n,propDates:s}=kt(e),{validateMonthYearInRange:i}=Ui(e),o=(u,d)=>{let f=u;return n.value.months.includes(Qe(f))?(f=d?cs(u,1):Ar(u,1),o(f,d)):f},r=(u,d)=>{let f=u;return n.value.years.includes(Ye(f))?(f=d?Sf(u,1):Qy(u,1),r(f,d)):f},a=(u,d=!1)=>{const f=ht(xe(),{month:e.month,year:e.year});let p=u?cs(f,1):Ar(f,1);e.disableYearSelect&&(p=Ss(p,e.year));let g=Qe(p),_=Ye(p);n.value.months.includes(g)&&(p=o(p,u),g=Qe(p),_=Ye(p)),n.value.years.includes(_)&&(p=r(p,u),_=Ye(p)),i(g,_,u,e.preventMinMaxNavigation)&&l(g,_,d)},l=(u,d,f)=>{t("update-month-year",{month:u,year:d,fromNav:f})},c=ve(()=>u=>l0(ht(xe(),{month:e.month,year:e.year}),s.value.maxDate,s.value.minDate,e.preventMinMaxNavigation,u));return{handleMonthYearChange:a,isDisabled:c,updateMonthYear:l}},pu={multiCalendars:{type:[Boolean,Number,String,Object],default:void 0},modelValue:{type:[String,Date,Array,Object,Number],default:null},modelType:{type:String,default:null},position:{type:String,default:"center"},dark:{type:Boolean,default:!1},format:{type:[String,Function],default:()=>null},autoPosition:{type:Boolean,default:!0},altPosition:{type:Function,default:null},transitions:{type:[Boolean,Object],default:!0},formatLocale:{type:Object,default:null},utc:{type:[Boolean,String],default:!1},ariaLabels:{type:Object,default:()=>({})},offset:{type:[Number,String],default:10},hideNavigation:{type:Array,default:()=>[]},timezone:{type:[String,Object],default:null},vertical:{type:Boolean,default:!1},disableMonthYearSelect:{type:Boolean,default:!1},disableYearSelect:{type:Boolean,default:!1},dayClass:{type:Function,default:null},yearRange:{type:Array,default:()=>[1900,2100]},enableTimePicker:{type:Boolean,default:!0},autoApply:{type:Boolean,default:!1},disabledDates:{type:[Array,Function],default:()=>[]},monthNameFormat:{type:String,default:"short"},startDate:{type:[Date,String],default:null},startTime:{type:[Object,Array],default:null},hideOffsetDates:{type:Boolean,default:!1},noToday:{type:Boolean,default:!1},disabledWeekDays:{type:Array,default:()=>[]},allowedDates:{type:Array,default:null},nowButtonLabel:{type:String,default:"Now"},markers:{type:Array,default:()=>[]},escClose:{type:Boolean,default:!0},spaceConfirm:{type:Boolean,default:!0},monthChangeOnArrows:{type:Boolean,default:!0},presetDates:{type:Array,default:()=>[]},flow:{type:Array,default:()=>[]},partialFlow:{type:Boolean,default:!1},preventMinMaxNavigation:{type:Boolean,default:!1},reverseYears:{type:Boolean,default:!1},weekPicker:{type:Boolean,default:!1},filters:{type:Object,default:()=>({})},arrowNavigation:{type:Boolean,default:!1},highlight:{type:[Function,Object],default:null},teleport:{type:[Boolean,String,Object],default:null},teleportCenter:{type:Boolean,default:!1},locale:{type:String,default:"en-Us"},weekNumName:{type:String,default:"W"},weekStart:{type:[Number,String],default:1},weekNumbers:{type:[String,Function,Object],default:null},monthChangeOnScroll:{type:[Boolean,String],default:!0},dayNames:{type:[Function,Array],default:null},monthPicker:{type:Boolean,default:!1},customProps:{type:Object,default:null},yearPicker:{type:Boolean,default:!1},modelAuto:{type:Boolean,default:!1},selectText:{type:String,default:"Select"},cancelText:{type:String,default:"Cancel"},previewFormat:{type:[String,Function],default:()=>""},multiDates:{type:[Object,Boolean],default:!1},ignoreTimeValidation:{type:Boolean,default:!1},minDate:{type:[Date,String],default:null},maxDate:{type:[Date,String],default:null},minTime:{type:Object,default:null},maxTime:{type:Object,default:null},name:{type:String,default:null},placeholder:{type:String,default:""},hideInputIcon:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},state:{type:Boolean,default:null},required:{type:Boolean,default:!1},autocomplete:{type:String,default:"off"},timePicker:{type:Boolean,default:!1},enableSeconds:{type:Boolean,default:!1},is24:{type:Boolean,default:!0},noHoursOverlay:{type:Boolean,default:!1},noMinutesOverlay:{type:Boolean,default:!1},noSecondsOverlay:{type:Boolean,default:!1},hoursGridIncrement:{type:[String,Number],default:1},minutesGridIncrement:{type:[String,Number],default:5},secondsGridIncrement:{type:[String,Number],default:5},hoursIncrement:{type:[Number,String],default:1},minutesIncrement:{type:[Number,String],default:1},secondsIncrement:{type:[Number,String],default:1},range:{type:[Boolean,Object],default:!1},uid:{type:String,default:null},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},inline:{type:[Boolean,Object],default:!1},textInput:{type:[Boolean,Object],default:!1},sixWeeks:{type:[Boolean,String],default:!1},actionRow:{type:Object,default:()=>({})},focusStartDate:{type:Boolean,default:!1},disabledTimes:{type:[Function,Array],default:void 0},timePickerInline:{type:Boolean,default:!1},calendar:{type:Function,default:null},config:{type:Object,default:void 0},quarterPicker:{type:Boolean,default:!1},yearFirst:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},onInternalModelChange:{type:[Function,Object],default:null},enableMinutes:{type:Boolean,default:!0},ui:{type:Object,default:()=>({})}},fs={...pu,shadow:{type:Boolean,default:!1},flowStep:{type:Number,default:0},internalModelValue:{type:[Date,Array],default:null},noOverlayFocus:{type:Boolean,default:!1},collapse:{type:Boolean,default:!1},menuWrapRef:{type:Object,default:null},getInputRect:{type:Function,default:()=>({})},isTextInputDate:{type:Boolean,default:!1}},tR=["title"],nR=["disabled"],sR=Ft({compatConfig:{MODE:3},__name:"ActionRow",props:{menuMount:{type:Boolean,default:!1},calendarWidth:{type:Number,default:0},...fs},emits:["close-picker","select-date","select-now","invalid-select"],setup(e,{emit:t}){const n=t,s=e,{defaultedActionRow:i,defaultedPreviewFormat:o,defaultedMultiCalendars:r,defaultedTextInput:a,defaultedInline:l,defaultedRange:c,defaultedMultiDates:u,getDefaultPattern:d}=kt(s),{isTimeValid:f,isMonthValid:p}=Ui(s),{buildMatrix:g}=Yi(),_=be(null),b=be(null),w=be(!1),$=be({}),A=be(null),T=be(null);Gt(()=>{s.arrowNavigation&&g([jt(_),jt(b)],"actionRow"),k(),window.addEventListener("resize",k)}),Fr(()=>{window.removeEventListener("resize",k)});const k=()=>{w.value=!1,setTimeout(()=>{var L,I;const V=(L=A.value)==null?void 0:L.getBoundingClientRect(),Q=(I=T.value)==null?void 0:I.getBoundingClientRect();V&&Q&&($.value.maxWidth=`${Q.width-V.width-20}px`),w.value=!0},0)},y=ve(()=>c.value.enabled&&!c.value.partialRange&&s.internalModelValue?s.internalModelValue.length===2:!0),x=ve(()=>!f.value(s.internalModelValue)||!p.value(s.internalModelValue)||!y.value),C=()=>{const L=o.value;return s.timePicker||s.monthPicker,L(Xt(s.internalModelValue))},P=()=>{const L=s.internalModelValue;return r.value.count>0?`${E(L[0])} - ${E(L[1])}`:[E(L[0]),E(L[1])]},E=L=>c0(L,o.value,s.formatLocale,a.value.rangeSeparator,s.modelAuto,d()),B=ve(()=>!s.internalModelValue||!s.menuMount?"":typeof o.value=="string"?Array.isArray(s.internalModelValue)?s.internalModelValue.length===2&&s.internalModelValue[1]?P():u.value.enabled?s.internalModelValue.map(L=>`${E(L)}`):s.modelAuto?`${E(s.internalModelValue[0])}`:`${E(s.internalModelValue[0])} -`:E(s.internalModelValue):C()),G=()=>u.value.enabled?"; ":" - ",ae=ve(()=>Array.isArray(B.value)?B.value.join(G()):B.value),Y=()=>{f.value(s.internalModelValue)&&p.value(s.internalModelValue)&&y.value?n("select-date"):n("invalid-select")};return(L,I)=>(D(),F("div",{ref_key:"actionRowRef",ref:T,class:"dp__action_row"},[L.$slots["action-row"]?Ie(L.$slots,"action-row",Zt(Yt({key:0},{internalModelValue:L.internalModelValue,disabled:x.value,selectDate:()=>L.$emit("select-date"),closePicker:()=>L.$emit("close-picker")}))):(D(),F(Te,{key:1},[q(i).showPreview?(D(),F("div",{key:0,class:"dp__selection_preview",title:ae.value,style:Wt($.value)},[L.$slots["action-preview"]&&w.value?Ie(L.$slots,"action-preview",{key:0,value:L.internalModelValue}):re("",!0),!L.$slots["action-preview"]&&w.value?(D(),F(Te,{key:1},[ye(_e(ae.value),1)],64)):re("",!0)],12,tR)):re("",!0),h("div",{ref_key:"actionBtnContainer",ref:A,class:"dp__action_buttons","data-dp-element":"action-row"},[L.$slots["action-buttons"]?Ie(L.$slots,"action-buttons",{key:0,value:L.internalModelValue}):re("",!0),L.$slots["action-buttons"]?re("",!0):(D(),F(Te,{key:1},[!q(l).enabled&&q(i).showCancel?(D(),F("button",{key:0,ref_key:"cancelButtonRef",ref:_,type:"button",class:"dp__action_button dp__action_cancel",onClick:I[0]||(I[0]=V=>L.$emit("close-picker")),onKeydown:I[1]||(I[1]=V=>q(vn)(V,()=>L.$emit("close-picker")))},_e(L.cancelText),545)):re("",!0),q(i).showNow?(D(),F("button",{key:1,type:"button",class:"dp__action_button dp__action_cancel",onClick:I[2]||(I[2]=V=>L.$emit("select-now")),onKeydown:I[3]||(I[3]=V=>q(vn)(V,()=>L.$emit("select-now")))},_e(L.nowButtonLabel),33)):re("",!0),q(i).showSelect?(D(),F("button",{key:2,ref_key:"selectButtonRef",ref:b,type:"button",class:"dp__action_button dp__action_select",disabled:x.value,"data-test":"select-button",onKeydown:I[4]||(I[4]=V=>q(vn)(V,()=>Y())),onClick:Y},_e(L.selectText),41,nR)):re("",!0)],64))],512)],64))],512))}}),iR=["role","aria-label","tabindex"],oR={class:"dp__selection_grid_header"},rR=["aria-selected","aria-disabled","data-test","onClick","onKeydown","onMouseover"],aR=["aria-label"],ol=Ft({__name:"SelectionOverlay",props:{items:{},type:{},isLast:{type:Boolean},arrowNavigation:{type:Boolean},skipButtonRef:{type:Boolean},headerRefs:{},hideNavigation:{},escClose:{type:Boolean},useRelative:{type:Boolean},height:{},textInput:{type:[Boolean,Object]},config:{},noOverlayFocus:{type:Boolean},focusValue:{},menuWrapRef:{},ariaLabels:{},overlayLabel:{}},emits:["selected","toggle","reset-flow","hover-value"],setup(e,{expose:t,emit:n}){const{setSelectionGrid:s,buildMultiLevelMatrix:i,setMonthPicker:o}=Yi(),r=n,a=e,{defaultedAriaLabels:l,defaultedTextInput:c,defaultedConfig:u}=kt(a),{hideNavigationButtons:d}=_u(),f=be(!1),p=be(null),g=be(null),_=be([]),b=be(),w=be(null),$=be(0),A=be(null);kb(()=>{p.value=null}),Gt(()=>{tn().then(()=>B()),a.noOverlayFocus||k(),T(!0)}),Fr(()=>T(!1));const T=U=>{var X;a.arrowNavigation&&((X=a.headerRefs)!=null&&X.length?o(U):s(U))},k=()=>{var U;const X=jt(g);X&&(c.value.enabled||(p.value?(U=p.value)==null||U.focus({preventScroll:!0}):X.focus({preventScroll:!0})),f.value=X.clientHeight({dp__overlay:!0,"dp--overlay-absolute":!a.useRelative,"dp--overlay-relative":a.useRelative})),x=ve(()=>a.useRelative?{height:`${a.height}px`,width:"260px"}:void 0),C=ve(()=>({dp__overlay_col:!0})),P=ve(()=>({dp__btn:!0,dp__button:!0,dp__overlay_action:!0,dp__over_action_scroll:f.value,dp__button_bottom:a.isLast})),E=ve(()=>{var U,X;return{dp__overlay_container:!0,dp__container_flex:((U=a.items)==null?void 0:U.length)<=6,dp__container_block:((X=a.items)==null?void 0:X.length)>6}});Vt(()=>a.items,()=>B(!1),{deep:!0});const B=(U=!0)=>{tn().then(()=>{const X=jt(p),R=jt(g),ee=jt(w),oe=jt(A),M=ee?ee.getBoundingClientRect().height:0;R&&(R.getBoundingClientRect().height?$.value=R.getBoundingClientRect().height-M:$.value=u.value.modeHeight-M),X&&oe&&U&&(oe.scrollTop=X.offsetTop-oe.offsetTop-($.value/2-X.getBoundingClientRect().height)-M)})},G=U=>{U.disabled||r("selected",U.value)},ae=()=>{r("toggle"),r("reset-flow")},Y=()=>{a.escClose&&ae()},L=(U,X,R,ee)=>{U&&((X.active||X.value===a.focusValue)&&(p.value=U),a.arrowNavigation&&(Array.isArray(_.value[R])?_.value[R][ee]=U:_.value[R]=[U],I()))},I=()=>{var U,X;const R=(U=a.headerRefs)!=null&&U.length?[a.headerRefs].concat(_.value):_.value.concat([a.skipButtonRef?[]:[w.value]]);i(Xt(R),(X=a.headerRefs)!=null&&X.length?"monthPicker":"selectionGrid")},V=U=>{a.arrowNavigation||Ti(U,u.value,!0)},Q=U=>{b.value=U,r("hover-value",U)},Z=()=>{if(ae(),!a.isLast){const U=rh(a.menuWrapRef??null,"action-row");if(U){const X=n0(U);X==null||X.focus()}}},ce=U=>{switch(U.key){case _t.esc:return Y();case _t.arrowLeft:return V(U);case _t.arrowRight:return V(U);case _t.arrowUp:return V(U);case _t.arrowDown:return V(U);default:return}},we=U=>{if(U.key===_t.enter)return ae();if(U.key===_t.tab)return Z()};return t({focusGrid:k}),(U,X)=>{var R;return D(),F("div",{ref_key:"gridWrapRef",ref:g,class:Ee(y.value),style:Wt(x.value),role:U.useRelative?void 0:"dialog","aria-label":U.overlayLabel,tabindex:U.useRelative?void 0:"0",onKeydown:ce,onClick:X[0]||(X[0]=Ha(()=>{},["prevent"]))},[h("div",{ref_key:"containerRef",ref:A,class:Ee(E.value),style:Wt({"--dp-overlay-height":`${$.value}px`}),role:"grid"},[h("div",oR,[Ie(U.$slots,"header")]),U.$slots.overlay?Ie(U.$slots,"overlay",{key:0}):(D(!0),F(Te,{key:1},Ke(U.items,(ee,oe)=>(D(),F("div",{key:oe,class:Ee(["dp__overlay_row",{dp__flex_row:U.items.length>=3}]),role:"row"},[(D(!0),F(Te,null,Ke(ee,(M,se)=>(D(),F("div",{key:M.value,ref_for:!0,ref:de=>L(de,M,oe,se),role:"gridcell",class:Ee(C.value),"aria-selected":M.active||void 0,"aria-disabled":M.disabled||void 0,tabindex:"0","data-test":M.text,onClick:Ha(de=>G(M),["prevent"]),onKeydown:de=>q(vn)(de,()=>G(M),!0),onMouseover:de=>Q(M.value)},[h("div",{class:Ee(M.className)},[U.$slots.item?Ie(U.$slots,"item",{key:0,item:M}):re("",!0),U.$slots.item?re("",!0):(D(),F(Te,{key:1},[ye(_e(M.text),1)],64))],2)],42,rR))),128))],2))),128))],6),U.$slots["button-icon"]?Re((D(),F("button",{key:0,ref_key:"toggleButton",ref:w,type:"button","aria-label":(R=q(l))==null?void 0:R.toggleOverlay,class:Ee(P.value),tabindex:"0",onClick:ae,onKeydown:we},[Ie(U.$slots,"button-icon")],42,aR)),[[uc,!q(d)(U.hideNavigation,U.type)]]):re("",!0)],46,iR)}}}),mu=Ft({__name:"InstanceWrap",props:{multiCalendars:{},stretch:{type:Boolean},collapse:{type:Boolean}},setup(e){const t=e,n=ve(()=>t.multiCalendars>0?[...Array(t.multiCalendars).keys()]:[0]),s=ve(()=>({dp__instance_calendar:t.multiCalendars>0}));return(i,o)=>(D(),F("div",{class:Ee({dp__menu_inner:!i.stretch,"dp--menu--inner-stretched":i.stretch,dp__flex_display:i.multiCalendars>0,"dp--flex-display-collapsed":i.collapse})},[(D(!0),F(Te,null,Ke(n.value,(r,a)=>(D(),F("div",{key:r,class:Ee(s.value)},[Ie(i.$slots,"default",{instance:r,index:a})],2))),128))],2))}}),lR=["data-dp-element","aria-label","aria-disabled"],$a=Ft({compatConfig:{MODE:3},__name:"ArrowBtn",props:{ariaLabel:{},elName:{},disabled:{type:Boolean}},emits:["activate","set-ref"],setup(e,{emit:t}){const n=t,s=be(null);return Gt(()=>n("set-ref",s)),(i,o)=>(D(),F("button",{ref_key:"elRef",ref:s,type:"button","data-dp-element":i.elName,class:"dp__btn dp--arrow-btn-nav",tabindex:"0","aria-label":i.ariaLabel,"aria-disabled":i.disabled||void 0,onClick:o[0]||(o[0]=r=>i.$emit("activate")),onKeydown:o[1]||(o[1]=r=>q(vn)(r,()=>i.$emit("activate"),!0))},[h("span",{class:Ee(["dp__inner_nav",{dp__inner_nav_disabled:i.disabled}])},[Ie(i.$slots,"default")],2)],40,lR))}}),cR=["aria-label","data-test"],f0=Ft({__name:"YearModePicker",props:{...fs,showYearPicker:{type:Boolean,default:!1},items:{type:Array,default:()=>[]},instance:{type:Number,default:0},year:{type:Number,default:0},isDisabled:{type:Function,default:()=>!1}},emits:["toggle-year-picker","year-select","handle-year"],setup(e,{emit:t}){const n=t,s=e,{showRightIcon:i,showLeftIcon:o}=_u(),{defaultedConfig:r,defaultedMultiCalendars:a,defaultedAriaLabels:l,defaultedTransitions:c,defaultedUI:u}=kt(s),{showTransition:d,transitionName:f}=rl(c),p=be(!1),g=(w=!1,$)=>{p.value=!p.value,n("toggle-year-picker",{flow:w,show:$})},_=w=>{p.value=!1,n("year-select",w)},b=(w=!1)=>{n("handle-year",w)};return(w,$)=>{var A,T,k,y,x;return D(),F(Te,null,[h("div",{class:Ee(["dp--year-mode-picker",{"dp--hidden-el":p.value}])},[q(o)(q(a),e.instance)?(D(),Ne($a,{key:0,ref:"mpPrevIconRef","aria-label":(A=q(l))==null?void 0:A.prevYear,disabled:e.isDisabled(!1),class:Ee((T=q(u))==null?void 0:T.navBtnPrev),onActivate:$[0]||($[0]=C=>b(!1))},{default:Me(()=>[w.$slots["arrow-left"]?Ie(w.$slots,"arrow-left",{key:0}):re("",!0),w.$slots["arrow-left"]?re("",!0):(D(),Ne(q(Mf),{key:1}))]),_:3},8,["aria-label","disabled","class"])):re("",!0),h("button",{ref:"mpYearButtonRef",class:"dp__btn dp--year-select",type:"button","aria-label":`${e.year}-${(k=q(l))==null?void 0:k.openYearsOverlay}`,"data-test":`year-mode-btn-${e.instance}`,onClick:$[1]||($[1]=()=>g(!1)),onKeydown:$[2]||($[2]=VC(()=>g(!1),["enter"]))},[w.$slots.year?Ie(w.$slots,"year",{key:0,year:e.year}):re("",!0),w.$slots.year?re("",!0):(D(),F(Te,{key:1},[ye(_e(e.year),1)],64))],40,cR),q(i)(q(a),e.instance)?(D(),Ne($a,{key:1,ref:"mpNextIconRef","aria-label":(y=q(l))==null?void 0:y.nextYear,disabled:e.isDisabled(!0),class:Ee((x=q(u))==null?void 0:x.navBtnNext),onActivate:$[3]||($[3]=C=>b(!0))},{default:Me(()=>[w.$slots["arrow-right"]?Ie(w.$slots,"arrow-right",{key:0}):re("",!0),w.$slots["arrow-right"]?re("",!0):(D(),Ne(q(Tf),{key:1}))]),_:3},8,["aria-label","disabled","class"])):re("",!0)],2),$e(Ct,{name:q(f)(e.showYearPicker),css:q(d)},{default:Me(()=>{var C,P;return[e.showYearPicker?(D(),Ne(ol,{key:0,items:e.items,"text-input":w.textInput,"esc-close":w.escClose,config:w.config,"is-last":w.autoApply&&!q(r).keepActionRow,"hide-navigation":w.hideNavigation,"aria-labels":w.ariaLabels,"overlay-label":(P=(C=q(l))==null?void 0:C.yearPicker)==null?void 0:P.call(C,!0),type:"year",onToggle:g,onSelected:$[4]||($[4]=E=>_(E))},hn({"button-icon":Me(()=>[w.$slots["calendar-icon"]?Ie(w.$slots,"calendar-icon",{key:0}):re("",!0),w.$slots["calendar-icon"]?re("",!0):(D(),Ne(q(Vr),{key:1}))]),_:2},[w.$slots["year-overlay-value"]?{name:"item",fn:Me(({item:E})=>[Ie(w.$slots,"year-overlay-value",{text:E.text,value:E.value})]),key:"0"}:void 0]),1032,["items","text-input","esc-close","config","is-last","hide-navigation","aria-labels","overlay-label"])):re("",!0)]}),_:3},8,["name","css"])],64)}}}),Vf=(e,t,n)=>{if(t.value&&Array.isArray(t.value))if(t.value.some(s=>nt(e,s))){const s=t.value.filter(i=>!nt(i,e));t.value=s.length?s:null}else(n&&+n>t.value.length||!n)&&t.value.push(e);else t.value=[e]},Hf=(e,t,n)=>{let s=e.value?e.value.slice():[];return s.length===2&&s[1]!==null&&(s=[]),s.length?At(t,s[0])?(s.unshift(t),n("range-start",s[0]),n("range-start",s[1])):(s[1]=t,n("range-end",t)):(s=[t],n("range-start",t)),s},gu=(e,t,n,s)=>{e&&(e[0]&&e[1]&&n&&t("auto-apply"),e[0]&&!e[1]&&s&&n&&t("auto-apply"))},p0=e=>{Array.isArray(e.value)&&e.value.length<=2&&e.range?e.modelValue.value=e.value.map(t=>En(xe(t),e.timezone)):Array.isArray(e.value)||(e.modelValue.value=En(xe(e.value),e.timezone))},m0=(e,t,n,s)=>Array.isArray(t.value)&&(t.value.length===2||t.value.length===1&&s.value.partialRange)?s.value.fixedStart&&(Ot(e,t.value[0])||nt(e,t.value[0]))?[t.value[0],e]:s.value.fixedEnd&&(At(e,t.value[1])||nt(e,t.value[1]))?[e,t.value[1]]:(n("invalid-fixed-range",e),t.value):[],g0=({multiCalendars:e,range:t,highlight:n,propDates:s,calendars:i,modelValue:o,props:r,filters:a,year:l,month:c,emit:u})=>{const d=ve(()=>Lf(r.yearRange,r.locale,r.reverseYears)),f=be([!1]),p=ve(()=>(E,B)=>{const G=ht(rs(new Date),{month:c.value(E),year:l.value(E)}),ae=B?By(G):Wa(G);return l0(ae,s.value.maxDate,s.value.minDate,r.preventMinMaxNavigation,B)}),g=()=>Array.isArray(o.value)&&e.value.solo&&o.value[1],_=()=>{for(let E=0;E{if(!E)return _();const B=ht(xe(),i.value[E]);return i.value[0].year=Ye(Qy(B,e.value.count-1)),_()},w=(E,B)=>{const G=w2(B,E);return t.value.showLastInRange&&G>1?B:E},$=E=>r.focusStartDate||e.value.solo?E[0]:E[1]?w(E[0],E[1]):E[0],A=()=>{if(o.value){const E=Array.isArray(o.value)?$(o.value):o.value;i.value[0]={month:Qe(E),year:Ye(E)}}},T=()=>{A(),e.value.count&&_()};Vt(o,(E,B)=>{r.isTextInputDate&&JSON.stringify(E??{})!==JSON.stringify(B??{})&&T()}),Gt(()=>{T()});const k=(E,B)=>{i.value[B].year=E,u("update-month-year",{instance:B,year:E,month:i.value[B].month}),e.value.count&&!e.value.solo&&b(B)},y=ve(()=>E=>Cr(d.value,B=>{var G;const ae=l.value(E)===B.value,Y=Ya(B.value,Er(s.value.minDate),Er(s.value.maxDate))||((G=a.value.years)==null?void 0:G.includes(l.value(E))),L=Bf(n.value,B.value);return{active:ae,disabled:Y,highlighted:L}})),x=(E,B)=>{k(E,B),P(B)},C=(E,B=!1)=>{if(!p.value(E,B)){const G=B?l.value(E)+1:l.value(E)-1;k(G,E)}},P=(E,B=!1,G)=>{B||u("reset-flow"),G!==void 0?f.value[E]=G:f.value[E]=!f.value[E],f.value[E]?u("overlay-toggle",{open:!0,overlay:cn.year}):(u("overlay-closed"),u("overlay-toggle",{open:!1,overlay:cn.year}))};return{isDisabled:p,groupedYears:y,showYearPicker:f,selectYear:k,toggleYearPicker:P,handleYearSelect:x,handleYear:C}},uR=(e,t)=>{const{defaultedMultiCalendars:n,defaultedAriaLabels:s,defaultedTransitions:i,defaultedConfig:o,defaultedRange:r,defaultedHighlight:a,propDates:l,defaultedTz:c,defaultedFilters:u,defaultedMultiDates:d}=kt(e),f=()=>{e.isTextInputDate&&T(Ye(xe(e.startDate)),0)},{modelValue:p,year:g,month:_,calendars:b}=al(e,t,f),w=ve(()=>e0(e.formatLocale,e.locale,e.monthNameFormat)),$=be(null),{checkMinMaxRange:A}=Ui(e),{selectYear:T,groupedYears:k,showYearPicker:y,toggleYearPicker:x,handleYearSelect:C,handleYear:P,isDisabled:E}=g0({modelValue:p,multiCalendars:n,range:r,highlight:a,calendars:b,year:g,propDates:l,month:_,filters:u,props:e,emit:t});Gt(()=>{e.startDate&&(p.value&&e.focusStartDate||!p.value)&&T(Ye(xe(e.startDate)),0)});const B=R=>R?{month:Qe(R),year:Ye(R)}:{month:null,year:null},G=()=>p.value?Array.isArray(p.value)?p.value.map(R=>B(R)):B(p.value):B(),ae=(R,ee)=>{const oe=b.value[R],M=G();return Array.isArray(M)?M.some(se=>se.year===(oe==null?void 0:oe.year)&&se.month===ee):(oe==null?void 0:oe.year)===M.year&&ee===M.month},Y=(R,ee,oe)=>{var M,se;const de=G();return Array.isArray(de)?g.value(ee)===((M=de[oe])==null?void 0:M.year)&&R===((se=de[oe])==null?void 0:se.month):!1},L=(R,ee)=>{if(r.value.enabled){const oe=G();if(Array.isArray(p.value)&&Array.isArray(oe)){const M=Y(R,ee,0)||Y(R,ee,1),se=Ks(rs(xe()),R,g.value(ee));return fu(p.value,$.value,se)&&!M}return!1}return!1},I=ve(()=>R=>Cr(w.value,ee=>{var oe;const M=ae(R,ee.value),se=Ya(ee.value,i0(g.value(R),l.value.minDate),o0(g.value(R),l.value.maxDate))||RI(l.value.disabledDates,g.value(R)).includes(ee.value)||((oe=u.value.months)==null?void 0:oe.includes(ee.value)),de=L(ee.value,R),ke=u0(a.value,ee.value,g.value(R));return{active:M,disabled:se,isBetween:de,highlighted:ke}})),V=(R,ee)=>Ks(rs(xe()),R,g.value(ee)),Q=(R,ee)=>{const oe=p.value?p.value:rs(new Date);p.value=Ks(oe,R,g.value(ee)),t("auto-apply"),t("update-flow-step")},Z=(R,ee)=>{const oe=V(R,ee);r.value.fixedEnd||r.value.fixedStart?p.value=m0(oe,p,t,r):p.value?A(oe,p.value)&&(p.value=Hf(p,V(R,ee),t)):p.value=[V(R,ee)],tn().then(()=>{gu(p.value,t,e.autoApply,e.modelAuto)})},ce=(R,ee)=>{Vf(V(R,ee),p,d.value.limit),t("auto-apply",!0)},we=(R,ee)=>(b.value[ee].month=R,X(ee,b.value[ee].year,R),d.value.enabled?ce(R,ee):r.value.enabled?Z(R,ee):Q(R,ee)),U=(R,ee)=>{T(R,ee),X(ee,R,null)},X=(R,ee,oe)=>{let M=oe;if(!M&&M!==0){const se=G();M=Array.isArray(se)?se[R].month:se.month}t("update-month-year",{instance:R,year:ee,month:M})};return{groupedMonths:I,groupedYears:k,year:g,isDisabled:E,defaultedMultiCalendars:n,defaultedAriaLabels:s,defaultedTransitions:i,defaultedConfig:o,showYearPicker:y,modelValue:p,presetDate:(R,ee)=>{p0({value:R,modelValue:p,range:r.value.enabled,timezone:ee?void 0:c.value.timezone}),t("auto-apply")},setHoverDate:(R,ee)=>{$.value=V(R,ee)},selectMonth:we,selectYear:U,toggleYearPicker:x,handleYearSelect:C,handleYear:P,getModelMonthYear:G}},dR=Ft({compatConfig:{MODE:3},__name:"MonthPicker",props:{...fs},emits:["update:internal-model-value","overlay-closed","reset-flow","range-start","range-end","auto-apply","update-month-year","update-flow-step","mount","invalid-fixed-range","overlay-toggle"],setup(e,{expose:t,emit:n}){const s=n,i=Ro(),o=Rn(i,"yearMode"),r=e;Gt(()=>{r.shadow||s("mount",null)});const{groupedMonths:a,groupedYears:l,year:c,isDisabled:u,defaultedMultiCalendars:d,defaultedConfig:f,showYearPicker:p,modelValue:g,presetDate:_,setHoverDate:b,selectMonth:w,selectYear:$,toggleYearPicker:A,handleYearSelect:T,handleYear:k,getModelMonthYear:y}=uR(r,s);return t({getSidebarProps:()=>({modelValue:g,year:c,getModelMonthYear:y,selectMonth:w,selectYear:$,handleYear:k}),presetDate:_,toggleYearPicker:x=>A(0,x)}),(x,C)=>(D(),Ne(mu,{"multi-calendars":q(d).count,collapse:x.collapse,stretch:""},{default:Me(({instance:P})=>[x.$slots["top-extra"]?Ie(x.$slots,"top-extra",{key:0,value:x.internalModelValue}):re("",!0),x.$slots["month-year"]?Ie(x.$slots,"month-year",Zt(Yt({key:1},{year:q(c),months:q(a)(P),years:q(l)(P),selectMonth:q(w),selectYear:q($),instance:P}))):(D(),Ne(ol,{key:2,items:q(a)(P),"arrow-navigation":x.arrowNavigation,"is-last":x.autoApply&&!q(f).keepActionRow,"esc-close":x.escClose,height:q(f).modeHeight,config:x.config,"no-overlay-focus":!!(x.noOverlayFocus||x.textInput),"use-relative":"",type:"month",onSelected:E=>q(w)(E,P),onHoverValue:E=>q(b)(E,P)},hn({header:Me(()=>[$e(f0,Yt(x.$props,{items:q(l)(P),instance:P,"show-year-picker":q(p)[P],year:q(c)(P),"is-disabled":E=>q(u)(P,E),onHandleYear:E=>q(k)(P,E),onYearSelect:E=>q(T)(E,P),onToggleYearPicker:E=>q(A)(P,E==null?void 0:E.flow,E==null?void 0:E.show)}),hn({_:2},[Ke(q(o),(E,B)=>({name:E,fn:Me(G=>[Ie(x.$slots,E,Zt(_n(G)))])}))]),1040,["items","instance","show-year-picker","year","is-disabled","onHandleYear","onYearSelect","onToggleYearPicker"])]),_:2},[x.$slots["month-overlay-value"]?{name:"item",fn:Me(({item:E})=>[Ie(x.$slots,"month-overlay-value",{text:E.text,value:E.value})]),key:"0"}:void 0]),1032,["items","arrow-navigation","is-last","esc-close","height","config","no-overlay-focus","onSelected","onHoverValue"]))]),_:3},8,["multi-calendars","collapse"]))}}),hR=(e,t)=>{const n=()=>{e.isTextInputDate&&(u.value=Ye(xe(e.startDate)))},{modelValue:s}=al(e,t,n),i=be(null),{defaultedHighlight:o,defaultedMultiDates:r,defaultedFilters:a,defaultedRange:l,propDates:c}=kt(e),u=be();Gt(()=>{e.startDate&&(s.value&&e.focusStartDate||!s.value)&&(u.value=Ye(xe(e.startDate)))});const d=_=>Array.isArray(s.value)?s.value.some(b=>Ye(b)===_):s.value?Ye(s.value)===_:!1,f=_=>l.value.enabled&&Array.isArray(s.value)?fu(s.value,i.value,g(_)):!1,p=ve(()=>Cr(Lf(e.yearRange,e.locale,e.reverseYears),_=>{const b=d(_.value),w=Ya(_.value,Er(c.value.minDate),Er(c.value.maxDate))||a.value.years.includes(_.value),$=f(_.value)&&!b,A=Bf(o.value,_.value);return{active:b,disabled:w,isBetween:$,highlighted:A}})),g=_=>Ss(rs(Wa(new Date)),_);return{groupedYears:p,modelValue:s,focusYear:u,setHoverValue:_=>{i.value=Ss(rs(new Date),_)},selectYear:_=>{var b;if(t("update-month-year",{instance:0,year:_}),r.value.enabled)return s.value?Array.isArray(s.value)&&(((b=s.value)==null?void 0:b.map(w=>Ye(w))).includes(_)?s.value=s.value.filter(w=>Ye(w)!==_):s.value.push(Ss(wn(xe()),_))):s.value=[Ss(wn(Wa(xe())),_)],t("auto-apply",!0);l.value.enabled?(s.value=Hf(s,g(_),t),tn().then(()=>{gu(s.value,t,e.autoApply,e.modelAuto)})):(s.value=g(_),t("auto-apply"))}}},fR=Ft({compatConfig:{MODE:3},__name:"YearPicker",props:{...fs},emits:["update:internal-model-value","reset-flow","range-start","range-end","auto-apply","update-month-year"],setup(e,{expose:t,emit:n}){const s=n,i=e,{groupedYears:o,modelValue:r,focusYear:a,selectYear:l,setHoverValue:c}=hR(i,s),{defaultedConfig:u}=kt(i);return t({getSidebarProps:()=>({modelValue:r,selectYear:l})}),(d,f)=>(D(),F("div",null,[d.$slots["top-extra"]?Ie(d.$slots,"top-extra",{key:0,value:d.internalModelValue}):re("",!0),d.$slots["month-year"]?Ie(d.$slots,"month-year",Zt(Yt({key:1},{years:q(o),selectYear:q(l)}))):(D(),Ne(ol,{key:2,items:q(o),"is-last":d.autoApply&&!q(u).keepActionRow,height:q(u).modeHeight,config:d.config,"no-overlay-focus":!!(d.noOverlayFocus||d.textInput),"focus-value":q(a),type:"year","use-relative":"",onSelected:q(l),onHoverValue:q(c)},hn({_:2},[d.$slots["year-overlay-value"]?{name:"item",fn:Me(({item:p})=>[Ie(d.$slots,"year-overlay-value",{text:p.text,value:p.value})]),key:"0"}:void 0]),1032,["items","is-last","height","config","no-overlay-focus","focus-value","onSelected","onHoverValue"]))]))}}),pR={key:0,class:"dp__time_input"},mR=["data-test","aria-label","onKeydown","onClick","onMousedown"],gR=h("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_l"},null,-1),_R=h("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_r"},null,-1),vR=["aria-label","disabled","data-test","onKeydown","onClick"],bR=["data-test","aria-label","onKeydown","onClick","onMousedown"],yR=h("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_l"},null,-1),wR=h("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_r"},null,-1),xR={key:0},kR=["aria-label"],SR=Ft({compatConfig:{MODE:3},__name:"TimeInput",props:{hours:{type:Number,default:0},minutes:{type:Number,default:0},seconds:{type:Number,default:0},closeTimePickerBtn:{type:Object,default:null},order:{type:Number,default:0},disabledTimesConfig:{type:Function,default:null},validateTime:{type:Function,default:()=>!1},...fs},emits:["set-hours","set-minutes","update:hours","update:minutes","update:seconds","reset-flow","mounted","overlay-closed","overlay-opened","am-pm-change"],setup(e,{expose:t,emit:n}){const s=n,i=e,{setTimePickerElements:o,setTimePickerBackRef:r}=Yi(),{defaultedAriaLabels:a,defaultedTransitions:l,defaultedFilters:c,defaultedConfig:u,defaultedRange:d}=kt(i),{transitionName:f,showTransition:p}=rl(l),g=Ds({hours:!1,minutes:!1,seconds:!1}),_=be("AM"),b=be(null),w=be([]),$=be(),A=be(!1);Gt(()=>{s("mounted")});const T=v=>ht(new Date,{hours:v.hours,minutes:v.minutes,seconds:i.enableSeconds?v.seconds:0,milliseconds:0}),k=ve(()=>v=>V(v,i[v])||x(v,i[v])),y=ve(()=>({hours:i.hours,minutes:i.minutes,seconds:i.seconds})),x=(v,O)=>d.value.enabled&&!d.value.disableTimeRangeValidation?!i.validateTime(v,O):!1,C=(v,O)=>{if(d.value.enabled&&!d.value.disableTimeRangeValidation){const H=O?+i[`${v}Increment`]:-+i[`${v}Increment`],W=i[v]+H;return!i.validateTime(v,W)}return!1},P=ve(()=>v=>!U(+i[v]+ +i[`${v}Increment`],v)||C(v,!0)),E=ve(()=>v=>!U(+i[v]-+i[`${v}Increment`],v)||C(v,!1)),B=(v,O)=>Dy(ht(xe(),v),O),G=(v,O)=>gI(ht(xe(),v),O),ae=ve(()=>({dp__time_col:!0,dp__time_col_block:!i.timePickerInline,dp__time_col_reg_block:!i.enableSeconds&&i.is24&&!i.timePickerInline,dp__time_col_reg_inline:!i.enableSeconds&&i.is24&&i.timePickerInline,dp__time_col_reg_with_button:!i.enableSeconds&&!i.is24,dp__time_col_sec:i.enableSeconds&&i.is24,dp__time_col_sec_with_button:i.enableSeconds&&!i.is24})),Y=ve(()=>{const v=[{type:"hours"}];return i.enableMinutes&&v.push({type:"",separator:!0},{type:"minutes"}),i.enableSeconds&&v.push({type:"",separator:!0},{type:"seconds"}),v}),L=ve(()=>Y.value.filter(v=>!v.separator)),I=ve(()=>v=>{if(v==="hours"){const O=se(+i.hours);return{text:O<10?`0${O}`:`${O}`,value:O}}return{text:i[v]<10?`0${i[v]}`:`${i[v]}`,value:i[v]}}),V=(v,O)=>{var H;if(!i.disabledTimesConfig)return!1;const W=i.disabledTimesConfig(i.order,v==="hours"?O:void 0);return W[v]?!!((H=W[v])!=null&&H.includes(O)):!0},Q=(v,O)=>O!=="hours"||_.value==="AM"?v:v+12,Z=v=>{const O=i.is24?24:12,H=v==="hours"?O:60,W=+i[`${v}GridIncrement`],ie=v==="hours"&&!i.is24?W:0,j=[];for(let te=ie;te({active:!1,disabled:c.value.times[v].includes(te.value)||!U(te.value,v)||V(v,te.value)||x(v,te.value)}))},ce=v=>v>=0?v:59,we=v=>v>=0?v:23,U=(v,O)=>{const H=i.minTime?T(od(i.minTime)):null,W=i.maxTime?T(od(i.maxTime)):null,ie=T(od(y.value,O,O==="minutes"||O==="seconds"?ce(v):we(v)));return H&&W?(za(ie,W)||ir(ie,W))&&($r(ie,H)||ir(ie,H)):H?$r(ie,H)||ir(ie,H):W?za(ie,W)||ir(ie,W):!0},X=v=>i[`no${v[0].toUpperCase()+v.slice(1)}Overlay`],R=v=>{X(v)||(g[v]=!g[v],g[v]?(A.value=!0,s("overlay-opened",v)):(A.value=!1,s("overlay-closed",v)))},ee=v=>v==="hours"?ei:v==="minutes"?Ni:Sr,oe=()=>{$.value&&clearTimeout($.value)},M=(v,O=!0,H)=>{const W=O?B:G,ie=O?+i[`${v}Increment`]:-+i[`${v}Increment`];U(+i[v]+ie,v)&&s(`update:${v}`,ee(v)(W({[v]:+i[v]},{[v]:+i[`${v}Increment`]}))),!(H!=null&&H.keyboard)&&u.value.timeArrowHoldThreshold&&($.value=setTimeout(()=>{M(v,O)},u.value.timeArrowHoldThreshold))},se=v=>i.is24?v:(v>=12?_.value="PM":_.value="AM",xI(v)),de=()=>{_.value==="PM"?(_.value="AM",s("update:hours",i.hours-12)):(_.value="PM",s("update:hours",i.hours+12)),s("am-pm-change",_.value)},ke=v=>{g[v]=!0},N=(v,O,H)=>{if(v&&i.arrowNavigation){Array.isArray(w.value[O])?w.value[O][H]=v:w.value[O]=[v];const W=w.value.reduce((ie,j)=>j.map((te,J)=>[...ie[J]||[],j[J]]),[]);r(i.closeTimePickerBtn),b.value&&(W[1]=W[1].concat(b.value)),o(W,i.order)}},fe=(v,O)=>(R(v),s(`update:${v}`,O));return t({openChildCmp:ke}),(v,O)=>{var H;return v.disabled?re("",!0):(D(),F("div",pR,[(D(!0),F(Te,null,Ke(Y.value,(W,ie)=>{var j,te,J;return D(),F("div",{key:ie,class:Ee(ae.value)},[W.separator?(D(),F(Te,{key:0},[A.value?re("",!0):(D(),F(Te,{key:0},[ye(":")],64))],64)):(D(),F(Te,{key:1},[h("button",{ref_for:!0,ref:he=>N(he,ie,0),type:"button",class:Ee({dp__btn:!0,dp__inc_dec_button:!v.timePickerInline,dp__inc_dec_button_inline:v.timePickerInline,dp__tp_inline_btn_top:v.timePickerInline,dp__inc_dec_button_disabled:P.value(W.type),"dp--hidden-el":A.value}),"data-test":`${W.type}-time-inc-btn-${i.order}`,"aria-label":(j=q(a))==null?void 0:j.incrementValue(W.type),tabindex:"0",onKeydown:he=>q(vn)(he,()=>M(W.type,!0,{keyboard:!0}),!0),onClick:he=>q(u).timeArrowHoldThreshold?void 0:M(W.type,!0),onMousedown:he=>q(u).timeArrowHoldThreshold?M(W.type,!0):void 0,onMouseup:oe},[i.timePickerInline?(D(),F(Te,{key:1},[v.$slots["tp-inline-arrow-up"]?Ie(v.$slots,"tp-inline-arrow-up",{key:0}):(D(),F(Te,{key:1},[gR,_R],64))],64)):(D(),F(Te,{key:0},[v.$slots["arrow-up"]?Ie(v.$slots,"arrow-up",{key:0}):re("",!0),v.$slots["arrow-up"]?re("",!0):(D(),Ne(q(Of),{key:1}))],64))],42,mR),h("button",{ref_for:!0,ref:he=>N(he,ie,1),type:"button","aria-label":`${I.value(W.type).text}-${(te=q(a))==null?void 0:te.openTpOverlay(W.type)}`,class:Ee({dp__time_display:!0,dp__time_display_block:!v.timePickerInline,dp__time_display_inline:v.timePickerInline,"dp--time-invalid":k.value(W.type),"dp--time-overlay-btn":!k.value(W.type),"dp--hidden-el":A.value}),disabled:X(W.type),tabindex:"0","data-test":`${W.type}-toggle-overlay-btn-${i.order}`,onKeydown:he=>q(vn)(he,()=>R(W.type),!0),onClick:he=>R(W.type)},[v.$slots[W.type]?Ie(v.$slots,W.type,{key:0,text:I.value(W.type).text,value:I.value(W.type).value}):re("",!0),v.$slots[W.type]?re("",!0):(D(),F(Te,{key:1},[ye(_e(I.value(W.type).text),1)],64))],42,vR),h("button",{ref_for:!0,ref:he=>N(he,ie,2),type:"button",class:Ee({dp__btn:!0,dp__inc_dec_button:!v.timePickerInline,dp__inc_dec_button_inline:v.timePickerInline,dp__tp_inline_btn_bottom:v.timePickerInline,dp__inc_dec_button_disabled:E.value(W.type),"dp--hidden-el":A.value}),"data-test":`${W.type}-time-dec-btn-${i.order}`,"aria-label":(J=q(a))==null?void 0:J.decrementValue(W.type),tabindex:"0",onKeydown:he=>q(vn)(he,()=>M(W.type,!1,{keyboard:!0}),!0),onClick:he=>q(u).timeArrowHoldThreshold?void 0:M(W.type,!1),onMousedown:he=>q(u).timeArrowHoldThreshold?M(W.type,!1):void 0,onMouseup:oe},[i.timePickerInline?(D(),F(Te,{key:1},[v.$slots["tp-inline-arrow-down"]?Ie(v.$slots,"tp-inline-arrow-down",{key:0}):(D(),F(Te,{key:1},[yR,wR],64))],64)):(D(),F(Te,{key:0},[v.$slots["arrow-down"]?Ie(v.$slots,"arrow-down",{key:0}):re("",!0),v.$slots["arrow-down"]?re("",!0):(D(),Ne(q(If),{key:1}))],64))],42,bR)],64))],2)}),128)),v.is24?re("",!0):(D(),F("div",xR,[v.$slots["am-pm-button"]?Ie(v.$slots,"am-pm-button",{key:0,toggle:de,value:_.value}):re("",!0),v.$slots["am-pm-button"]?re("",!0):(D(),F("button",{key:1,ref_key:"amPmButton",ref:b,type:"button",class:"dp__pm_am_button",role:"button","aria-label":(H=q(a))==null?void 0:H.amPmButton,tabindex:"0",onClick:de,onKeydown:O[0]||(O[0]=W=>q(vn)(W,()=>de(),!0))},_e(_.value),41,kR))])),(D(!0),F(Te,null,Ke(L.value,(W,ie)=>(D(),Ne(Ct,{key:ie,name:q(f)(g[W.type]),css:q(p)},{default:Me(()=>{var j,te;return[g[W.type]?(D(),Ne(ol,{key:0,items:Z(W.type),"is-last":v.autoApply&&!q(u).keepActionRow,"esc-close":v.escClose,type:W.type,"text-input":v.textInput,config:v.config,"arrow-navigation":v.arrowNavigation,"aria-labels":v.ariaLabels,"overlay-label":(te=(j=q(a)).timeOverlay)==null?void 0:te.call(j,W.type),onSelected:J=>fe(W.type,J),onToggle:J=>R(W.type),onResetFlow:O[1]||(O[1]=J=>v.$emit("reset-flow"))},hn({"button-icon":Me(()=>[v.$slots["clock-icon"]?Ie(v.$slots,"clock-icon",{key:0}):re("",!0),v.$slots["clock-icon"]?re("",!0):(D(),Ne(Io(v.timePickerInline?q(Vr):q(Df)),{key:1}))]),_:2},[v.$slots[`${W.type}-overlay-value`]?{name:"item",fn:Me(({item:J})=>[Ie(v.$slots,`${W.type}-overlay-value`,{text:J.text,value:J.value})]),key:"0"}:void 0,v.$slots[`${W.type}-overlay-header`]?{name:"header",fn:Me(()=>[Ie(v.$slots,`${W.type}-overlay-header`,{toggle:()=>R(W.type)})]),key:"1"}:void 0]),1032,["items","is-last","esc-close","type","text-input","config","arrow-navigation","aria-labels","overlay-label","onSelected","onToggle"])):re("",!0)]}),_:2},1032,["name","css"]))),128))]))}}}),$R={class:"dp--tp-wrap"},AR=["aria-label","tabindex"],CR=["role","aria-label","tabindex"],ER=["aria-label"],_0=Ft({compatConfig:{MODE:3},__name:"TimePicker",props:{hours:{type:[Number,Array],default:0},minutes:{type:[Number,Array],default:0},seconds:{type:[Number,Array],default:0},disabledTimesConfig:{type:Function,default:null},validateTime:{type:Function,default:()=>!1},...fs},emits:["update:hours","update:minutes","update:seconds","mount","reset-flow","overlay-opened","overlay-closed","am-pm-change"],setup(e,{expose:t,emit:n}){const s=n,i=e,{buildMatrix:o,setTimePicker:r}=Yi(),a=Ro(),{defaultedTransitions:l,defaultedAriaLabels:c,defaultedTextInput:u,defaultedConfig:d,defaultedRange:f}=kt(i),{transitionName:p,showTransition:g}=rl(l),{hideNavigationButtons:_}=_u(),b=be(null),w=be(null),$=be([]),A=be(null),T=be(!1);Gt(()=>{s("mount"),!i.timePicker&&i.arrowNavigation?o([jt(b.value)],"time"):r(!0,i.timePicker)});const k=ve(()=>f.value.enabled&&i.modelAuto?t0(i.internalModelValue):!0),y=be(!1),x=Z=>({hours:Array.isArray(i.hours)?i.hours[Z]:i.hours,minutes:Array.isArray(i.minutes)?i.minutes[Z]:i.minutes,seconds:Array.isArray(i.seconds)?i.seconds[Z]:i.seconds}),C=ve(()=>{const Z=[];if(f.value.enabled)for(let ce=0;ce<2;ce++)Z.push(x(ce));else Z.push(x(0));return Z}),P=(Z,ce=!1,we="")=>{ce||s("reset-flow"),y.value=Z,s(Z?"overlay-opened":"overlay-closed",cn.time),i.arrowNavigation&&r(Z),tn(()=>{we!==""&&$.value[0]&&$.value[0].openChildCmp(we)})},E=ve(()=>({dp__btn:!0,dp__button:!0,dp__button_bottom:i.autoApply&&!d.value.keepActionRow})),B=Rn(a,"timePicker"),G=(Z,ce,we)=>f.value.enabled?ce===0?[Z,C.value[1][we]]:[C.value[0][we],Z]:Z,ae=Z=>{s("update:hours",Z)},Y=Z=>{s("update:minutes",Z)},L=Z=>{s("update:seconds",Z)},I=()=>{if(A.value&&!u.value.enabled&&!i.noOverlayFocus){const Z=n0(A.value);Z&&Z.focus({preventScroll:!0})}},V=Z=>{T.value=!1,s("overlay-closed",Z)},Q=Z=>{T.value=!0,s("overlay-opened",Z)};return t({toggleTimePicker:P}),(Z,ce)=>{var we;return D(),F("div",$R,[!Z.timePicker&&!Z.timePickerInline?Re((D(),F("button",{key:0,ref_key:"openTimePickerBtn",ref:b,type:"button",class:Ee({...E.value,"dp--hidden-el":y.value}),"aria-label":(we=q(c))==null?void 0:we.openTimePicker,tabindex:Z.noOverlayFocus?void 0:0,"data-test":"open-time-picker-btn",onKeydown:ce[0]||(ce[0]=U=>q(vn)(U,()=>P(!0))),onClick:ce[1]||(ce[1]=U=>P(!0))},[Z.$slots["clock-icon"]?Ie(Z.$slots,"clock-icon",{key:0}):re("",!0),Z.$slots["clock-icon"]?re("",!0):(D(),Ne(q(Df),{key:1}))],42,AR)),[[uc,!q(_)(Z.hideNavigation,"time")]]):re("",!0),$e(Ct,{name:q(p)(y.value),css:q(g)&&!Z.timePickerInline},{default:Me(()=>{var U,X;return[y.value||Z.timePicker||Z.timePickerInline?(D(),F("div",{key:0,ref_key:"overlayRef",ref:A,role:Z.timePickerInline?void 0:"dialog",class:Ee({dp__overlay:!Z.timePickerInline,"dp--overlay-absolute":!i.timePicker&&!Z.timePickerInline,"dp--overlay-relative":i.timePicker}),style:Wt(Z.timePicker?{height:`${q(d).modeHeight}px`}:void 0),"aria-label":(U=q(c))==null?void 0:U.timePicker,tabindex:Z.timePickerInline?void 0:0},[h("div",{class:Ee(Z.timePickerInline?"dp__time_picker_inline_container":"dp__overlay_container dp__container_flex dp__time_picker_overlay_container"),style:{display:"flex"}},[Z.$slots["time-picker-overlay"]?Ie(Z.$slots,"time-picker-overlay",{key:0,hours:e.hours,minutes:e.minutes,seconds:e.seconds,setHours:ae,setMinutes:Y,setSeconds:L}):re("",!0),Z.$slots["time-picker-overlay"]?re("",!0):(D(),F("div",{key:1,class:Ee(Z.timePickerInline?"dp__flex":"dp__overlay_row dp__flex_row")},[(D(!0),F(Te,null,Ke(C.value,(R,ee)=>Re((D(),Ne(SR,Yt({key:ee,ref_for:!0},{...Z.$props,order:ee,hours:R.hours,minutes:R.minutes,seconds:R.seconds,closeTimePickerBtn:w.value,disabledTimesConfig:e.disabledTimesConfig,disabled:ee===0?q(f).fixedStart:q(f).fixedEnd},{ref_for:!0,ref_key:"timeInputRefs",ref:$,"validate-time":(oe,M)=>e.validateTime(oe,G(M,ee,oe)),"onUpdate:hours":oe=>ae(G(oe,ee,"hours")),"onUpdate:minutes":oe=>Y(G(oe,ee,"minutes")),"onUpdate:seconds":oe=>L(G(oe,ee,"seconds")),onMounted:I,onOverlayClosed:V,onOverlayOpened:Q,onAmPmChange:ce[2]||(ce[2]=oe=>Z.$emit("am-pm-change",oe))}),hn({_:2},[Ke(q(B),(oe,M)=>({name:oe,fn:Me(se=>[Ie(Z.$slots,oe,Yt({ref_for:!0},se))])}))]),1040,["validate-time","onUpdate:hours","onUpdate:minutes","onUpdate:seconds"])),[[uc,ee===0?!0:k.value]])),128))],2)),!Z.timePicker&&!Z.timePickerInline?Re((D(),F("button",{key:2,ref_key:"closeTimePickerBtn",ref:w,type:"button",class:Ee({...E.value,"dp--hidden-el":T.value}),"aria-label":(X=q(c))==null?void 0:X.closeTimePicker,tabindex:"0",onKeydown:ce[3]||(ce[3]=R=>q(vn)(R,()=>P(!1))),onClick:ce[4]||(ce[4]=R=>P(!1))},[Z.$slots["calendar-icon"]?Ie(Z.$slots,"calendar-icon",{key:0}):re("",!0),Z.$slots["calendar-icon"]?re("",!0):(D(),Ne(q(Vr),{key:1}))],42,ER)),[[uc,!q(_)(Z.hideNavigation,"time")]]):re("",!0)],2)],14,CR)):re("",!0)]}),_:3},8,["name","css"])])}}}),v0=(e,t,n,s)=>{const{defaultedRange:i}=kt(e),o=(A,T)=>Array.isArray(t[A])?t[A][T]:t[A],r=A=>e.enableSeconds?Array.isArray(t.seconds)?t.seconds[A]:t.seconds:0,a=(A,T)=>A?T!==void 0?Di(A,o("hours",T),o("minutes",T),r(T)):Di(A,t.hours,t.minutes,r()):Xy(xe(),r(T)),l=(A,T)=>{t[A]=T},c=ve(()=>e.modelAuto&&i.value.enabled?Array.isArray(n.value)?n.value.length>1:!1:i.value.enabled),u=(A,T)=>{const k=Object.fromEntries(Object.keys(t).map(y=>y===A?[y,T]:[y,t[y]].slice()));if(c.value&&!i.value.disableTimeRangeValidation){const y=C=>n.value?Di(n.value[C],k.hours[C],k.minutes[C],k.seconds[C]):null,x=C=>Jy(n.value[C],0);return!(nt(y(0),y(1))&&($r(y(0),x(1))||za(y(1),x(0))))}return!0},d=(A,T)=>{u(A,T)&&(l(A,T),s&&s())},f=A=>{d("hours",A)},p=A=>{d("minutes",A)},g=A=>{d("seconds",A)},_=(A,T,k,y)=>{T&&f(A),!T&&!k&&p(A),k&&g(A),n.value&&y(n.value)},b=A=>{if(A){const T=Array.isArray(A),k=T?[+A[0].hours,+A[1].hours]:+A.hours,y=T?[+A[0].minutes,+A[1].minutes]:+A.minutes,x=T?[+A[0].seconds,+A[1].seconds]:+A.seconds;l("hours",k),l("minutes",y),e.enableSeconds&&l("seconds",x)}},w=(A,T)=>{const k={hours:Array.isArray(t.hours)?t.hours[A]:t.hours,disabledArr:[]};return(T||T===0)&&(k.hours=T),Array.isArray(e.disabledTimes)&&(k.disabledArr=i.value.enabled&&Array.isArray(e.disabledTimes[A])?e.disabledTimes[A]:e.disabledTimes),k},$=ve(()=>(A,T)=>{var k;if(Array.isArray(e.disabledTimes)){const{disabledArr:y,hours:x}=w(A,T),C=y.filter(P=>+P.hours===x);return((k=C[0])==null?void 0:k.minutes)==="*"?{hours:[x],minutes:void 0,seconds:void 0}:{hours:[],minutes:(C==null?void 0:C.map(P=>+P.minutes))??[],seconds:(C==null?void 0:C.map(P=>P.seconds?+P.seconds:void 0))??[]}}return{hours:[],minutes:[],seconds:[]}});return{setTime:l,updateHours:f,updateMinutes:p,updateSeconds:g,getSetDateTime:a,updateTimeValues:_,getSecondsValue:r,assignStartTime:b,validateTime:u,disabledTimesConfig:$}},PR=(e,t)=>{const n=()=>{e.isTextInputDate&&T()},{modelValue:s,time:i}=al(e,t,n),{defaultedStartTime:o,defaultedRange:r,defaultedTz:a}=kt(e),{updateTimeValues:l,getSetDateTime:c,setTime:u,assignStartTime:d,disabledTimesConfig:f,validateTime:p}=v0(e,i,s,g);function g(){t("update-flow-step")}const _=y=>{const{hours:x,minutes:C,seconds:P}=y;return{hours:+x,minutes:+C,seconds:P?+P:0}},b=()=>{if(e.startTime){if(Array.isArray(e.startTime)){const x=_(e.startTime[0]),C=_(e.startTime[1]);return[ht(xe(),x),ht(xe(),C)]}const y=_(e.startTime);return ht(xe(),y)}return r.value.enabled?[null,null]:null},w=()=>{if(r.value.enabled){const[y,x]=b();s.value=[En(c(y,0),a.value.timezone),En(c(x,1),a.value.timezone)]}else s.value=En(c(b()),a.value.timezone)},$=y=>Array.isArray(y)?[So(xe(y[0])),So(xe(y[1]))]:[So(y??xe())],A=(y,x,C)=>{u("hours",y),u("minutes",x),u("seconds",e.enableSeconds?C:0)},T=()=>{const[y,x]=$(s.value);return r.value.enabled?A([y.hours,x.hours],[y.minutes,x.minutes],[y.seconds,x.seconds]):A(y.hours,y.minutes,y.seconds)};Gt(()=>{if(!e.shadow)return d(o.value),s.value?T():w()});const k=()=>{Array.isArray(s.value)?s.value=s.value.map((y,x)=>y&&c(y,x)):s.value=c(s.value),t("time-update")};return{modelValue:s,time:i,disabledTimesConfig:f,updateTime:(y,x=!0,C=!1)=>{l(y,x,C,k)},validateTime:p}},MR=Ft({compatConfig:{MODE:3},__name:"TimePickerSolo",props:{...fs},emits:["update:internal-model-value","time-update","am-pm-change","mount","reset-flow","update-flow-step","overlay-toggle"],setup(e,{expose:t,emit:n}){const s=n,i=e,o=Ro(),r=Rn(o,"timePicker"),a=be(null),{time:l,modelValue:c,disabledTimesConfig:u,updateTime:d,validateTime:f}=PR(i,s);return Gt(()=>{i.shadow||s("mount",null)}),t({getSidebarProps:()=>({modelValue:c,time:l,updateTime:d}),toggleTimePicker:(p,g=!1,_="")=>{var b;(b=a.value)==null||b.toggleTimePicker(p,g,_)}}),(p,g)=>(D(),Ne(mu,{"multi-calendars":0,stretch:""},{default:Me(()=>[$e(_0,Yt({ref_key:"tpRef",ref:a},p.$props,{hours:q(l).hours,minutes:q(l).minutes,seconds:q(l).seconds,"internal-model-value":p.internalModelValue,"disabled-times-config":q(u),"validate-time":q(f),"onUpdate:hours":g[0]||(g[0]=_=>q(d)(_)),"onUpdate:minutes":g[1]||(g[1]=_=>q(d)(_,!1)),"onUpdate:seconds":g[2]||(g[2]=_=>q(d)(_,!1,!0)),onAmPmChange:g[3]||(g[3]=_=>p.$emit("am-pm-change",_)),onResetFlow:g[4]||(g[4]=_=>p.$emit("reset-flow")),onOverlayClosed:g[5]||(g[5]=_=>p.$emit("overlay-toggle",{open:!1,overlay:_})),onOverlayOpened:g[6]||(g[6]=_=>p.$emit("overlay-toggle",{open:!0,overlay:_}))}),hn({_:2},[Ke(q(r),(_,b)=>({name:_,fn:Me(w=>[Ie(p.$slots,_,Zt(_n(w)))])}))]),1040,["hours","minutes","seconds","internal-model-value","disabled-times-config","validate-time"])]),_:3}))}}),TR={class:"dp--header-wrap"},DR={key:0,class:"dp__month_year_wrap"},OR={key:0},IR={class:"dp__month_year_wrap"},RR=["data-dp-element","aria-label","data-test","onClick","onKeydown"],LR=Ft({compatConfig:{MODE:3},__name:"DpHeader",props:{month:{type:Number,default:0},year:{type:Number,default:0},instance:{type:Number,default:0},years:{type:Array,default:()=>[]},months:{type:Array,default:()=>[]},...fs},emits:["update-month-year","mount","reset-flow","overlay-closed","overlay-opened"],setup(e,{expose:t,emit:n}){const s=n,i=e,{defaultedTransitions:o,defaultedAriaLabels:r,defaultedMultiCalendars:a,defaultedFilters:l,defaultedConfig:c,defaultedHighlight:u,propDates:d,defaultedUI:f}=kt(i),{transitionName:p,showTransition:g}=rl(o),{buildMatrix:_}=Yi(),{handleMonthYearChange:b,isDisabled:w,updateMonthYear:$}=eR(i,s),{showLeftIcon:A,showRightIcon:T}=_u(),k=be(!1),y=be(!1),x=be(!1),C=be([null,null,null,null]);Gt(()=>{s("mount")});const P=X=>({get:()=>i[X],set:R=>{const ee=X===ns.month?ns.year:ns.month;s("update-month-year",{[X]:R,[ee]:i[ee]}),X===ns.month?V(!0):Q(!0)}}),E=ve(P(ns.month)),B=ve(P(ns.year)),G=ve(()=>X=>({month:i.month,year:i.year,items:X===ns.month?i.months:i.years,instance:i.instance,updateMonthYear:$,toggle:X===ns.month?V:Q})),ae=ve(()=>i.months.find(R=>R.value===i.month)||{text:"",value:0}),Y=ve(()=>Cr(i.months,X=>{const R=i.month===X.value,ee=Ya(X.value,i0(i.year,d.value.minDate),o0(i.year,d.value.maxDate))||l.value.months.includes(X.value),oe=u0(u.value,X.value,i.year);return{active:R,disabled:ee,highlighted:oe}})),L=ve(()=>Cr(i.years,X=>{const R=i.year===X.value,ee=Ya(X.value,Er(d.value.minDate),Er(d.value.maxDate))||l.value.years.includes(X.value),oe=Bf(u.value,X.value);return{active:R,disabled:ee,highlighted:oe}})),I=(X,R,ee)=>{ee!==void 0?X.value=ee:X.value=!X.value,X.value?(x.value=!0,s("overlay-opened",R)):(x.value=!1,s("overlay-closed",R))},V=(X=!1,R)=>{Z(X),I(k,cn.month,R)},Q=(X=!1,R)=>{Z(X),I(y,cn.year,R)},Z=X=>{X||s("reset-flow")},ce=(X,R)=>{i.arrowNavigation&&(C.value[R]=jt(X),_(C.value,"monthYear"))},we=ve(()=>{var X,R,ee,oe,M,se;return[{type:ns.month,index:1,toggle:V,modelValue:E.value,updateModelValue:de=>E.value=de,text:ae.value.text,showSelectionGrid:k.value,items:Y.value,ariaLabel:(X=r.value)==null?void 0:X.openMonthsOverlay,overlayLabel:((ee=(R=r.value).monthPicker)==null?void 0:ee.call(R,!0))??void 0},{type:ns.year,index:2,toggle:Q,modelValue:B.value,updateModelValue:de=>B.value=de,text:s0(i.year,i.locale),showSelectionGrid:y.value,items:L.value,ariaLabel:(oe=r.value)==null?void 0:oe.openYearsOverlay,overlayLabel:((se=(M=r.value).yearPicker)==null?void 0:se.call(M,!0))??void 0}]}),U=ve(()=>i.disableYearSelect?[we.value[0]]:i.yearFirst?[...we.value].reverse():we.value);return t({toggleMonthPicker:V,toggleYearPicker:Q,handleMonthYearChange:b}),(X,R)=>{var ee,oe,M,se,de,ke;return D(),F("div",TR,[X.$slots["month-year"]?(D(),F("div",DR,[Ie(X.$slots,"month-year",Zt(_n({month:e.month,year:e.year,months:e.months,years:e.years,updateMonthYear:q($),handleMonthYearChange:q(b),instance:e.instance})))])):(D(),F(Te,{key:1},[X.$slots["top-extra"]?(D(),F("div",OR,[Ie(X.$slots,"top-extra",{value:X.internalModelValue})])):re("",!0),h("div",IR,[q(A)(q(a),e.instance)&&!X.vertical?(D(),Ne($a,{key:0,"aria-label":(ee=q(r))==null?void 0:ee.prevMonth,disabled:q(w)(!1),class:Ee((oe=q(f))==null?void 0:oe.navBtnPrev),"el-name":"action-prev",onActivate:R[0]||(R[0]=N=>q(b)(!1,!0)),onSetRef:R[1]||(R[1]=N=>ce(N,0))},{default:Me(()=>[X.$slots["arrow-left"]?Ie(X.$slots,"arrow-left",{key:0}):re("",!0),X.$slots["arrow-left"]?re("",!0):(D(),Ne(q(Mf),{key:1}))]),_:3},8,["aria-label","disabled","class"])):re("",!0),h("div",{class:Ee(["dp__month_year_wrap",{dp__year_disable_select:X.disableYearSelect}])},[(D(!0),F(Te,null,Ke(U.value,(N,fe)=>(D(),F(Te,{key:N.type},[h("button",{ref_for:!0,ref:v=>ce(v,fe+1),type:"button","data-dp-element":`overlay-${N.type}`,class:Ee(["dp__btn dp__month_year_select",{"dp--hidden-el":x.value}]),"aria-label":`${N.text}-${N.ariaLabel}`,"data-test":`${N.type}-toggle-overlay-${e.instance}`,onClick:N.toggle,onKeydown:v=>q(vn)(v,()=>N.toggle(),!0)},[X.$slots[N.type]?Ie(X.$slots,N.type,{key:0,text:N.text,value:i[N.type]}):re("",!0),X.$slots[N.type]?re("",!0):(D(),F(Te,{key:1},[ye(_e(N.text),1)],64))],42,RR),$e(Ct,{name:q(p)(N.showSelectionGrid),css:q(g)},{default:Me(()=>[N.showSelectionGrid?(D(),Ne(ol,{key:0,items:N.items,"arrow-navigation":X.arrowNavigation,"hide-navigation":X.hideNavigation,"is-last":X.autoApply&&!q(c).keepActionRow,"skip-button-ref":!1,config:X.config,type:N.type,"header-refs":[],"esc-close":X.escClose,"menu-wrap-ref":X.menuWrapRef,"text-input":X.textInput,"aria-labels":X.ariaLabels,"overlay-label":N.overlayLabel,onSelected:N.updateModelValue,onToggle:N.toggle},hn({"button-icon":Me(()=>[X.$slots["calendar-icon"]?Ie(X.$slots,"calendar-icon",{key:0}):re("",!0),X.$slots["calendar-icon"]?re("",!0):(D(),Ne(q(Vr),{key:1}))]),_:2},[X.$slots[`${N.type}-overlay-value`]?{name:"item",fn:Me(({item:v})=>[Ie(X.$slots,`${N.type}-overlay-value`,{text:v.text,value:v.value})]),key:"0"}:void 0,X.$slots[`${N.type}-overlay`]?{name:"overlay",fn:Me(()=>[Ie(X.$slots,`${N.type}-overlay`,Yt({ref_for:!0},G.value(N.type)))]),key:"1"}:void 0,X.$slots[`${N.type}-overlay-header`]?{name:"header",fn:Me(()=>[Ie(X.$slots,`${N.type}-overlay-header`,{toggle:N.toggle})]),key:"2"}:void 0]),1032,["items","arrow-navigation","hide-navigation","is-last","config","type","esc-close","menu-wrap-ref","text-input","aria-labels","overlay-label","onSelected","onToggle"])):re("",!0)]),_:2},1032,["name","css"])],64))),128))],2),q(A)(q(a),e.instance)&&X.vertical?(D(),Ne($a,{key:1,"aria-label":(M=q(r))==null?void 0:M.prevMonth,"el-name":"action-prev",disabled:q(w)(!1),class:Ee((se=q(f))==null?void 0:se.navBtnPrev),onActivate:R[2]||(R[2]=N=>q(b)(!1,!0))},{default:Me(()=>[X.$slots["arrow-up"]?Ie(X.$slots,"arrow-up",{key:0}):re("",!0),X.$slots["arrow-up"]?re("",!0):(D(),Ne(q(Of),{key:1}))]),_:3},8,["aria-label","disabled","class"])):re("",!0),q(T)(q(a),e.instance)?(D(),Ne($a,{key:2,ref:"rightIcon","el-name":"action-next",disabled:q(w)(!0),"aria-label":(de=q(r))==null?void 0:de.nextMonth,class:Ee((ke=q(f))==null?void 0:ke.navBtnNext),onActivate:R[3]||(R[3]=N=>q(b)(!0,!0)),onSetRef:R[4]||(R[4]=N=>ce(N,X.disableYearSelect?2:3))},{default:Me(()=>[X.$slots[X.vertical?"arrow-down":"arrow-right"]?Ie(X.$slots,X.vertical?"arrow-down":"arrow-right",{key:0}):re("",!0),X.$slots[X.vertical?"arrow-down":"arrow-right"]?re("",!0):(D(),Ne(Io(X.vertical?q(If):q(Tf)),{key:1}))]),_:3},8,["disabled","aria-label","class"])):re("",!0)])],64))])}}}),NR={class:"dp__calendar_header",role:"row"},FR={key:0,class:"dp__calendar_header_item",role:"gridcell"},BR=["aria-label"],VR=h("div",{class:"dp__calendar_header_separator"},null,-1),HR={key:0,class:"dp__calendar_item dp__week_num",role:"gridcell"},jR={class:"dp__cell_inner"},WR=["id","aria-pressed","aria-disabled","aria-label","data-test","onClick","onTouchend","onKeydown","onMouseenter","onMouseleave","onMousedown"],zR=Ft({compatConfig:{MODE:3},__name:"DpCalendar",props:{mappedDates:{type:Array,default:()=>[]},instance:{type:Number,default:0},month:{type:Number,default:0},year:{type:Number,default:0},...fs},emits:["select-date","set-hover-date","handle-scroll","mount","handle-swipe","handle-space","tooltip-open","tooltip-close"],setup(e,{expose:t,emit:n}){const s=n,i=e,{buildMultiLevelMatrix:o}=Yi(),{defaultedTransitions:r,defaultedConfig:a,defaultedAriaLabels:l,defaultedMultiCalendars:c,defaultedWeekNumbers:u,defaultedMultiDates:d,defaultedUI:f}=kt(i),p=be(null),g=be({bottom:"",left:"",transform:""}),_=be([]),b=be(null),w=be(!0),$=be(""),A=be({startX:0,endX:0,startY:0,endY:0}),T=be([]),k=be({left:"50%"}),y=be(!1),x=ve(()=>i.calendar?i.calendar(i.mappedDates):i.mappedDates),C=ve(()=>i.dayNames?Array.isArray(i.dayNames)?i.dayNames:i.dayNames(i.locale,+i.weekStart):wI(i.formatLocale,i.locale,+i.weekStart));Gt(()=>{s("mount",{cmp:"calendar",refs:_}),a.value.noSwipe||b.value&&(b.value.addEventListener("touchstart",ce,{passive:!1}),b.value.addEventListener("touchend",we,{passive:!1}),b.value.addEventListener("touchmove",U,{passive:!1})),i.monthChangeOnScroll&&b.value&&b.value.addEventListener("wheel",ee,{passive:!1})});const P=N=>N?i.vertical?"vNext":"next":i.vertical?"vPrevious":"previous",E=(N,fe)=>{if(i.transitions){const v=wn(Ks(xe(),i.month,i.year));$.value=Ot(wn(Ks(xe(),N,fe)),v)?r.value[P(!0)]:r.value[P(!1)],w.value=!1,tn(()=>{w.value=!0})}},B=ve(()=>({...f.value.calendar??{}})),G=ve(()=>N=>{const fe=kI(N);return{dp__marker_dot:fe.type==="dot",dp__marker_line:fe.type==="line"}}),ae=ve(()=>N=>nt(N,p.value)),Y=ve(()=>({dp__calendar:!0,dp__calendar_next:c.value.count>0&&i.instance!==0})),L=ve(()=>N=>i.hideOffsetDates?N.current:!0),I=async(N,fe)=>{const{width:v,height:O}=N.getBoundingClientRect();p.value=fe.value;let H={left:`${v/2}px`},W=-50;if(await tn(),T.value[0]){const{left:ie,width:j}=T.value[0].getBoundingClientRect();ie<0&&(H={left:"0"},W=0,k.value.left=`${v/2}px`),window.innerWidth{var O,H,W;const ie=jt(_.value[fe][v]);ie&&((O=N.marker)!=null&&O.customPosition&&(W=(H=N.marker)==null?void 0:H.tooltip)!=null&&W.length?g.value=N.marker.customPosition(ie):await I(ie,N),s("tooltip-open",N.marker))},Q=async(N,fe,v)=>{var O,H;if(y.value&&d.value.enabled&&d.value.dragSelect)return s("select-date",N);s("set-hover-date",N),(H=(O=N.marker)==null?void 0:O.tooltip)!=null&&H.length&&await V(N,fe,v)},Z=N=>{p.value&&(p.value=null,g.value=JSON.parse(JSON.stringify({bottom:"",left:"",transform:""})),s("tooltip-close",N.marker))},ce=N=>{A.value.startX=N.changedTouches[0].screenX,A.value.startY=N.changedTouches[0].screenY},we=N=>{A.value.endX=N.changedTouches[0].screenX,A.value.endY=N.changedTouches[0].screenY,X()},U=N=>{i.vertical&&!i.inline&&N.preventDefault()},X=()=>{const N=i.vertical?"Y":"X";Math.abs(A.value[`start${N}`]-A.value[`end${N}`])>10&&s("handle-swipe",A.value[`start${N}`]>A.value[`end${N}`]?"right":"left")},R=(N,fe,v)=>{N&&(Array.isArray(_.value[fe])?_.value[fe][v]=N:_.value[fe]=[N]),i.arrowNavigation&&o(_.value,"calendar")},ee=N=>{i.monthChangeOnScroll&&(N.preventDefault(),s("handle-scroll",N))},oe=N=>u.value.type==="local"?Cf(N.value,{weekStartsOn:+i.weekStart}):u.value.type==="iso"?$f(N.value):typeof u.value.type=="function"?u.value.type(N.value):"",M=N=>{const fe=N[0];return u.value.hideOnOffsetDates?N.some(v=>v.current)?oe(fe):"":oe(fe)},se=(N,fe,v=!0)=>{v&&EI()||d.value.enabled||(Ti(N,a.value),s("select-date",fe))},de=N=>{Ti(N,a.value)},ke=N=>{d.value.enabled&&d.value.dragSelect?(y.value=!0,s("select-date",N)):d.value.enabled&&s("select-date",N)};return t({triggerTransition:E}),(N,fe)=>(D(),F("div",{class:Ee(Y.value)},[h("div",{ref_key:"calendarWrapRef",ref:b,class:Ee(B.value),role:"grid"},[h("div",NR,[N.weekNumbers?(D(),F("div",FR,_e(N.weekNumName),1)):re("",!0),(D(!0),F(Te,null,Ke(C.value,(v,O)=>{var H,W;return D(),F("div",{key:O,class:"dp__calendar_header_item",role:"gridcell","data-test":"calendar-header","aria-label":(W=(H=q(l))==null?void 0:H.weekDay)==null?void 0:W.call(H,O)},[N.$slots["calendar-header"]?Ie(N.$slots,"calendar-header",{key:0,day:v,index:O}):re("",!0),N.$slots["calendar-header"]?re("",!0):(D(),F(Te,{key:1},[ye(_e(v),1)],64))],8,BR)}),128))]),VR,$e(Ct,{name:$.value,css:!!N.transitions},{default:Me(()=>[w.value?(D(),F("div",{key:0,class:"dp__calendar",role:"rowgroup",onMouseleave:fe[1]||(fe[1]=v=>y.value=!1)},[(D(!0),F(Te,null,Ke(x.value,(v,O)=>(D(),F("div",{key:O,class:"dp__calendar_row",role:"row"},[N.weekNumbers?(D(),F("div",HR,[h("div",jR,_e(M(v.days)),1)])):re("",!0),(D(!0),F(Te,null,Ke(v.days,(H,W)=>{var ie,j,te;return D(),F("div",{id:q(d0)(H.value),ref_for:!0,ref:J=>R(J,O,W),key:W+O,role:"gridcell",class:"dp__calendar_item","aria-pressed":(H.classData.dp__active_date||H.classData.dp__range_start||H.classData.dp__range_start)??void 0,"aria-disabled":H.classData.dp__cell_disabled||void 0,"aria-label":(j=(ie=q(l))==null?void 0:ie.day)==null?void 0:j.call(ie,H),tabindex:"0","data-test":H.value,onClick:Ha(J=>se(J,H),["prevent"]),onTouchend:J=>se(J,H,!1),onKeydown:J=>q(vn)(J,()=>N.$emit("select-date",H)),onMouseenter:J=>Q(H,O,W),onMouseleave:J=>Z(H),onMousedown:J=>ke(H),onMouseup:fe[0]||(fe[0]=J=>y.value=!1)},[h("div",{class:Ee(["dp__cell_inner",H.classData])},[N.$slots.day&&L.value(H)?Ie(N.$slots,"day",{key:0,day:+H.text,date:H.value}):re("",!0),N.$slots.day?re("",!0):(D(),F(Te,{key:1},[ye(_e(H.text),1)],64)),H.marker&&L.value(H)?(D(),F(Te,{key:2},[N.$slots.marker?Ie(N.$slots,"marker",{key:0,marker:H.marker,day:+H.text,date:H.value}):(D(),F("div",{key:1,class:Ee(G.value(H.marker)),style:Wt(H.marker.color?{backgroundColor:H.marker.color}:{})},null,6))],64)):re("",!0),ae.value(H.value)?(D(),F("div",{key:3,ref_for:!0,ref_key:"activeTooltip",ref:T,class:"dp__marker_tooltip",style:Wt(g.value)},[(te=H.marker)!=null&&te.tooltip?(D(),F("div",{key:0,class:"dp__tooltip_content",onClick:de},[(D(!0),F(Te,null,Ke(H.marker.tooltip,(J,he)=>(D(),F("div",{key:he,class:"dp__tooltip_text"},[N.$slots["marker-tooltip"]?Ie(N.$slots,"marker-tooltip",{key:0,tooltip:J,day:H.value}):re("",!0),N.$slots["marker-tooltip"]?re("",!0):(D(),F(Te,{key:1},[h("div",{class:"dp__tooltip_mark",style:Wt(J.color?{backgroundColor:J.color}:{})},null,4),h("div",null,_e(J.text),1)],64))]))),128)),h("div",{class:"dp__arrow_bottom_tp",style:Wt(k.value)},null,4)])):re("",!0)],4)):re("",!0)],2)],40,WR)}),128))]))),128))],32)):re("",!0)]),_:3},8,["name","css"])],2)],2))}}),Fg=e=>Array.isArray(e),YR=(e,t,n,s)=>{const i=be([]),o=be(new Date),r=be(),a=()=>ce(e.isTextInputDate),{modelValue:l,calendars:c,time:u,today:d}=al(e,t,a),{defaultedMultiCalendars:f,defaultedStartTime:p,defaultedRange:g,defaultedConfig:_,defaultedTz:b,propDates:w,defaultedMultiDates:$}=kt(e),{validateMonthYearInRange:A,isDisabled:T,isDateRangeAllowed:k,checkMinMaxRange:y}=Ui(e),{updateTimeValues:x,getSetDateTime:C,setTime:P,assignStartTime:E,validateTime:B,disabledTimesConfig:G}=v0(e,u,l,s),ae=ve(()=>ne=>c.value[ne]?c.value[ne].month:0),Y=ve(()=>ne=>c.value[ne]?c.value[ne].year:0),L=ne=>!_.value.keepViewOnOffsetClick||ne?!0:!r.value,I=(ne,Se,ue,Ae=!1)=>{var De,sn;L(Ae)&&(c.value[ne]||(c.value[ne]={month:0,year:0}),c.value[ne].month=Og(Se)?(De=c.value[ne])==null?void 0:De.month:Se,c.value[ne].year=Og(ue)?(sn=c.value[ne])==null?void 0:sn.year:ue)},V=()=>{e.autoApply&&t("select-date")};Gt(()=>{e.shadow||(l.value||(N(),p.value&&E(p.value)),ce(!0),e.focusStartDate&&e.startDate&&N())});const Q=ve(()=>{var ne;return(ne=e.flow)!=null&&ne.length&&!e.partialFlow?e.flowStep===e.flow.length:!0}),Z=()=>{e.autoApply&&Q.value&&t("auto-apply",e.partialFlow?e.flowStep!==e.flow.length:!1)},ce=(ne=!1)=>{if(l.value)return Array.isArray(l.value)?(i.value=l.value,M(ne)):X(l.value,ne);if(f.value.count&&ne&&!e.startDate)return U(xe(),ne)},we=()=>Array.isArray(l.value)&&g.value.enabled?Qe(l.value[0])===Qe(l.value[1]??l.value[0]):!1,U=(ne=new Date,Se=!1)=>{if((!f.value.count||!f.value.static||Se)&&I(0,Qe(ne),Ye(ne)),f.value.count&&(!f.value.solo||!l.value||we()))for(let ue=1;ue{U(ne),P("hours",ei(ne)),P("minutes",Ni(ne)),P("seconds",Sr(ne)),f.value.count&&Se&&ke()},R=ne=>{if(f.value.count){if(f.value.solo)return 0;const Se=Qe(ne[0]),ue=Qe(ne[1]);return Math.abs(ue-Se){ne[1]&&g.value.showLastInRange?U(ne[R(ne)],Se):U(ne[0],Se);const ue=(Ae,De)=>[Ae(ne[0]),ne[1]?Ae(ne[1]):u[De][1]];P("hours",ue(ei,"hours")),P("minutes",ue(Ni,"minutes")),P("seconds",ue(Sr,"seconds"))},oe=(ne,Se)=>{if((g.value.enabled||e.weekPicker)&&!$.value.enabled)return ee(ne,Se);if($.value.enabled&&Se){const ue=ne[ne.length-1];return X(ue,Se)}},M=ne=>{const Se=l.value;oe(Se,ne),f.value.count&&f.value.solo&&ke()},se=(ne,Se)=>{const ue=ht(xe(),{month:ae.value(Se),year:Y.value(Se)}),Ae=ne<0?cs(ue,1):Ar(ue,1);A(Qe(Ae),Ye(Ae),ne<0,e.preventMinMaxNavigation)&&(I(Se,Qe(Ae),Ye(Ae)),t("update-month-year",{instance:Se,month:Qe(Ae),year:Ye(Ae)}),f.value.count&&!f.value.solo&&de(Se),n())},de=ne=>{for(let Se=ne-1;Se>=0;Se--){const ue=Ar(ht(xe(),{month:ae.value(Se+1),year:Y.value(Se+1)}),1);I(Se,Qe(ue),Ye(ue))}for(let Se=ne+1;Se<=f.value.count-1;Se++){const ue=cs(ht(xe(),{month:ae.value(Se-1),year:Y.value(Se-1)}),1);I(Se,Qe(ue),Ye(ue))}},ke=()=>{if(Array.isArray(l.value)&&l.value.length===2){const ne=xe(xe(l.value[1]?l.value[1]:cs(l.value[0],1))),[Se,ue]=[Qe(l.value[0]),Ye(l.value[0])],[Ae,De]=[Qe(l.value[1]),Ye(l.value[1])];(Se!==Ae||Se===Ae&&ue!==De)&&f.value.solo&&I(1,Qe(ne),Ye(ne))}else l.value&&!Array.isArray(l.value)&&(I(0,Qe(l.value),Ye(l.value)),U(xe()))},N=()=>{e.startDate&&(I(0,Qe(xe(e.startDate)),Ye(xe(e.startDate))),f.value.count&&de(0))},fe=(ne,Se)=>{if(e.monthChangeOnScroll){const ue=new Date().getTime()-o.value.getTime(),Ae=Math.abs(ne.deltaY);let De=500;Ae>1&&(De=100),Ae>100&&(De=0),ue>De&&(o.value=new Date,se(e.monthChangeOnScroll!=="inverse"?-ne.deltaY:ne.deltaY,Se))}},v=(ne,Se,ue=!1)=>{e.monthChangeOnArrows&&e.vertical===ue&&O(ne,Se)},O=(ne,Se)=>{se(ne==="right"?-1:1,Se)},H=ne=>{if(w.value.markers)return Ic(ne.value,w.value.markers)},W=(ne,Se)=>{switch(e.sixWeeks===!0?"append":e.sixWeeks){case"prepend":return[!0,!1];case"center":return[ne==0,!0];case"fair":return[ne==0||Se>ne,!0];case"append":return[!1,!1];default:return[!1,!1]}},ie=(ne,Se,ue,Ae)=>{if(e.sixWeeks&&ne.length<6){const De=6-ne.length,sn=(Se.getDay()+7-Ae)%7,xn=6-(ue.getDay()+7-Ae)%7,[Rs,Vo]=W(sn,xn);for(let Ji=1;Ji<=De;Ji++)if(Vo?!!(Ji%2)==Rs:Rs){const ms=ne[0].days[0],Wr=j(os(ms.value,-7),Qe(Se));ne.unshift({days:Wr})}else{const ms=ne[ne.length-1],Wr=ms.days[ms.days.length-1],Mu=j(os(Wr.value,1),Qe(Se));ne.push({days:Mu})}}return ne},j=(ne,Se)=>{const ue=xe(ne),Ae=[];for(let De=0;De<7;De++){const sn=os(ue,De),xn=Qe(sn)!==Se;Ae.push({text:e.hideOffsetDates&&xn?"":sn.getDate(),value:sn,current:!xn,classData:{}})}return Ae},te=(ne,Se)=>{const ue=[],Ae=new Date(Se,ne),De=new Date(Se,ne+1,0),sn=e.weekStart,xn=hs(Ae,{weekStartsOn:sn}),Rs=Vo=>{const Ji=j(Vo,ne);if(ue.push({days:Ji}),!ue[ue.length-1].days.some(ms=>nt(wn(ms.value),wn(De)))){const ms=os(Vo,7);Rs(ms)}};return Rs(xn),ie(ue,Ae,De,sn)},J=ne=>{const Se=Di(xe(ne.value),u.hours,u.minutes,Ve());t("date-update",Se),$.value.enabled?Vf(Se,l,$.value.limit):l.value=Se,s(),tn().then(()=>{Z()})},he=ne=>g.value.noDisabledRange?r0(i.value[0],ne).some(Se=>T(Se)):!1,ge=()=>{i.value=l.value?l.value.slice():[],i.value.length===2&&!(g.value.fixedStart||g.value.fixedEnd)&&(i.value=[])},pe=(ne,Se)=>{const ue=[xe(ne.value),os(xe(ne.value),+g.value.autoRange)];k(ue)?(Se&&Le(ne.value),i.value=ue):t("invalid-date",ne.value)},Le=ne=>{const Se=Qe(xe(ne)),ue=Ye(xe(ne));if(I(0,Se,ue),f.value.count>0)for(let Ae=1;Ae{if(he(ne.value)||!y(ne.value,l.value,g.value.fixedStart?0:1))return t("invalid-date",ne.value);i.value=m0(xe(ne.value),l,t,g)},He=(ne,Se)=>{if(ge(),g.value.autoRange)return pe(ne,Se);if(g.value.fixedStart||g.value.fixedEnd)return Oe(ne);i.value[0]?y(xe(ne.value),l.value)&&!he(ne.value)?At(xe(ne.value),xe(i.value[0]))?(i.value.unshift(xe(ne.value)),t("range-end",i.value[0])):(i.value[1]=xe(ne.value),t("range-end",i.value[1])):(e.autoApply&&t("auto-apply-invalid",ne.value),t("invalid-date",ne.value)):(i.value[0]=xe(ne.value),t("range-start",i.value[0]))},Ve=(ne=!0)=>e.enableSeconds?Array.isArray(u.seconds)?ne?u.seconds[0]:u.seconds[1]:u.seconds:0,tt=ne=>{i.value[ne]=Di(i.value[ne],u.hours[ne],u.minutes[ne],Ve(ne!==1))},Je=()=>{var ne,Se;i.value[0]&&i.value[1]&&+((ne=i.value)==null?void 0:ne[0])>+((Se=i.value)==null?void 0:Se[1])&&(i.value.reverse(),t("range-start",i.value[0]),t("range-end",i.value[1]))},mt=()=>{i.value.length&&(i.value[0]&&!i.value[1]?tt(0):(tt(0),tt(1),s()),Je(),l.value=i.value.slice(),gu(i.value,t,e.autoApply,e.modelAuto))},rn=(ne,Se=!1)=>{if(T(ne.value)||!ne.current&&e.hideOffsetDates)return t("invalid-date",ne.value);if(r.value=JSON.parse(JSON.stringify(ne)),!g.value.enabled)return J(ne);Fg(u.hours)&&Fg(u.minutes)&&!$.value.enabled&&(He(ne,Se),mt())},jn=(ne,Se)=>{var ue;I(ne,Se.month,Se.year,!0),f.value.count&&!f.value.solo&&de(ne),t("update-month-year",{instance:ne,month:Se.month,year:Se.year}),n(f.value.solo?ne:void 0);const Ae=(ue=e.flow)!=null&&ue.length?e.flow[e.flowStep]:void 0;!Se.fromNav&&(Ae===cn.month||Ae===cn.year)&&s()},ri=(ne,Se)=>{p0({value:ne,modelValue:l,range:g.value.enabled,timezone:Se?void 0:b.value.timezone}),V(),e.multiCalendars&&tn().then(()=>ce(!0))},Zn=()=>{const ne=Rf(xe(),b.value);g.value.enabled?l.value&&Array.isArray(l.value)&&l.value[0]?l.value=At(ne,l.value[0])?[ne,l.value[0]]:[l.value[0],ne]:l.value=[ne]:l.value=ne,V()},Is=()=>{if(Array.isArray(l.value))if($.value.enabled){const ne=Ht();l.value[l.value.length-1]=C(ne)}else l.value=l.value.map((ne,Se)=>ne&&C(ne,Se));else l.value=C(l.value);t("time-update")},Ht=()=>Array.isArray(l.value)&&l.value.length?l.value[l.value.length-1]:null;return{calendars:c,modelValue:l,month:ae,year:Y,time:u,disabledTimesConfig:G,today:d,validateTime:B,getCalendarDays:te,getMarker:H,handleScroll:fe,handleSwipe:O,handleArrow:v,selectDate:rn,updateMonthYear:jn,presetDate:ri,selectCurrentDate:Zn,updateTime:(ne,Se=!0,ue=!1)=>{x(ne,Se,ue,Is)},assignMonthAndYear:U}},UR={key:0},KR=Ft({__name:"DatePicker",props:{...fs},emits:["tooltip-open","tooltip-close","mount","update:internal-model-value","update-flow-step","reset-flow","auto-apply","focus-menu","select-date","range-start","range-end","invalid-fixed-range","time-update","am-pm-change","time-picker-open","time-picker-close","recalculate-position","update-month-year","auto-apply-invalid","date-update","invalid-date","overlay-toggle"],setup(e,{expose:t,emit:n}){const s=n,i=e,{calendars:o,month:r,year:a,modelValue:l,time:c,disabledTimesConfig:u,today:d,validateTime:f,getCalendarDays:p,getMarker:g,handleArrow:_,handleScroll:b,handleSwipe:w,selectDate:$,updateMonthYear:A,presetDate:T,selectCurrentDate:k,updateTime:y,assignMonthAndYear:x}=YR(i,s,we,U),C=Ro(),{setHoverDate:P,getDayClassData:E,clearHoverDate:B}=uL(l,i),{defaultedMultiCalendars:G}=kt(i),ae=be([]),Y=be([]),L=be(null),I=Rn(C,"calendar"),V=Rn(C,"monthYear"),Q=Rn(C,"timePicker"),Z=fe=>{i.shadow||s("mount",fe)};Vt(o,()=>{i.shadow||setTimeout(()=>{s("recalculate-position")},0)},{deep:!0}),Vt(G,(fe,v)=>{fe.count-v.count>0&&x()},{deep:!0});const ce=ve(()=>fe=>p(r.value(fe),a.value(fe)).map(v=>({...v,days:v.days.map(O=>(O.marker=g(O),O.classData=E(O),O))})));function we(fe){var v;fe||fe===0?(v=Y.value[fe])==null||v.triggerTransition(r.value(fe),a.value(fe)):Y.value.forEach((O,H)=>O.triggerTransition(r.value(H),a.value(H)))}function U(){s("update-flow-step")}const X=(fe,v=!1)=>{$(fe,v),i.spaceConfirm&&s("select-date")},R=(fe,v,O=0)=>{var H;(H=ae.value[O])==null||H.toggleMonthPicker(fe,v)},ee=(fe,v,O=0)=>{var H;(H=ae.value[O])==null||H.toggleYearPicker(fe,v)},oe=(fe,v,O)=>{var H;(H=L.value)==null||H.toggleTimePicker(fe,v,O)},M=(fe,v)=>{var O;if(!i.range){const H=l.value?l.value:d,W=v?new Date(v):H,ie=fe?hs(W,{weekStartsOn:1}):Vy(W,{weekStartsOn:1});$({value:ie,current:Qe(W)===r.value(0),text:"",classData:{}}),(O=document.getElementById(d0(ie)))==null||O.focus()}},se=fe=>{var v;(v=ae.value[0])==null||v.handleMonthYearChange(fe,!0)},de=fe=>{A(0,{month:r.value(0),year:a.value(0)+(fe?1:-1),fromNav:!0})},ke=(fe,v)=>{fe===cn.time&&s(`time-picker-${v?"open":"close"}`),s("overlay-toggle",{open:v,overlay:fe})},N=fe=>{s("overlay-toggle",{open:!1,overlay:fe}),s("focus-menu")};return t({clearHoverDate:B,presetDate:T,selectCurrentDate:k,toggleMonthPicker:R,toggleYearPicker:ee,toggleTimePicker:oe,handleArrow:_,updateMonthYear:A,getSidebarProps:()=>({modelValue:l,month:r,year:a,time:c,updateTime:y,updateMonthYear:A,selectDate:$,presetDate:T}),changeMonth:se,changeYear:de,selectWeekDate:M}),(fe,v)=>(D(),F(Te,null,[$e(mu,{"multi-calendars":q(G).count,collapse:fe.collapse},{default:Me(({instance:O,index:H})=>[fe.disableMonthYearSelect?re("",!0):(D(),Ne(LR,Yt({key:0,ref:W=>{W&&(ae.value[H]=W)},months:q(e0)(fe.formatLocale,fe.locale,fe.monthNameFormat),years:q(Lf)(fe.yearRange,fe.locale,fe.reverseYears),month:q(r)(O),year:q(a)(O),instance:O},fe.$props,{onMount:v[0]||(v[0]=W=>Z(q(ko).header)),onResetFlow:v[1]||(v[1]=W=>fe.$emit("reset-flow")),onUpdateMonthYear:W=>q(A)(O,W),onOverlayClosed:N,onOverlayOpened:v[2]||(v[2]=W=>fe.$emit("overlay-toggle",{open:!0,overlay:W}))}),hn({_:2},[Ke(q(V),(W,ie)=>({name:W,fn:Me(j=>[Ie(fe.$slots,W,Zt(_n(j)))])}))]),1040,["months","years","month","year","instance","onUpdateMonthYear"])),$e(zR,Yt({ref:W=>{W&&(Y.value[H]=W)},"mapped-dates":ce.value(O),month:q(r)(O),year:q(a)(O),instance:O},fe.$props,{onSelectDate:W=>q($)(W,O!==1),onHandleSpace:W=>X(W,O!==1),onSetHoverDate:v[3]||(v[3]=W=>q(P)(W)),onHandleScroll:W=>q(b)(W,O),onHandleSwipe:W=>q(w)(W,O),onMount:v[4]||(v[4]=W=>Z(q(ko).calendar)),onResetFlow:v[5]||(v[5]=W=>fe.$emit("reset-flow")),onTooltipOpen:v[6]||(v[6]=W=>fe.$emit("tooltip-open",W)),onTooltipClose:v[7]||(v[7]=W=>fe.$emit("tooltip-close",W))}),hn({_:2},[Ke(q(I),(W,ie)=>({name:W,fn:Me(j=>[Ie(fe.$slots,W,Zt(_n({...j})))])}))]),1040,["mapped-dates","month","year","instance","onSelectDate","onHandleSpace","onHandleScroll","onHandleSwipe"])]),_:3},8,["multi-calendars","collapse"]),fe.enableTimePicker?(D(),F("div",UR,[fe.$slots["time-picker"]?Ie(fe.$slots,"time-picker",Zt(Yt({key:0},{time:q(c),updateTime:q(y)}))):(D(),Ne(_0,Yt({key:1,ref_key:"timePickerRef",ref:L},fe.$props,{hours:q(c).hours,minutes:q(c).minutes,seconds:q(c).seconds,"internal-model-value":fe.internalModelValue,"disabled-times-config":q(u),"validate-time":q(f),onMount:v[8]||(v[8]=O=>Z(q(ko).timePicker)),"onUpdate:hours":v[9]||(v[9]=O=>q(y)(O)),"onUpdate:minutes":v[10]||(v[10]=O=>q(y)(O,!1)),"onUpdate:seconds":v[11]||(v[11]=O=>q(y)(O,!1,!0)),onResetFlow:v[12]||(v[12]=O=>fe.$emit("reset-flow")),onOverlayClosed:v[13]||(v[13]=O=>ke(O,!1)),onOverlayOpened:v[14]||(v[14]=O=>ke(O,!0)),onAmPmChange:v[15]||(v[15]=O=>fe.$emit("am-pm-change",O))}),hn({_:2},[Ke(q(Q),(O,H)=>({name:O,fn:Me(W=>[Ie(fe.$slots,O,Zt(_n(W)))])}))]),1040,["hours","minutes","seconds","internal-model-value","disabled-times-config","validate-time"]))])):re("",!0)],64))}}),qR=(e,t)=>{const n=be(),{defaultedMultiCalendars:s,defaultedConfig:i,defaultedHighlight:o,defaultedRange:r,propDates:a,defaultedFilters:l,defaultedMultiDates:c}=kt(e),{modelValue:u,year:d,month:f,calendars:p}=al(e,t),{isDisabled:g}=Ui(e),{selectYear:_,groupedYears:b,showYearPicker:w,isDisabled:$,toggleYearPicker:A,handleYearSelect:T,handleYear:k}=g0({modelValue:u,multiCalendars:s,range:r,highlight:o,calendars:p,propDates:a,month:f,year:d,filters:l,props:e,emit:t}),y=(L,I)=>[L,I].map(V=>Cs(V,"MMMM",{locale:e.formatLocale})).join("-"),x=ve(()=>L=>u.value?Array.isArray(u.value)?u.value.some(I=>Mg(L,I)):Mg(u.value,L):!1),C=L=>{if(r.value.enabled){if(Array.isArray(u.value)){const I=nt(L,u.value[0])||nt(L,u.value[1]);return fu(u.value,n.value,L)&&!I}return!1}return!1},P=(L,I)=>L.quarter===Sg(I)&&L.year===Ye(I),E=L=>typeof o.value=="function"?o.value({quarter:Sg(L),year:Ye(L)}):!!o.value.quarters.find(I=>P(I,L)),B=ve(()=>L=>{const I=ht(new Date,{year:d.value(L)});return x2({start:Wa(I),end:By(I)}).map(V=>{const Q=vo(V),Z=$g(V),ce=g(V),we=C(Q),U=E(Q);return{text:y(Q,Z),value:Q,active:x.value(Q),highlighted:U,disabled:ce,isBetween:we}})}),G=L=>{Vf(L,u,c.value.limit),t("auto-apply",!0)},ae=L=>{u.value=Hf(u,L,t),gu(u.value,t,e.autoApply,e.modelAuto)},Y=L=>{u.value=L,t("auto-apply")};return{defaultedConfig:i,defaultedMultiCalendars:s,groupedYears:b,year:d,isDisabled:$,quarters:B,showYearPicker:w,modelValue:u,setHoverDate:L=>{n.value=L},selectYear:_,selectQuarter:(L,I,V)=>{if(!V)return p.value[I].month=Qe($g(L)),c.value.enabled?G(L):r.value.enabled?ae(L):Y(L)},toggleYearPicker:A,handleYearSelect:T,handleYear:k}},GR={class:"dp--quarter-items"},JR=["data-test","disabled","onClick","onMouseover"],XR=Ft({compatConfig:{MODE:3},__name:"QuarterPicker",props:{...fs},emits:["update:internal-model-value","reset-flow","overlay-closed","auto-apply","range-start","range-end","overlay-toggle","update-month-year"],setup(e,{expose:t,emit:n}){const s=n,i=e,o=Ro(),r=Rn(o,"yearMode"),{defaultedMultiCalendars:a,defaultedConfig:l,groupedYears:c,year:u,isDisabled:d,quarters:f,modelValue:p,showYearPicker:g,setHoverDate:_,selectQuarter:b,toggleYearPicker:w,handleYearSelect:$,handleYear:A}=qR(i,s);return t({getSidebarProps:()=>({modelValue:p,year:u,selectQuarter:b,handleYearSelect:$,handleYear:A})}),(T,k)=>(D(),Ne(mu,{"multi-calendars":q(a).count,collapse:T.collapse,stretch:""},{default:Me(({instance:y})=>[h("div",{class:"dp-quarter-picker-wrap",style:Wt({minHeight:`${q(l).modeHeight}px`})},[T.$slots["top-extra"]?Ie(T.$slots,"top-extra",{key:0,value:T.internalModelValue}):re("",!0),h("div",null,[$e(f0,Yt(T.$props,{items:q(c)(y),instance:y,"show-year-picker":q(g)[y],year:q(u)(y),"is-disabled":x=>q(d)(y,x),onHandleYear:x=>q(A)(y,x),onYearSelect:x=>q($)(x,y),onToggleYearPicker:x=>q(w)(y,x==null?void 0:x.flow,x==null?void 0:x.show)}),hn({_:2},[Ke(q(r),(x,C)=>({name:x,fn:Me(P=>[Ie(T.$slots,x,Zt(_n(P)))])}))]),1040,["items","instance","show-year-picker","year","is-disabled","onHandleYear","onYearSelect","onToggleYearPicker"])]),h("div",GR,[(D(!0),F(Te,null,Ke(q(f)(y),(x,C)=>(D(),F("div",{key:C},[h("button",{type:"button",class:Ee(["dp--qr-btn",{"dp--qr-btn-active":x.active,"dp--qr-btn-between":x.isBetween,"dp--qr-btn-disabled":x.disabled,"dp--highlighted":x.highlighted}]),"data-test":x.value,disabled:x.disabled,onClick:P=>q(b)(x.value,y,x.disabled),onMouseover:P=>q(_)(x.value)},[T.$slots.quarter?Ie(T.$slots,"quarter",{key:0,value:x.value,text:x.text}):(D(),F(Te,{key:1},[ye(_e(x.text),1)],64))],42,JR)]))),128))])],4)]),_:3},8,["multi-calendars","collapse"]))}}),QR=["id","tabindex","role","aria-label"],ZR={key:0,class:"dp--menu-load-container"},eL=h("span",{class:"dp--menu-loader"},null,-1),tL=[eL],nL={key:1,class:"dp--menu-header"},sL={key:0,class:"dp__sidebar_left"},iL=["data-test","onClick","onKeydown"],oL={key:2,class:"dp__sidebar_right"},rL={key:3,class:"dp__action_extra"},Bg=Ft({compatConfig:{MODE:3},__name:"DatepickerMenu",props:{...pu,shadow:{type:Boolean,default:!1},openOnTop:{type:Boolean,default:!1},internalModelValue:{type:[Date,Array],default:null},noOverlayFocus:{type:Boolean,default:!1},collapse:{type:Boolean,default:!1},getInputRect:{type:Function,default:()=>({})},isTextInputDate:{type:Boolean,default:!1}},emits:["close-picker","select-date","auto-apply","time-update","flow-step","update-month-year","invalid-select","update:internal-model-value","recalculate-position","invalid-fixed-range","tooltip-open","tooltip-close","time-picker-open","time-picker-close","am-pm-change","range-start","range-end","auto-apply-invalid","date-update","invalid-date","overlay-toggle"],setup(e,{expose:t,emit:n}){const s=n,i=e,o=be(null),r=ve(()=>{const{openOnTop:j,...te}=i;return{...te,flowStep:P.value,collapse:i.collapse,noOverlayFocus:i.noOverlayFocus,menuWrapRef:o.value}}),{setMenuFocused:a,setShiftKey:l,control:c}=h0(),u=Ro(),{defaultedTextInput:d,defaultedInline:f,defaultedConfig:p,defaultedUI:g}=kt(i),_=be(null),b=be(0),w=be(null),$=be(!1),A=be(null);Gt(()=>{if(!i.shadow){$.value=!0,T(),window.addEventListener("resize",T);const j=jt(o);if(j&&!d.value.enabled&&!f.value.enabled&&(a(!0),I()),j){const te=J=>{p.value.allowPreventDefault&&J.preventDefault(),Ti(J,p.value,!0)};j.addEventListener("pointerdown",te),j.addEventListener("mousedown",te)}}}),Fr(()=>{window.removeEventListener("resize",T)});const T=()=>{const j=jt(w);j&&(b.value=j.getBoundingClientRect().width)},{arrowRight:k,arrowLeft:y,arrowDown:x,arrowUp:C}=Yi(),{flowStep:P,updateFlowStep:E,childMount:B,resetFlow:G,handleFlow:ae}=dL(i,s,A),Y=ve(()=>i.monthPicker?dR:i.yearPicker?fR:i.timePicker?MR:i.quarterPicker?XR:KR),L=ve(()=>{var j;if(p.value.arrowLeft)return p.value.arrowLeft;const te=(j=o.value)==null?void 0:j.getBoundingClientRect(),J=i.getInputRect();return(J==null?void 0:J.width)<(b==null?void 0:b.value)&&(J==null?void 0:J.left)<=((te==null?void 0:te.left)??0)?`${(J==null?void 0:J.width)/2}px`:(J==null?void 0:J.right)>=((te==null?void 0:te.right)??0)&&(J==null?void 0:J.width)<(b==null?void 0:b.value)?`${(b==null?void 0:b.value)-(J==null?void 0:J.width)/2}px`:"50%"}),I=()=>{const j=jt(o);j&&j.focus({preventScroll:!0})},V=ve(()=>{var j;return((j=A.value)==null?void 0:j.getSidebarProps())||{}}),Q=()=>{i.openOnTop&&s("recalculate-position")},Z=Rn(u,"action"),ce=ve(()=>i.monthPicker||i.yearPicker?Rn(u,"monthYear"):i.timePicker?Rn(u,"timePicker"):Rn(u,"shared")),we=ve(()=>i.openOnTop?"dp__arrow_bottom":"dp__arrow_top"),U=ve(()=>({dp__menu_disabled:i.disabled,dp__menu_readonly:i.readonly,"dp-menu-loading":i.loading})),X=ve(()=>({dp__menu:!0,dp__menu_index:!f.value.enabled,dp__relative:f.value.enabled,...g.value.menu??{}})),R=j=>{Ti(j,p.value,!0)},ee=()=>{i.escClose&&s("close-picker")},oe=j=>{if(i.arrowNavigation){if(j===gn.up)return C();if(j===gn.down)return x();if(j===gn.left)return y();if(j===gn.right)return k()}else j===gn.left||j===gn.up?N("handleArrow",gn.left,0,j===gn.up):N("handleArrow",gn.right,0,j===gn.down)},M=j=>{l(j.shiftKey),!i.disableMonthYearSelect&&j.code===_t.tab&&j.target.classList.contains("dp__menu")&&c.value.shiftKeyInMenu&&(j.preventDefault(),Ti(j,p.value,!0),s("close-picker"))},se=()=>{I(),s("time-picker-close")},de=j=>{var te,J,he;(te=A.value)==null||te.toggleTimePicker(!1,!1),(J=A.value)==null||J.toggleMonthPicker(!1,!1,j),(he=A.value)==null||he.toggleYearPicker(!1,!1,j)},ke=(j,te=0)=>{var J,he,ge;return j==="month"?(J=A.value)==null?void 0:J.toggleMonthPicker(!1,!0,te):j==="year"?(he=A.value)==null?void 0:he.toggleYearPicker(!1,!0,te):j==="time"?(ge=A.value)==null?void 0:ge.toggleTimePicker(!0,!1):de(te)},N=(j,...te)=>{var J,he;(J=A.value)!=null&&J[j]&&((he=A.value)==null||he[j](...te))},fe=()=>{N("selectCurrentDate")},v=(j,te)=>{N("presetDate",j,te)},O=()=>{N("clearHoverDate")},H=(j,te)=>{N("updateMonthYear",j,te)},W=(j,te)=>{j.preventDefault(),oe(te)},ie=j=>{var te,J,he;if(M(j),j.key===_t.home||j.key===_t.end)return N("selectWeekDate",j.key===_t.home,j.target.getAttribute("id"));switch((j.key===_t.pageUp||j.key===_t.pageDown)&&(j.shiftKey?(N("changeYear",j.key===_t.pageUp),(te=rh(o.value,"overlay-year"))==null||te.focus()):(N("changeMonth",j.key===_t.pageUp),(J=rh(o.value,j.key===_t.pageUp?"action-prev":"action-next"))==null||J.focus()),j.target.getAttribute("id")&&((he=o.value)==null||he.focus({preventScroll:!0}))),j.key){case _t.esc:return ee();case _t.arrowLeft:return W(j,gn.left);case _t.arrowRight:return W(j,gn.right);case _t.arrowUp:return W(j,gn.up);case _t.arrowDown:return W(j,gn.down);default:return}};return t({updateMonthYear:H,switchView:ke,handleFlow:ae}),(j,te)=>{var J,he,ge;return D(),F("div",{id:j.uid?`dp-menu-${j.uid}`:void 0,ref_key:"dpMenuRef",ref:o,tabindex:q(f).enabled?void 0:"0",role:q(f).enabled?void 0:"dialog","aria-label":(J=j.ariaLabels)==null?void 0:J.menu,class:Ee(X.value),style:Wt({"--dp-arrow-left":L.value}),onMouseleave:O,onClick:R,onKeydown:ie},[(j.disabled||j.readonly)&&q(f).enabled||j.loading?(D(),F("div",{key:0,class:Ee(U.value)},[j.loading?(D(),F("div",ZR,tL)):re("",!0)],2)):re("",!0),j.$slots["menu-header"]?(D(),F("div",nL,[Ie(j.$slots,"menu-header")])):re("",!0),!q(f).enabled&&!j.teleportCenter?(D(),F("div",{key:2,class:Ee(we.value)},null,2)):re("",!0),h("div",{ref_key:"innerMenuRef",ref:w,class:Ee({dp__menu_content_wrapper:((he=j.presetDates)==null?void 0:he.length)||!!j.$slots["left-sidebar"]||!!j.$slots["right-sidebar"],"dp--menu-content-wrapper-collapsed":e.collapse&&(((ge=j.presetDates)==null?void 0:ge.length)||!!j.$slots["left-sidebar"]||!!j.$slots["right-sidebar"])}),style:Wt({"--dp-menu-width":`${b.value}px`})},[j.$slots["left-sidebar"]?(D(),F("div",sL,[Ie(j.$slots,"left-sidebar",Zt(_n(V.value)))])):re("",!0),j.presetDates.length?(D(),F("div",{key:1,class:Ee({"dp--preset-dates-collapsed":e.collapse,"dp--preset-dates":!0})},[(D(!0),F(Te,null,Ke(j.presetDates,(pe,Le)=>(D(),F(Te,{key:Le},[pe.slot?Ie(j.$slots,pe.slot,{key:0,presetDate:v,label:pe.label,value:pe.value}):(D(),F("button",{key:1,type:"button",style:Wt(pe.style||{}),class:Ee(["dp__btn dp--preset-range",{"dp--preset-range-collapsed":e.collapse}]),"data-test":pe.testId??void 0,onClick:Ha(Oe=>v(pe.value,pe.noTz),["prevent"]),onKeydown:Oe=>q(vn)(Oe,()=>v(pe.value,pe.noTz),!0)},_e(pe.label),47,iL))],64))),128))],2)):re("",!0),h("div",{ref_key:"calendarWrapperRef",ref:_,class:"dp__instance_calendar",role:"document"},[(D(),Ne(Io(Y.value),Yt({ref_key:"dynCmpRef",ref:A},r.value,{"flow-step":q(P),onMount:q(B),onUpdateFlowStep:q(E),onResetFlow:q(G),onFocusMenu:I,onSelectDate:te[0]||(te[0]=pe=>j.$emit("select-date")),onDateUpdate:te[1]||(te[1]=pe=>j.$emit("date-update",pe)),onTooltipOpen:te[2]||(te[2]=pe=>j.$emit("tooltip-open",pe)),onTooltipClose:te[3]||(te[3]=pe=>j.$emit("tooltip-close",pe)),onAutoApply:te[4]||(te[4]=pe=>j.$emit("auto-apply",pe)),onRangeStart:te[5]||(te[5]=pe=>j.$emit("range-start",pe)),onRangeEnd:te[6]||(te[6]=pe=>j.$emit("range-end",pe)),onInvalidFixedRange:te[7]||(te[7]=pe=>j.$emit("invalid-fixed-range",pe)),onTimeUpdate:te[8]||(te[8]=pe=>j.$emit("time-update")),onAmPmChange:te[9]||(te[9]=pe=>j.$emit("am-pm-change",pe)),onTimePickerOpen:te[10]||(te[10]=pe=>j.$emit("time-picker-open",pe)),onTimePickerClose:se,onRecalculatePosition:Q,onUpdateMonthYear:te[11]||(te[11]=pe=>j.$emit("update-month-year",pe)),onAutoApplyInvalid:te[12]||(te[12]=pe=>j.$emit("auto-apply-invalid",pe)),onInvalidDate:te[13]||(te[13]=pe=>j.$emit("invalid-date",pe)),onOverlayToggle:te[14]||(te[14]=pe=>j.$emit("overlay-toggle",pe)),"onUpdate:internalModelValue":te[15]||(te[15]=pe=>j.$emit("update:internal-model-value",pe))}),hn({_:2},[Ke(ce.value,(pe,Le)=>({name:pe,fn:Me(Oe=>[Ie(j.$slots,pe,Zt(_n({...Oe})))])}))]),1040,["flow-step","onMount","onUpdateFlowStep","onResetFlow"]))],512),j.$slots["right-sidebar"]?(D(),F("div",oL,[Ie(j.$slots,"right-sidebar",Zt(_n(V.value)))])):re("",!0),j.$slots["action-extra"]?(D(),F("div",rL,[j.$slots["action-extra"]?Ie(j.$slots,"action-extra",{key:0,selectCurrentDate:fe}):re("",!0)])):re("",!0)],6),!j.autoApply||q(p).keepActionRow?(D(),Ne(sR,Yt({key:3,"menu-mount":$.value},r.value,{"calendar-width":b.value,onClosePicker:te[16]||(te[16]=pe=>j.$emit("close-picker")),onSelectDate:te[17]||(te[17]=pe=>j.$emit("select-date")),onInvalidSelect:te[18]||(te[18]=pe=>j.$emit("invalid-select")),onSelectNow:fe}),hn({_:2},[Ke(q(Z),(pe,Le)=>({name:pe,fn:Me(Oe=>[Ie(j.$slots,pe,Zt(_n({...Oe})))])}))]),1040,["menu-mount","calendar-width"])):re("",!0)],46,QR)}}});var sr=(e=>(e.center="center",e.left="left",e.right="right",e))(sr||{});const aL=({menuRef:e,menuRefInner:t,inputRef:n,pickerWrapperRef:s,inline:i,emit:o,props:r,slots:a})=>{const{defaultedConfig:l}=kt(r),c=be({}),u=be(!1),d=be({top:"0",left:"0"}),f=be(!1),p=Ra(r,"teleportCenter");Vt(p,()=>{d.value=JSON.parse(JSON.stringify({})),k()});const g=I=>{if(r.teleport){const V=I.getBoundingClientRect();return{left:V.left+window.scrollX,top:V.top+window.scrollY}}return{top:0,left:0}},_=(I,V)=>{d.value.left=`${I+V-c.value.width}px`},b=I=>{d.value.left=`${I}px`},w=(I,V)=>{r.position===sr.left&&b(I),r.position===sr.right&&_(I,V),r.position===sr.center&&(d.value.left=`${I+V/2-c.value.width/2}px`)},$=I=>{const{width:V,height:Q}=I.getBoundingClientRect(),{top:Z,left:ce}=r.altPosition?r.altPosition(I):g(I);return{top:+Z,left:+ce,width:V,height:Q}},A=()=>{d.value.left="50%",d.value.top="50%",d.value.transform="translate(-50%, -50%)",d.value.position="fixed",delete d.value.opacity},T=()=>{const I=jt(n),{top:V,left:Q,transform:Z}=r.altPosition(I);d.value={top:`${V}px`,left:`${Q}px`,transform:Z??""}},k=(I=!0)=>{var V;if(!i.value.enabled){if(p.value)return A();if(r.altPosition!==null)return T();if(I){const Q=r.teleport?(V=t.value)==null?void 0:V.$el:e.value;Q&&(c.value=Q.getBoundingClientRect()),o("recalculate-position")}return G()}},y=({inputEl:I,left:V,width:Q})=>{window.screen.width>768&&!u.value&&w(V,Q),P(I)},x=I=>{const{top:V,left:Q,height:Z,width:ce}=$(I);d.value.top=`${Z+V+ +r.offset}px`,f.value=!1,u.value||(d.value.left=`${Q+ce/2-c.value.width/2}px`),y({inputEl:I,left:Q,width:ce})},C=I=>{const{top:V,left:Q,width:Z}=$(I);d.value.top=`${V-+r.offset-c.value.height}px`,f.value=!0,y({inputEl:I,left:Q,width:Z})},P=I=>{if(r.autoPosition){const{left:V,width:Q}=$(I),{left:Z,right:ce}=c.value;if(!u.value){if(Math.abs(Z)!==Math.abs(ce)){if(Z<=0)return u.value=!0,b(V);if(ce>=document.documentElement.clientWidth)return u.value=!0,_(V,Q)}return w(V,Q)}}},E=()=>{const I=jt(n);if(I){const{height:V}=c.value,{top:Q,height:Z}=I.getBoundingClientRect(),ce=window.innerHeight-Q-Z,we=Q;return V<=ce?fo.bottom:V>ce&&V<=we?fo.top:ce>=we?fo.bottom:fo.top}return fo.bottom},B=I=>E()===fo.bottom?x(I):C(I),G=()=>{const I=jt(n);if(I)return r.autoPosition?B(I):x(I)},ae=function(I){if(I){const V=I.scrollHeight>I.clientHeight,Q=window.getComputedStyle(I).overflowY.indexOf("hidden")!==-1;return V&&!Q}return!0},Y=function(I){return!I||I===document.body||I.nodeType===Node.DOCUMENT_FRAGMENT_NODE?window:ae(I)?I:Y(I.assignedSlot&&l.value.shadowDom?I.assignedSlot.parentNode:I.parentNode)},L=I=>{if(I)switch(r.position){case sr.left:return{left:0,transform:"translateX(0)"};case sr.right:return{left:`${I.width}px`,transform:"translateX(-100%)"};default:return{left:`${I.width/2}px`,transform:"translateX(-50%)"}}return{}};return{openOnTop:f,menuStyle:d,xCorrect:u,setMenuPosition:k,getScrollableParent:Y,shadowRender:(I,V)=>{var Q,Z,ce;const we=document.createElement("div"),U=(Q=jt(n))==null?void 0:Q.getBoundingClientRect();we.setAttribute("id","dp--temp-container");const X=(Z=s.value)!=null&&Z.clientWidth?s.value:document.body;X.append(we);const R=L(U),ee=l.value.shadowDom?Object.keys(a).filter(M=>["right-sidebar","left-sidebar","top-extra","action-extra"].includes(M)):Object.keys(a),oe=Mo(I,{...V,shadow:!0,style:{opacity:0,position:"absolute",...R}},Object.fromEntries(ee.map(M=>[M,a[M]])));ng(oe,we),c.value=(ce=oe.el)==null?void 0:ce.getBoundingClientRect(),ng(null,we),X.removeChild(we)}}},fi=[{name:"clock-icon",use:["time","calendar","shared"]},{name:"arrow-left",use:["month-year","calendar","shared","year-mode"]},{name:"arrow-right",use:["month-year","calendar","shared","year-mode"]},{name:"arrow-up",use:["time","calendar","month-year","shared"]},{name:"arrow-down",use:["time","calendar","month-year","shared"]},{name:"calendar-icon",use:["month-year","time","calendar","shared","year-mode"]},{name:"day",use:["calendar","shared"]},{name:"month-overlay-value",use:["calendar","month-year","shared"]},{name:"year-overlay-value",use:["calendar","month-year","shared","year-mode"]},{name:"year-overlay",use:["month-year","shared"]},{name:"month-overlay",use:["month-year","shared"]},{name:"month-overlay-header",use:["month-year","shared"]},{name:"year-overlay-header",use:["month-year","shared"]},{name:"hours-overlay-value",use:["calendar","time","shared"]},{name:"hours-overlay-header",use:["calendar","time","shared"]},{name:"minutes-overlay-value",use:["calendar","time","shared"]},{name:"minutes-overlay-header",use:["calendar","time","shared"]},{name:"seconds-overlay-value",use:["calendar","time","shared"]},{name:"seconds-overlay-header",use:["calendar","time","shared"]},{name:"hours",use:["calendar","time","shared"]},{name:"minutes",use:["calendar","time","shared"]},{name:"month",use:["calendar","month-year","shared"]},{name:"year",use:["calendar","month-year","shared","year-mode"]},{name:"action-buttons",use:["action"]},{name:"action-preview",use:["action"]},{name:"calendar-header",use:["calendar","shared"]},{name:"marker-tooltip",use:["calendar","shared"]},{name:"action-extra",use:["menu"]},{name:"time-picker-overlay",use:["calendar","time","shared"]},{name:"am-pm-button",use:["calendar","time","shared"]},{name:"left-sidebar",use:["menu"]},{name:"right-sidebar",use:["menu"]},{name:"month-year",use:["month-year","shared"]},{name:"time-picker",use:["menu","shared"]},{name:"action-row",use:["action"]},{name:"marker",use:["calendar","shared"]},{name:"quarter",use:["shared"]},{name:"top-extra",use:["shared","month-year"]},{name:"tp-inline-arrow-up",use:["shared","time"]},{name:"tp-inline-arrow-down",use:["shared","time"]},{name:"menu-header",use:["menu"]}],lL=[{name:"trigger"},{name:"input-icon"},{name:"clear-icon"},{name:"dp-input"}],cL={all:()=>fi,monthYear:()=>fi.filter(e=>e.use.includes("month-year")),input:()=>lL,timePicker:()=>fi.filter(e=>e.use.includes("time")),action:()=>fi.filter(e=>e.use.includes("action")),calendar:()=>fi.filter(e=>e.use.includes("calendar")),menu:()=>fi.filter(e=>e.use.includes("menu")),shared:()=>fi.filter(e=>e.use.includes("shared")),yearMode:()=>fi.filter(e=>e.use.includes("year-mode"))},Rn=(e,t,n)=>{const s=[];return cL[t]().forEach(i=>{e[i.name]&&s.push(i.name)}),n!=null&&n.length&&n.forEach(i=>{i.slot&&s.push(i.slot)}),s},rl=e=>{const t=ve(()=>s=>e.value?s?e.value.open:e.value.close:""),n=ve(()=>s=>e.value?s?e.value.menuAppearTop:e.value.menuAppearBottom:"");return{transitionName:t,showTransition:!!e.value,menuTransition:n}},al=(e,t,n)=>{const{defaultedRange:s,defaultedTz:i}=kt(e),o=xe(En(xe(),i.value.timezone)),r=be([{month:Qe(o),year:Ye(o)}]),a=f=>{const p={hours:ei(o),minutes:Ni(o),seconds:0};return s.value.enabled?[p[f],p[f]]:p[f]},l=Ds({hours:a("hours"),minutes:a("minutes"),seconds:a("seconds")});Vt(s,(f,p)=>{f.enabled!==p.enabled&&(l.hours=a("hours"),l.minutes=a("minutes"),l.seconds=a("seconds"))},{deep:!0});const c=ve({get:()=>e.internalModelValue,set:f=>{!e.readonly&&!e.disabled&&t("update:internal-model-value",f)}}),u=ve(()=>f=>r.value[f]?r.value[f].month:0),d=ve(()=>f=>r.value[f]?r.value[f].year:0);return Vt(c,(f,p)=>{n&&JSON.stringify(f??{})!==JSON.stringify(p??{})&&n()},{deep:!0}),{calendars:r,time:l,modelValue:c,month:u,year:d,today:o}},uL=(e,t)=>{const{defaultedMultiCalendars:n,defaultedMultiDates:s,defaultedUI:i,defaultedHighlight:o,defaultedTz:r,propDates:a,defaultedRange:l}=kt(t),{isDisabled:c}=Ui(t),u=be(null),d=be(En(new Date,r.value.timezone)),f=R=>{!R.current&&t.hideOffsetDates||(u.value=R.value)},p=()=>{u.value=null},g=R=>Array.isArray(e.value)&&l.value.enabled&&e.value[0]&&u.value?R?Ot(u.value,e.value[0]):At(u.value,e.value[0]):!0,_=(R,ee)=>{const oe=()=>e.value?ee?e.value[0]||null:e.value[1]:null,M=e.value&&Array.isArray(e.value)?oe():null;return nt(xe(R.value),M)},b=R=>{const ee=Array.isArray(e.value)?e.value[0]:null;return R?!At(u.value??null,ee):!0},w=(R,ee=!0)=>(l.value.enabled||t.weekPicker)&&Array.isArray(e.value)&&e.value.length===2?t.hideOffsetDates&&!R.current?!1:nt(xe(R.value),e.value[ee?0:1]):l.value.enabled?_(R,ee)&&b(ee)||nt(R.value,Array.isArray(e.value)?e.value[0]:null)&&g(ee):!1,$=(R,ee)=>{if(Array.isArray(e.value)&&e.value[0]&&e.value.length===1){const oe=nt(R.value,u.value);return ee?Ot(e.value[0],R.value)&&oe:At(e.value[0],R.value)&&oe}return!1},A=R=>!e.value||t.hideOffsetDates&&!R.current?!1:l.value.enabled?t.modelAuto&&Array.isArray(e.value)?nt(R.value,e.value[0]?e.value[0]:d.value):!1:s.value.enabled&&Array.isArray(e.value)?e.value.some(ee=>nt(ee,R.value)):nt(R.value,e.value?e.value:d.value),T=R=>{if(l.value.autoRange||t.weekPicker){if(u.value){if(t.hideOffsetDates&&!R.current)return!1;const ee=os(u.value,+l.value.autoRange),oe=zs(xe(u.value),t.weekStart);return t.weekPicker?nt(oe[1],xe(R.value)):nt(ee,xe(R.value))}return!1}return!1},k=R=>{if(l.value.autoRange||t.weekPicker){if(u.value){const ee=os(u.value,+l.value.autoRange);if(t.hideOffsetDates&&!R.current)return!1;const oe=zs(xe(u.value),t.weekStart);return t.weekPicker?Ot(R.value,oe[0])&&At(R.value,oe[1]):Ot(R.value,u.value)&&At(R.value,ee)}return!1}return!1},y=R=>{if(l.value.autoRange||t.weekPicker){if(u.value){if(t.hideOffsetDates&&!R.current)return!1;const ee=zs(xe(u.value),t.weekStart);return t.weekPicker?nt(ee[0],R.value):nt(u.value,R.value)}return!1}return!1},x=R=>fu(e.value,u.value,R.value),C=()=>t.modelAuto&&Array.isArray(t.internalModelValue)?!!t.internalModelValue[0]:!1,P=()=>t.modelAuto?t0(t.internalModelValue):!0,E=R=>{if(t.weekPicker)return!1;const ee=l.value.enabled?!w(R)&&!w(R,!1):!0;return!c(R.value)&&!A(R)&&!(!R.current&&t.hideOffsetDates)&&ee},B=R=>l.value.enabled?t.modelAuto?C()&&A(R):!1:A(R),G=R=>o.value?CI(R.value,a.value.highlight):!1,ae=R=>{const ee=c(R.value);return ee&&(typeof o.value=="function"?!o.value(R.value,ee):!o.value.options.highlightDisabled)},Y=R=>{var ee;return typeof o.value=="function"?o.value(R.value):(ee=o.value.weekdays)==null?void 0:ee.includes(R.value.getDay())},L=R=>(l.value.enabled||t.weekPicker)&&(!(n.value.count>0)||R.current)&&P()&&!(!R.current&&t.hideOffsetDates)&&!A(R)?x(R):!1,I=R=>{const{isRangeStart:ee,isRangeEnd:oe}=ce(R),M=l.value.enabled?ee||oe:!1;return{dp__cell_offset:!R.current,dp__pointer:!t.disabled&&!(!R.current&&t.hideOffsetDates)&&!c(R.value),dp__cell_disabled:c(R.value),dp__cell_highlight:!ae(R)&&(G(R)||Y(R))&&!B(R)&&!M&&!y(R)&&!(L(R)&&t.weekPicker)&&!oe,dp__cell_highlight_active:!ae(R)&&(G(R)||Y(R))&&B(R),dp__today:!t.noToday&&nt(R.value,d.value)&&R.current,"dp--past":At(R.value,d.value),"dp--future":Ot(R.value,d.value)}},V=R=>({dp__active_date:B(R),dp__date_hover:E(R)}),Q=R=>{if(e.value&&!Array.isArray(e.value)){const ee=zs(e.value,t.weekStart);return{...U(R),dp__range_start:nt(ee[0],R.value),dp__range_end:nt(ee[1],R.value),dp__range_between_week:Ot(R.value,ee[0])&&At(R.value,ee[1])}}return{...U(R)}},Z=R=>{if(e.value&&Array.isArray(e.value)){const ee=zs(e.value[0],t.weekStart),oe=e.value[1]?zs(e.value[1],t.weekStart):[];return{...U(R),dp__range_start:nt(ee[0],R.value)||nt(oe[0],R.value),dp__range_end:nt(ee[1],R.value)||nt(oe[1],R.value),dp__range_between_week:Ot(R.value,ee[0])&&At(R.value,ee[1])||Ot(R.value,oe[0])&&At(R.value,oe[1]),dp__range_between:Ot(R.value,ee[1])&&At(R.value,oe[0])}}return{...U(R)}},ce=R=>{const ee=n.value.count>0?R.current&&w(R)&&P():w(R)&&P(),oe=n.value.count>0?R.current&&w(R,!1)&&P():w(R,!1)&&P();return{isRangeStart:ee,isRangeEnd:oe}},we=R=>{const{isRangeStart:ee,isRangeEnd:oe}=ce(R);return{dp__range_start:ee,dp__range_end:oe,dp__range_between:L(R),dp__date_hover:nt(R.value,u.value)&&!ee&&!oe&&!t.weekPicker,dp__date_hover_start:$(R,!0),dp__date_hover_end:$(R,!1)}},U=R=>({...we(R),dp__cell_auto_range:k(R),dp__cell_auto_range_start:y(R),dp__cell_auto_range_end:T(R)}),X=R=>l.value.enabled?l.value.autoRange?U(R):t.modelAuto?{...V(R),...we(R)}:t.weekPicker?Z(R):we(R):t.weekPicker?Q(R):V(R);return{setHoverDate:f,clearHoverDate:p,getDayClassData:R=>t.hideOffsetDates&&!R.current?{}:{...I(R),...X(R),[t.dayClass?t.dayClass(R.value,t.internalModelValue):""]:!0,...i.value.calendarCell??{}}}},Ui=e=>{const{defaultedFilters:t,defaultedRange:n,propDates:s,defaultedMultiDates:i}=kt(e),o=Y=>s.value.disabledDates?typeof s.value.disabledDates=="function"?s.value.disabledDates(xe(Y)):!!Ic(Y,s.value.disabledDates):!1,r=Y=>s.value.maxDate?e.yearPicker?Ye(Y)>Ye(s.value.maxDate):Ot(Y,s.value.maxDate):!1,a=Y=>s.value.minDate?e.yearPicker?Ye(Y){const L=r(Y),I=a(Y),V=o(Y),Q=t.value.months.map(X=>+X).includes(Qe(Y)),Z=e.disabledWeekDays.length?e.disabledWeekDays.some(X=>+X===mO(Y)):!1,ce=p(Y),we=Ye(Y),U=we<+e.yearRange[0]||we>+e.yearRange[1];return!(L||I||V||Q||U||Z||ce)},c=(Y,L)=>At(...ki(s.value.minDate,Y,L))||nt(...ki(s.value.minDate,Y,L)),u=(Y,L)=>Ot(...ki(s.value.maxDate,Y,L))||nt(...ki(s.value.maxDate,Y,L)),d=(Y,L,I)=>{let V=!1;return s.value.maxDate&&I&&u(Y,L)&&(V=!0),s.value.minDate&&!I&&c(Y,L)&&(V=!0),V},f=(Y,L,I,V)=>{let Q=!1;return V?s.value.minDate&&s.value.maxDate?Q=d(Y,L,I):(s.value.minDate&&c(Y,L)||s.value.maxDate&&u(Y,L))&&(Q=!0):Q=!0,Q},p=Y=>Array.isArray(s.value.allowedDates)&&!s.value.allowedDates.length?!0:s.value.allowedDates?!Ic(Y,s.value.allowedDates):!1,g=Y=>!l(Y),_=Y=>n.value.noDisabledRange?!Fy({start:Y[0],end:Y[1]}).some(L=>g(L)):!0,b=Y=>{if(Y){const L=Ye(Y);return L>=+e.yearRange[0]&&L<=e.yearRange[1]}return!0},w=(Y,L)=>!!(Array.isArray(Y)&&Y[L]&&(n.value.maxRange||n.value.minRange)&&b(Y[L])),$=(Y,L,I=0)=>{if(w(L,I)&&b(Y)){const V=Ly(Y,L[I]),Q=r0(L[I],Y),Z=Q.length===1?0:Q.filter(we=>g(we)).length,ce=Math.abs(V)-(n.value.minMaxRawRange?0:Z);if(n.value.minRange&&n.value.maxRange)return ce>=+n.value.minRange&&ce<=+n.value.maxRange;if(n.value.minRange)return ce>=+n.value.minRange;if(n.value.maxRange)return ce<=+n.value.maxRange}return!0},A=()=>!e.enableTimePicker||e.monthPicker||e.yearPicker||e.ignoreTimeValidation,T=Y=>Array.isArray(Y)?[Y[0]?ld(Y[0]):null,Y[1]?ld(Y[1]):null]:ld(Y),k=(Y,L,I)=>Y.find(V=>+V.hours===ei(L)&&V.minutes==="*"?!0:+V.minutes===Ni(L)&&+V.hours===ei(L))&&I,y=(Y,L,I)=>{const[V,Q]=Y,[Z,ce]=L;return!k(V,Z,I)&&!k(Q,ce,I)&&I},x=(Y,L)=>{const I=Array.isArray(L)?L:[L];return Array.isArray(e.disabledTimes)?Array.isArray(e.disabledTimes[0])?y(e.disabledTimes,I,Y):!I.some(V=>k(e.disabledTimes,V,Y)):Y},C=(Y,L)=>{const I=Array.isArray(L)?[So(L[0]),L[1]?So(L[1]):void 0]:So(L),V=!e.disabledTimes(I);return Y&&V},P=(Y,L)=>e.disabledTimes?Array.isArray(e.disabledTimes)?x(L,Y):C(L,Y):L,E=Y=>{let L=!0;if(!Y||A())return!0;const I=!s.value.minDate&&!s.value.maxDate?T(Y):Y;return(e.maxTime||s.value.maxDate)&&(L=Rg(e.maxTime,s.value.maxDate,"max",Xt(I),L)),(e.minTime||s.value.minDate)&&(L=Rg(e.minTime,s.value.minDate,"min",Xt(I),L)),P(Y,L)},B=Y=>{if(!e.monthPicker)return!0;let L=!0;const I=xe(rs(Y));if(s.value.minDate&&s.value.maxDate){const V=xe(rs(s.value.minDate)),Q=xe(rs(s.value.maxDate));return Ot(I,V)&&At(I,Q)||nt(I,V)||nt(I,Q)}if(s.value.minDate){const V=xe(rs(s.value.minDate));L=Ot(I,V)||nt(I,V)}if(s.value.maxDate){const V=xe(rs(s.value.maxDate));L=At(I,V)||nt(I,V)}return L},G=ve(()=>Y=>!e.enableTimePicker||e.ignoreTimeValidation?!0:E(Y)),ae=ve(()=>Y=>e.monthPicker?Array.isArray(Y)&&(n.value.enabled||i.value.enabled)?!Y.filter(L=>!B(L)).length:B(Y):!0);return{isDisabled:g,validateDate:l,validateMonthYearInRange:f,isDateRangeAllowed:_,checkMinMaxRange:$,isValidTime:E,isTimeValid:G,isMonthValid:ae}},_u=()=>{const e=ve(()=>(s,i)=>s==null?void 0:s.includes(i)),t=ve(()=>(s,i)=>s.count?s.solo?!0:i===0:!0),n=ve(()=>(s,i)=>s.count?s.solo?!0:i===s.count-1:!0);return{hideNavigationButtons:e,showLeftIcon:t,showRightIcon:n}},dL=(e,t,n)=>{const s=be(0),i=Ds({[ko.timePicker]:!e.enableTimePicker||e.timePicker||e.monthPicker,[ko.calendar]:!1,[ko.header]:!1}),o=ve(()=>e.monthPicker||e.timePicker),r=d=>{var f;if((f=e.flow)!=null&&f.length){if(!d&&o.value)return u();i[d]=!0,Object.keys(i).filter(p=>!i[p]).length||u()}},a=()=>{var d,f;(d=e.flow)!=null&&d.length&&s.value!==-1&&(s.value+=1,t("flow-step",s.value),u()),((f=e.flow)==null?void 0:f.length)===s.value&&tn().then(()=>l())},l=()=>{s.value=-1},c=(d,f,...p)=>{var g,_;e.flow[s.value]===d&&n.value&&((_=(g=n.value)[f])==null||_.call(g,...p))},u=(d=0)=>{d&&(s.value+=d),c(cn.month,"toggleMonthPicker",!0),c(cn.year,"toggleYearPicker",!0),c(cn.calendar,"toggleTimePicker",!1,!0),c(cn.time,"toggleTimePicker",!0,!0);const f=e.flow[s.value];(f===cn.hours||f===cn.minutes||f===cn.seconds)&&c(f,"toggleTimePicker",!0,!0,f)};return{childMount:r,updateFlowStep:a,resetFlow:l,handleFlow:u,flowStep:s}},hL={key:1,class:"dp__input_wrap"},fL=["id","name","inputmode","placeholder","disabled","readonly","required","value","autocomplete","aria-disabled","aria-invalid"],pL={key:2,class:"dp--clear-btn"},mL=["aria-label"],gL=Ft({compatConfig:{MODE:3},__name:"DatepickerInput",props:{isMenuOpen:{type:Boolean,default:!1},inputValue:{type:String,default:""},...pu},emits:["clear","open","update:input-value","set-input-date","close","select-date","set-empty-date","toggle","focus-prev","focus","blur","real-blur","text-input"],setup(e,{expose:t,emit:n}){const s=n,i=e,{defaultedTextInput:o,defaultedAriaLabels:r,defaultedInline:a,defaultedConfig:l,defaultedRange:c,defaultedMultiDates:u,defaultedUI:d,getDefaultPattern:f,getDefaultStartTime:p}=kt(i),{checkMinMaxRange:g}=Ui(i),_=be(),b=be(null),w=be(!1),$=be(!1),A=be(!1),T=be(null),k=ve(()=>({dp__pointer:!i.disabled&&!i.readonly&&!o.value.enabled,dp__disabled:i.disabled,dp__input_readonly:!o.value.enabled,dp__input:!0,dp__input_icon_pad:!i.hideInputIcon,dp__input_valid:typeof i.state=="boolean"?i.state:!1,dp__input_invalid:typeof i.state=="boolean"?!i.state:!1,dp__input_focus:w.value||i.isMenuOpen,dp__input_reg:!o.value.enabled,...d.value.input??{}})),y=()=>{s("set-input-date",null),i.clearable&&i.autoApply&&(s("set-empty-date"),_.value=null)},x=U=>{const X=p();return PI(U,o.value.format??f(),X??a0({},i.enableSeconds),i.inputValue,A.value,i.formatLocale)},C=U=>{const{rangeSeparator:X}=o.value,[R,ee]=U.split(`${X}`);if(R){const oe=x(R.trim()),M=ee?x(ee.trim()):null;if($r(oe,M))return;const se=oe&&M?[oe,M]:[oe];g(M,se,0)&&(_.value=oe?se:null)}},P=()=>{A.value=!0},E=U=>{if(c.value.enabled)C(U);else if(u.value.enabled){const X=U.split(";");_.value=X.map(R=>x(R.trim())).filter(R=>R)}else _.value=x(U)},B=U=>{var X;const R=typeof U=="string"?U:(X=U.target)==null?void 0:X.value;R!==""?(o.value.openMenu&&!i.isMenuOpen&&s("open"),E(R),s("set-input-date",_.value)):y(),A.value=!1,s("update:input-value",R),s("text-input",U,_.value)},G=U=>{o.value.enabled?(E(U.target.value),o.value.enterSubmit&&ah(_.value)&&i.inputValue!==""?(s("set-input-date",_.value,!0),_.value=null):o.value.enterSubmit&&i.inputValue===""&&(_.value=null,s("clear"))):L(U)},ae=(U,X)=>{var R;if(T.value&&X&&!$.value)return U.preventDefault(),$.value=!0,(R=T.value)==null?void 0:R.focus();o.value.enabled&&o.value.tabSubmit&&E(U.target.value),o.value.tabSubmit&&ah(_.value)&&i.inputValue!==""?(s("set-input-date",_.value,!0,!0),_.value=null):o.value.tabSubmit&&i.inputValue===""&&(_.value=null,s("clear",!0))},Y=()=>{w.value=!0,s("focus"),tn().then(()=>{var U;o.value.enabled&&o.value.selectOnFocus&&((U=b.value)==null||U.select())})},L=U=>{if(U.preventDefault(),Ti(U,l.value,!0),o.value.enabled&&o.value.openMenu&&!a.value.input){if(o.value.openMenu==="open"&&!i.isMenuOpen)return s("open");if(o.value.openMenu==="toggle")return s("toggle")}else o.value.enabled||s("toggle")},I=()=>{s("real-blur"),w.value=!1,(!i.isMenuOpen||a.value.enabled&&a.value.input)&&s("blur"),i.autoApply&&o.value.enabled&&_.value&&!i.isMenuOpen&&(s("set-input-date",_.value),s("select-date"),_.value=null)},V=U=>{Ti(U,l.value,!0),s("clear")},Q=(U,X)=>{if(U.key==="Tab"&&ae(U,X),U.key==="Enter"&&G(U),!o.value.enabled){if(U.code==="Tab")return;U.preventDefault()}},Z=()=>{var U;(U=b.value)==null||U.focus({preventScroll:!0})},ce=U=>{_.value=U},we=U=>{U.key===_t.tab&&($.value=!1,ae(U))};return t({focusInput:Z,setParsedDate:ce}),(U,X)=>{var R,ee;return D(),F("div",{onClick:L},[U.$slots.trigger&&!U.$slots["dp-input"]&&!q(a).enabled?Ie(U.$slots,"trigger",{key:0}):re("",!0),!U.$slots.trigger&&(!q(a).enabled||q(a).input)?(D(),F("div",hL,[U.$slots["dp-input"]&&!U.$slots.trigger&&(!q(a).enabled||q(a).enabled&&q(a).input)?Ie(U.$slots,"dp-input",{key:0,value:e.inputValue,isMenuOpen:e.isMenuOpen,onInput:B,onEnter:G,onTab:ae,onClear:V,onBlur:I,onKeypress:Q,onPaste:P,onFocus:Y,openMenu:()=>U.$emit("open"),closeMenu:()=>U.$emit("close"),toggleMenu:()=>U.$emit("toggle")}):re("",!0),U.$slots["dp-input"]?re("",!0):(D(),F("input",{key:1,id:U.uid?`dp-input-${U.uid}`:void 0,ref_key:"inputRef",ref:b,"data-test":"dp-input",name:U.name,class:Ee(k.value),inputmode:q(o).enabled?"text":"none",placeholder:U.placeholder,disabled:U.disabled,readonly:U.readonly,required:U.required,value:e.inputValue,autocomplete:U.autocomplete,"aria-disabled":U.disabled||void 0,"aria-invalid":U.state===!1?!0:void 0,onInput:B,onBlur:I,onFocus:Y,onKeypress:Q,onKeydown:X[0]||(X[0]=oe=>Q(oe,!0)),onPaste:P},null,42,fL)),h("div",{onClick:X[3]||(X[3]=oe=>s("toggle"))},[U.$slots["input-icon"]&&!U.hideInputIcon?(D(),F("span",{key:0,class:"dp__input_icon",onClick:X[1]||(X[1]=oe=>s("toggle"))},[Ie(U.$slots,"input-icon")])):re("",!0),!U.$slots["input-icon"]&&!U.hideInputIcon&&!U.$slots["dp-input"]?(D(),Ne(q(Vr),{key:1,"aria-label":(R=q(r))==null?void 0:R.calendarIcon,class:"dp__input_icon dp__input_icons",onClick:X[2]||(X[2]=oe=>s("toggle"))},null,8,["aria-label"])):re("",!0)]),U.$slots["clear-icon"]&&e.inputValue&&U.clearable&&!U.disabled&&!U.readonly?(D(),F("span",pL,[Ie(U.$slots,"clear-icon",{clear:V})])):re("",!0),U.clearable&&!U.$slots["clear-icon"]&&e.inputValue&&!U.disabled&&!U.readonly?(D(),F("button",{key:3,ref_key:"clearBtnRef",ref:T,"aria-label":(ee=q(r))==null?void 0:ee.clearInput,class:"dp--clear-btn",type:"button",onBlur:X[4]||(X[4]=oe=>$.value=!1),onKeydown:X[5]||(X[5]=oe=>q(vn)(oe,()=>V(oe),!0,we)),onClick:X[6]||(X[6]=Ha(oe=>V(oe),["prevent"]))},[$e(q(Zy),{class:"dp__input_icons","data-test":"clear-icon"})],40,mL)):re("",!0)])):re("",!0)])}}}),_L=typeof window<"u"?window:void 0,pd=()=>{},vL=e=>Qc()?(Jh(e),!0):!1,bL=(e,t,n,s)=>{if(!e)return pd;let i=pd;const o=Vt(()=>q(e),a=>{i(),a&&(a.addEventListener(t,n,s),i=()=>{a.removeEventListener(t,n,s),i=pd})},{immediate:!0,flush:"post"}),r=()=>{o(),i()};return vL(r),r},yL=(e,t,n,s={})=>{const{window:i=_L,event:o="pointerdown"}=s;return i?bL(i,o,r=>{const a=jt(e),l=jt(t);!a||!l||a===r.target||r.composedPath().includes(a)||r.composedPath().includes(l)||n(r)},{passive:!0}):void 0},wL=Ft({compatConfig:{MODE:3},__name:"VueDatePicker",props:{...pu},emits:["update:model-value","update:model-timezone-value","text-submit","closed","cleared","open","focus","blur","internal-model-change","recalculate-position","flow-step","update-month-year","invalid-select","invalid-fixed-range","tooltip-open","tooltip-close","time-picker-open","time-picker-close","am-pm-change","range-start","range-end","date-update","invalid-date","overlay-toggle","text-input"],setup(e,{expose:t,emit:n}){const s=n,i=e,o=Ro(),r=be(!1),a=Ra(i,"modelValue"),l=Ra(i,"timezone"),c=be(null),u=be(null),d=be(null),f=be(!1),p=be(null),g=be(!1),_=be(!1),b=be(!1),w=be(!1),{setMenuFocused:$,setShiftKey:A}=h0(),{clearArrowNav:T}=Yi(),{validateDate:k,isValidTime:y}=Ui(i),{defaultedTransitions:x,defaultedTextInput:C,defaultedInline:P,defaultedConfig:E,defaultedRange:B,defaultedMultiDates:G}=kt(i),{menuTransition:ae,showTransition:Y}=rl(x);Gt(()=>{ee(i.modelValue),tn().then(()=>{if(!P.value.enabled){const ue=we(p.value);ue==null||ue.addEventListener("scroll",H),window==null||window.addEventListener("resize",W)}}),P.value.enabled&&(r.value=!0),window==null||window.addEventListener("keyup",ie),window==null||window.addEventListener("keydown",j)}),Fr(()=>{if(!P.value.enabled){const ue=we(p.value);ue==null||ue.removeEventListener("scroll",H),window==null||window.removeEventListener("resize",W)}window==null||window.removeEventListener("keyup",ie),window==null||window.removeEventListener("keydown",j)});const L=Rn(o,"all",i.presetDates),I=Rn(o,"input");Vt([a,l],()=>{ee(a.value)},{deep:!0});const{openOnTop:V,menuStyle:Q,xCorrect:Z,setMenuPosition:ce,getScrollableParent:we,shadowRender:U}=aL({menuRef:c,menuRefInner:u,inputRef:d,pickerWrapperRef:p,inline:P,emit:s,props:i,slots:o}),{inputValue:X,internalModelValue:R,parseExternalModelValue:ee,emitModelValue:oe,formatInputValue:M,checkBeforeEmit:se}=ZI(s,i,f),de=ve(()=>({dp__main:!0,dp__theme_dark:i.dark,dp__theme_light:!i.dark,dp__flex_display:P.value.enabled,"dp--flex-display-collapsed":b.value,dp__flex_display_with_input:P.value.input})),ke=ve(()=>i.dark?"dp__theme_dark":"dp__theme_light"),N=ve(()=>i.teleport?{to:typeof i.teleport=="boolean"?"body":i.teleport,disabled:!i.teleport||P.value.enabled}:{}),fe=ve(()=>({class:"dp__outer_menu_wrap"})),v=ve(()=>P.value.enabled&&(i.timePicker||i.monthPicker||i.yearPicker||i.quarterPicker)),O=()=>{var ue,Ae;return(Ae=(ue=d.value)==null?void 0:ue.$el)==null?void 0:Ae.getBoundingClientRect()},H=()=>{r.value&&(E.value.closeOnScroll?Ve():ce())},W=()=>{var ue;r.value&&ce();const Ae=(ue=u.value)==null?void 0:ue.$el.getBoundingClientRect().width;b.value=document.body.offsetWidth<=Ae},ie=ue=>{ue.key==="Tab"&&!P.value.enabled&&!i.teleport&&E.value.tabOutClosesMenu&&(p.value.contains(document.activeElement)||Ve()),_.value=ue.shiftKey},j=ue=>{_.value=ue.shiftKey},te=()=>{!i.disabled&&!i.readonly&&(U(Bg,i),ce(!1),r.value=!0,r.value&&s("open"),r.value||He(),ee(i.modelValue))},J=()=>{var ue;X.value="",He(),(ue=d.value)==null||ue.setParsedDate(null),s("update:model-value",null),s("update:model-timezone-value",null),s("cleared"),E.value.closeOnClearValue&&Ve()},he=()=>{const ue=R.value;return!ue||!Array.isArray(ue)&&k(ue)?!0:Array.isArray(ue)?G.value.enabled||ue.length===2&&k(ue[0])&&k(ue[1])?!0:B.value.partialRange&&!i.timePicker?k(ue[0]):!1:!1},ge=()=>{se()&&he()?(oe(),Ve()):s("invalid-select",R.value)},pe=ue=>{Le(),oe(),E.value.closeOnAutoApply&&!ue&&Ve()},Le=()=>{d.value&&C.value.enabled&&d.value.setParsedDate(R.value)},Oe=(ue=!1)=>{i.autoApply&&y(R.value)&&he()&&(B.value.enabled&&Array.isArray(R.value)?(B.value.partialRange||R.value.length===2)&&pe(ue):pe(ue))},He=()=>{C.value.enabled||(R.value=null)},Ve=()=>{P.value.enabled||(r.value&&(r.value=!1,Z.value=!1,$(!1),A(!1),T(),s("closed"),X.value&&ee(a.value)),He(),s("blur"))},tt=(ue,Ae,De=!1)=>{if(!ue){R.value=null;return}const sn=Array.isArray(ue)?!ue.some(Rs=>!k(Rs)):k(ue),xn=y(ue);sn&&xn&&(w.value=!0,R.value=ue,Ae&&(g.value=De,ge(),s("text-submit")),tn().then(()=>{w.value=!1}))},Je=()=>{i.autoApply&&y(R.value)&&oe(),Le()},mt=()=>r.value?Ve():te(),rn=ue=>{R.value=ue},jn=()=>{C.value.enabled&&(f.value=!0,M()),s("focus")},ri=()=>{if(C.value.enabled&&(f.value=!1,ee(i.modelValue),g.value)){const ue=AI(p.value,_.value);ue==null||ue.focus()}s("blur")},Zn=ue=>{u.value&&u.value.updateMonthYear(0,{month:Dg(ue.month),year:Dg(ue.year)})},Is=ue=>{ee(ue??i.modelValue)},Ht=(ue,Ae)=>{var De;(De=u.value)==null||De.switchView(ue,Ae)},ne=ue=>E.value.onClickOutside?E.value.onClickOutside(ue):Ve(),Se=(ue=0)=>{var Ae;(Ae=u.value)==null||Ae.handleFlow(ue)};return yL(c,d,()=>ne(he)),t({closeMenu:Ve,selectDate:ge,clearValue:J,openMenu:te,onScroll:H,formatInputValue:M,updateInternalModelValue:rn,setMonthYear:Zn,parseModel:Is,switchView:Ht,toggleMenu:mt,handleFlow:Se,dpWrapMenuRef:c}),(ue,Ae)=>(D(),F("div",{ref_key:"pickerWrapperRef",ref:p,class:Ee(de.value),"data-datepicker-instance":""},[$e(gL,Yt({ref_key:"inputRef",ref:d,"input-value":q(X),"onUpdate:inputValue":Ae[0]||(Ae[0]=De=>Mt(X)?X.value=De:null),"is-menu-open":r.value},ue.$props,{onClear:J,onOpen:te,onSetInputDate:tt,onSetEmptyDate:q(oe),onSelectDate:ge,onToggle:mt,onClose:Ve,onFocus:jn,onBlur:ri,onRealBlur:Ae[1]||(Ae[1]=De=>f.value=!1),onTextInput:Ae[2]||(Ae[2]=De=>ue.$emit("text-input",De))}),hn({_:2},[Ke(q(I),(De,sn)=>({name:De,fn:Me(xn=>[Ie(ue.$slots,De,Zt(_n(xn)))])}))]),1040,["input-value","is-menu-open","onSetEmptyDate"]),(D(),Ne(Io(ue.teleport?JA:"div"),Zt(_n(N.value)),{default:Me(()=>[$e(Ct,{name:q(ae)(q(V)),css:q(Y)&&!q(P).enabled},{default:Me(()=>[r.value?(D(),F("div",Yt({key:0,ref_key:"dpWrapMenuRef",ref:c},fe.value,{class:{"dp--menu-wrapper":!q(P).enabled},style:q(P).enabled?void 0:q(Q)}),[$e(Bg,Yt({ref_key:"dpMenuRef",ref:u},ue.$props,{"internal-model-value":q(R),"onUpdate:internalModelValue":Ae[3]||(Ae[3]=De=>Mt(R)?R.value=De:null),class:{[ke.value]:!0,"dp--menu-wrapper":ue.teleport},"open-on-top":q(V),"no-overlay-focus":v.value,collapse:b.value,"get-input-rect":O,"is-text-input-date":w.value,onClosePicker:Ve,onSelectDate:ge,onAutoApply:Oe,onTimeUpdate:Je,onFlowStep:Ae[4]||(Ae[4]=De=>ue.$emit("flow-step",De)),onUpdateMonthYear:Ae[5]||(Ae[5]=De=>ue.$emit("update-month-year",De)),onInvalidSelect:Ae[6]||(Ae[6]=De=>ue.$emit("invalid-select",q(R))),onAutoApplyInvalid:Ae[7]||(Ae[7]=De=>ue.$emit("invalid-select",De)),onInvalidFixedRange:Ae[8]||(Ae[8]=De=>ue.$emit("invalid-fixed-range",De)),onRecalculatePosition:q(ce),onTooltipOpen:Ae[9]||(Ae[9]=De=>ue.$emit("tooltip-open",De)),onTooltipClose:Ae[10]||(Ae[10]=De=>ue.$emit("tooltip-close",De)),onTimePickerOpen:Ae[11]||(Ae[11]=De=>ue.$emit("time-picker-open",De)),onTimePickerClose:Ae[12]||(Ae[12]=De=>ue.$emit("time-picker-close",De)),onAmPmChange:Ae[13]||(Ae[13]=De=>ue.$emit("am-pm-change",De)),onRangeStart:Ae[14]||(Ae[14]=De=>ue.$emit("range-start",De)),onRangeEnd:Ae[15]||(Ae[15]=De=>ue.$emit("range-end",De)),onDateUpdate:Ae[16]||(Ae[16]=De=>ue.$emit("date-update",De)),onInvalidDate:Ae[17]||(Ae[17]=De=>ue.$emit("invalid-date",De)),onOverlayToggle:Ae[18]||(Ae[18]=De=>ue.$emit("overlay-toggle",De))}),hn({_:2},[Ke(q(L),(De,sn)=>({name:De,fn:Me(xn=>[Ie(ue.$slots,De,Zt(_n({...xn})))])}))]),1040,["internal-model-value","class","open-on-top","no-overlay-focus","collapse","is-text-input-date","onRecalculatePosition"])],16)):re("",!0)]),_:3},8,["name","css"])]),_:3},16))],2))}}),ll=(()=>{const e=wL;return e.install=t=>{t.component("Vue3DatePicker",e)},e})(),xL=Object.freeze(Object.defineProperty({__proto__:null,default:ll},Symbol.toStringTag,{value:"Module"}));Object.entries(xL).forEach(([e,t])=>{e!=="default"&&(ll[e]=t)});const kL={name:"newDashboardAPIKey",components:{VueDatePicker:ll},data(){return{newKeyData:{ExpiredAt:Cn().add(7,"d").format("YYYY-MM-DD HH:mm:ss"),neverExpire:!1},submitting:!1}},setup(){return{store:et()}},mounted(){console.log(this.newKeyData.ExpiredAt)},methods:{submitNewAPIKey(){this.submitting=!0,ft("/api/newDashboardAPIKey",this.newKeyData,e=>{e.status?(this.$emit("created",e.data),this.store.newMessage("Server","New API Key created","success"),this.$emit("close")):this.store.newMessage("Server",e.message,"danger"),this.submitting=!1})},fixDate(e){return console.log(Cn(e).format("YYYY-MM-DDTHH:mm:ss")),Cn(e).format("YYYY-MM-DDTHH:mm:ss")},parseTime(e){e?this.newKeyData.ExpiredAt=Cn(e).format("YYYY-MM-DD HH:mm:ss"):this.newKeyData.ExpiredAt=void 0}}},SL={class:"position-absolute w-100 h-100 top-0 start-0 rounded-bottom-3 p-3 d-flex",style:{"background-color":"#00000060","backdrop-filter":"blur(3px)"}},$L={class:"card m-auto rounded-3 mt-5"},AL={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},CL=h("h6",{class:"mb-0"},"Create API Key",-1),EL={class:"card-body d-flex gap-2 p-4 flex-column"},PL=h("small",{class:"text-muted"},"When should this API Key expire?",-1),ML={class:"d-flex align-items-center gap-2"},TL={class:"form-check"},DL=["disabled"],OL=h("label",{class:"form-check-label",for:"neverExpire"},[ye(" Never Expire ("),h("i",{class:"bi bi-emoji-grimace-fill"}),ye(" Don't think that's a good idea) ")],-1),IL={key:0,class:"bi bi-check-lg me-2"};function RL(e,t,n,s,i,o){const r=je("VueDatePicker");return D(),F("div",SL,[h("div",$L,[h("div",AL,[CL,h("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=a=>this.$emit("close"))})]),h("div",EL,[PL,h("div",ML,[$e(r,{is24:!0,"min-date":new Date,"model-value":this.newKeyData.ExpiredAt,"onUpdate:modelValue":this.parseTime,"time-picker-inline":"",format:"yyyy-MM-dd HH:mm:ss","preview-format":"yyyy-MM-dd HH:mm:ss",clearable:!1,disabled:this.newKeyData.neverExpire||this.submitting,dark:this.store.Configuration.Server.dashboard_theme==="dark"},null,8,["min-date","model-value","onUpdate:modelValue","disabled","dark"])]),h("div",TL,[Re(h("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[1]||(t[1]=a=>this.newKeyData.neverExpire=a),id:"neverExpire",disabled:this.submitting},null,8,DL),[[In,this.newKeyData.neverExpire]]),OL]),h("button",{class:Ee(["ms-auto btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm",{disabled:this.submitting}]),onClick:t[2]||(t[2]=a=>this.submitNewAPIKey())},[this.submitting?re("",!0):(D(),F("i",IL)),ye(" "+_e(this.submitting?"Creating...":"Done"),1)],2)])])])}const LL=ze(kL,[["render",RL]]),NL={name:"dashboardAPIKey",props:{apiKey:Object},setup(){return{store:et()}},data(){return{confirmDelete:!1}},methods:{deleteAPIKey(){ft("/api/deleteDashboardAPIKey",{Key:this.apiKey.Key},e=>{e.status?(this.$emit("deleted",e.data),this.store.newMessage("Server","API Key deleted","success")):this.store.newMessage("Server",e.message,"danger")})}}},cl=e=>(Kt("data-v-0cc2f367"),e=e(),qt(),e),FL={class:"card rounded-3 shadow-sm"},BL={key:0,class:"card-body d-flex gap-3 align-items-center apiKey-card-body"},VL={class:"d-flex align-items-center gap-2"},HL=cl(()=>h("small",{class:"text-muted"},"Key",-1)),jL={style:{"word-break":"break-all"}},WL={class:"d-flex align-items-center gap-2 ms-auto"},zL=cl(()=>h("small",{class:"text-muted"},"Expire At",-1)),YL=cl(()=>h("i",{class:"bi bi-trash-fill"},null,-1)),UL=[YL],KL={key:0,class:"card-body d-flex gap-3 align-items-center justify-content-end"},qL=cl(()=>h("i",{class:"bi bi-check-lg"},null,-1)),GL=[qL],JL=cl(()=>h("i",{class:"bi bi-x-lg"},null,-1)),XL=[JL];function QL(e,t,n,s,i,o){return D(),F("div",FL,[this.confirmDelete?(D(),F(Te,{key:1},[this.store.getActiveCrossServer()?re("",!0):(D(),F("div",KL,[ye(" Are you sure to delete this API key? "),h("a",{role:"button",class:"btn btn-sm bg-success-subtle text-success-emphasis rounded-3",onClick:t[1]||(t[1]=r=>this.deleteAPIKey())},GL),h("a",{role:"button",class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3",onClick:t[2]||(t[2]=r=>this.confirmDelete=!1)},XL)]))],64)):(D(),F("div",BL,[h("div",VL,[HL,h("span",jL,_e(this.apiKey.Key),1)]),h("div",WL,[zL,ye(" "+_e(this.apiKey.ExpiredAt?this.apiKey.ExpiredAt:"Never"),1)]),this.store.getActiveCrossServer()?re("",!0):(D(),F("a",{key:0,role:"button",class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",onClick:t[0]||(t[0]=r=>this.confirmDelete=!0)},UL))]))])}const ZL=ze(NL,[["render",QL],["__scopeId","data-v-0cc2f367"]]),e3={name:"dashboardAPIKeys",components:{DashboardAPIKey:ZL,NewDashboardAPIKey:LL},setup(){return{store:et()}},data(){return{value:this.store.Configuration.Server.dashboard_api_key,apiKeys:[],newDashboardAPIKey:!1}},methods:{async toggleDashboardAPIKeys(){await ft("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_api_key",value:this.value},e=>{e.status?(this.store.Configuration.Peers[this.targetData]=this.value,this.store.newMessage("Server",`API Keys function is successfully ${this.value?"enabled":"disabled"}`,"success")):(this.value=this.store.Configuration.Peers[this.targetData],this.store.newMessage("Server",`API Keys function is failed ${this.value?"enabled":"disabled"}`,"danger"))})}},watch:{value:{immediate:!0,handler(e){e?xt("/api/getDashboardAPIKeys",{},t=>{console.log(t),t.status?this.apiKeys=t.data:(this.apiKeys=[],this.store.newMessage("Server",t.message,"danger"))}):this.apiKeys=[]}}}},b0=e=>(Kt("data-v-45b66fb8"),e=e(),qt(),e),t3={class:"card mb-4 shadow rounded-3"},n3={class:"card-header d-flex"},s3={key:0,class:"form-check form-switch ms-auto"},i3={class:"form-check-label",for:"allowAPIKeysSwitch"},o3={key:0,class:"card-body position-relative d-flex flex-column gap-2"},r3=b0(()=>h("i",{class:"bi bi-key me-2"},null,-1)),a3={key:1,class:"card",style:{height:"300px"}},l3=b0(()=>h("div",{class:"card-body d-flex text-muted"},[h("span",{class:"m-auto"}," No Dashboard API Key ")],-1)),c3=[l3],u3={key:2,class:"d-flex flex-column gap-2 position-relative",style:{"min-height":"300px"}};function d3(e,t,n,s,i,o){const r=je("DashboardAPIKey"),a=je("NewDashboardAPIKey");return D(),F("div",t3,[h("div",n3,[ye(" API Keys "),this.store.getActiveCrossServer()?re("",!0):(D(),F("div",s3,[Re(h("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[0]||(t[0]=l=>this.value=l),onChange:t[1]||(t[1]=l=>this.toggleDashboardAPIKeys()),role:"switch",id:"allowAPIKeysSwitch"},null,544),[[In,this.value]]),h("label",i3,_e(this.value?"Enabled":"Disabled"),1)]))]),this.value?(D(),F("div",o3,[this.store.getActiveCrossServer()?re("",!0):(D(),F("button",{key:0,class:"ms-auto btn bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle rounded-3 shadow-sm",onClick:t[2]||(t[2]=l=>this.newDashboardAPIKey=!0)},[r3,ye(" Create ")])),this.apiKeys.length===0?(D(),F("div",a3,c3)):(D(),F("div",u3,[$e(Wi,{name:"apiKey"},{default:Me(()=>[(D(!0),F(Te,null,Ke(this.apiKeys,l=>(D(),Ne(r,{apiKey:l,key:l.Key,onDeleted:t[3]||(t[3]=c=>this.apiKeys=c)},null,8,["apiKey"]))),128))]),_:1})])),$e(Ct,{name:"zoomReversed"},{default:Me(()=>[this.newDashboardAPIKey?(D(),Ne(a,{key:0,onCreated:t[4]||(t[4]=l=>this.apiKeys=l),onClose:t[5]||(t[5]=l=>this.newDashboardAPIKey=!1)})):re("",!0)]),_:1})])):re("",!0)])}const h3=ze(e3,[["render",d3],["__scopeId","data-v-45b66fb8"]]),f3={name:"accountSettingsMFA",setup(){const e=et(),t=`input_${Ts()}`;return{store:e,uuid:t}},data(){return{status:!1}},mounted(){this.status=this.store.Configuration.Account.enable_totp},methods:{async resetMFA(){await ft("/api/updateDashboardConfigurationItem",{section:"Account",key:"totp_verified",value:"false"},async e=>{await ft("/api/updateDashboardConfigurationItem",{section:"Account",key:"enable_totp",value:"false"},t=>{t.status&&this.$router.push("/2FASetup")})})}}},p3={class:"d-flex align-items-center"},m3=h("strong",null,"Multi-Factor Authentication",-1),g3={class:"form-check form-switch ms-3"},_3=h("i",{class:"bi bi-shield-lock-fill me-2"},null,-1);function v3(e,t,n,s,i,o){return D(),F("div",null,[h("div",p3,[m3,h("div",g3,[Re(h("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[0]||(t[0]=r=>this.status=r),role:"switch",id:"allowMFAKeysSwitch"},null,512),[[In,this.status]])]),this.status?(D(),F("button",{key:0,class:"btn bg-warning-subtle text-warning-emphasis border-1 border-warning-subtle ms-auto rounded-3 shadow-sm",onClick:t[1]||(t[1]=r=>this.resetMFA())},[_3,ye(" "+_e(this.store.Configuration.Account.totp_verified?"Reset":"Setup")+" MFA ",1)])):re("",!0)])])}const b3=ze(f3,[["render",v3]]),y3={name:"settings",methods:{ipV46RegexCheck:GT},components:{AccountSettingsMFA:b3,DashboardAPIKeys:h3,DashboardSettingsInputIPAddressAndPort:d2,DashboardTheme:qD,DashboardSettingsInputWireguardConfigurationPath:VD,AccountSettingsInputPassword:MD,AccountSettingsInputUsername:oD,PeersDefaultSettingsInput:qT},setup(){return{dashboardConfigurationStore:et()}},watch:{}},w3={class:"mt-md-5 mt-3"},x3={class:"container-md"},k3=h("h3",{class:"mb-3 text-body"},"Settings",-1),S3={class:"card mb-4 shadow rounded-3"},$3=h("p",{class:"card-header"},"Peers Default Settings",-1),A3={class:"card-body"},C3={class:"card mb-4 shadow rounded-3"},E3=h("p",{class:"card-header"},"WireGuard Configurations Settings",-1),P3={class:"card-body"},M3={class:"card mb-4 shadow rounded-3"},T3=h("p",{class:"card-header"},"Account Settings",-1),D3={class:"card-body d-flex gap-4 flex-column"},O3=h("hr",{class:"m-0"},null,-1),I3={key:0,class:"m-0"};function R3(e,t,n,s,i,o){const r=je("DashboardTheme"),a=je("PeersDefaultSettingsInput"),l=je("DashboardSettingsInputWireguardConfigurationPath"),c=je("AccountSettingsInputUsername"),u=je("AccountSettingsInputPassword"),d=je("AccountSettingsMFA"),f=je("DashboardAPIKeys");return D(),F("div",w3,[h("div",x3,[k3,$e(r),h("div",S3,[$3,h("div",A3,[$e(a,{targetData:"peer_global_dns",title:"DNS"}),$e(a,{targetData:"peer_endpoint_allowed_ip",title:"Peer Endpoint Allowed IPs"}),$e(a,{targetData:"peer_mtu",title:"MTU (Max Transmission Unit)"}),$e(a,{targetData:"peer_keep_alive",title:"Persistent Keepalive"}),$e(a,{targetData:"remote_endpoint",title:"Peer Remote Endpoint",warning:!0,warningText:"This will be changed globally, and will be apply to all peer's QR code and configuration file."})])]),h("div",C3,[E3,h("div",P3,[$e(l,{targetData:"wg_conf_path",title:"Configurations Directory",warning:!0,"warning-text":"Remember to remove / at the end of your path. e.g /etc/wireguard"})])]),h("div",M3,[T3,h("div",D3,[$e(c,{targetData:"username",title:"Username"}),O3,$e(u,{targetData:"password"}),this.dashboardConfigurationStore.getActiveCrossServer()?re("",!0):(D(),F("hr",I3)),this.dashboardConfigurationStore.getActiveCrossServer()?re("",!0):(D(),Ne(d,{key:1}))])]),$e(f)])])}const L3=ze(y3,[["render",R3]]),N3={name:"setup",components:{},setup(){return{store:et()}},data(){return{setup:{username:"",newPassword:"",repeatNewPassword:"",enable_totp:!0},loading:!1,errorMessage:"",done:!1}},computed:{goodToSubmit(){return this.setup.username&&this.setup.newPassword.length>=8&&this.setup.repeatNewPassword.length>=8&&this.setup.newPassword===this.setup.repeatNewPassword}},methods:{submit(){this.loading=!0,ft("/api/Welcome_Finish",this.setup,e=>{e.status?(this.done=!0,this.$router.push("/2FASetup")):(document.querySelectorAll("#createAccount input").forEach(t=>t.classList.add("is-invalid")),this.errorMessage=e.message,document.querySelector(".login-container-fluid").scrollTo({top:0,left:0,behavior:"smooth"})),this.loading=!1})}}},F3=["data-bs-theme"],B3={class:"m-auto text-body",style:{width:"500px"}},V3=h("span",{class:"dashboardLogo display-4"},"Nice to meet you!",-1),H3=h("p",{class:"mb-5"},"Please fill in the following fields to finish setup 😊",-1),j3=h("h3",null,"Create an account",-1),W3={key:0,class:"alert alert-danger"},z3={class:"d-flex flex-column gap-3"},Y3={id:"createAccount",class:"d-flex flex-column gap-2"},U3={class:"form-group text-body"},K3=h("label",{for:"username",class:"mb-1 text-muted"},[h("small",null,"Pick an username you like")],-1),q3={class:"form-group text-body"},G3=h("label",{for:"password",class:"mb-1 text-muted"},[h("small",null,"Create a password (at least 8 characters)")],-1),J3={class:"form-group text-body"},X3=h("label",{for:"confirmPassword",class:"mb-1 text-muted"},[h("small",null,"Confirm password")],-1),Q3=["disabled"],Z3={key:0,class:"d-flex align-items-center w-100"},eN=h("i",{class:"bi bi-chevron-right ms-auto"},null,-1),tN={key:1,class:"d-flex align-items-center w-100"},nN=h("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},[h("span",{class:"visually-hidden"},"Loading...")],-1);function sN(e,t,n,s,i,o){return D(),F("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.store.Configuration.Server.dashboard_theme},[h("div",B3,[V3,H3,h("div",null,[j3,this.errorMessage?(D(),F("div",W3,_e(this.errorMessage),1)):re("",!0),h("div",z3,[h("div",Y3,[h("div",U3,[K3,Re(h("input",{type:"text","onUpdate:modelValue":t[0]||(t[0]=r=>this.setup.username=r),class:"form-control",id:"username",name:"username",placeholder:"Maybe something like 'wiredragon'?",required:""},null,512),[[We,this.setup.username]])]),h("div",q3,[G3,Re(h("input",{type:"password","onUpdate:modelValue":t[1]||(t[1]=r=>this.setup.newPassword=r),class:"form-control",id:"password",name:"password",placeholder:"Make sure is strong enough",required:""},null,512),[[We,this.setup.newPassword]])]),h("div",J3,[X3,Re(h("input",{type:"password","onUpdate:modelValue":t[2]||(t[2]=r=>this.setup.repeatNewPassword=r),class:"form-control",id:"confirmPassword",name:"confirmPassword",placeholder:"and you can remember it :)",required:""},null,512),[[We,this.setup.repeatNewPassword]])])]),h("button",{class:"btn btn-dark btn-lg mb-5 d-flex btn-brand shadow align-items-center",ref:"signInBtn",disabled:!this.goodToSubmit||this.loading||this.done,onClick:t[3]||(t[3]=r=>this.submit())},[!this.loading&&!this.done?(D(),F("span",Z3,[ye(" Next"),eN])):(D(),F("span",tN,[ye(" Saving..."),nN]))],8,Q3)])])])],8,F3)}const iN=ze(N3,[["render",sN]]);function jf(e){return e.includes(":")?6:e.includes(".")?4:0}function oN(e){const t=jf(e);if(!t)throw new Error(`Invalid IP address: ${e}`);let n=0n,s=0n;const i=Object.create(null);if(t===4)for(const o of e.split(".").map(BigInt).reverse())n+=o*2n**s,s+=8n;else{if(e.includes(".")&&(i.ipv4mapped=!0,e=e.split(":").map(a=>{if(a.includes(".")){const[l,c,u,d]=a.split(".").map(f=>Number(f).toString(16).padStart(2,"0"));return`${l}${c}:${u}${d}`}else return a}).join(":")),e.includes("%")){let a;[,e,a]=/(.+)%(.+)/.exec(e),i.scopeid=a}const o=e.split(":"),r=o.indexOf("");if(r!==-1)for(;o.length<8;)o.splice(r,0,"");for(const a of o.map(l=>BigInt(parseInt(l||0,16))).reverse())n+=a*2n**s,s+=16n}return i.number=n,i.version=t,i}const Vg={4:32,6:128},rN=e=>e.includes("/")?jf(e):0;function aN(e){const t=rN(e),n=Object.create(null);if(n.single=!1,t)n.cidr=e,n.version=t;else{const d=jf(e);if(d)n.cidr=`${e}/${Vg[d]}`,n.version=d,n.single=!0;else throw new Error(`Network is not a CIDR or IP: ${e}`)}const[s,i]=n.cidr.split("/");n.prefix=i;const{number:o,version:r}=oN(s),a=Vg[r],l=o.toString(2).padStart(a,"0"),c=Number(a-i),u=l.substring(0,a-c);return n.start=BigInt(`0b${u}${"0".repeat(c)}`),n.end=BigInt(`0b${u}${"1".repeat(c)}`),n}/*! SPDX-License-Identifier: GPL-2.0 +`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),sP=new RegExp(`(?:^${ss}$)|(?:^${du}$)`),iP=new RegExp(`^${ss}$`),oP=new RegExp(`^${du}$`),hu=e=>e&&e.exact?sP:new RegExp(`(?:${xi(e)}${ss}${xi(e)})|(?:${xi(e)}${du}${xi(e)})`,"g");hu.v4=e=>e&&e.exact?iP:new RegExp(`${xi(e)}${ss}${xi(e)}`,"g");hu.v6=e=>e&&e.exact?oP:new RegExp(`${xi(e)}${du}${xi(e)}`,"g");const Sy={exact:!1},$y=`${hu.v4().source}\\/(3[0-2]|[12]?[0-9])`,Ay=`${hu.v6().source}\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])`,rP=new RegExp(`^${$y}$`),aP=new RegExp(`^${Ay}$`),lP=({exact:e}=Sy)=>e?rP:new RegExp($y,"g"),cP=({exact:e}=Sy)=>e?aP:new RegExp(Ay,"g"),Cy=lP({exact:!0}),Ey=cP({exact:!0}),kf=e=>Cy.test(e)?4:Ey.test(e)?6:0;kf.v4=e=>Cy.test(e);kf.v6=e=>Ey.test(e);const Bn=bf("WireguardConfigurationsStore",{state:()=>({Configurations:void 0,searchString:"",ConfigurationListInterval:void 0,PeerScheduleJobs:{dropdowns:{Field:[{display:"Total Received",value:"total_receive",unit:"GB",type:"number"},{display:"Total Sent",value:"total_sent",unit:"GB",type:"number"},{display:"Total Data",value:"total_data",unit:"GB",type:"number"},{display:"Date",value:"date",type:"date"}],Operator:[{display:"equal",value:"eq"},{display:"not equal",value:"neq"},{display:"larger than",value:"lgt"},{display:"less than",value:"lst"}],Action:[{display:"Restrict Peer",value:"restrict"},{display:"Delete Peer",value:"delete"}]}}}),actions:{async getConfigurations(){await xt("/api/getWireguardConfigurations",{},e=>{e.status&&(this.Configurations=e.data)})},regexCheckIP(e){return/((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$))/.test(e)},checkCIDR(e){return kf(e)!==0}}}),ze=(e,t)=>{const n=e.__vccOpts||e;for(const[s,i]of t)n[s]=i;return n},uP={name:"navbar",setup(){const e=Bn(),t=et();return{wireguardConfigurationsStore:e,dashboardConfigurationStore:t}},data(){return{updateAvailable:!1,updateMessage:"Checking for update...",updateUrl:""}},mounted(){xt("/api/getDashboardUpdate",{},e=>{e.status?(e.data&&(this.updateAvailable=!0,this.updateUrl=e.data),this.updateMessage=e.message):(this.updateMessage="Failed to check available update",console.log(`Failed to get update: ${e.message}`))})}},zi=e=>(Ut("data-v-a0b378dd"),e=e(),qt(),e),dP=["data-bs-theme"],hP={id:"sidebarMenu",class:"bg-body-tertiary sidebar border h-100 rounded-3 shadow overflow-y-scroll"},fP={class:"sidebar-sticky pt-3"},pP={class:"nav flex-column px-2"},gP={class:"nav-item"},mP=zi(()=>h("i",{class:"bi bi-house me-2"},null,-1)),_P={class:"nav-item"},vP=zi(()=>h("i",{class:"bi bi-gear me-2"},null,-1)),bP=zi(()=>h("hr",{class:"text-body"},null,-1)),yP=zi(()=>h("h6",{class:"sidebar-heading px-3 mt-4 mb-1 text-muted text-center"},[h("i",{class:"bi bi-body-text me-2"}),ye(" Configurations ")],-1)),wP={class:"nav flex-column px-2"},xP={class:"nav-item"},kP=zi(()=>h("hr",{class:"text-body"},null,-1)),SP=zi(()=>h("h6",{class:"sidebar-heading px-3 mt-4 mb-1 text-muted text-center"},[h("i",{class:"bi bi-tools me-2"}),ye(" Tools ")],-1)),$P={class:"nav flex-column px-2"},AP={class:"nav-item"},CP={class:"nav-item"},EP=zi(()=>h("hr",{class:"text-body"},null,-1)),PP={class:"nav flex-column px-2"},MP={class:"nav-item"},TP=zi(()=>h("i",{class:"bi bi-box-arrow-left me-2"},null,-1)),DP={class:"nav-item",style:{"font-size":"0.8rem"}},OP=["href"],IP={class:"nav-link text-muted rounded-3"},RP={key:1,class:"nav-link text-muted"};function LP(e,t,n,s,i,o){const r=je("RouterLink");return D(),F("div",{class:Ee(["col-md-3 col-lg-2 d-md-block p-3 navbar-container",{active:this.dashboardConfigurationStore.ShowNavBar}]),"data-bs-theme":s.dashboardConfigurationStore.Configuration.Server.dashboard_theme,style:{height:"calc(-50px + 100vh)"}},[h("nav",hP,[h("div",fP,[h("ul",pP,[h("li",gP,[$e(r,{class:"nav-link rounded-3",to:"/","exact-active-class":"active"},{default:Me(()=>[mP,ye(" Home")]),_:1})]),h("li",_P,[$e(r,{class:"nav-link rounded-3",to:"/settings","exact-active-class":"active"},{default:Me(()=>[vP,ye(" Settings")]),_:1})])]),bP,yP,h("ul",wP,[h("li",xP,[(D(!0),F(Te,null,Ue(this.wireguardConfigurationsStore.Configurations,a=>(D(),Ne(r,{to:"/configuration/"+a.Name+"/peers",class:"nav-link nav-conf-link rounded-3","active-class":"active"},{default:Me(()=>[h("span",{class:Ee(["dot me-2",{active:a.Status}])},null,2),ye(" "+_e(a.Name),1)]),_:2},1032,["to"]))),256))])]),kP,SP,h("ul",$P,[h("li",AP,[$e(r,{to:"/ping",class:"nav-link rounded-3","active-class":"active"},{default:Me(()=>[ye("Ping")]),_:1})]),h("li",CP,[$e(r,{to:"/traceroute",class:"nav-link rounded-3","active-class":"active"},{default:Me(()=>[ye("Traceroute")]),_:1})])]),EP,h("ul",PP,[h("li",MP,[h("a",{class:"nav-link text-danger rounded-3",onClick:t[0]||(t[0]=a=>this.dashboardConfigurationStore.signOut()),role:"button",style:{"font-weight":"bold"}},[TP,ye(" Sign Out")])]),h("li",DP,[this.updateAvailable?(D(),F("a",{key:0,href:this.updateUrl,class:"text-decoration-none",target:"_blank"},[h("small",IP,_e(this.updateMessage),1)],8,OP)):(D(),F("small",RP,_e(this.updateMessage),1))])])])])],10,dP)}const NP=ze(uP,[["render",LP],["__scopeId","data-v-a0b378dd"]]),FP={name:"message",props:{message:Object},mounted(){setTimeout(()=>{this.message.show=!1},5e3)}},BP=["id"],VP={class:"card-body"},HP={class:"fw-bold d-block",style:{"text-transform":"uppercase"}};function jP(e,t,n,s,i,o){return D(),F("div",{class:Ee(["card shadow rounded-3 position-relative mb-2",{"text-bg-danger":this.message.type==="danger","text-bg-success":this.message.type==="success","text-bg-warning":this.message.type==="warning"}]),id:this.message.id,style:{width:"400px"}},[h("div",VP,[h("small",HP,"FROM "+_e(this.message.from),1),ye(" "+_e(this.message.content),1)])],10,BP)}const Py=ze(FP,[["render",jP]]),WP={name:"index",components:{Message:Py,Navbar:NP},async setup(){return{dashboardConfigurationStore:et()}},computed:{getMessages(){return this.dashboardConfigurationStore.Messages.filter(e=>e.show)}}},zP=["data-bs-theme"],YP={class:"row h-100"},KP={class:"col-md-9 ml-sm-auto col-lg-10 px-md-4 overflow-y-scroll mb-0",style:{height:"calc(100vh - 50px)"}},UP={class:"messageCentre text-body position-fixed"};function qP(e,t,n,s,i,o){const r=je("Navbar"),a=je("RouterView"),l=je("Message");return D(),F("div",{class:"container-fluid flex-grow-1 main","data-bs-theme":this.dashboardConfigurationStore.Configuration.Server.dashboard_theme},[h("div",YP,[$e(r),h("main",KP,[(D(),Ne(uf,null,{default:Me(()=>[$e(a,null,{default:Me(({Component:c})=>[$e(Ct,{name:"fade2",mode:"out-in"},{default:Me(()=>[(D(),Ne(Io(c)))]),_:2},1024)]),_:1})]),_:1})),h("div",UP,[$e(Wi,{name:"message",tag:"div",class:"position-relative"},{default:Me(()=>[(D(!0),F(Te,null,Ue(o.getMessages.slice().reverse(),c=>(D(),Ne(l,{message:c,key:c.id},null,8,["message"]))),128))]),_:1})])])])],8,zP)}const GP=ze(WP,[["render",qP],["__scopeId","data-v-b776d181"]]);var My={exports:{}};(function(e,t){(function(n,s){e.exports=s()})(_v,function(){var n=1e3,s=6e4,i=36e5,o="millisecond",r="second",a="minute",l="hour",c="day",u="week",d="month",f="quarter",p="year",m="date",_="Invalid Date",b=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,w=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,$={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(Y){var L=["th","st","nd","rd"],I=Y%100;return"["+Y+(L[(I-20)%10]||L[I]||L[0])+"]"}},A=function(Y,L,I){var V=String(Y);return!V||V.length>=L?Y:""+Array(L+1-V.length).join(I)+Y},T={s:A,z:function(Y){var L=-Y.utcOffset(),I=Math.abs(L),V=Math.floor(I/60),Q=I%60;return(L<=0?"+":"-")+A(V,2,"0")+":"+A(Q,2,"0")},m:function Y(L,I){if(L.date()1)return Y(ce[0])}else{var we=L.name;y[we]=L,Q=we}return!V&&Q&&(k=Q),Q||!V&&k},E=function(Y,L){if(C(Y))return Y.clone();var I=typeof L=="object"?L:{};return I.date=Y,I.args=arguments,new G(I)},B=T;B.l=P,B.i=C,B.w=function(Y,L){return E(Y,{locale:L.$L,utc:L.$u,x:L.$x,$offset:L.$offset})};var G=function(){function Y(I){this.$L=P(I.locale,null,!0),this.parse(I),this.$x=this.$x||I.x||{},this[x]=!0}var L=Y.prototype;return L.parse=function(I){this.$d=function(V){var Q=V.date,Z=V.utc;if(Q===null)return new Date(NaN);if(B.u(Q))return new Date;if(Q instanceof Date)return new Date(Q);if(typeof Q=="string"&&!/Z$/i.test(Q)){var ce=Q.match(b);if(ce){var we=ce[2]-1||0,K=(ce[7]||"0").substring(0,3);return Z?new Date(Date.UTC(ce[1],we,ce[3]||1,ce[4]||0,ce[5]||0,ce[6]||0,K)):new Date(ce[1],we,ce[3]||1,ce[4]||0,ce[5]||0,ce[6]||0,K)}}return new Date(Q)}(I),this.init()},L.init=function(){var I=this.$d;this.$y=I.getFullYear(),this.$M=I.getMonth(),this.$D=I.getDate(),this.$W=I.getDay(),this.$H=I.getHours(),this.$m=I.getMinutes(),this.$s=I.getSeconds(),this.$ms=I.getMilliseconds()},L.$utils=function(){return B},L.isValid=function(){return this.$d.toString()!==_},L.isSame=function(I,V){var Q=E(I);return this.startOf(V)<=Q&&Q<=this.endOf(V)},L.isAfter=function(I,V){return E(I){if(e.status===200)return e.json();throw new Error(e.statusText)}).then(()=>{this.endTime=Cn(),this.active=!0}).catch(e=>{this.active=!1,this.errorMsg=e}),this.refreshing=!1)},async connect(){await fetch(`${this.server.host}/api/authenticate`,{headers:{"content-type":"application/json","wg-dashboard-apikey":this.server.apiKey},body:JSON.stringify({host:window.location.hostname}),method:"POST",signal:AbortSignal.timeout(5e3)}).then(e=>e.json()).then(e=>{this.$emit("setActiveServer"),this.$router.push("/")})}},mounted(){this.handshake()},computed:{getHandshakeTime(){return this.startTime&&this.endTime?`${Cn().subtract(this.startTime).millisecond()}ms`:this.refreshing?"Pinging...":this.errorMsg?this.errorMsg:"N/A"}}},Br=e=>(Ut("data-v-03a1c13c"),e=e(),qt(),e),QP={class:"card rounded-3"},ZP={class:"card-body"},eM={class:"d-flex gap-3 w-100 remoteServerContainer"},tM={class:"d-flex gap-3 align-items-center flex-grow-1"},nM=Br(()=>h("i",{class:"bi bi-server"},null,-1)),sM={class:"d-flex gap-3 align-items-center flex-grow-1"},iM=Br(()=>h("i",{class:"bi bi-key-fill"},null,-1)),oM={class:"d-flex gap-2 button-group"},rM=Br(()=>h("i",{class:"bi bi-trash"},null,-1)),aM=[rM],lM=Br(()=>h("i",{class:"bi bi-arrow-right-circle"},null,-1)),cM=[lM],uM={class:"card-footer gap-2 d-flex align-items-center"},dM={key:0,class:"spin ms-auto text-primary-emphasis"},hM=Br(()=>h("i",{class:"bi bi-arrow-clockwise"},null,-1)),fM=[hM],pM=Br(()=>h("i",{class:"bi bi-arrow-clockwise me"},null,-1)),gM=[pM];function mM(e,t,n,s,i,o){return D(),F("div",QP,[h("div",ZP,[h("div",eM,[h("div",tM,[nM,Re(h("input",{class:"form-control form-control-sm",onBlur:t[0]||(t[0]=r=>this.handshake()),"onUpdate:modelValue":t[1]||(t[1]=r=>this.server.host=r),type:"url"},null,544),[[We,this.server.host]])]),h("div",sM,[iM,Re(h("input",{class:"form-control form-control-sm",onBlur:t[2]||(t[2]=r=>this.handshake()),"onUpdate:modelValue":t[3]||(t[3]=r=>this.server.apiKey=r),type:"text"},null,544),[[We,this.server.apiKey]])]),h("div",oM,[h("button",{onClick:t[4]||(t[4]=r=>this.$emit("delete")),class:"ms-auto btn btn-sm bg-danger-subtle text-danger-emphasis border-1 border-danger-subtle"},aM),h("button",{onClick:t[5]||(t[5]=r=>this.connect()),class:Ee([{disabled:!this.active},"ms-auto btn btn-sm bg-success-subtle text-success-emphasis border-1 border-success-subtle"])},cM,2)])])]),h("div",uM,[h("span",{class:Ee(["dot ms-0 me-2",[this.active?"active":"inactive"]])},null,2),h("small",null,_e(this.getHandshakeTime),1),this.refreshing?(D(),F("div",dM,fM)):(D(),F("a",{key:1,role:"button",onClick:t[6]||(t[6]=r=>this.handshake()),class:"text-primary-emphasis text-decoration-none ms-auto disabled"},gM))])])}const _M=ze(XP,[["render",mM],["__scopeId","data-v-03a1c13c"]]),vM={name:"RemoteServerList",setup(){return{store:et()}},components:{RemoteServer:_M}},bM={class:"w-100 mt-3"},yM={class:"d-flex align-items-center mb-3"},wM=h("h5",{class:"mb-0"},"Server List",-1),xM=h("i",{class:"bi bi-plus-circle-fill me-2"},null,-1),kM={class:"w-100 d-flex gap-3 flex-column p-3 border border-1 border-secondary-subtle rounded-3",style:{height:"400px","overflow-y":"scroll"}},SM={key:0,class:"text-muted m-auto"},$M=h("i",{class:"bi bi-plus-circle-fill mx-1"},null,-1);function AM(e,t,n,s,i,o){const r=je("RemoteServer");return D(),F("div",bM,[h("div",yM,[wM,h("button",{onClick:t[0]||(t[0]=a=>this.store.addCrossServerConfiguration()),class:"btn bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle shadow-sm ms-auto"},[xM,ye("Server ")])]),h("div",kM,[(D(!0),F(Te,null,Ue(this.store.CrossServerConfiguration.ServerList,(a,l)=>(D(),Ne(r,{onSetActiveServer:c=>this.store.setActiveCrossServer(l),onDelete:c=>this.store.deleteCrossServerConfiguration(l),key:l,server:a},null,8,["onSetActiveServer","onDelete","server"]))),128)),Object.keys(this.store.CrossServerConfiguration.ServerList).length===0?(D(),F("h6",SM,[ye(" Click"),$M,ye("to add your server")])):re("",!0)])])}const CM=ze(vM,[["render",AM]]),EM={name:"signin",components:{RemoteServerList:CM,Message:Py},async setup(){const e=et();let t="dark",n=!1,s;return e.IsElectronApp||await Promise.all([xt("/api/getDashboardTheme",{},i=>{t=i.data}),xt("/api/isTotpEnabled",{},i=>{n=i.data}),xt("/api/getDashboardVersion",{},i=>{s=i.data})]),e.removeActiveCrossServer(),{store:e,theme:t,totpEnabled:n,version:s}},data(){return{username:"",password:"",totp:"",loginError:!1,loginErrorMessage:"",loading:!1}},computed:{getMessages(){return this.store.Messages.filter(e=>e.show)}},methods:{async auth(){this.username&&this.password&&(this.totpEnabled&&this.totp||!this.totpEnabled)?(this.loading=!0,await ft("/api/authenticate",{username:this.username,password:this.password,totp:this.totp},e=>{e.status?(this.loginError=!1,this.$refs.signInBtn.classList.add("signedIn"),e.message?this.$router.push("/welcome"):this.store.Redirect!==void 0?this.$router.push(this.store.Redirect):this.$router.push("/")):(this.loginError=!0,this.loginErrorMessage=e.message,document.querySelectorAll("input[required]").forEach(t=>{t.classList.remove("is-valid"),t.classList.add("is-invalid")}),this.loading=!1)})):document.querySelectorAll("input[required]").forEach(e=>{e.value.length===0?(e.classList.remove("is-valid"),e.classList.add("is-invalid")):(e.classList.remove("is-invalid"),e.classList.add("is-valid"))})}}},si=e=>(Ut("data-v-e351e82c"),e=e(),qt(),e),PM=["data-bs-theme"],MM={class:"login-box m-auto"},TM={class:"m-auto",style:{width:"700px"}},DM=si(()=>h("h4",{class:"mb-0 text-body"},"Welcome to",-1)),OM=si(()=>h("span",{class:"dashboardLogo display-3"},[h("strong",null,"WGDashboard")],-1)),IM={key:0,class:"alert alert-danger mt-2 mb-0",role:"alert"},RM={class:"form-group text-body"},LM=si(()=>h("label",{for:"username",class:"text-left",style:{"font-size":"1rem"}},[h("i",{class:"bi bi-person-circle"})],-1)),NM={class:"form-group text-body"},FM=si(()=>h("label",{for:"password",class:"text-left",style:{"font-size":"1rem"}},[h("i",{class:"bi bi-key-fill"})],-1)),BM={key:0,class:"form-group text-body"},VM=si(()=>h("label",{for:"totp",class:"text-left",style:{"font-size":"1rem"}},[h("i",{class:"bi bi-lock-fill"})],-1)),HM={class:"btn btn-lg btn-dark ms-auto mt-4 w-100 d-flex btn-brand signInBtn",ref:"signInBtn"},jM={key:0,class:"d-flex w-100"},WM=si(()=>h("i",{class:"ms-auto bi bi-chevron-right"},null,-1)),zM={key:1,class:"d-flex w-100 align-items-center"},YM=si(()=>h("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},[h("span",{class:"visually-hidden"},"Loading...")],-1)),KM={key:3,class:"d-flex mt-3"},UM={class:"form-check form-switch ms-auto"},qM=si(()=>h("label",{class:"form-check-label",for:"flexSwitchCheckChecked"},"Access Remote Server",-1)),GM={class:"text-muted pb-3 d-block w-100 text-center mt-3"},JM=si(()=>h("a",{href:"https://github.com/donaldzou",target:"_blank"},[h("strong",null,"Donald Zou")],-1)),XM={class:"messageCentre text-body position-absolute end-0 m-3"};function QM(e,t,n,s,i,o){const r=je("RemoteServerList"),a=je("Message");return D(),F("div",{class:"container-fluid login-container-fluid d-flex main flex-column py-4 text-body",style:{"overflow-y":"scroll"},"data-bs-theme":this.theme},[h("div",MM,[h("div",TM,[DM,OM,i.loginError?(D(),F("div",IM,_e(this.loginErrorMessage),1)):re("",!0),this.store.CrossServerConfiguration.Enable?(D(),Ne(r,{key:2})):(D(),F("form",{key:1,onSubmit:t[3]||(t[3]=l=>{l.preventDefault(),this.auth()})},[h("div",RM,[LM,Re(h("input",{type:"text","onUpdate:modelValue":t[0]||(t[0]=l=>i.username=l),class:"form-control",id:"username",name:"username",autocomplete:"on",placeholder:"Username",required:""},null,512),[[We,i.username]])]),h("div",NM,[FM,Re(h("input",{type:"password","onUpdate:modelValue":t[1]||(t[1]=l=>i.password=l),class:"form-control",id:"password",name:"password",autocomplete:"on",placeholder:"Password",required:""},null,512),[[We,i.password]])]),s.totpEnabled?(D(),F("div",BM,[VM,Re(h("input",{class:"form-control totp",required:"",id:"totp",maxlength:"6",type:"text",inputmode:"numeric",autocomplete:"one-time-code",placeholder:"OTP from your authenticator","onUpdate:modelValue":t[2]||(t[2]=l=>this.totp=l)},null,512),[[We,this.totp]])])):re("",!0),h("button",HM,[this.loading?(D(),F("span",zM,[ye(" Signing In... "),YM])):(D(),F("span",jM,[ye(" Sign In"),WM]))],512)],32)),this.store.IsElectronApp?re("",!0):(D(),F("div",KM,[h("div",UM,[Re(h("input",{"onUpdate:modelValue":t[4]||(t[4]=l=>this.store.CrossServerConfiguration.Enable=l),class:"form-check-input",type:"checkbox",role:"switch",id:"flexSwitchCheckChecked"},null,512),[[In,this.store.CrossServerConfiguration.Enable]]),qM])]))])]),h("small",GM,[ye(" WGDashboard "+_e(this.version)+" | Developed with ❤️ by ",1),JM]),h("div",XM,[$e(Wi,{name:"message",tag:"div",class:"position-relative"},{default:Me(()=>[(D(!0),F(Te,null,Ue(o.getMessages.slice().reverse(),l=>(D(),Ne(a,{message:l,key:l.id},null,8,["message"]))),128))]),_:1})])],8,PM)}const ZM=ze(EM,[["render",QM],["__scopeId","data-v-e351e82c"]]),eT={name:"configurationCard",props:{c:{Name:String,Status:Boolean,PublicKey:String,PrivateKey:String}},data(){return{configurationToggling:!1}},setup(){return{dashboardConfigurationStore:et()}},methods:{toggle(){this.configurationToggling=!0,xt("/api/toggleWireguardConfiguration/",{configurationName:this.c.Name},e=>{e.status?this.dashboardConfigurationStore.newMessage("Server",`${this.c.Name} is ${e.data?"is on":"is off"}`):this.dashboardConfigurationStore.newMessage("Server",e.message,"danger"),this.c.Status=e.data,this.configurationToggling=!1})}}},tT={class:"card conf_card rounded-3 shadow text-decoration-none"},nT={class:"mb-0"},sT={class:"card-title mb-0"},iT=h("h6",{class:"mb-0 ms-auto"},[h("i",{class:"bi bi-chevron-right"})],-1),oT={class:"card-footer d-flex gap-2 flex-column"},rT={class:"row"},aT={class:"col-6 col-md-3"},lT=h("i",{class:"bi bi-arrow-down-up me-2"},null,-1),cT={class:"text-primary-emphasis col-6 col-md-3"},uT=h("i",{class:"bi bi-arrow-down me-2"},null,-1),dT={class:"text-success-emphasis col-6 col-md-3"},hT=h("i",{class:"bi bi-arrow-up me-2"},null,-1),fT={class:"text-md-end col-6 col-md-3"},pT={class:"d-flex align-items-center gap-2"},gT=h("small",{class:"text-muted"},[h("strong",{style:{"word-break":"keep-all"}},"Public Key")],-1),mT={class:"mb-0 d-block d-lg-inline-block"},_T={style:{"line-break":"anywhere"}},vT={class:"form-check form-switch ms-auto"},bT=["for"],yT={key:0,class:"spinner-border spinner-border-sm","aria-hidden":"true"},wT=["disabled","id"];function xT(e,t,n,s,i,o){const r=je("RouterLink");return D(),F("div",tT,[$e(r,{to:"/configuration/"+n.c.Name+"/peers",class:"card-body d-flex align-items-center gap-3 flex-wrap text-decoration-none"},{default:Me(()=>[h("h6",nT,[h("span",{class:Ee(["dot",{active:n.c.Status}])},null,2)]),h("h6",sT,[h("samp",null,_e(n.c.Name),1)]),iT]),_:1},8,["to"]),h("div",oT,[h("div",rT,[h("small",aT,[lT,ye(_e(n.c.DataUsage.Total>0?n.c.DataUsage.Total.toFixed(4):0)+" GB ",1)]),h("small",cT,[uT,ye(_e(n.c.DataUsage.Receive>0?n.c.DataUsage.Receive.toFixed(4):0)+" GB ",1)]),h("small",dT,[hT,ye(_e(n.c.DataUsage.Sent>0?n.c.DataUsage.Sent.toFixed(4):0)+" GB ",1)]),h("small",fT,[h("span",{class:Ee(["dot me-2",{active:n.c.ConnectedPeers>0}])},null,2),ye(_e(n.c.ConnectedPeers)+" Peers ",1)])]),h("div",pT,[gT,h("small",mT,[h("samp",_T,_e(n.c.PublicKey),1)]),h("div",vT,[h("label",{class:"form-check-label",style:{cursor:"pointer"},for:"switch"+n.c.PrivateKey},[ye(_e(this.configurationToggling?"Turning ":"")+" "+_e(n.c.Status?"On":"Off")+" ",1),this.configurationToggling?(D(),F("span",yT)):re("",!0)],8,bT),Re(h("input",{class:"form-check-input",style:{cursor:"pointer"},disabled:this.configurationToggling,type:"checkbox",role:"switch",id:"switch"+n.c.PrivateKey,onChange:t[0]||(t[0]=a=>this.toggle()),"onUpdate:modelValue":t[1]||(t[1]=a=>n.c.Status=a)},null,40,wT),[[In,n.c.Status]])])])])])}const kT=ze(eT,[["render",xT]]),ST={name:"configurationList",components:{ConfigurationCard:kT},async setup(){return{wireguardConfigurationsStore:Bn()}},data(){return{configurationLoaded:!1}},async mounted(){await this.wireguardConfigurationsStore.getConfigurations(),this.configurationLoaded=!0,this.wireguardConfigurationsStore.ConfigurationListInterval=setInterval(()=>{this.wireguardConfigurationsStore.getConfigurations()},1e4)},beforeUnmount(){clearInterval(this.wireguardConfigurationsStore.ConfigurationListInterval)}},Ty=e=>(Ut("data-v-bff52ca5"),e=e(),qt(),e),$T={class:"mt-md-5 mt-3"},AT={class:"container-md"},CT={class:"d-flex mb-4 configurationListTitle"},ET=Ty(()=>h("h3",{class:"text-body d-flex"},[h("i",{class:"bi bi-body-text me-2"}),h("span",null,"WireGuard Configurations")],-1)),PT=Ty(()=>h("i",{class:"bi bi-plus-circle-fill me-2"},null,-1)),MT={key:0},TT={key:0,class:"text-muted"},DT={key:1,class:"d-flex gap-3 flex-column mb-3"};function OT(e,t,n,s,i,o){const r=je("RouterLink"),a=je("ConfigurationCard");return D(),F("div",$T,[h("div",AT,[h("div",CT,[ET,$e(r,{to:"/new_configuration",class:"btn btn-dark btn-brand rounded-3 px-3 py-2 shadow ms-auto rounded-3"},{default:Me(()=>[PT,ye(" Configuration ")]),_:1})]),$e(Ct,{name:"fade",mode:"out-in"},{default:Me(()=>[this.configurationLoaded?(D(),F("div",MT,[this.wireguardConfigurationsStore.Configurations.length===0?(D(),F("p",TT,` You don't have any WireGuard configurations yet. Please check the configuration folder or change it in "Settings". By default the folder is "/etc/wireguard". `)):(D(),F("div",DT,[(D(!0),F(Te,null,Ue(this.wireguardConfigurationsStore.Configurations,l=>(D(),Ne(a,{key:l.Name,c:l},null,8,["c"]))),128))]))])):re("",!0)]),_:1})])])}const IT=ze(ST,[["render",OT],["__scopeId","data-v-bff52ca5"]]);let Fl;const RT=new Uint8Array(16);function LT(){if(!Fl&&(Fl=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Fl))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Fl(RT)}const on=[];for(let e=0;e<256;++e)on.push((e+256).toString(16).slice(1));function NT(e,t=0){return on[e[t+0]]+on[e[t+1]]+on[e[t+2]]+on[e[t+3]]+"-"+on[e[t+4]]+on[e[t+5]]+"-"+on[e[t+6]]+on[e[t+7]]+"-"+on[e[t+8]]+on[e[t+9]]+"-"+on[e[t+10]]+on[e[t+11]]+on[e[t+12]]+on[e[t+13]]+on[e[t+14]]+on[e[t+15]]}const FT=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),wm={randomUUID:FT};function Ts(e,t,n){if(wm.randomUUID&&!t&&!e)return wm.randomUUID();e=e||{};const s=e.random||(e.rng||LT)();if(s[6]=s[6]&15|64,s[8]=s[8]&63|128,t){n=n||0;for(let i=0;i<16;++i)t[n+i]=s[i];return t}return NT(s)}const BT={props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const e=et(),t=`input_${Ts()}`;return{store:e,uuid:t}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Peers[this.targetData]},methods:{async useValidation(){this.changed&&await ft("/api/updateDashboardConfigurationItem",{section:"Peers",key:this.targetData,value:this.value},e=>{e.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Peers[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=e.message),this.changed=!1,this.updating=!1})}}},VT={class:"form-group mb-2"},HT=["for"],jT=["id","disabled"],WT={class:"invalid-feedback"},zT={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1"},YT=h("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1),KT=["innerHTML"];function UT(e,t,n,s,i,o){return D(),F("div",VT,[h("label",{for:this.uuid,class:"text-muted mb-1"},[h("strong",null,[h("small",null,_e(this.title),1)])],8,HT),Re(h("input",{type:"text",class:Ee(["form-control",{"is-invalid":i.showInvalidFeedback,"is-valid":i.isValid}]),id:this.uuid,"onUpdate:modelValue":t[0]||(t[0]=r=>this.value=r),onKeydown:t[1]||(t[1]=r=>this.changed=!0),onBlur:t[2]||(t[2]=r=>o.useValidation()),disabled:this.updating},null,42,jT),[[We,this.value]]),h("div",WT,_e(this.invalidFeedback),1),n.warning?(D(),F("div",zT,[h("small",null,[YT,h("span",{innerHTML:n.warningText},null,8,KT)])])):re("",!0)])}const qT=ze(BT,[["render",UT]]),GT=e=>{},JT={name:"accountSettingsInputUsername",props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const e=et(),t=`input_${Ts()}`;return{store:e,uuid:t}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Account[this.targetData]},methods:{async useValidation(){this.changed&&(this.updating=!0,await ft("/api/updateDashboardConfigurationItem",{section:"Account",key:this.targetData,value:this.value},e=>{e.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=e.message),this.changed=!1,this.updating=!1}))}}},XT={class:"form-group mb-2"},QT=["for"],ZT=["id","disabled"],eD={class:"invalid-feedback"},tD={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1"},nD=h("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1),sD=["innerHTML"];function iD(e,t,n,s,i,o){return D(),F("div",XT,[h("label",{for:this.uuid,class:"text-muted mb-1"},[h("strong",null,[h("small",null,_e(this.title),1)])],8,QT),Re(h("input",{type:"text",class:Ee(["form-control",{"is-invalid":i.showInvalidFeedback,"is-valid":i.isValid}]),id:this.uuid,"onUpdate:modelValue":t[0]||(t[0]=r=>this.value=r),onKeydown:t[1]||(t[1]=r=>this.changed=!0),onBlur:t[2]||(t[2]=r=>o.useValidation()),disabled:this.updating},null,42,ZT),[[We,this.value]]),h("div",eD,_e(this.invalidFeedback),1),n.warning?(D(),F("div",tD,[h("small",null,[nD,h("span",{innerHTML:n.warningText},null,8,sD)])])):re("",!0)])}const oD=ze(JT,[["render",iD]]),rD={name:"accountSettingsInputPassword",props:{targetData:String,warning:!1,warningText:""},setup(){const e=et(),t=`input_${Ts()}`;return{store:e,uuid:t}},data(){return{value:{currentPassword:"",newPassword:"",repeatNewPassword:""},invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0}},methods:{async useValidation(){Object.values(this.value).find(e=>e.length===0)===void 0?this.value.newPassword===this.value.repeatNewPassword?await ft("/api/updateDashboardConfigurationItem",{section:"Account",key:this.targetData,value:this.value},e=>{e.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.isValid=!1,this.value={currentPassword:"",newPassword:"",repeatNewPassword:""}},5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=e.message)}):(this.showInvalidFeedback=!0,this.invalidFeedback="New passwords does not match"):(this.showInvalidFeedback=!0,this.invalidFeedback="Please fill in all required fields.")}}},aD={class:"d-flex flex-column"},lD={class:"row"},cD={class:"col-sm"},uD={class:"form-group mb-2"},dD=["for"],hD=h("strong",null,[h("small",null,"Current Password")],-1),fD=[hD],pD=["id"],gD={key:0,class:"invalid-feedback d-block"},mD={class:"col-sm"},_D={class:"form-group mb-2"},vD=["for"],bD=h("strong",null,[h("small",null,"New Password")],-1),yD=[bD],wD=["id"],xD={class:"col-sm"},kD={class:"form-group mb-2"},SD=["for"],$D=h("strong",null,[h("small",null,"Repeat New Password")],-1),AD=[$D],CD=["id"],ED=h("i",{class:"bi bi-save2-fill me-2"},null,-1);function PD(e,t,n,s,i,o){return D(),F("div",aD,[h("div",lD,[h("div",cD,[h("div",uD,[h("label",{for:"currentPassword_"+this.uuid,class:"text-muted mb-1"},fD,8,dD),Re(h("input",{type:"password",class:Ee(["form-control mb-2",{"is-invalid":i.showInvalidFeedback,"is-valid":i.isValid}]),"onUpdate:modelValue":t[0]||(t[0]=r=>this.value.currentPassword=r),id:"currentPassword_"+this.uuid},null,10,pD),[[We,this.value.currentPassword]]),i.showInvalidFeedback?(D(),F("div",gD,_e(this.invalidFeedback),1)):re("",!0)])]),h("div",mD,[h("div",_D,[h("label",{for:"newPassword_"+this.uuid,class:"text-muted mb-1"},yD,8,vD),Re(h("input",{type:"password",class:Ee(["form-control mb-2",{"is-invalid":i.showInvalidFeedback,"is-valid":i.isValid}]),"onUpdate:modelValue":t[1]||(t[1]=r=>this.value.newPassword=r),id:"newPassword_"+this.uuid},null,10,wD),[[We,this.value.newPassword]])])]),h("div",xD,[h("div",kD,[h("label",{for:"repeatNewPassword_"+this.uuid,class:"text-muted mb-1"},AD,8,SD),Re(h("input",{type:"password",class:Ee(["form-control mb-2",{"is-invalid":i.showInvalidFeedback,"is-valid":i.isValid}]),"onUpdate:modelValue":t[2]||(t[2]=r=>this.value.repeatNewPassword=r),id:"repeatNewPassword_"+this.uuid},null,10,CD),[[We,this.value.repeatNewPassword]])])])]),h("button",{class:"ms-auto btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm",onClick:t[3]||(t[3]=r=>this.useValidation())},[ED,ye("Update Password ")])])}const MD=ze(rD,[["render",PD]]),TD={name:"dashboardSettingsInputWireguardConfigurationPath",props:{targetData:String,title:String,warning:!1,warningText:""},setup(){const e=et(),t=`input_${Ts()}`;return{store:e,uuid:t}},data(){return{value:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.value=this.store.Configuration.Server[this.targetData]},methods:{async useValidation(){this.changed&&await ft("/api/updateDashboardConfigurationItem",{section:"Server",key:this.targetData,value:this.value},e=>{e.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=e.message),this.changed=!1,this.updating=!1})}}},DD={class:"form-group mb-2"},OD=["for"],ID=["id","disabled"],RD={class:"invalid-feedback"},LD={key:0,class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block mt-1"},ND=h("i",{class:"bi bi-exclamation-triangle-fill me-2"},null,-1),FD=["innerHTML"];function BD(e,t,n,s,i,o){return D(),F("div",DD,[h("label",{for:this.uuid,class:"text-muted mb-1"},[h("strong",null,[h("small",null,_e(this.title),1)])],8,OD),Re(h("input",{type:"text",class:Ee(["form-control",{"is-invalid":this.showInvalidFeedback,"is-valid":this.isValid}]),id:this.uuid,"onUpdate:modelValue":t[0]||(t[0]=r=>this.value=r),onKeydown:t[1]||(t[1]=r=>this.changed=!0),onBlur:t[2]||(t[2]=r=>this.useValidation()),disabled:this.updating},null,42,ID),[[We,this.value]]),h("div",RD,_e(this.invalidFeedback),1),n.warning?(D(),F("div",LD,[h("small",null,[ND,h("span",{innerHTML:n.warningText},null,8,FD)])])):re("",!0)])}const VD=ze(TD,[["render",BD]]),HD={name:"dashboardTheme",setup(){return{dashboardConfigurationStore:et()}},methods:{async switchTheme(e){await ft("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_theme",value:e},t=>{t.status&&(this.dashboardConfigurationStore.Configuration.Server.dashboard_theme=e)})}}},jD={class:"card mb-4 shadow rounded-3"},WD=h("p",{class:"card-header"},"Dashboard Theme",-1),zD={class:"card-body d-flex gap-2"},YD=h("i",{class:"bi bi-sun-fill"},null,-1),KD=h("i",{class:"bi bi-moon-fill"},null,-1);function UD(e,t,n,s,i,o){return D(),F("div",jD,[WD,h("div",zD,[h("button",{class:Ee(["btn bg-primary-subtle text-primary-emphasis flex-grow-1",{active:this.dashboardConfigurationStore.Configuration.Server.dashboard_theme==="light"}]),onClick:t[0]||(t[0]=r=>this.switchTheme("light"))},[YD,ye(" Light ")],2),h("button",{class:Ee(["btn bg-primary-subtle text-primary-emphasis flex-grow-1",{active:this.dashboardConfigurationStore.Configuration.Server.dashboard_theme==="dark"}]),onClick:t[1]||(t[1]=r=>this.switchTheme("dark"))},[KD,ye(" Dark ")],2)])])}const qD=ze(HD,[["render",UD]]),GD={name:"dashboardSettingsInputIPAddressAndPort",props:{},setup(){const e=et(),t=`input_${Ts()}`;return{store:e,uuid:t}},data(){return{app_ip:"",app_port:"",invalidFeedback:"",showInvalidFeedback:!1,isValid:!1,timeout:void 0,changed:!1,updating:!1}},mounted(){this.app_ip=this.store.Configuration.Server.app_ip,this.app_port=this.store.Configuration.Server.app_port},methods:{async useValidation(){this.changed&&await ft("/api/updateDashboardConfigurationItem",{section:"Server",key:this.targetData,value:this.value},e=>{e.status?(this.isValid=!0,this.showInvalidFeedback=!1,this.store.Configuration.Account[this.targetData]=this.value,clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.isValid=!1,5e3)):(this.isValid=!1,this.showInvalidFeedback=!0,this.invalidFeedback=e.message)})}}},JD={class:"invalid-feedback d-block mt-0"},XD={class:"row"},QD={class:"form-group mb-2 col-sm"},ZD=["for"],e2=h("strong",null,[h("small",null,"Dashboard IP Address")],-1),t2=[e2],n2=["id"],s2=h("div",{class:"px-2 py-1 text-warning-emphasis bg-warning-subtle border border-warning-subtle rounded-2 d-inline-block"},[h("small",null,[h("i",{class:"bi bi-exclamation-triangle-fill me-2"}),h("code",null,"0.0.0.0"),ye(" means it can be access by anyone with your server IP Address.")])],-1),i2={class:"form-group col-sm"},o2=["for"],r2=h("strong",null,[h("small",null,"Dashboard Port")],-1),a2=[r2],l2=["id"],c2=h("button",{class:"btn btn-success btn-sm fw-bold rounded-3"},[h("i",{class:"bi bi-floppy-fill me-2"}),ye("Update Dashboard Settings & Restart ")],-1);function u2(e,t,n,s,i,o){return D(),F("div",null,[h("div",JD,_e(this.invalidFeedback),1),h("div",XD,[h("div",QD,[h("label",{for:"app_ip_"+this.uuid,class:"text-muted mb-1"},t2,8,ZD),Re(h("input",{type:"text",class:"form-control mb-2",id:"app_ip_"+this.uuid,"onUpdate:modelValue":t[0]||(t[0]=r=>this.app_ip=r)},null,8,n2),[[We,this.app_ip]]),s2]),h("div",i2,[h("label",{for:"app_port_"+this.uuid,class:"text-muted mb-1"},a2,8,o2),Re(h("input",{type:"text",class:"form-control mb-2",id:"app_port_"+this.uuid,"onUpdate:modelValue":t[1]||(t[1]=r=>this.app_port=r)},null,8,l2),[[We,this.app_port]])])]),c2])}const d2=ze(GD,[["render",u2]]);function Fe(e){const t=Object.prototype.toString.call(e);return e instanceof Date||typeof e=="object"&&t==="[object Date]"?new e.constructor(+e):typeof e=="number"||t==="[object Number]"||typeof e=="string"||t==="[object String]"?new Date(e):new Date(NaN)}function rt(e,t){return e instanceof Date?new e.constructor(t):new Date(t)}function os(e,t){const n=Fe(e);return isNaN(t)?rt(e,NaN):(t&&n.setDate(n.getDate()+t),n)}function cs(e,t){const n=Fe(e);if(isNaN(t))return rt(e,NaN);if(!t)return n;const s=n.getDate(),i=rt(e,n.getTime());i.setMonth(n.getMonth()+t+1,0);const o=i.getDate();return s>=o?i:(n.setFullYear(i.getFullYear(),i.getMonth(),s),n)}function Dy(e,t){const{years:n=0,months:s=0,weeks:i=0,days:o=0,hours:r=0,minutes:a=0,seconds:l=0}=t,c=Fe(e),u=s||n?cs(c,s+n*12):c,d=o||i?os(u,o+i*7):u,f=a+r*60,m=(l+f*60)*1e3;return rt(e,d.getTime()+m)}function h2(e,t){const n=+Fe(e);return rt(e,n+t)}const Oy=6048e5,f2=864e5,p2=6e4,Iy=36e5,g2=1e3;function m2(e,t){return h2(e,t*Iy)}let _2={};function Lo(){return _2}function hs(e,t){var a,l,c,u;const n=Lo(),s=(t==null?void 0:t.weekStartsOn)??((l=(a=t==null?void 0:t.locale)==null?void 0:a.options)==null?void 0:l.weekStartsOn)??n.weekStartsOn??((u=(c=n.locale)==null?void 0:c.options)==null?void 0:u.weekStartsOn)??0,i=Fe(e),o=i.getDay(),r=(o=i.getTime()?n+1:t.getTime()>=r.getTime()?n:n-1}function xm(e){const t=Fe(e);return t.setHours(0,0,0,0),t}function Dc(e){const t=Fe(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function Ly(e,t){const n=xm(e),s=xm(t),i=+n-Dc(n),o=+s-Dc(s);return Math.round((i-o)/f2)}function v2(e){const t=Ry(e),n=rt(e,0);return n.setFullYear(t,0,4),n.setHours(0,0,0,0),kr(n)}function b2(e,t){const n=t*3;return cs(e,n)}function Sf(e,t){return cs(e,t*12)}function km(e,t){const n=Fe(e),s=Fe(t),i=n.getTime()-s.getTime();return i<0?-1:i>0?1:i}function Ny(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function Sa(e){if(!Ny(e)&&typeof e!="number")return!1;const t=Fe(e);return!isNaN(Number(t))}function Sm(e){const t=Fe(e);return Math.trunc(t.getMonth()/3)+1}function y2(e,t){const n=Fe(e),s=Fe(t);return n.getFullYear()-s.getFullYear()}function w2(e,t){const n=Fe(e),s=Fe(t),i=km(n,s),o=Math.abs(y2(n,s));n.setFullYear(1584),s.setFullYear(1584);const r=km(n,s)===-i,a=i*(o-+r);return a===0?0:a}function Fy(e,t){const n=Fe(e.start),s=Fe(e.end);let i=+n>+s;const o=i?+n:+s,r=i?s:n;r.setHours(0,0,0,0);let a=(t==null?void 0:t.step)??1;if(!a)return[];a<0&&(a=-a,i=!i);const l=[];for(;+r<=o;)l.push(Fe(r)),r.setDate(r.getDate()+a),r.setHours(0,0,0,0);return i?l.reverse():l}function vo(e){const t=Fe(e),n=t.getMonth(),s=n-n%3;return t.setMonth(s,1),t.setHours(0,0,0,0),t}function x2(e,t){const n=Fe(e.start),s=Fe(e.end);let i=+n>+s;const o=i?+vo(n):+vo(s);let r=vo(i?s:n),a=(t==null?void 0:t.step)??1;if(!a)return[];a<0&&(a=-a,i=!i);const l=[];for(;+r<=o;)l.push(Fe(r)),r=b2(r,a);return i?l.reverse():l}function k2(e){const t=Fe(e);return t.setDate(1),t.setHours(0,0,0,0),t}function By(e){const t=Fe(e),n=t.getFullYear();return t.setFullYear(n+1,0,0),t.setHours(23,59,59,999),t}function Wa(e){const t=Fe(e),n=rt(e,0);return n.setFullYear(t.getFullYear(),0,1),n.setHours(0,0,0,0),n}function Vy(e,t){var a,l,c,u;const n=Lo(),s=(t==null?void 0:t.weekStartsOn)??((l=(a=t==null?void 0:t.locale)==null?void 0:a.options)==null?void 0:l.weekStartsOn)??n.weekStartsOn??((u=(c=n.locale)==null?void 0:c.options)==null?void 0:u.weekStartsOn)??0,i=Fe(e),o=i.getDay(),r=(o{let s;const i=S2[e];return typeof i=="string"?s=i:t===1?s=i.one:s=i.other.replace("{{count}}",t.toString()),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"in "+s:s+" ago":s};function sd(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const A2={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},C2={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},E2={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},P2={date:sd({formats:A2,defaultWidth:"full"}),time:sd({formats:C2,defaultWidth:"full"}),dateTime:sd({formats:E2,defaultWidth:"full"})},M2={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},T2=(e,t,n,s)=>M2[e];function Qr(e){return(t,n)=>{const s=n!=null&&n.context?String(n.context):"standalone";let i;if(s==="formatting"&&e.formattingValues){const r=e.defaultFormattingWidth||e.defaultWidth,a=n!=null&&n.width?String(n.width):r;i=e.formattingValues[a]||e.formattingValues[r]}else{const r=e.defaultWidth,a=n!=null&&n.width?String(n.width):e.defaultWidth;i=e.values[a]||e.values[r]}const o=e.argumentCallback?e.argumentCallback(t):t;return i[o]}}const D2={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},O2={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},I2={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},R2={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},L2={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},N2={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},F2=(e,t)=>{const n=Number(e),s=n%100;if(s>20||s<10)switch(s%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},B2={ordinalNumber:F2,era:Qr({values:D2,defaultWidth:"wide"}),quarter:Qr({values:O2,defaultWidth:"wide",argumentCallback:e=>e-1}),month:Qr({values:I2,defaultWidth:"wide"}),day:Qr({values:R2,defaultWidth:"wide"}),dayPeriod:Qr({values:L2,defaultWidth:"wide",formattingValues:N2,defaultFormattingWidth:"wide"})};function Zr(e){return(t,n={})=>{const s=n.width,i=s&&e.matchPatterns[s]||e.matchPatterns[e.defaultMatchWidth],o=t.match(i);if(!o)return null;const r=o[0],a=s&&e.parsePatterns[s]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(a)?H2(a,d=>d.test(r)):V2(a,d=>d.test(r));let c;c=e.valueCallback?e.valueCallback(l):l,c=n.valueCallback?n.valueCallback(c):c;const u=t.slice(r.length);return{value:c,rest:u}}}function V2(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function H2(e,t){for(let n=0;n{const s=t.match(e.matchPattern);if(!s)return null;const i=s[0],o=t.match(e.parsePattern);if(!o)return null;let r=e.valueCallback?e.valueCallback(o[0]):o[0];r=n.valueCallback?n.valueCallback(r):r;const a=t.slice(i.length);return{value:r,rest:a}}}const W2=/^(\d+)(th|st|nd|rd)?/i,z2=/\d+/i,Y2={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},K2={any:[/^b/i,/^(a|c)/i]},U2={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},q2={any:[/1/i,/2/i,/3/i,/4/i]},G2={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},J2={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},X2={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Q2={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},Z2={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},eO={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},tO={ordinalNumber:j2({matchPattern:W2,parsePattern:z2,valueCallback:e=>parseInt(e,10)}),era:Zr({matchPatterns:Y2,defaultMatchWidth:"wide",parsePatterns:K2,defaultParseWidth:"any"}),quarter:Zr({matchPatterns:U2,defaultMatchWidth:"wide",parsePatterns:q2,defaultParseWidth:"any",valueCallback:e=>e+1}),month:Zr({matchPatterns:G2,defaultMatchWidth:"wide",parsePatterns:J2,defaultParseWidth:"any"}),day:Zr({matchPatterns:X2,defaultMatchWidth:"wide",parsePatterns:Q2,defaultParseWidth:"any"}),dayPeriod:Zr({matchPatterns:Z2,defaultMatchWidth:"any",parsePatterns:eO,defaultParseWidth:"any"})},Hy={code:"en-US",formatDistance:$2,formatLong:P2,formatRelative:T2,localize:B2,match:tO,options:{weekStartsOn:0,firstWeekContainsDate:1}};function nO(e){const t=Fe(e);return Ly(t,Wa(t))+1}function $f(e){const t=Fe(e),n=+kr(t)-+v2(t);return Math.round(n/Oy)+1}function Af(e,t){var u,d,f,p;const n=Fe(e),s=n.getFullYear(),i=Lo(),o=(t==null?void 0:t.firstWeekContainsDate)??((d=(u=t==null?void 0:t.locale)==null?void 0:u.options)==null?void 0:d.firstWeekContainsDate)??i.firstWeekContainsDate??((p=(f=i.locale)==null?void 0:f.options)==null?void 0:p.firstWeekContainsDate)??1,r=rt(e,0);r.setFullYear(s+1,0,o),r.setHours(0,0,0,0);const a=hs(r,t),l=rt(e,0);l.setFullYear(s,0,o),l.setHours(0,0,0,0);const c=hs(l,t);return n.getTime()>=a.getTime()?s+1:n.getTime()>=c.getTime()?s:s-1}function sO(e,t){var a,l,c,u;const n=Lo(),s=(t==null?void 0:t.firstWeekContainsDate)??((l=(a=t==null?void 0:t.locale)==null?void 0:a.options)==null?void 0:l.firstWeekContainsDate)??n.firstWeekContainsDate??((u=(c=n.locale)==null?void 0:c.options)==null?void 0:u.firstWeekContainsDate)??1,i=Af(e,t),o=rt(e,0);return o.setFullYear(i,0,s),o.setHours(0,0,0,0),hs(o,t)}function Cf(e,t){const n=Fe(e),s=+hs(n,t)-+sO(n,t);return Math.round(s/Oy)+1}function lt(e,t){const n=e<0?"-":"",s=Math.abs(e).toString().padStart(t,"0");return n+s}const hi={y(e,t){const n=e.getFullYear(),s=n>0?n:1-n;return lt(t==="yy"?s%100:s,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):lt(n+1,2)},d(e,t){return lt(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return n==="am"?"a.m.":"p.m."}},h(e,t){return lt(e.getHours()%12||12,t.length)},H(e,t){return lt(e.getHours(),t.length)},m(e,t){return lt(e.getMinutes(),t.length)},s(e,t){return lt(e.getSeconds(),t.length)},S(e,t){const n=t.length,s=e.getMilliseconds(),i=Math.trunc(s*Math.pow(10,n-3));return lt(i,t.length)}},Jo={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},Am={G:function(e,t,n){const s=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(s,{width:"abbreviated"});case"GGGGG":return n.era(s,{width:"narrow"});case"GGGG":default:return n.era(s,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const s=e.getFullYear(),i=s>0?s:1-s;return n.ordinalNumber(i,{unit:"year"})}return hi.y(e,t)},Y:function(e,t,n,s){const i=Af(e,s),o=i>0?i:1-i;if(t==="YY"){const r=o%100;return lt(r,2)}return t==="Yo"?n.ordinalNumber(o,{unit:"year"}):lt(o,t.length)},R:function(e,t){const n=Ry(e);return lt(n,t.length)},u:function(e,t){const n=e.getFullYear();return lt(n,t.length)},Q:function(e,t,n){const s=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(s);case"QQ":return lt(s,2);case"Qo":return n.ordinalNumber(s,{unit:"quarter"});case"QQQ":return n.quarter(s,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(s,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(s,{width:"wide",context:"formatting"})}},q:function(e,t,n){const s=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(s);case"qq":return lt(s,2);case"qo":return n.ordinalNumber(s,{unit:"quarter"});case"qqq":return n.quarter(s,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(s,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(s,{width:"wide",context:"standalone"})}},M:function(e,t,n){const s=e.getMonth();switch(t){case"M":case"MM":return hi.M(e,t);case"Mo":return n.ordinalNumber(s+1,{unit:"month"});case"MMM":return n.month(s,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(s,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(s,{width:"wide",context:"formatting"})}},L:function(e,t,n){const s=e.getMonth();switch(t){case"L":return String(s+1);case"LL":return lt(s+1,2);case"Lo":return n.ordinalNumber(s+1,{unit:"month"});case"LLL":return n.month(s,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(s,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(s,{width:"wide",context:"standalone"})}},w:function(e,t,n,s){const i=Cf(e,s);return t==="wo"?n.ordinalNumber(i,{unit:"week"}):lt(i,t.length)},I:function(e,t,n){const s=$f(e);return t==="Io"?n.ordinalNumber(s,{unit:"week"}):lt(s,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):hi.d(e,t)},D:function(e,t,n){const s=nO(e);return t==="Do"?n.ordinalNumber(s,{unit:"dayOfYear"}):lt(s,t.length)},E:function(e,t,n){const s=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(s,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(s,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(s,{width:"short",context:"formatting"});case"EEEE":default:return n.day(s,{width:"wide",context:"formatting"})}},e:function(e,t,n,s){const i=e.getDay(),o=(i-s.weekStartsOn+8)%7||7;switch(t){case"e":return String(o);case"ee":return lt(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});case"eee":return n.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(i,{width:"short",context:"formatting"});case"eeee":default:return n.day(i,{width:"wide",context:"formatting"})}},c:function(e,t,n,s){const i=e.getDay(),o=(i-s.weekStartsOn+8)%7||7;switch(t){case"c":return String(o);case"cc":return lt(o,t.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(i,{width:"narrow",context:"standalone"});case"cccccc":return n.day(i,{width:"short",context:"standalone"});case"cccc":default:return n.day(i,{width:"wide",context:"standalone"})}},i:function(e,t,n){const s=e.getDay(),i=s===0?7:s;switch(t){case"i":return String(i);case"ii":return lt(i,t.length);case"io":return n.ordinalNumber(i,{unit:"day"});case"iii":return n.day(s,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(s,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(s,{width:"short",context:"formatting"});case"iiii":default:return n.day(s,{width:"wide",context:"formatting"})}},a:function(e,t,n){const i=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},b:function(e,t,n){const s=e.getHours();let i;switch(s===12?i=Jo.noon:s===0?i=Jo.midnight:i=s/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},B:function(e,t,n){const s=e.getHours();let i;switch(s>=17?i=Jo.evening:s>=12?i=Jo.afternoon:s>=4?i=Jo.morning:i=Jo.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let s=e.getHours()%12;return s===0&&(s=12),n.ordinalNumber(s,{unit:"hour"})}return hi.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):hi.H(e,t)},K:function(e,t,n){const s=e.getHours()%12;return t==="Ko"?n.ordinalNumber(s,{unit:"hour"}):lt(s,t.length)},k:function(e,t,n){let s=e.getHours();return s===0&&(s=24),t==="ko"?n.ordinalNumber(s,{unit:"hour"}):lt(s,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):hi.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):hi.s(e,t)},S:function(e,t){return hi.S(e,t)},X:function(e,t,n){const s=e.getTimezoneOffset();if(s===0)return"Z";switch(t){case"X":return Em(s);case"XXXX":case"XX":return ho(s);case"XXXXX":case"XXX":default:return ho(s,":")}},x:function(e,t,n){const s=e.getTimezoneOffset();switch(t){case"x":return Em(s);case"xxxx":case"xx":return ho(s);case"xxxxx":case"xxx":default:return ho(s,":")}},O:function(e,t,n){const s=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+Cm(s,":");case"OOOO":default:return"GMT"+ho(s,":")}},z:function(e,t,n){const s=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+Cm(s,":");case"zzzz":default:return"GMT"+ho(s,":")}},t:function(e,t,n){const s=Math.trunc(e.getTime()/1e3);return lt(s,t.length)},T:function(e,t,n){const s=e.getTime();return lt(s,t.length)}};function Cm(e,t=""){const n=e>0?"-":"+",s=Math.abs(e),i=Math.trunc(s/60),o=s%60;return o===0?n+String(i):n+String(i)+t+lt(o,2)}function Em(e,t){return e%60===0?(e>0?"-":"+")+lt(Math.abs(e)/60,2):ho(e,t)}function ho(e,t=""){const n=e>0?"-":"+",s=Math.abs(e),i=lt(Math.trunc(s/60),2),o=lt(s%60,2);return n+i+t+o}const Pm=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});case"PPPP":default:return t.date({width:"full"})}},jy=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});case"pppp":default:return t.time({width:"full"})}},iO=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],s=n[1],i=n[2];if(!i)return Pm(e,t);let o;switch(s){case"P":o=t.dateTime({width:"short"});break;case"PP":o=t.dateTime({width:"medium"});break;case"PPP":o=t.dateTime({width:"long"});break;case"PPPP":default:o=t.dateTime({width:"full"});break}return o.replace("{{date}}",Pm(s,t)).replace("{{time}}",jy(i,t))},nh={p:jy,P:iO},oO=/^D+$/,rO=/^Y+$/,aO=["D","DD","YY","YYYY"];function Wy(e){return oO.test(e)}function zy(e){return rO.test(e)}function sh(e,t,n){const s=lO(e,t,n);if(console.warn(s),aO.includes(e))throw new RangeError(s)}function lO(e,t,n){const s=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${s} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const cO=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,uO=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,dO=/^'([^]*?)'?$/,hO=/''/g,fO=/[a-zA-Z]/;function Cs(e,t,n){var u,d,f,p,m,_,b,w;const s=Lo(),i=(n==null?void 0:n.locale)??s.locale??Hy,o=(n==null?void 0:n.firstWeekContainsDate)??((d=(u=n==null?void 0:n.locale)==null?void 0:u.options)==null?void 0:d.firstWeekContainsDate)??s.firstWeekContainsDate??((p=(f=s.locale)==null?void 0:f.options)==null?void 0:p.firstWeekContainsDate)??1,r=(n==null?void 0:n.weekStartsOn)??((_=(m=n==null?void 0:n.locale)==null?void 0:m.options)==null?void 0:_.weekStartsOn)??s.weekStartsOn??((w=(b=s.locale)==null?void 0:b.options)==null?void 0:w.weekStartsOn)??0,a=Fe(e);if(!Sa(a))throw new RangeError("Invalid time value");let l=t.match(uO).map($=>{const A=$[0];if(A==="p"||A==="P"){const T=nh[A];return T($,i.formatLong)}return $}).join("").match(cO).map($=>{if($==="''")return{isToken:!1,value:"'"};const A=$[0];if(A==="'")return{isToken:!1,value:pO($)};if(Am[A])return{isToken:!0,value:$};if(A.match(fO))throw new RangeError("Format string contains an unescaped latin alphabet character `"+A+"`");return{isToken:!1,value:$}});i.localize.preprocessor&&(l=i.localize.preprocessor(a,l));const c={firstWeekContainsDate:o,weekStartsOn:r,locale:i};return l.map($=>{if(!$.isToken)return $.value;const A=$.value;(!(n!=null&&n.useAdditionalWeekYearTokens)&&zy(A)||!(n!=null&&n.useAdditionalDayOfYearTokens)&&Wy(A))&&sh(A,t,String(e));const T=Am[A[0]];return T(a,A,i.localize,c)}).join("")}function pO(e){const t=e.match(dO);return t?t[1].replace(hO,"'"):e}function gO(e){return Fe(e).getDay()}function mO(e){const t=Fe(e),n=t.getFullYear(),s=t.getMonth(),i=rt(e,0);return i.setFullYear(n,s+1,0),i.setHours(0,0,0,0),i.getDate()}function _O(){return Object.assign({},Lo())}function ei(e){return Fe(e).getHours()}function vO(e){let n=Fe(e).getDay();return n===0&&(n=7),n}function Ni(e){return Fe(e).getMinutes()}function Qe(e){return Fe(e).getMonth()}function Sr(e){return Fe(e).getSeconds()}function Ye(e){return Fe(e).getFullYear()}function $r(e,t){const n=Fe(e),s=Fe(t);return n.getTime()>s.getTime()}function za(e,t){const n=Fe(e),s=Fe(t);return+n<+s}function ir(e,t){const n=Fe(e),s=Fe(t);return+n==+s}function bO(e,t){const n=t instanceof Date?rt(t,0):new t(0);return n.setFullYear(e.getFullYear(),e.getMonth(),e.getDate()),n.setHours(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()),n}const yO=10;class Yy{constructor(){le(this,"subPriority",0)}validate(t,n){return!0}}class wO extends Yy{constructor(t,n,s,i,o){super(),this.value=t,this.validateValue=n,this.setValue=s,this.priority=i,o&&(this.subPriority=o)}validate(t,n){return this.validateValue(t,this.value,n)}set(t,n,s){return this.setValue(t,n,this.value,s)}}class xO extends Yy{constructor(){super(...arguments);le(this,"priority",yO);le(this,"subPriority",-1)}set(n,s){return s.timestampIsSet?n:rt(n,bO(n,Date))}}class at{run(t,n,s,i){const o=this.parse(t,n,s,i);return o?{setter:new wO(o.value,this.validate,this.set,this.priority,this.subPriority),rest:o.rest}:null}validate(t,n,s){return!0}}class kO extends at{constructor(){super(...arguments);le(this,"priority",140);le(this,"incompatibleTokens",["R","u","t","T"])}parse(n,s,i){switch(s){case"G":case"GG":case"GGG":return i.era(n,{width:"abbreviated"})||i.era(n,{width:"narrow"});case"GGGGG":return i.era(n,{width:"narrow"});case"GGGG":default:return i.era(n,{width:"wide"})||i.era(n,{width:"abbreviated"})||i.era(n,{width:"narrow"})}}set(n,s,i){return s.era=i,n.setFullYear(i,0,1),n.setHours(0,0,0,0),n}}const It={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},xs={basicOptionalMinutes:/^([+-])(\d{2})(\d{2})?|Z/,basic:/^([+-])(\d{2})(\d{2})|Z/,basicOptionalSeconds:/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,extended:/^([+-])(\d{2}):(\d{2})|Z/,extendedOptionalSeconds:/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/};function Rt(e,t){return e&&{value:t(e.value),rest:e.rest}}function St(e,t){const n=t.match(e);return n?{value:parseInt(n[0],10),rest:t.slice(n[0].length)}:null}function ks(e,t){const n=t.match(e);if(!n)return null;if(n[0]==="Z")return{value:0,rest:t.slice(1)};const s=n[1]==="+"?1:-1,i=n[2]?parseInt(n[2],10):0,o=n[3]?parseInt(n[3],10):0,r=n[5]?parseInt(n[5],10):0;return{value:s*(i*Iy+o*p2+r*g2),rest:t.slice(n[0].length)}}function Ky(e){return St(It.anyDigitsSigned,e)}function Tt(e,t){switch(e){case 1:return St(It.singleDigit,t);case 2:return St(It.twoDigits,t);case 3:return St(It.threeDigits,t);case 4:return St(It.fourDigits,t);default:return St(new RegExp("^\\d{1,"+e+"}"),t)}}function Oc(e,t){switch(e){case 1:return St(It.singleDigitSigned,t);case 2:return St(It.twoDigitsSigned,t);case 3:return St(It.threeDigitsSigned,t);case 4:return St(It.fourDigitsSigned,t);default:return St(new RegExp("^-?\\d{1,"+e+"}"),t)}}function Ef(e){switch(e){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;case"am":case"midnight":case"night":default:return 0}}function Uy(e,t){const n=t>0,s=n?t:1-t;let i;if(s<=50)i=e||100;else{const o=s+50,r=Math.trunc(o/100)*100,a=e>=o%100;i=e+r-(a?100:0)}return n?i:1-i}function qy(e){return e%400===0||e%4===0&&e%100!==0}class SO extends at{constructor(){super(...arguments);le(this,"priority",130);le(this,"incompatibleTokens",["Y","R","u","w","I","i","e","c","t","T"])}parse(n,s,i){const o=r=>({year:r,isTwoDigitYear:s==="yy"});switch(s){case"y":return Rt(Tt(4,n),o);case"yo":return Rt(i.ordinalNumber(n,{unit:"year"}),o);default:return Rt(Tt(s.length,n),o)}}validate(n,s){return s.isTwoDigitYear||s.year>0}set(n,s,i){const o=n.getFullYear();if(i.isTwoDigitYear){const a=Uy(i.year,o);return n.setFullYear(a,0,1),n.setHours(0,0,0,0),n}const r=!("era"in s)||s.era===1?i.year:1-i.year;return n.setFullYear(r,0,1),n.setHours(0,0,0,0),n}}class $O extends at{constructor(){super(...arguments);le(this,"priority",130);le(this,"incompatibleTokens",["y","R","u","Q","q","M","L","I","d","D","i","t","T"])}parse(n,s,i){const o=r=>({year:r,isTwoDigitYear:s==="YY"});switch(s){case"Y":return Rt(Tt(4,n),o);case"Yo":return Rt(i.ordinalNumber(n,{unit:"year"}),o);default:return Rt(Tt(s.length,n),o)}}validate(n,s){return s.isTwoDigitYear||s.year>0}set(n,s,i,o){const r=Af(n,o);if(i.isTwoDigitYear){const l=Uy(i.year,r);return n.setFullYear(l,0,o.firstWeekContainsDate),n.setHours(0,0,0,0),hs(n,o)}const a=!("era"in s)||s.era===1?i.year:1-i.year;return n.setFullYear(a,0,o.firstWeekContainsDate),n.setHours(0,0,0,0),hs(n,o)}}class AO extends at{constructor(){super(...arguments);le(this,"priority",130);le(this,"incompatibleTokens",["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"])}parse(n,s){return Oc(s==="R"?4:s.length,n)}set(n,s,i){const o=rt(n,0);return o.setFullYear(i,0,4),o.setHours(0,0,0,0),kr(o)}}class CO extends at{constructor(){super(...arguments);le(this,"priority",130);le(this,"incompatibleTokens",["G","y","Y","R","w","I","i","e","c","t","T"])}parse(n,s){return Oc(s==="u"?4:s.length,n)}set(n,s,i){return n.setFullYear(i,0,1),n.setHours(0,0,0,0),n}}class EO extends at{constructor(){super(...arguments);le(this,"priority",120);le(this,"incompatibleTokens",["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"])}parse(n,s,i){switch(s){case"Q":case"QQ":return Tt(s.length,n);case"Qo":return i.ordinalNumber(n,{unit:"quarter"});case"QQQ":return i.quarter(n,{width:"abbreviated",context:"formatting"})||i.quarter(n,{width:"narrow",context:"formatting"});case"QQQQQ":return i.quarter(n,{width:"narrow",context:"formatting"});case"QQQQ":default:return i.quarter(n,{width:"wide",context:"formatting"})||i.quarter(n,{width:"abbreviated",context:"formatting"})||i.quarter(n,{width:"narrow",context:"formatting"})}}validate(n,s){return s>=1&&s<=4}set(n,s,i){return n.setMonth((i-1)*3,1),n.setHours(0,0,0,0),n}}class PO extends at{constructor(){super(...arguments);le(this,"priority",120);le(this,"incompatibleTokens",["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"])}parse(n,s,i){switch(s){case"q":case"qq":return Tt(s.length,n);case"qo":return i.ordinalNumber(n,{unit:"quarter"});case"qqq":return i.quarter(n,{width:"abbreviated",context:"standalone"})||i.quarter(n,{width:"narrow",context:"standalone"});case"qqqqq":return i.quarter(n,{width:"narrow",context:"standalone"});case"qqqq":default:return i.quarter(n,{width:"wide",context:"standalone"})||i.quarter(n,{width:"abbreviated",context:"standalone"})||i.quarter(n,{width:"narrow",context:"standalone"})}}validate(n,s){return s>=1&&s<=4}set(n,s,i){return n.setMonth((i-1)*3,1),n.setHours(0,0,0,0),n}}class MO extends at{constructor(){super(...arguments);le(this,"incompatibleTokens",["Y","R","q","Q","L","w","I","D","i","e","c","t","T"]);le(this,"priority",110)}parse(n,s,i){const o=r=>r-1;switch(s){case"M":return Rt(St(It.month,n),o);case"MM":return Rt(Tt(2,n),o);case"Mo":return Rt(i.ordinalNumber(n,{unit:"month"}),o);case"MMM":return i.month(n,{width:"abbreviated",context:"formatting"})||i.month(n,{width:"narrow",context:"formatting"});case"MMMMM":return i.month(n,{width:"narrow",context:"formatting"});case"MMMM":default:return i.month(n,{width:"wide",context:"formatting"})||i.month(n,{width:"abbreviated",context:"formatting"})||i.month(n,{width:"narrow",context:"formatting"})}}validate(n,s){return s>=0&&s<=11}set(n,s,i){return n.setMonth(i,1),n.setHours(0,0,0,0),n}}class TO extends at{constructor(){super(...arguments);le(this,"priority",110);le(this,"incompatibleTokens",["Y","R","q","Q","M","w","I","D","i","e","c","t","T"])}parse(n,s,i){const o=r=>r-1;switch(s){case"L":return Rt(St(It.month,n),o);case"LL":return Rt(Tt(2,n),o);case"Lo":return Rt(i.ordinalNumber(n,{unit:"month"}),o);case"LLL":return i.month(n,{width:"abbreviated",context:"standalone"})||i.month(n,{width:"narrow",context:"standalone"});case"LLLLL":return i.month(n,{width:"narrow",context:"standalone"});case"LLLL":default:return i.month(n,{width:"wide",context:"standalone"})||i.month(n,{width:"abbreviated",context:"standalone"})||i.month(n,{width:"narrow",context:"standalone"})}}validate(n,s){return s>=0&&s<=11}set(n,s,i){return n.setMonth(i,1),n.setHours(0,0,0,0),n}}function DO(e,t,n){const s=Fe(e),i=Cf(s,n)-t;return s.setDate(s.getDate()-i*7),s}class OO extends at{constructor(){super(...arguments);le(this,"priority",100);le(this,"incompatibleTokens",["y","R","u","q","Q","M","L","I","d","D","i","t","T"])}parse(n,s,i){switch(s){case"w":return St(It.week,n);case"wo":return i.ordinalNumber(n,{unit:"week"});default:return Tt(s.length,n)}}validate(n,s){return s>=1&&s<=53}set(n,s,i,o){return hs(DO(n,i,o),o)}}function IO(e,t){const n=Fe(e),s=$f(n)-t;return n.setDate(n.getDate()-s*7),n}class RO extends at{constructor(){super(...arguments);le(this,"priority",100);le(this,"incompatibleTokens",["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"])}parse(n,s,i){switch(s){case"I":return St(It.week,n);case"Io":return i.ordinalNumber(n,{unit:"week"});default:return Tt(s.length,n)}}validate(n,s){return s>=1&&s<=53}set(n,s,i){return kr(IO(n,i))}}const LO=[31,28,31,30,31,30,31,31,30,31,30,31],NO=[31,29,31,30,31,30,31,31,30,31,30,31];class FO extends at{constructor(){super(...arguments);le(this,"priority",90);le(this,"subPriority",1);le(this,"incompatibleTokens",["Y","R","q","Q","w","I","D","i","e","c","t","T"])}parse(n,s,i){switch(s){case"d":return St(It.date,n);case"do":return i.ordinalNumber(n,{unit:"date"});default:return Tt(s.length,n)}}validate(n,s){const i=n.getFullYear(),o=qy(i),r=n.getMonth();return o?s>=1&&s<=NO[r]:s>=1&&s<=LO[r]}set(n,s,i){return n.setDate(i),n.setHours(0,0,0,0),n}}class BO extends at{constructor(){super(...arguments);le(this,"priority",90);le(this,"subpriority",1);le(this,"incompatibleTokens",["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"])}parse(n,s,i){switch(s){case"D":case"DD":return St(It.dayOfYear,n);case"Do":return i.ordinalNumber(n,{unit:"date"});default:return Tt(s.length,n)}}validate(n,s){const i=n.getFullYear();return qy(i)?s>=1&&s<=366:s>=1&&s<=365}set(n,s,i){return n.setMonth(0,i),n.setHours(0,0,0,0),n}}function Pf(e,t,n){var d,f,p,m;const s=Lo(),i=(n==null?void 0:n.weekStartsOn)??((f=(d=n==null?void 0:n.locale)==null?void 0:d.options)==null?void 0:f.weekStartsOn)??s.weekStartsOn??((m=(p=s.locale)==null?void 0:p.options)==null?void 0:m.weekStartsOn)??0,o=Fe(e),r=o.getDay(),l=(t%7+7)%7,c=7-i,u=t<0||t>6?t-(r+c)%7:(l+c)%7-(r+c)%7;return os(o,u)}class VO extends at{constructor(){super(...arguments);le(this,"priority",90);le(this,"incompatibleTokens",["D","i","e","c","t","T"])}parse(n,s,i){switch(s){case"E":case"EE":case"EEE":return i.day(n,{width:"abbreviated",context:"formatting"})||i.day(n,{width:"short",context:"formatting"})||i.day(n,{width:"narrow",context:"formatting"});case"EEEEE":return i.day(n,{width:"narrow",context:"formatting"});case"EEEEEE":return i.day(n,{width:"short",context:"formatting"})||i.day(n,{width:"narrow",context:"formatting"});case"EEEE":default:return i.day(n,{width:"wide",context:"formatting"})||i.day(n,{width:"abbreviated",context:"formatting"})||i.day(n,{width:"short",context:"formatting"})||i.day(n,{width:"narrow",context:"formatting"})}}validate(n,s){return s>=0&&s<=6}set(n,s,i,o){return n=Pf(n,i,o),n.setHours(0,0,0,0),n}}class HO extends at{constructor(){super(...arguments);le(this,"priority",90);le(this,"incompatibleTokens",["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"])}parse(n,s,i,o){const r=a=>{const l=Math.floor((a-1)/7)*7;return(a+o.weekStartsOn+6)%7+l};switch(s){case"e":case"ee":return Rt(Tt(s.length,n),r);case"eo":return Rt(i.ordinalNumber(n,{unit:"day"}),r);case"eee":return i.day(n,{width:"abbreviated",context:"formatting"})||i.day(n,{width:"short",context:"formatting"})||i.day(n,{width:"narrow",context:"formatting"});case"eeeee":return i.day(n,{width:"narrow",context:"formatting"});case"eeeeee":return i.day(n,{width:"short",context:"formatting"})||i.day(n,{width:"narrow",context:"formatting"});case"eeee":default:return i.day(n,{width:"wide",context:"formatting"})||i.day(n,{width:"abbreviated",context:"formatting"})||i.day(n,{width:"short",context:"formatting"})||i.day(n,{width:"narrow",context:"formatting"})}}validate(n,s){return s>=0&&s<=6}set(n,s,i,o){return n=Pf(n,i,o),n.setHours(0,0,0,0),n}}class jO extends at{constructor(){super(...arguments);le(this,"priority",90);le(this,"incompatibleTokens",["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"])}parse(n,s,i,o){const r=a=>{const l=Math.floor((a-1)/7)*7;return(a+o.weekStartsOn+6)%7+l};switch(s){case"c":case"cc":return Rt(Tt(s.length,n),r);case"co":return Rt(i.ordinalNumber(n,{unit:"day"}),r);case"ccc":return i.day(n,{width:"abbreviated",context:"standalone"})||i.day(n,{width:"short",context:"standalone"})||i.day(n,{width:"narrow",context:"standalone"});case"ccccc":return i.day(n,{width:"narrow",context:"standalone"});case"cccccc":return i.day(n,{width:"short",context:"standalone"})||i.day(n,{width:"narrow",context:"standalone"});case"cccc":default:return i.day(n,{width:"wide",context:"standalone"})||i.day(n,{width:"abbreviated",context:"standalone"})||i.day(n,{width:"short",context:"standalone"})||i.day(n,{width:"narrow",context:"standalone"})}}validate(n,s){return s>=0&&s<=6}set(n,s,i,o){return n=Pf(n,i,o),n.setHours(0,0,0,0),n}}function WO(e,t){const n=Fe(e),s=vO(n),i=t-s;return os(n,i)}class zO extends at{constructor(){super(...arguments);le(this,"priority",90);le(this,"incompatibleTokens",["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"])}parse(n,s,i){const o=r=>r===0?7:r;switch(s){case"i":case"ii":return Tt(s.length,n);case"io":return i.ordinalNumber(n,{unit:"day"});case"iii":return Rt(i.day(n,{width:"abbreviated",context:"formatting"})||i.day(n,{width:"short",context:"formatting"})||i.day(n,{width:"narrow",context:"formatting"}),o);case"iiiii":return Rt(i.day(n,{width:"narrow",context:"formatting"}),o);case"iiiiii":return Rt(i.day(n,{width:"short",context:"formatting"})||i.day(n,{width:"narrow",context:"formatting"}),o);case"iiii":default:return Rt(i.day(n,{width:"wide",context:"formatting"})||i.day(n,{width:"abbreviated",context:"formatting"})||i.day(n,{width:"short",context:"formatting"})||i.day(n,{width:"narrow",context:"formatting"}),o)}}validate(n,s){return s>=1&&s<=7}set(n,s,i){return n=WO(n,i),n.setHours(0,0,0,0),n}}class YO extends at{constructor(){super(...arguments);le(this,"priority",80);le(this,"incompatibleTokens",["b","B","H","k","t","T"])}parse(n,s,i){switch(s){case"a":case"aa":case"aaa":return i.dayPeriod(n,{width:"abbreviated",context:"formatting"})||i.dayPeriod(n,{width:"narrow",context:"formatting"});case"aaaaa":return i.dayPeriod(n,{width:"narrow",context:"formatting"});case"aaaa":default:return i.dayPeriod(n,{width:"wide",context:"formatting"})||i.dayPeriod(n,{width:"abbreviated",context:"formatting"})||i.dayPeriod(n,{width:"narrow",context:"formatting"})}}set(n,s,i){return n.setHours(Ef(i),0,0,0),n}}class KO extends at{constructor(){super(...arguments);le(this,"priority",80);le(this,"incompatibleTokens",["a","B","H","k","t","T"])}parse(n,s,i){switch(s){case"b":case"bb":case"bbb":return i.dayPeriod(n,{width:"abbreviated",context:"formatting"})||i.dayPeriod(n,{width:"narrow",context:"formatting"});case"bbbbb":return i.dayPeriod(n,{width:"narrow",context:"formatting"});case"bbbb":default:return i.dayPeriod(n,{width:"wide",context:"formatting"})||i.dayPeriod(n,{width:"abbreviated",context:"formatting"})||i.dayPeriod(n,{width:"narrow",context:"formatting"})}}set(n,s,i){return n.setHours(Ef(i),0,0,0),n}}class UO extends at{constructor(){super(...arguments);le(this,"priority",80);le(this,"incompatibleTokens",["a","b","t","T"])}parse(n,s,i){switch(s){case"B":case"BB":case"BBB":return i.dayPeriod(n,{width:"abbreviated",context:"formatting"})||i.dayPeriod(n,{width:"narrow",context:"formatting"});case"BBBBB":return i.dayPeriod(n,{width:"narrow",context:"formatting"});case"BBBB":default:return i.dayPeriod(n,{width:"wide",context:"formatting"})||i.dayPeriod(n,{width:"abbreviated",context:"formatting"})||i.dayPeriod(n,{width:"narrow",context:"formatting"})}}set(n,s,i){return n.setHours(Ef(i),0,0,0),n}}class qO extends at{constructor(){super(...arguments);le(this,"priority",70);le(this,"incompatibleTokens",["H","K","k","t","T"])}parse(n,s,i){switch(s){case"h":return St(It.hour12h,n);case"ho":return i.ordinalNumber(n,{unit:"hour"});default:return Tt(s.length,n)}}validate(n,s){return s>=1&&s<=12}set(n,s,i){const o=n.getHours()>=12;return o&&i<12?n.setHours(i+12,0,0,0):!o&&i===12?n.setHours(0,0,0,0):n.setHours(i,0,0,0),n}}class GO extends at{constructor(){super(...arguments);le(this,"priority",70);le(this,"incompatibleTokens",["a","b","h","K","k","t","T"])}parse(n,s,i){switch(s){case"H":return St(It.hour23h,n);case"Ho":return i.ordinalNumber(n,{unit:"hour"});default:return Tt(s.length,n)}}validate(n,s){return s>=0&&s<=23}set(n,s,i){return n.setHours(i,0,0,0),n}}class JO extends at{constructor(){super(...arguments);le(this,"priority",70);le(this,"incompatibleTokens",["h","H","k","t","T"])}parse(n,s,i){switch(s){case"K":return St(It.hour11h,n);case"Ko":return i.ordinalNumber(n,{unit:"hour"});default:return Tt(s.length,n)}}validate(n,s){return s>=0&&s<=11}set(n,s,i){return n.getHours()>=12&&i<12?n.setHours(i+12,0,0,0):n.setHours(i,0,0,0),n}}class XO extends at{constructor(){super(...arguments);le(this,"priority",70);le(this,"incompatibleTokens",["a","b","h","H","K","t","T"])}parse(n,s,i){switch(s){case"k":return St(It.hour24h,n);case"ko":return i.ordinalNumber(n,{unit:"hour"});default:return Tt(s.length,n)}}validate(n,s){return s>=1&&s<=24}set(n,s,i){const o=i<=24?i%24:i;return n.setHours(o,0,0,0),n}}class QO extends at{constructor(){super(...arguments);le(this,"priority",60);le(this,"incompatibleTokens",["t","T"])}parse(n,s,i){switch(s){case"m":return St(It.minute,n);case"mo":return i.ordinalNumber(n,{unit:"minute"});default:return Tt(s.length,n)}}validate(n,s){return s>=0&&s<=59}set(n,s,i){return n.setMinutes(i,0,0),n}}class ZO extends at{constructor(){super(...arguments);le(this,"priority",50);le(this,"incompatibleTokens",["t","T"])}parse(n,s,i){switch(s){case"s":return St(It.second,n);case"so":return i.ordinalNumber(n,{unit:"second"});default:return Tt(s.length,n)}}validate(n,s){return s>=0&&s<=59}set(n,s,i){return n.setSeconds(i,0),n}}class eI extends at{constructor(){super(...arguments);le(this,"priority",30);le(this,"incompatibleTokens",["t","T"])}parse(n,s){const i=o=>Math.trunc(o*Math.pow(10,-s.length+3));return Rt(Tt(s.length,n),i)}set(n,s,i){return n.setMilliseconds(i),n}}class tI extends at{constructor(){super(...arguments);le(this,"priority",10);le(this,"incompatibleTokens",["t","T","x"])}parse(n,s){switch(s){case"X":return ks(xs.basicOptionalMinutes,n);case"XX":return ks(xs.basic,n);case"XXXX":return ks(xs.basicOptionalSeconds,n);case"XXXXX":return ks(xs.extendedOptionalSeconds,n);case"XXX":default:return ks(xs.extended,n)}}set(n,s,i){return s.timestampIsSet?n:rt(n,n.getTime()-Dc(n)-i)}}class nI extends at{constructor(){super(...arguments);le(this,"priority",10);le(this,"incompatibleTokens",["t","T","X"])}parse(n,s){switch(s){case"x":return ks(xs.basicOptionalMinutes,n);case"xx":return ks(xs.basic,n);case"xxxx":return ks(xs.basicOptionalSeconds,n);case"xxxxx":return ks(xs.extendedOptionalSeconds,n);case"xxx":default:return ks(xs.extended,n)}}set(n,s,i){return s.timestampIsSet?n:rt(n,n.getTime()-Dc(n)-i)}}class sI extends at{constructor(){super(...arguments);le(this,"priority",40);le(this,"incompatibleTokens","*")}parse(n){return Ky(n)}set(n,s,i){return[rt(n,i*1e3),{timestampIsSet:!0}]}}class iI extends at{constructor(){super(...arguments);le(this,"priority",20);le(this,"incompatibleTokens","*")}parse(n){return Ky(n)}set(n,s,i){return[rt(n,i),{timestampIsSet:!0}]}}const oI={G:new kO,y:new SO,Y:new $O,R:new AO,u:new CO,Q:new EO,q:new PO,M:new MO,L:new TO,w:new OO,I:new RO,d:new FO,D:new BO,E:new VO,e:new HO,c:new jO,i:new zO,a:new YO,b:new KO,B:new UO,h:new qO,H:new GO,K:new JO,k:new XO,m:new QO,s:new ZO,S:new eI,X:new tI,x:new nI,t:new sI,T:new iI},rI=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,aI=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,lI=/^'([^]*?)'?$/,cI=/''/g,uI=/\S/,dI=/[a-zA-Z]/;function ih(e,t,n,s){var _,b,w,$,A,T,k,y;const i=_O(),o=(s==null?void 0:s.locale)??i.locale??Hy,r=(s==null?void 0:s.firstWeekContainsDate)??((b=(_=s==null?void 0:s.locale)==null?void 0:_.options)==null?void 0:b.firstWeekContainsDate)??i.firstWeekContainsDate??(($=(w=i.locale)==null?void 0:w.options)==null?void 0:$.firstWeekContainsDate)??1,a=(s==null?void 0:s.weekStartsOn)??((T=(A=s==null?void 0:s.locale)==null?void 0:A.options)==null?void 0:T.weekStartsOn)??i.weekStartsOn??((y=(k=i.locale)==null?void 0:k.options)==null?void 0:y.weekStartsOn)??0;if(t==="")return e===""?Fe(n):rt(n,NaN);const l={firstWeekContainsDate:r,weekStartsOn:a,locale:o},c=[new xO],u=t.match(aI).map(x=>{const C=x[0];if(C in nh){const P=nh[C];return P(x,o.formatLong)}return x}).join("").match(rI),d=[];for(let x of u){!(s!=null&&s.useAdditionalWeekYearTokens)&&zy(x)&&sh(x,t,e),!(s!=null&&s.useAdditionalDayOfYearTokens)&&Wy(x)&&sh(x,t,e);const C=x[0],P=oI[C];if(P){const{incompatibleTokens:E}=P;if(Array.isArray(E)){const G=d.find(ae=>E.includes(ae.token)||ae.token===C);if(G)throw new RangeError(`The format string mustn't contain \`${G.fullToken}\` and \`${x}\` at the same time`)}else if(P.incompatibleTokens==="*"&&d.length>0)throw new RangeError(`The format string mustn't contain \`${x}\` and any other token at the same time`);d.push({token:C,fullToken:x});const B=P.run(e,x,o.match,l);if(!B)return rt(n,NaN);c.push(B.setter),e=B.rest}else{if(C.match(dI))throw new RangeError("Format string contains an unescaped latin alphabet character `"+C+"`");if(x==="''"?x="'":C==="'"&&(x=hI(x)),e.indexOf(x)===0)e=e.slice(x.length);else return rt(n,NaN)}}if(e.length>0&&uI.test(e))return rt(n,NaN);const f=c.map(x=>x.priority).sort((x,C)=>C-x).filter((x,C,P)=>P.indexOf(x)===C).map(x=>c.filter(C=>C.priority===x).sort((C,P)=>P.subPriority-C.subPriority)).map(x=>x[0]);let p=Fe(n);if(isNaN(p.getTime()))return rt(n,NaN);const m={};for(const x of f){if(!x.validate(p,l))return rt(n,NaN);const C=x.set(p,m,l);Array.isArray(C)?(p=C[0],Object.assign(m,C[1])):p=C}return rt(n,p)}function hI(e){return e.match(lI)[1].replace(cI,"'")}function Mm(e,t){const n=vo(e),s=vo(t);return+n==+s}function fI(e,t){return os(e,-t)}function Gy(e,t){const n=Fe(e),s=n.getFullYear(),i=n.getDate(),o=rt(e,0);o.setFullYear(s,t,15),o.setHours(0,0,0,0);const r=mO(o);return n.setMonth(t,Math.min(i,r)),n}function ht(e,t){let n=Fe(e);return isNaN(+n)?rt(e,NaN):(t.year!=null&&n.setFullYear(t.year),t.month!=null&&(n=Gy(n,t.month)),t.date!=null&&n.setDate(t.date),t.hours!=null&&n.setHours(t.hours),t.minutes!=null&&n.setMinutes(t.minutes),t.seconds!=null&&n.setSeconds(t.seconds),t.milliseconds!=null&&n.setMilliseconds(t.milliseconds),n)}function pI(e,t){const n=Fe(e);return n.setHours(t),n}function Jy(e,t){const n=Fe(e);return n.setMilliseconds(t),n}function gI(e,t){const n=Fe(e);return n.setMinutes(t),n}function Xy(e,t){const n=Fe(e);return n.setSeconds(t),n}function Ss(e,t){const n=Fe(e);return isNaN(+n)?rt(e,NaN):(n.setFullYear(t),n)}function Ar(e,t){return cs(e,-t)}function mI(e,t){const{years:n=0,months:s=0,weeks:i=0,days:o=0,hours:r=0,minutes:a=0,seconds:l=0}=t,c=Ar(e,s+n*12),u=fI(c,o+i*7),d=a+r*60,p=(l+d*60)*1e3;return rt(e,u.getTime()-p)}function Qy(e,t){return Sf(e,-t)}function Vr(){const e=wA();return D(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img",...e},[h("path",{d:"M29.333 8c0-2.208-1.792-4-4-4h-18.667c-2.208 0-4 1.792-4 4v18.667c0 2.208 1.792 4 4 4h18.667c2.208 0 4-1.792 4-4v-18.667zM26.667 8v18.667c0 0.736-0.597 1.333-1.333 1.333 0 0-18.667 0-18.667 0-0.736 0-1.333-0.597-1.333-1.333 0 0 0-18.667 0-18.667 0-0.736 0.597-1.333 1.333-1.333 0 0 18.667 0 18.667 0 0.736 0 1.333 0.597 1.333 1.333z"}),h("path",{d:"M20 2.667v5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-5.333c0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z"}),h("path",{d:"M9.333 2.667v5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-5.333c0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z"}),h("path",{d:"M4 14.667h24c0.736 0 1.333-0.597 1.333-1.333s-0.597-1.333-1.333-1.333h-24c-0.736 0-1.333 0.597-1.333 1.333s0.597 1.333 1.333 1.333z"})])}Vr.compatConfig={MODE:3};function Zy(){return D(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[h("path",{d:"M23.057 7.057l-16 16c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l16-16c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0z"}),h("path",{d:"M7.057 8.943l16 16c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885l-16-16c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z"})])}Zy.compatConfig={MODE:3};function Mf(){return D(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[h("path",{d:"M20.943 23.057l-7.057-7.057c0 0 7.057-7.057 7.057-7.057 0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0l-8 8c-0.521 0.521-0.521 1.365 0 1.885l8 8c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885z"})])}Mf.compatConfig={MODE:3};function Tf(){return D(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[h("path",{d:"M12.943 24.943l8-8c0.521-0.521 0.521-1.365 0-1.885l-8-8c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885l7.057 7.057c0 0-7.057 7.057-7.057 7.057-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0z"})])}Tf.compatConfig={MODE:3};function Df(){return D(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[h("path",{d:"M16 1.333c-8.095 0-14.667 6.572-14.667 14.667s6.572 14.667 14.667 14.667c8.095 0 14.667-6.572 14.667-14.667s-6.572-14.667-14.667-14.667zM16 4c6.623 0 12 5.377 12 12s-5.377 12-12 12c-6.623 0-12-5.377-12-12s5.377-12 12-12z"}),h("path",{d:"M14.667 8v8c0 0.505 0.285 0.967 0.737 1.193l5.333 2.667c0.658 0.329 1.46 0.062 1.789-0.596s0.062-1.46-0.596-1.789l-4.596-2.298c0 0 0-7.176 0-7.176 0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z"})])}Df.compatConfig={MODE:3};function Of(){return D(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[h("path",{d:"M24.943 19.057l-8-8c-0.521-0.521-1.365-0.521-1.885 0l-8 8c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l7.057-7.057c0 0 7.057 7.057 7.057 7.057 0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885z"})])}Of.compatConfig={MODE:3};function If(){return D(),F("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor","aria-hidden":"true",class:"dp__icon",role:"img"},[h("path",{d:"M7.057 12.943l8 8c0.521 0.521 1.365 0.521 1.885 0l8-8c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0l-7.057 7.057c0 0-7.057-7.057-7.057-7.057-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z"})])}If.compatConfig={MODE:3};const En=(e,t)=>t?new Date(e.toLocaleString("en-US",{timeZone:t})):new Date(e),Rf=(e,t,n)=>oh(e,t,n)||xe(),_I=(e,t,n)=>{const s=t.dateInTz?En(new Date(e),t.dateInTz):xe(e);return n?wn(s,!0):s},oh=(e,t,n)=>{if(!e)return null;const s=n?wn(xe(e),!0):xe(e);return t?t.exactMatch?_I(e,t,n):En(s,t.timezone):s},vI=e=>{if(!e)return 0;const t=new Date,n=new Date(t.toLocaleString("en-US",{timeZone:"UTC"})),s=new Date(t.toLocaleString("en-US",{timeZone:e})),i=s.getTimezoneOffset()/60;return(+n-+s)/(1e3*60*60)-i};var ns=(e=>(e.month="month",e.year="year",e))(ns||{}),fo=(e=>(e.top="top",e.bottom="bottom",e))(fo||{}),ko=(e=>(e.header="header",e.calendar="calendar",e.timePicker="timePicker",e))(ko||{}),cn=(e=>(e.month="month",e.year="year",e.calendar="calendar",e.time="time",e.minutes="minutes",e.hours="hours",e.seconds="seconds",e))(cn||{});const bI=["timestamp","date","iso"];var mn=(e=>(e.up="up",e.down="down",e.left="left",e.right="right",e))(mn||{}),_t=(e=>(e.arrowUp="ArrowUp",e.arrowDown="ArrowDown",e.arrowLeft="ArrowLeft",e.arrowRight="ArrowRight",e.enter="Enter",e.space=" ",e.esc="Escape",e.tab="Tab",e.home="Home",e.end="End",e.pageUp="PageUp",e.pageDown="PageDown",e))(_t||{});function Tm(e){return t=>new Intl.DateTimeFormat(e,{weekday:"short",timeZone:"UTC"}).format(new Date(`2017-01-0${t}T00:00:00+00:00`)).slice(0,2)}function yI(e){return t=>Cs(En(new Date(`2017-01-0${t}T00:00:00+00:00`),"UTC"),"EEEEEE",{locale:e})}const wI=(e,t,n)=>{const s=[1,2,3,4,5,6,7];let i;if(e!==null)try{i=s.map(yI(e))}catch{i=s.map(Tm(t))}else i=s.map(Tm(t));const o=i.slice(0,n),r=i.slice(n+1,i.length);return[i[n]].concat(...r).concat(...o)},Lf=(e,t,n)=>{const s=[];for(let i=+e[0];i<=+e[1];i++)s.push({value:+i,text:s0(i,t)});return n?s.reverse():s},e0=(e,t,n)=>{const s=[1,2,3,4,5,6,7,8,9,10,11,12].map(o=>{const r=o<10?`0${o}`:o;return new Date(`2017-${r}-01T00:00:00+00:00`)});if(e!==null)try{const o=n==="long"?"LLLL":"LLL";return s.map((r,a)=>{const l=Cs(En(r,"UTC"),o,{locale:e});return{text:l.charAt(0).toUpperCase()+l.substring(1),value:a}})}catch{}const i=new Intl.DateTimeFormat(t,{month:n,timeZone:"UTC"});return s.map((o,r)=>{const a=i.format(o);return{text:a.charAt(0).toUpperCase()+a.substring(1),value:r}})},xI=e=>[12,1,2,3,4,5,6,7,8,9,10,11,12,1,2,3,4,5,6,7,8,9,10,11][e],jt=e=>{const t=q(e);return t!=null&&t.$el?t==null?void 0:t.$el:t},kI=e=>({type:"dot",...e??{}}),t0=e=>Array.isArray(e)?!!e[0]&&!!e[1]:!1,Nf={prop:e=>`"${e}" prop must be enabled!`,dateArr:e=>`You need to use array as "model-value" binding in order to support "${e}"`},Xt=e=>e,Dm=e=>e===0?e:!e||isNaN(+e)?null:+e,Om=e=>e===null,n0=e=>{if(e)return[...e.querySelectorAll("input, button, select, textarea, a[href]")][0]},SI=e=>{const t=[],n=s=>s.filter(i=>i);for(let s=0;s{const s=n!=null,i=t!=null;if(!s&&!i)return!1;const o=+n,r=+t;return s&&i?+e>o||+eo:i?+eSI(e).map(n=>n.map(s=>{const{active:i,disabled:o,isBetween:r,highlighted:a}=t(s);return{...s,active:i,disabled:o,className:{dp__overlay_cell_active:i,dp__overlay_cell:!i,dp__overlay_cell_disabled:o,dp__overlay_cell_pad:!0,dp__overlay_cell_active_disabled:o&&i,dp__cell_in_between:r,"dp--highlighted":a}}})),Ti=(e,t,n=!1)=>{e&&t.allowStopPropagation&&(n&&e.stopImmediatePropagation(),e.stopPropagation())},$I=()=>["a[href]","area[href]","input:not([disabled]):not([type='hidden'])","select:not([disabled])","textarea:not([disabled])","button:not([disabled])","[tabindex]:not([tabindex='-1'])","[data-datepicker-instance]"].join(", ");function AI(e,t){let n=[...document.querySelectorAll($I())];n=n.filter(i=>!e.contains(i)||i.hasAttribute("data-datepicker-instance"));const s=n.indexOf(e);if(s>=0&&(t?s-1>=0:s+1<=n.length))return n[s+(t?-1:1)]}const rh=(e,t)=>e==null?void 0:e.querySelector(`[data-dp-element="${t}"]`),s0=(e,t)=>new Intl.NumberFormat(t,{useGrouping:!1,style:"decimal"}).format(e),Ff=e=>Cs(e,"dd-MM-yyyy"),id=e=>Array.isArray(e),Ic=(e,t)=>t.get(Ff(e)),CI=(e,t)=>e?t?t instanceof Map?!!Ic(e,t):t(xe(e)):!1:!0,vn=(e,t,n=!1,s)=>{if(e.key===_t.enter||e.key===_t.space)return n&&e.preventDefault(),t();if(s)return s(e)},EI=()=>["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].some(e=>navigator.userAgent.includes(e))||navigator.userAgent.includes("Mac")&&"ontouchend"in document,Im=(e,t,n,s,i,o)=>{const r=ih(e,t.slice(0,e.length),new Date,{locale:o});return Sa(r)&&Ny(r)?s||i?r:ht(r,{hours:+n.hours,minutes:+(n==null?void 0:n.minutes),seconds:+(n==null?void 0:n.seconds),milliseconds:0}):null},PI=(e,t,n,s,i,o)=>{const r=Array.isArray(n)?n[0]:n;if(typeof t=="string")return Im(e,t,r,s,i,o);if(Array.isArray(t)){let a=null;for(const l of t)if(a=Im(e,l,r,s,i,o),a)break;return a}return typeof t=="function"?t(e):null},xe=e=>e?new Date(e):new Date,MI=(e,t,n)=>{if(t){const i=(e.getMonth()+1).toString().padStart(2,"0"),o=e.getDate().toString().padStart(2,"0"),r=e.getHours().toString().padStart(2,"0"),a=e.getMinutes().toString().padStart(2,"0"),l=n?e.getSeconds().toString().padStart(2,"0"):"00";return`${e.getFullYear()}-${i}-${o}T${r}:${a}:${l}.000Z`}const s=Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds());return new Date(s).toISOString()},wn=(e,t)=>{const n=xe(JSON.parse(JSON.stringify(e))),s=ht(n,{hours:0,minutes:0,seconds:0,milliseconds:0});return t?k2(s):s},Di=(e,t,n,s)=>{let i=e?xe(e):xe();return(t||t===0)&&(i=pI(i,+t)),(n||n===0)&&(i=gI(i,+n)),(s||s===0)&&(i=Xy(i,+s)),Jy(i,0)},At=(e,t)=>!e||!t?!1:za(wn(e),wn(t)),nt=(e,t)=>!e||!t?!1:ir(wn(e),wn(t)),Ot=(e,t)=>!e||!t?!1:$r(wn(e),wn(t)),fu=(e,t,n)=>e!=null&&e[0]&&e!=null&&e[1]?Ot(n,e[0])&&At(n,e[1]):e!=null&&e[0]&&t?Ot(n,e[0])&&At(n,t)||At(n,e[0])&&Ot(n,t):!1,rs=e=>{const t=ht(new Date(e),{date:1});return wn(t)},od=(e,t,n)=>t&&(n||n===0)?Object.fromEntries(["hours","minutes","seconds"].map(s=>s===t?[s,n]:[s,isNaN(+e[s])?void 0:+e[s]])):{hours:isNaN(+e.hours)?void 0:+e.hours,minutes:isNaN(+e.minutes)?void 0:+e.minutes,seconds:isNaN(+e.seconds)?void 0:+e.seconds},So=e=>({hours:ei(e),minutes:Ni(e),seconds:Sr(e)}),i0=(e,t)=>{if(t){const n=Ye(xe(t));if(n>e)return 12;if(n===e)return Qe(xe(t))}},o0=(e,t)=>{if(t){const n=Ye(xe(t));return n{if(e)return Ye(xe(e))},r0=(e,t)=>{const n=Ot(e,t)?t:e,s=Ot(t,e)?t:e;return Fy({start:n,end:s})},TI=e=>{const t=cs(e,1);return{month:Qe(t),year:Ye(t)}},zs=(e,t)=>{const n=hs(e,{weekStartsOn:+t}),s=Vy(e,{weekStartsOn:+t});return[n,s]},a0=(e,t)=>{const n={hours:ei(xe()),minutes:Ni(xe()),seconds:t?Sr(xe()):0};return Object.assign(n,e)},ki=(e,t,n)=>[ht(xe(e),{date:1}),ht(xe(),{month:t,year:n,date:1})],Us=(e,t,n)=>{let s=e?xe(e):xe();return(t||t===0)&&(s=Gy(s,t)),n&&(s=Ss(s,n)),s},l0=(e,t,n,s,i)=>{if(!s||i&&!t||!i&&!n)return!1;const o=i?cs(e,1):Ar(e,1),r=[Qe(o),Ye(o)];return i?!OI(...r,t):!DI(...r,n)},DI=(e,t,n)=>At(...ki(n,e,t))||nt(...ki(n,e,t)),OI=(e,t,n)=>Ot(...ki(n,e,t))||nt(...ki(n,e,t)),c0=(e,t,n,s,i,o,r)=>{if(typeof t=="function"&&!r)return t(e);const a=n?{locale:n}:void 0;return Array.isArray(e)?`${Cs(e[0],o,a)}${i&&!e[1]?"":s}${e[1]?Cs(e[1],o,a):""}`:Cs(e,o,a)},Xo=e=>{if(e)return null;throw new Error(Nf.prop("partial-range"))},Bl=(e,t)=>{if(t)return e();throw new Error(Nf.prop("range"))},ah=e=>Array.isArray(e)?Sa(e[0])&&(e[1]?Sa(e[1]):!0):e?Sa(e):!1,II=(e,t)=>ht(t??xe(),{hours:+e.hours||0,minutes:+e.minutes||0,seconds:+e.seconds||0}),rd=(e,t,n,s)=>{if(!e)return!0;if(s){const i=n==="max"?za(e,t):$r(e,t),o={seconds:0,milliseconds:0};return i||ir(ht(e,o),ht(t,o))}return n==="max"?e.getTime()<=t.getTime():e.getTime()>=t.getTime()},ad=(e,t,n)=>e?II(e,t):xe(n??t),Rm=(e,t,n,s,i)=>{if(Array.isArray(s)){const r=ad(e,s[0],t),a=ad(e,s[1],t);return rd(s[0],r,n,!!t)&&rd(s[1],a,n,!!t)&&i}const o=ad(e,s,t);return rd(s,o,n,!!t)&&i},ld=e=>ht(xe(),So(e)),RI=(e,t)=>e instanceof Map?Array.from(e.values()).filter(n=>Ye(xe(n))===t).map(n=>Qe(n)):[],u0=(e,t,n)=>typeof e=="function"?e({month:t,year:n}):!!e.months.find(s=>s.month===t&&s.year===n),Bf=(e,t)=>typeof e=="function"?e(t):e.years.includes(t),d0=e=>Cs(e,"yyyy-MM-dd"),ea=Ds({menuFocused:!1,shiftKeyInMenu:!1}),h0=()=>{const e=n=>{ea.menuFocused=n},t=n=>{ea.shiftKeyInMenu!==n&&(ea.shiftKeyInMenu=n)};return{control:ve(()=>({shiftKeyInMenu:ea.shiftKeyInMenu,menuFocused:ea.menuFocused})),setMenuFocused:e,setShiftKey:t}},mt=Ds({monthYear:[],calendar:[],time:[],actionRow:[],selectionGrid:[],timePicker:{0:[],1:[]},monthPicker:[]}),cd=be(null),Vl=be(!1),ud=be(!1),dd=be(!1),hd=be(!1),an=be(0),Dt=be(0),Yi=()=>{const e=ve(()=>Vl.value?[...mt.selectionGrid,mt.actionRow].filter(d=>d.length):ud.value?[...mt.timePicker[0],...mt.timePicker[1],hd.value?[]:[cd.value],mt.actionRow].filter(d=>d.length):dd.value?[...mt.monthPicker,mt.actionRow]:[mt.monthYear,...mt.calendar,mt.time,mt.actionRow].filter(d=>d.length)),t=d=>{an.value=d?an.value+1:an.value-1;let f=null;e.value[Dt.value]&&(f=e.value[Dt.value][an.value]),!f&&e.value[Dt.value+(d?1:-1)]?(Dt.value=Dt.value+(d?1:-1),an.value=d?0:e.value[Dt.value].length-1):f||(an.value=d?an.value-1:an.value+1)},n=d=>{Dt.value===0&&!d||Dt.value===e.value.length&&d||(Dt.value=d?Dt.value+1:Dt.value-1,e.value[Dt.value]?e.value[Dt.value]&&!e.value[Dt.value][an.value]&&an.value!==0&&(an.value=e.value[Dt.value].length-1):Dt.value=d?Dt.value-1:Dt.value+1)},s=d=>{let f=null;e.value[Dt.value]&&(f=e.value[Dt.value][an.value]),f?f.focus({preventScroll:!Vl.value}):an.value=d?an.value-1:an.value+1},i=()=>{t(!0),s(!0)},o=()=>{t(!1),s(!1)},r=()=>{n(!1),s(!0)},a=()=>{n(!0),s(!0)},l=(d,f)=>{mt[f]=d},c=(d,f)=>{mt[f]=d},u=()=>{an.value=0,Dt.value=0};return{buildMatrix:l,buildMultiLevelMatrix:c,setTimePickerBackRef:d=>{cd.value=d},setSelectionGrid:d=>{Vl.value=d,u(),d||(mt.selectionGrid=[])},setTimePicker:(d,f=!1)=>{ud.value=d,hd.value=f,u(),d||(mt.timePicker[0]=[],mt.timePicker[1]=[])},setTimePickerElements:(d,f=0)=>{mt.timePicker[f]=d},arrowRight:i,arrowLeft:o,arrowUp:r,arrowDown:a,clearArrowNav:()=>{mt.monthYear=[],mt.calendar=[],mt.time=[],mt.actionRow=[],mt.selectionGrid=[],mt.timePicker[0]=[],mt.timePicker[1]=[],Vl.value=!1,ud.value=!1,hd.value=!1,dd.value=!1,u(),cd.value=null},setMonthPicker:d=>{dd.value=d,u()},refSets:mt}},Lm=e=>({menuAppearTop:"dp-menu-appear-top",menuAppearBottom:"dp-menu-appear-bottom",open:"dp-slide-down",close:"dp-slide-up",next:"calendar-next",previous:"calendar-prev",vNext:"dp-slide-up",vPrevious:"dp-slide-down",...e??{}}),LI=e=>({toggleOverlay:"Toggle overlay",menu:"Datepicker menu",input:"Datepicker input",openTimePicker:"Open time picker",closeTimePicker:"Close time Picker",incrementValue:t=>`Increment ${t}`,decrementValue:t=>`Decrement ${t}`,openTpOverlay:t=>`Open ${t} overlay`,amPmButton:"Switch AM/PM mode",openYearsOverlay:"Open years overlay",openMonthsOverlay:"Open months overlay",nextMonth:"Next month",prevMonth:"Previous month",nextYear:"Next year",prevYear:"Previous year",day:void 0,weekDay:void 0,clearInput:"Clear value",calendarIcon:"Calendar icon",timePicker:"Time picker",monthPicker:t=>`Month picker${t?" overlay":""}`,yearPicker:t=>`Year picker${t?" overlay":""}`,timeOverlay:t=>`${t} overlay`,...e??{}}),Nm=e=>e?typeof e=="boolean"?e?2:0:+e>=2?+e:2:0,NI=e=>{const t=typeof e=="object"&&e,n={static:!0,solo:!1};if(!e)return{...n,count:Nm(!1)};const s=t?e:{},i=t?s.count??!0:e,o=Nm(i);return Object.assign(n,s,{count:o})},FI=(e,t,n)=>e||(typeof n=="string"?n:t),BI=e=>typeof e=="boolean"?e?Lm({}):!1:Lm(e),VI=e=>{const t={enterSubmit:!0,tabSubmit:!0,openMenu:"open",selectOnFocus:!1,rangeSeparator:" - "};return typeof e=="object"?{...t,...e??{},enabled:!0}:{...t,enabled:e}},HI=e=>({months:[],years:[],times:{hours:[],minutes:[],seconds:[]},...e??{}}),jI=e=>({showSelect:!0,showCancel:!0,showNow:!1,showPreview:!0,...e??{}}),WI=e=>{const t={input:!1};return typeof e=="object"?{...t,...e??{},enabled:!0}:{enabled:e,...t}},zI=e=>({allowStopPropagation:!0,closeOnScroll:!1,modeHeight:255,allowPreventDefault:!1,closeOnClearValue:!0,closeOnAutoApply:!0,noSwipe:!1,keepActionRow:!1,onClickOutside:void 0,tabOutClosesMenu:!0,arrowLeft:void 0,keepViewOnOffsetClick:!1,timeArrowHoldThreshold:0,shadowDom:!1,...e??{}}),YI=e=>{const t={dates:Array.isArray(e)?e.map(n=>xe(n)):[],years:[],months:[],quarters:[],weeks:[],weekdays:[],options:{highlightDisabled:!1}};return typeof e=="function"?e:{...t,...e??{}}},KI=e=>typeof e=="object"?{type:(e==null?void 0:e.type)??"local",hideOnOffsetDates:(e==null?void 0:e.hideOnOffsetDates)??!1}:{type:e,hideOnOffsetDates:!1},UI=e=>{const t={noDisabledRange:!1,showLastInRange:!0,minMaxRawRange:!1,partialRange:!0,disableTimeRangeValidation:!1,maxRange:void 0,minRange:void 0,autoRange:void 0,fixedStart:!1,fixedEnd:!1};return typeof e=="object"?{enabled:!0,...t,...e}:{enabled:e,...t}},qI=e=>e?typeof e=="string"?{timezone:e,exactMatch:!1,dateInTz:void 0,emitTimezone:void 0,convertModel:!0}:{timezone:e.timezone,exactMatch:e.exactMatch??!1,dateInTz:e.dateInTz??void 0,emitTimezone:e.emitTimezone??void 0,convertModel:e.convertModel??!0}:{timezone:void 0,exactMatch:!1,emitTimezone:void 0},fd=(e,t,n)=>new Map(e.map(s=>{const i=Rf(s,t,n);return[Ff(i),i]})),GI=(e,t)=>e.length?new Map(e.map(n=>{const s=Rf(n.date,t);return[Ff(s),n]})):null,JI=e=>{var t;return{minDate:oh(e.minDate,e.timezone,e.isSpecific),maxDate:oh(e.maxDate,e.timezone,e.isSpecific),disabledDates:id(e.disabledDates)?fd(e.disabledDates,e.timezone,e.isSpecific):e.disabledDates,allowedDates:id(e.allowedDates)?fd(e.allowedDates,e.timezone,e.isSpecific):null,highlight:typeof e.highlight=="object"&&id((t=e.highlight)==null?void 0:t.dates)?fd(e.highlight.dates,e.timezone):e.highlight,markers:GI(e.markers,e.timezone)}},XI=e=>typeof e=="boolean"?{enabled:e,dragSelect:!0,limit:null}:{enabled:!!e,limit:e.limit?+e.limit:null,dragSelect:e.dragSelect??!0},QI=e=>({...Object.fromEntries(Object.keys(e).map(t=>{const n=t,s=e[n],i=typeof e[n]=="string"?{[s]:!0}:Object.fromEntries(s.map(o=>[o,!0]));return[t,i]}))}),kt=e=>{const t=()=>{const y=e.enableSeconds?":ss":"",x=e.enableMinutes?":mm":"";return e.is24?`HH${x}${y}`:`hh${x}${y} aa`},n=()=>{var y;return e.format?e.format:e.monthPicker?"MM/yyyy":e.timePicker?t():e.weekPicker?`${((y=b.value)==null?void 0:y.type)==="iso"?"RR":"ww"}-yyyy`:e.yearPicker?"yyyy":e.quarterPicker?"QQQ/yyyy":e.enableTimePicker?`MM/dd/yyyy, ${t()}`:"MM/dd/yyyy"},s=y=>a0(y,e.enableSeconds),i=()=>T.value.enabled?e.startTime&&Array.isArray(e.startTime)?[s(e.startTime[0]),s(e.startTime[1])]:null:e.startTime&&!Array.isArray(e.startTime)?s(e.startTime):null,o=ve(()=>NI(e.multiCalendars)),r=ve(()=>i()),a=ve(()=>LI(e.ariaLabels)),l=ve(()=>HI(e.filters)),c=ve(()=>BI(e.transitions)),u=ve(()=>jI(e.actionRow)),d=ve(()=>FI(e.previewFormat,e.format,n())),f=ve(()=>VI(e.textInput)),p=ve(()=>WI(e.inline)),m=ve(()=>zI(e.config)),_=ve(()=>YI(e.highlight)),b=ve(()=>KI(e.weekNumbers)),w=ve(()=>qI(e.timezone)),$=ve(()=>XI(e.multiDates)),A=ve(()=>JI({minDate:e.minDate,maxDate:e.maxDate,disabledDates:e.disabledDates,allowedDates:e.allowedDates,highlight:_.value,markers:e.markers,timezone:w.value,isSpecific:e.monthPicker||e.yearPicker||e.quarterPicker})),T=ve(()=>UI(e.range)),k=ve(()=>QI(e.ui));return{defaultedTransitions:c,defaultedMultiCalendars:o,defaultedStartTime:r,defaultedAriaLabels:a,defaultedFilters:l,defaultedActionRow:u,defaultedPreviewFormat:d,defaultedTextInput:f,defaultedInline:p,defaultedConfig:m,defaultedHighlight:_,defaultedWeekNumbers:b,defaultedRange:T,propDates:A,defaultedTz:w,defaultedMultiDates:$,defaultedUI:k,getDefaultPattern:n,getDefaultStartTime:i}},ZI=(e,t,n)=>{const s=be(),{defaultedTextInput:i,defaultedRange:o,defaultedTz:r,defaultedMultiDates:a,getDefaultPattern:l}=kt(t),c=be(""),u=Ra(t,"format"),d=Ra(t,"formatLocale");Vt(s,()=>{typeof t.onInternalModelChange=="function"&&e("internal-model-change",s.value,oe(!0))},{deep:!0}),Vt(o,(M,se)=>{M.enabled!==se.enabled&&(s.value=null)}),Vt(u,()=>{Q()});const f=M=>r.value.timezone&&r.value.convertModel?En(M,r.value.timezone):M,p=M=>{if(r.value.timezone&&r.value.convertModel){const se=vI(r.value.timezone);return m2(M,se)}return M},m=(M,se,de=!1)=>c0(M,t.format,t.formatLocale,i.value.rangeSeparator,t.modelAuto,se??l(),de),_=M=>M?t.modelType?ce(M):{hours:ei(M),minutes:Ni(M),seconds:t.enableSeconds?Sr(M):0}:null,b=M=>t.modelType?ce(M):{month:Qe(M),year:Ye(M)},w=M=>Array.isArray(M)?a.value.enabled?M.map(se=>$(se,Ss(xe(),se))):Bl(()=>[Ss(xe(),M[0]),M[1]?Ss(xe(),M[1]):Xo(o.value.partialRange)],o.value.enabled):Ss(xe(),+M),$=(M,se)=>(typeof M=="string"||typeof M=="number")&&t.modelType?Z(M):se,A=M=>Array.isArray(M)?[$(M[0],Di(null,+M[0].hours,+M[0].minutes,M[0].seconds)),$(M[1],Di(null,+M[1].hours,+M[1].minutes,M[1].seconds))]:$(M,Di(null,M.hours,M.minutes,M.seconds)),T=M=>{const se=ht(xe(),{date:1});return Array.isArray(M)?a.value.enabled?M.map(de=>$(de,Us(se,+de.month,+de.year))):Bl(()=>[$(M[0],Us(se,+M[0].month,+M[0].year)),$(M[1],M[1]?Us(se,+M[1].month,+M[1].year):Xo(o.value.partialRange))],o.value.enabled):$(M,Us(se,+M.month,+M.year))},k=M=>{if(Array.isArray(M))return M.map(se=>Z(se));throw new Error(Nf.dateArr("multi-dates"))},y=M=>{if(Array.isArray(M)&&o.value.enabled){const se=M[0],de=M[1];return[xe(Array.isArray(se)?se[0]:null),xe(Array.isArray(de)?de[0]:null)]}return xe(M[0])},x=M=>t.modelAuto?Array.isArray(M)?[Z(M[0]),Z(M[1])]:t.autoApply?[Z(M)]:[Z(M),null]:Array.isArray(M)?Bl(()=>M[1]?[Z(M[0]),M[1]?Z(M[1]):Xo(o.value.partialRange)]:[Z(M[0])],o.value.enabled):Z(M),C=()=>{Array.isArray(s.value)&&o.value.enabled&&s.value.length===1&&s.value.push(Xo(o.value.partialRange))},P=()=>{const M=s.value;return[ce(M[0]),M[1]?ce(M[1]):Xo(o.value.partialRange)]},E=()=>s.value[1]?P():ce(Xt(s.value[0])),B=()=>(s.value||[]).map(M=>ce(M)),G=(M=!1)=>(M||C(),t.modelAuto?E():a.value.enabled?B():Array.isArray(s.value)?Bl(()=>P(),o.value.enabled):ce(Xt(s.value))),ae=M=>!M||Array.isArray(M)&&!M.length?null:t.timePicker?A(Xt(M)):t.monthPicker?T(Xt(M)):t.yearPicker?w(Xt(M)):a.value.enabled?k(Xt(M)):t.weekPicker?y(Xt(M)):x(Xt(M)),Y=M=>{const se=ae(M);ah(Xt(se))?(s.value=Xt(se),Q()):(s.value=null,c.value="")},L=()=>{const M=se=>Cs(se,i.value.format);return`${M(s.value[0])} ${i.value.rangeSeparator} ${s.value[1]?M(s.value[1]):""}`},I=()=>n.value&&s.value?Array.isArray(s.value)?L():Cs(s.value,i.value.format):m(s.value),V=()=>s.value?a.value.enabled?s.value.map(M=>m(M)).join("; "):i.value.enabled&&typeof i.value.format=="string"?I():m(s.value):"",Q=()=>{!t.format||typeof t.format=="string"||i.value.enabled&&typeof i.value.format=="string"?c.value=V():c.value=t.format(s.value)},Z=M=>{if(t.utc){const se=new Date(M);return t.utc==="preserve"?new Date(se.getTime()+se.getTimezoneOffset()*6e4):se}return t.modelType?bI.includes(t.modelType)?f(new Date(M)):t.modelType==="format"&&(typeof t.format=="string"||!t.format)?f(ih(M,l(),new Date,{locale:d.value})):f(ih(M,t.modelType,new Date,{locale:d.value})):f(new Date(M))},ce=M=>M?t.utc?MI(M,t.utc==="preserve",t.enableSeconds):t.modelType?t.modelType==="timestamp"?+p(M):t.modelType==="iso"?p(M).toISOString():t.modelType==="format"&&(typeof t.format=="string"||!t.format)?m(p(M)):m(p(M),t.modelType,!0):p(M):"",we=(M,se=!1,de=!1)=>{if(de)return M;if(e("update:model-value",M),r.value.emitTimezone&&se){const ke=Array.isArray(M)?M.map(N=>En(Xt(N),r.value.emitTimezone)):En(Xt(M),r.value.emitTimezone);e("update:model-timezone-value",ke)}},K=M=>Array.isArray(s.value)?a.value.enabled?s.value.map(se=>M(se)):[M(s.value[0]),s.value[1]?M(s.value[1]):Xo(o.value.partialRange)]:M(Xt(s.value)),X=()=>{if(Array.isArray(s.value)){const M=zs(s.value[0],t.weekStart),se=s.value[1]?zs(s.value[1],t.weekStart):[];return[M.map(de=>xe(de)),se.map(de=>xe(de))]}return zs(s.value,t.weekStart).map(M=>xe(M))},R=(M,se)=>we(Xt(K(M)),!1,se),ee=M=>{const se=X();return M?se:e("update:model-value",X())},oe=(M=!1)=>(M||Q(),t.monthPicker?R(b,M):t.timePicker?R(_,M):t.yearPicker?R(Ye,M):t.weekPicker?ee(M):we(G(M),!0,M));return{inputValue:c,internalModelValue:s,checkBeforeEmit:()=>s.value?o.value.enabled?o.value.partialRange?s.value.length>=1:s.value.length===2:!!s.value:!1,parseExternalModelValue:Y,formatInputValue:Q,emitModelValue:oe}},eR=(e,t)=>{const{defaultedFilters:n,propDates:s}=kt(e),{validateMonthYearInRange:i}=Ki(e),o=(u,d)=>{let f=u;return n.value.months.includes(Qe(f))?(f=d?cs(u,1):Ar(u,1),o(f,d)):f},r=(u,d)=>{let f=u;return n.value.years.includes(Ye(f))?(f=d?Sf(u,1):Qy(u,1),r(f,d)):f},a=(u,d=!1)=>{const f=ht(xe(),{month:e.month,year:e.year});let p=u?cs(f,1):Ar(f,1);e.disableYearSelect&&(p=Ss(p,e.year));let m=Qe(p),_=Ye(p);n.value.months.includes(m)&&(p=o(p,u),m=Qe(p),_=Ye(p)),n.value.years.includes(_)&&(p=r(p,u),_=Ye(p)),i(m,_,u,e.preventMinMaxNavigation)&&l(m,_,d)},l=(u,d,f)=>{t("update-month-year",{month:u,year:d,fromNav:f})},c=ve(()=>u=>l0(ht(xe(),{month:e.month,year:e.year}),s.value.maxDate,s.value.minDate,e.preventMinMaxNavigation,u));return{handleMonthYearChange:a,isDisabled:c,updateMonthYear:l}},pu={multiCalendars:{type:[Boolean,Number,String,Object],default:void 0},modelValue:{type:[String,Date,Array,Object,Number],default:null},modelType:{type:String,default:null},position:{type:String,default:"center"},dark:{type:Boolean,default:!1},format:{type:[String,Function],default:()=>null},autoPosition:{type:Boolean,default:!0},altPosition:{type:Function,default:null},transitions:{type:[Boolean,Object],default:!0},formatLocale:{type:Object,default:null},utc:{type:[Boolean,String],default:!1},ariaLabels:{type:Object,default:()=>({})},offset:{type:[Number,String],default:10},hideNavigation:{type:Array,default:()=>[]},timezone:{type:[String,Object],default:null},vertical:{type:Boolean,default:!1},disableMonthYearSelect:{type:Boolean,default:!1},disableYearSelect:{type:Boolean,default:!1},dayClass:{type:Function,default:null},yearRange:{type:Array,default:()=>[1900,2100]},enableTimePicker:{type:Boolean,default:!0},autoApply:{type:Boolean,default:!1},disabledDates:{type:[Array,Function],default:()=>[]},monthNameFormat:{type:String,default:"short"},startDate:{type:[Date,String],default:null},startTime:{type:[Object,Array],default:null},hideOffsetDates:{type:Boolean,default:!1},noToday:{type:Boolean,default:!1},disabledWeekDays:{type:Array,default:()=>[]},allowedDates:{type:Array,default:null},nowButtonLabel:{type:String,default:"Now"},markers:{type:Array,default:()=>[]},escClose:{type:Boolean,default:!0},spaceConfirm:{type:Boolean,default:!0},monthChangeOnArrows:{type:Boolean,default:!0},presetDates:{type:Array,default:()=>[]},flow:{type:Array,default:()=>[]},partialFlow:{type:Boolean,default:!1},preventMinMaxNavigation:{type:Boolean,default:!1},reverseYears:{type:Boolean,default:!1},weekPicker:{type:Boolean,default:!1},filters:{type:Object,default:()=>({})},arrowNavigation:{type:Boolean,default:!1},highlight:{type:[Function,Object],default:null},teleport:{type:[Boolean,String,Object],default:null},teleportCenter:{type:Boolean,default:!1},locale:{type:String,default:"en-Us"},weekNumName:{type:String,default:"W"},weekStart:{type:[Number,String],default:1},weekNumbers:{type:[String,Function,Object],default:null},monthChangeOnScroll:{type:[Boolean,String],default:!0},dayNames:{type:[Function,Array],default:null},monthPicker:{type:Boolean,default:!1},customProps:{type:Object,default:null},yearPicker:{type:Boolean,default:!1},modelAuto:{type:Boolean,default:!1},selectText:{type:String,default:"Select"},cancelText:{type:String,default:"Cancel"},previewFormat:{type:[String,Function],default:()=>""},multiDates:{type:[Object,Boolean],default:!1},ignoreTimeValidation:{type:Boolean,default:!1},minDate:{type:[Date,String],default:null},maxDate:{type:[Date,String],default:null},minTime:{type:Object,default:null},maxTime:{type:Object,default:null},name:{type:String,default:null},placeholder:{type:String,default:""},hideInputIcon:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},state:{type:Boolean,default:null},required:{type:Boolean,default:!1},autocomplete:{type:String,default:"off"},timePicker:{type:Boolean,default:!1},enableSeconds:{type:Boolean,default:!1},is24:{type:Boolean,default:!0},noHoursOverlay:{type:Boolean,default:!1},noMinutesOverlay:{type:Boolean,default:!1},noSecondsOverlay:{type:Boolean,default:!1},hoursGridIncrement:{type:[String,Number],default:1},minutesGridIncrement:{type:[String,Number],default:5},secondsGridIncrement:{type:[String,Number],default:5},hoursIncrement:{type:[Number,String],default:1},minutesIncrement:{type:[Number,String],default:1},secondsIncrement:{type:[Number,String],default:1},range:{type:[Boolean,Object],default:!1},uid:{type:String,default:null},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},inline:{type:[Boolean,Object],default:!1},textInput:{type:[Boolean,Object],default:!1},sixWeeks:{type:[Boolean,String],default:!1},actionRow:{type:Object,default:()=>({})},focusStartDate:{type:Boolean,default:!1},disabledTimes:{type:[Function,Array],default:void 0},timePickerInline:{type:Boolean,default:!1},calendar:{type:Function,default:null},config:{type:Object,default:void 0},quarterPicker:{type:Boolean,default:!1},yearFirst:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},onInternalModelChange:{type:[Function,Object],default:null},enableMinutes:{type:Boolean,default:!0},ui:{type:Object,default:()=>({})}},fs={...pu,shadow:{type:Boolean,default:!1},flowStep:{type:Number,default:0},internalModelValue:{type:[Date,Array],default:null},noOverlayFocus:{type:Boolean,default:!1},collapse:{type:Boolean,default:!1},menuWrapRef:{type:Object,default:null},getInputRect:{type:Function,default:()=>({})},isTextInputDate:{type:Boolean,default:!1}},tR=["title"],nR=["disabled"],sR=Ft({compatConfig:{MODE:3},__name:"ActionRow",props:{menuMount:{type:Boolean,default:!1},calendarWidth:{type:Number,default:0},...fs},emits:["close-picker","select-date","select-now","invalid-select"],setup(e,{emit:t}){const n=t,s=e,{defaultedActionRow:i,defaultedPreviewFormat:o,defaultedMultiCalendars:r,defaultedTextInput:a,defaultedInline:l,defaultedRange:c,defaultedMultiDates:u,getDefaultPattern:d}=kt(s),{isTimeValid:f,isMonthValid:p}=Ki(s),{buildMatrix:m}=Yi(),_=be(null),b=be(null),w=be(!1),$=be({}),A=be(null),T=be(null);Gt(()=>{s.arrowNavigation&&m([jt(_),jt(b)],"actionRow"),k(),window.addEventListener("resize",k)}),Fr(()=>{window.removeEventListener("resize",k)});const k=()=>{w.value=!1,setTimeout(()=>{var L,I;const V=(L=A.value)==null?void 0:L.getBoundingClientRect(),Q=(I=T.value)==null?void 0:I.getBoundingClientRect();V&&Q&&($.value.maxWidth=`${Q.width-V.width-20}px`),w.value=!0},0)},y=ve(()=>c.value.enabled&&!c.value.partialRange&&s.internalModelValue?s.internalModelValue.length===2:!0),x=ve(()=>!f.value(s.internalModelValue)||!p.value(s.internalModelValue)||!y.value),C=()=>{const L=o.value;return s.timePicker||s.monthPicker,L(Xt(s.internalModelValue))},P=()=>{const L=s.internalModelValue;return r.value.count>0?`${E(L[0])} - ${E(L[1])}`:[E(L[0]),E(L[1])]},E=L=>c0(L,o.value,s.formatLocale,a.value.rangeSeparator,s.modelAuto,d()),B=ve(()=>!s.internalModelValue||!s.menuMount?"":typeof o.value=="string"?Array.isArray(s.internalModelValue)?s.internalModelValue.length===2&&s.internalModelValue[1]?P():u.value.enabled?s.internalModelValue.map(L=>`${E(L)}`):s.modelAuto?`${E(s.internalModelValue[0])}`:`${E(s.internalModelValue[0])} -`:E(s.internalModelValue):C()),G=()=>u.value.enabled?"; ":" - ",ae=ve(()=>Array.isArray(B.value)?B.value.join(G()):B.value),Y=()=>{f.value(s.internalModelValue)&&p.value(s.internalModelValue)&&y.value?n("select-date"):n("invalid-select")};return(L,I)=>(D(),F("div",{ref_key:"actionRowRef",ref:T,class:"dp__action_row"},[L.$slots["action-row"]?Ie(L.$slots,"action-row",Zt(Yt({key:0},{internalModelValue:L.internalModelValue,disabled:x.value,selectDate:()=>L.$emit("select-date"),closePicker:()=>L.$emit("close-picker")}))):(D(),F(Te,{key:1},[q(i).showPreview?(D(),F("div",{key:0,class:"dp__selection_preview",title:ae.value,style:Wt($.value)},[L.$slots["action-preview"]&&w.value?Ie(L.$slots,"action-preview",{key:0,value:L.internalModelValue}):re("",!0),!L.$slots["action-preview"]&&w.value?(D(),F(Te,{key:1},[ye(_e(ae.value),1)],64)):re("",!0)],12,tR)):re("",!0),h("div",{ref_key:"actionBtnContainer",ref:A,class:"dp__action_buttons","data-dp-element":"action-row"},[L.$slots["action-buttons"]?Ie(L.$slots,"action-buttons",{key:0,value:L.internalModelValue}):re("",!0),L.$slots["action-buttons"]?re("",!0):(D(),F(Te,{key:1},[!q(l).enabled&&q(i).showCancel?(D(),F("button",{key:0,ref_key:"cancelButtonRef",ref:_,type:"button",class:"dp__action_button dp__action_cancel",onClick:I[0]||(I[0]=V=>L.$emit("close-picker")),onKeydown:I[1]||(I[1]=V=>q(vn)(V,()=>L.$emit("close-picker")))},_e(L.cancelText),545)):re("",!0),q(i).showNow?(D(),F("button",{key:1,type:"button",class:"dp__action_button dp__action_cancel",onClick:I[2]||(I[2]=V=>L.$emit("select-now")),onKeydown:I[3]||(I[3]=V=>q(vn)(V,()=>L.$emit("select-now")))},_e(L.nowButtonLabel),33)):re("",!0),q(i).showSelect?(D(),F("button",{key:2,ref_key:"selectButtonRef",ref:b,type:"button",class:"dp__action_button dp__action_select",disabled:x.value,"data-test":"select-button",onKeydown:I[4]||(I[4]=V=>q(vn)(V,()=>Y())),onClick:Y},_e(L.selectText),41,nR)):re("",!0)],64))],512)],64))],512))}}),iR=["role","aria-label","tabindex"],oR={class:"dp__selection_grid_header"},rR=["aria-selected","aria-disabled","data-test","onClick","onKeydown","onMouseover"],aR=["aria-label"],ol=Ft({__name:"SelectionOverlay",props:{items:{},type:{},isLast:{type:Boolean},arrowNavigation:{type:Boolean},skipButtonRef:{type:Boolean},headerRefs:{},hideNavigation:{},escClose:{type:Boolean},useRelative:{type:Boolean},height:{},textInput:{type:[Boolean,Object]},config:{},noOverlayFocus:{type:Boolean},focusValue:{},menuWrapRef:{},ariaLabels:{},overlayLabel:{}},emits:["selected","toggle","reset-flow","hover-value"],setup(e,{expose:t,emit:n}){const{setSelectionGrid:s,buildMultiLevelMatrix:i,setMonthPicker:o}=Yi(),r=n,a=e,{defaultedAriaLabels:l,defaultedTextInput:c,defaultedConfig:u}=kt(a),{hideNavigationButtons:d}=_u(),f=be(!1),p=be(null),m=be(null),_=be([]),b=be(),w=be(null),$=be(0),A=be(null);kb(()=>{p.value=null}),Gt(()=>{tn().then(()=>B()),a.noOverlayFocus||k(),T(!0)}),Fr(()=>T(!1));const T=K=>{var X;a.arrowNavigation&&((X=a.headerRefs)!=null&&X.length?o(K):s(K))},k=()=>{var K;const X=jt(m);X&&(c.value.enabled||(p.value?(K=p.value)==null||K.focus({preventScroll:!0}):X.focus({preventScroll:!0})),f.value=X.clientHeight({dp__overlay:!0,"dp--overlay-absolute":!a.useRelative,"dp--overlay-relative":a.useRelative})),x=ve(()=>a.useRelative?{height:`${a.height}px`,width:"260px"}:void 0),C=ve(()=>({dp__overlay_col:!0})),P=ve(()=>({dp__btn:!0,dp__button:!0,dp__overlay_action:!0,dp__over_action_scroll:f.value,dp__button_bottom:a.isLast})),E=ve(()=>{var K,X;return{dp__overlay_container:!0,dp__container_flex:((K=a.items)==null?void 0:K.length)<=6,dp__container_block:((X=a.items)==null?void 0:X.length)>6}});Vt(()=>a.items,()=>B(!1),{deep:!0});const B=(K=!0)=>{tn().then(()=>{const X=jt(p),R=jt(m),ee=jt(w),oe=jt(A),M=ee?ee.getBoundingClientRect().height:0;R&&(R.getBoundingClientRect().height?$.value=R.getBoundingClientRect().height-M:$.value=u.value.modeHeight-M),X&&oe&&K&&(oe.scrollTop=X.offsetTop-oe.offsetTop-($.value/2-X.getBoundingClientRect().height)-M)})},G=K=>{K.disabled||r("selected",K.value)},ae=()=>{r("toggle"),r("reset-flow")},Y=()=>{a.escClose&&ae()},L=(K,X,R,ee)=>{K&&((X.active||X.value===a.focusValue)&&(p.value=K),a.arrowNavigation&&(Array.isArray(_.value[R])?_.value[R][ee]=K:_.value[R]=[K],I()))},I=()=>{var K,X;const R=(K=a.headerRefs)!=null&&K.length?[a.headerRefs].concat(_.value):_.value.concat([a.skipButtonRef?[]:[w.value]]);i(Xt(R),(X=a.headerRefs)!=null&&X.length?"monthPicker":"selectionGrid")},V=K=>{a.arrowNavigation||Ti(K,u.value,!0)},Q=K=>{b.value=K,r("hover-value",K)},Z=()=>{if(ae(),!a.isLast){const K=rh(a.menuWrapRef??null,"action-row");if(K){const X=n0(K);X==null||X.focus()}}},ce=K=>{switch(K.key){case _t.esc:return Y();case _t.arrowLeft:return V(K);case _t.arrowRight:return V(K);case _t.arrowUp:return V(K);case _t.arrowDown:return V(K);default:return}},we=K=>{if(K.key===_t.enter)return ae();if(K.key===_t.tab)return Z()};return t({focusGrid:k}),(K,X)=>{var R;return D(),F("div",{ref_key:"gridWrapRef",ref:m,class:Ee(y.value),style:Wt(x.value),role:K.useRelative?void 0:"dialog","aria-label":K.overlayLabel,tabindex:K.useRelative?void 0:"0",onKeydown:ce,onClick:X[0]||(X[0]=Ha(()=>{},["prevent"]))},[h("div",{ref_key:"containerRef",ref:A,class:Ee(E.value),style:Wt({"--dp-overlay-height":`${$.value}px`}),role:"grid"},[h("div",oR,[Ie(K.$slots,"header")]),K.$slots.overlay?Ie(K.$slots,"overlay",{key:0}):(D(!0),F(Te,{key:1},Ue(K.items,(ee,oe)=>(D(),F("div",{key:oe,class:Ee(["dp__overlay_row",{dp__flex_row:K.items.length>=3}]),role:"row"},[(D(!0),F(Te,null,Ue(ee,(M,se)=>(D(),F("div",{key:M.value,ref_for:!0,ref:de=>L(de,M,oe,se),role:"gridcell",class:Ee(C.value),"aria-selected":M.active||void 0,"aria-disabled":M.disabled||void 0,tabindex:"0","data-test":M.text,onClick:Ha(de=>G(M),["prevent"]),onKeydown:de=>q(vn)(de,()=>G(M),!0),onMouseover:de=>Q(M.value)},[h("div",{class:Ee(M.className)},[K.$slots.item?Ie(K.$slots,"item",{key:0,item:M}):re("",!0),K.$slots.item?re("",!0):(D(),F(Te,{key:1},[ye(_e(M.text),1)],64))],2)],42,rR))),128))],2))),128))],6),K.$slots["button-icon"]?Re((D(),F("button",{key:0,ref_key:"toggleButton",ref:w,type:"button","aria-label":(R=q(l))==null?void 0:R.toggleOverlay,class:Ee(P.value),tabindex:"0",onClick:ae,onKeydown:we},[Ie(K.$slots,"button-icon")],42,aR)),[[uc,!q(d)(K.hideNavigation,K.type)]]):re("",!0)],46,iR)}}}),gu=Ft({__name:"InstanceWrap",props:{multiCalendars:{},stretch:{type:Boolean},collapse:{type:Boolean}},setup(e){const t=e,n=ve(()=>t.multiCalendars>0?[...Array(t.multiCalendars).keys()]:[0]),s=ve(()=>({dp__instance_calendar:t.multiCalendars>0}));return(i,o)=>(D(),F("div",{class:Ee({dp__menu_inner:!i.stretch,"dp--menu--inner-stretched":i.stretch,dp__flex_display:i.multiCalendars>0,"dp--flex-display-collapsed":i.collapse})},[(D(!0),F(Te,null,Ue(n.value,(r,a)=>(D(),F("div",{key:r,class:Ee(s.value)},[Ie(i.$slots,"default",{instance:r,index:a})],2))),128))],2))}}),lR=["data-dp-element","aria-label","aria-disabled"],$a=Ft({compatConfig:{MODE:3},__name:"ArrowBtn",props:{ariaLabel:{},elName:{},disabled:{type:Boolean}},emits:["activate","set-ref"],setup(e,{emit:t}){const n=t,s=be(null);return Gt(()=>n("set-ref",s)),(i,o)=>(D(),F("button",{ref_key:"elRef",ref:s,type:"button","data-dp-element":i.elName,class:"dp__btn dp--arrow-btn-nav",tabindex:"0","aria-label":i.ariaLabel,"aria-disabled":i.disabled||void 0,onClick:o[0]||(o[0]=r=>i.$emit("activate")),onKeydown:o[1]||(o[1]=r=>q(vn)(r,()=>i.$emit("activate"),!0))},[h("span",{class:Ee(["dp__inner_nav",{dp__inner_nav_disabled:i.disabled}])},[Ie(i.$slots,"default")],2)],40,lR))}}),cR=["aria-label","data-test"],f0=Ft({__name:"YearModePicker",props:{...fs,showYearPicker:{type:Boolean,default:!1},items:{type:Array,default:()=>[]},instance:{type:Number,default:0},year:{type:Number,default:0},isDisabled:{type:Function,default:()=>!1}},emits:["toggle-year-picker","year-select","handle-year"],setup(e,{emit:t}){const n=t,s=e,{showRightIcon:i,showLeftIcon:o}=_u(),{defaultedConfig:r,defaultedMultiCalendars:a,defaultedAriaLabels:l,defaultedTransitions:c,defaultedUI:u}=kt(s),{showTransition:d,transitionName:f}=rl(c),p=be(!1),m=(w=!1,$)=>{p.value=!p.value,n("toggle-year-picker",{flow:w,show:$})},_=w=>{p.value=!1,n("year-select",w)},b=(w=!1)=>{n("handle-year",w)};return(w,$)=>{var A,T,k,y,x;return D(),F(Te,null,[h("div",{class:Ee(["dp--year-mode-picker",{"dp--hidden-el":p.value}])},[q(o)(q(a),e.instance)?(D(),Ne($a,{key:0,ref:"mpPrevIconRef","aria-label":(A=q(l))==null?void 0:A.prevYear,disabled:e.isDisabled(!1),class:Ee((T=q(u))==null?void 0:T.navBtnPrev),onActivate:$[0]||($[0]=C=>b(!1))},{default:Me(()=>[w.$slots["arrow-left"]?Ie(w.$slots,"arrow-left",{key:0}):re("",!0),w.$slots["arrow-left"]?re("",!0):(D(),Ne(q(Mf),{key:1}))]),_:3},8,["aria-label","disabled","class"])):re("",!0),h("button",{ref:"mpYearButtonRef",class:"dp__btn dp--year-select",type:"button","aria-label":`${e.year}-${(k=q(l))==null?void 0:k.openYearsOverlay}`,"data-test":`year-mode-btn-${e.instance}`,onClick:$[1]||($[1]=()=>m(!1)),onKeydown:$[2]||($[2]=VC(()=>m(!1),["enter"]))},[w.$slots.year?Ie(w.$slots,"year",{key:0,year:e.year}):re("",!0),w.$slots.year?re("",!0):(D(),F(Te,{key:1},[ye(_e(e.year),1)],64))],40,cR),q(i)(q(a),e.instance)?(D(),Ne($a,{key:1,ref:"mpNextIconRef","aria-label":(y=q(l))==null?void 0:y.nextYear,disabled:e.isDisabled(!0),class:Ee((x=q(u))==null?void 0:x.navBtnNext),onActivate:$[3]||($[3]=C=>b(!0))},{default:Me(()=>[w.$slots["arrow-right"]?Ie(w.$slots,"arrow-right",{key:0}):re("",!0),w.$slots["arrow-right"]?re("",!0):(D(),Ne(q(Tf),{key:1}))]),_:3},8,["aria-label","disabled","class"])):re("",!0)],2),$e(Ct,{name:q(f)(e.showYearPicker),css:q(d)},{default:Me(()=>{var C,P;return[e.showYearPicker?(D(),Ne(ol,{key:0,items:e.items,"text-input":w.textInput,"esc-close":w.escClose,config:w.config,"is-last":w.autoApply&&!q(r).keepActionRow,"hide-navigation":w.hideNavigation,"aria-labels":w.ariaLabels,"overlay-label":(P=(C=q(l))==null?void 0:C.yearPicker)==null?void 0:P.call(C,!0),type:"year",onToggle:m,onSelected:$[4]||($[4]=E=>_(E))},hn({"button-icon":Me(()=>[w.$slots["calendar-icon"]?Ie(w.$slots,"calendar-icon",{key:0}):re("",!0),w.$slots["calendar-icon"]?re("",!0):(D(),Ne(q(Vr),{key:1}))]),_:2},[w.$slots["year-overlay-value"]?{name:"item",fn:Me(({item:E})=>[Ie(w.$slots,"year-overlay-value",{text:E.text,value:E.value})]),key:"0"}:void 0]),1032,["items","text-input","esc-close","config","is-last","hide-navigation","aria-labels","overlay-label"])):re("",!0)]}),_:3},8,["name","css"])],64)}}}),Vf=(e,t,n)=>{if(t.value&&Array.isArray(t.value))if(t.value.some(s=>nt(e,s))){const s=t.value.filter(i=>!nt(i,e));t.value=s.length?s:null}else(n&&+n>t.value.length||!n)&&t.value.push(e);else t.value=[e]},Hf=(e,t,n)=>{let s=e.value?e.value.slice():[];return s.length===2&&s[1]!==null&&(s=[]),s.length?At(t,s[0])?(s.unshift(t),n("range-start",s[0]),n("range-start",s[1])):(s[1]=t,n("range-end",t)):(s=[t],n("range-start",t)),s},mu=(e,t,n,s)=>{e&&(e[0]&&e[1]&&n&&t("auto-apply"),e[0]&&!e[1]&&s&&n&&t("auto-apply"))},p0=e=>{Array.isArray(e.value)&&e.value.length<=2&&e.range?e.modelValue.value=e.value.map(t=>En(xe(t),e.timezone)):Array.isArray(e.value)||(e.modelValue.value=En(xe(e.value),e.timezone))},g0=(e,t,n,s)=>Array.isArray(t.value)&&(t.value.length===2||t.value.length===1&&s.value.partialRange)?s.value.fixedStart&&(Ot(e,t.value[0])||nt(e,t.value[0]))?[t.value[0],e]:s.value.fixedEnd&&(At(e,t.value[1])||nt(e,t.value[1]))?[e,t.value[1]]:(n("invalid-fixed-range",e),t.value):[],m0=({multiCalendars:e,range:t,highlight:n,propDates:s,calendars:i,modelValue:o,props:r,filters:a,year:l,month:c,emit:u})=>{const d=ve(()=>Lf(r.yearRange,r.locale,r.reverseYears)),f=be([!1]),p=ve(()=>(E,B)=>{const G=ht(rs(new Date),{month:c.value(E),year:l.value(E)}),ae=B?By(G):Wa(G);return l0(ae,s.value.maxDate,s.value.minDate,r.preventMinMaxNavigation,B)}),m=()=>Array.isArray(o.value)&&e.value.solo&&o.value[1],_=()=>{for(let E=0;E{if(!E)return _();const B=ht(xe(),i.value[E]);return i.value[0].year=Ye(Qy(B,e.value.count-1)),_()},w=(E,B)=>{const G=w2(B,E);return t.value.showLastInRange&&G>1?B:E},$=E=>r.focusStartDate||e.value.solo?E[0]:E[1]?w(E[0],E[1]):E[0],A=()=>{if(o.value){const E=Array.isArray(o.value)?$(o.value):o.value;i.value[0]={month:Qe(E),year:Ye(E)}}},T=()=>{A(),e.value.count&&_()};Vt(o,(E,B)=>{r.isTextInputDate&&JSON.stringify(E??{})!==JSON.stringify(B??{})&&T()}),Gt(()=>{T()});const k=(E,B)=>{i.value[B].year=E,u("update-month-year",{instance:B,year:E,month:i.value[B].month}),e.value.count&&!e.value.solo&&b(B)},y=ve(()=>E=>Cr(d.value,B=>{var G;const ae=l.value(E)===B.value,Y=Ya(B.value,Er(s.value.minDate),Er(s.value.maxDate))||((G=a.value.years)==null?void 0:G.includes(l.value(E))),L=Bf(n.value,B.value);return{active:ae,disabled:Y,highlighted:L}})),x=(E,B)=>{k(E,B),P(B)},C=(E,B=!1)=>{if(!p.value(E,B)){const G=B?l.value(E)+1:l.value(E)-1;k(G,E)}},P=(E,B=!1,G)=>{B||u("reset-flow"),G!==void 0?f.value[E]=G:f.value[E]=!f.value[E],f.value[E]?u("overlay-toggle",{open:!0,overlay:cn.year}):(u("overlay-closed"),u("overlay-toggle",{open:!1,overlay:cn.year}))};return{isDisabled:p,groupedYears:y,showYearPicker:f,selectYear:k,toggleYearPicker:P,handleYearSelect:x,handleYear:C}},uR=(e,t)=>{const{defaultedMultiCalendars:n,defaultedAriaLabels:s,defaultedTransitions:i,defaultedConfig:o,defaultedRange:r,defaultedHighlight:a,propDates:l,defaultedTz:c,defaultedFilters:u,defaultedMultiDates:d}=kt(e),f=()=>{e.isTextInputDate&&T(Ye(xe(e.startDate)),0)},{modelValue:p,year:m,month:_,calendars:b}=al(e,t,f),w=ve(()=>e0(e.formatLocale,e.locale,e.monthNameFormat)),$=be(null),{checkMinMaxRange:A}=Ki(e),{selectYear:T,groupedYears:k,showYearPicker:y,toggleYearPicker:x,handleYearSelect:C,handleYear:P,isDisabled:E}=m0({modelValue:p,multiCalendars:n,range:r,highlight:a,calendars:b,year:m,propDates:l,month:_,filters:u,props:e,emit:t});Gt(()=>{e.startDate&&(p.value&&e.focusStartDate||!p.value)&&T(Ye(xe(e.startDate)),0)});const B=R=>R?{month:Qe(R),year:Ye(R)}:{month:null,year:null},G=()=>p.value?Array.isArray(p.value)?p.value.map(R=>B(R)):B(p.value):B(),ae=(R,ee)=>{const oe=b.value[R],M=G();return Array.isArray(M)?M.some(se=>se.year===(oe==null?void 0:oe.year)&&se.month===ee):(oe==null?void 0:oe.year)===M.year&&ee===M.month},Y=(R,ee,oe)=>{var M,se;const de=G();return Array.isArray(de)?m.value(ee)===((M=de[oe])==null?void 0:M.year)&&R===((se=de[oe])==null?void 0:se.month):!1},L=(R,ee)=>{if(r.value.enabled){const oe=G();if(Array.isArray(p.value)&&Array.isArray(oe)){const M=Y(R,ee,0)||Y(R,ee,1),se=Us(rs(xe()),R,m.value(ee));return fu(p.value,$.value,se)&&!M}return!1}return!1},I=ve(()=>R=>Cr(w.value,ee=>{var oe;const M=ae(R,ee.value),se=Ya(ee.value,i0(m.value(R),l.value.minDate),o0(m.value(R),l.value.maxDate))||RI(l.value.disabledDates,m.value(R)).includes(ee.value)||((oe=u.value.months)==null?void 0:oe.includes(ee.value)),de=L(ee.value,R),ke=u0(a.value,ee.value,m.value(R));return{active:M,disabled:se,isBetween:de,highlighted:ke}})),V=(R,ee)=>Us(rs(xe()),R,m.value(ee)),Q=(R,ee)=>{const oe=p.value?p.value:rs(new Date);p.value=Us(oe,R,m.value(ee)),t("auto-apply"),t("update-flow-step")},Z=(R,ee)=>{const oe=V(R,ee);r.value.fixedEnd||r.value.fixedStart?p.value=g0(oe,p,t,r):p.value?A(oe,p.value)&&(p.value=Hf(p,V(R,ee),t)):p.value=[V(R,ee)],tn().then(()=>{mu(p.value,t,e.autoApply,e.modelAuto)})},ce=(R,ee)=>{Vf(V(R,ee),p,d.value.limit),t("auto-apply",!0)},we=(R,ee)=>(b.value[ee].month=R,X(ee,b.value[ee].year,R),d.value.enabled?ce(R,ee):r.value.enabled?Z(R,ee):Q(R,ee)),K=(R,ee)=>{T(R,ee),X(ee,R,null)},X=(R,ee,oe)=>{let M=oe;if(!M&&M!==0){const se=G();M=Array.isArray(se)?se[R].month:se.month}t("update-month-year",{instance:R,year:ee,month:M})};return{groupedMonths:I,groupedYears:k,year:m,isDisabled:E,defaultedMultiCalendars:n,defaultedAriaLabels:s,defaultedTransitions:i,defaultedConfig:o,showYearPicker:y,modelValue:p,presetDate:(R,ee)=>{p0({value:R,modelValue:p,range:r.value.enabled,timezone:ee?void 0:c.value.timezone}),t("auto-apply")},setHoverDate:(R,ee)=>{$.value=V(R,ee)},selectMonth:we,selectYear:K,toggleYearPicker:x,handleYearSelect:C,handleYear:P,getModelMonthYear:G}},dR=Ft({compatConfig:{MODE:3},__name:"MonthPicker",props:{...fs},emits:["update:internal-model-value","overlay-closed","reset-flow","range-start","range-end","auto-apply","update-month-year","update-flow-step","mount","invalid-fixed-range","overlay-toggle"],setup(e,{expose:t,emit:n}){const s=n,i=Ro(),o=Rn(i,"yearMode"),r=e;Gt(()=>{r.shadow||s("mount",null)});const{groupedMonths:a,groupedYears:l,year:c,isDisabled:u,defaultedMultiCalendars:d,defaultedConfig:f,showYearPicker:p,modelValue:m,presetDate:_,setHoverDate:b,selectMonth:w,selectYear:$,toggleYearPicker:A,handleYearSelect:T,handleYear:k,getModelMonthYear:y}=uR(r,s);return t({getSidebarProps:()=>({modelValue:m,year:c,getModelMonthYear:y,selectMonth:w,selectYear:$,handleYear:k}),presetDate:_,toggleYearPicker:x=>A(0,x)}),(x,C)=>(D(),Ne(gu,{"multi-calendars":q(d).count,collapse:x.collapse,stretch:""},{default:Me(({instance:P})=>[x.$slots["top-extra"]?Ie(x.$slots,"top-extra",{key:0,value:x.internalModelValue}):re("",!0),x.$slots["month-year"]?Ie(x.$slots,"month-year",Zt(Yt({key:1},{year:q(c),months:q(a)(P),years:q(l)(P),selectMonth:q(w),selectYear:q($),instance:P}))):(D(),Ne(ol,{key:2,items:q(a)(P),"arrow-navigation":x.arrowNavigation,"is-last":x.autoApply&&!q(f).keepActionRow,"esc-close":x.escClose,height:q(f).modeHeight,config:x.config,"no-overlay-focus":!!(x.noOverlayFocus||x.textInput),"use-relative":"",type:"month",onSelected:E=>q(w)(E,P),onHoverValue:E=>q(b)(E,P)},hn({header:Me(()=>[$e(f0,Yt(x.$props,{items:q(l)(P),instance:P,"show-year-picker":q(p)[P],year:q(c)(P),"is-disabled":E=>q(u)(P,E),onHandleYear:E=>q(k)(P,E),onYearSelect:E=>q(T)(E,P),onToggleYearPicker:E=>q(A)(P,E==null?void 0:E.flow,E==null?void 0:E.show)}),hn({_:2},[Ue(q(o),(E,B)=>({name:E,fn:Me(G=>[Ie(x.$slots,E,Zt(_n(G)))])}))]),1040,["items","instance","show-year-picker","year","is-disabled","onHandleYear","onYearSelect","onToggleYearPicker"])]),_:2},[x.$slots["month-overlay-value"]?{name:"item",fn:Me(({item:E})=>[Ie(x.$slots,"month-overlay-value",{text:E.text,value:E.value})]),key:"0"}:void 0]),1032,["items","arrow-navigation","is-last","esc-close","height","config","no-overlay-focus","onSelected","onHoverValue"]))]),_:3},8,["multi-calendars","collapse"]))}}),hR=(e,t)=>{const n=()=>{e.isTextInputDate&&(u.value=Ye(xe(e.startDate)))},{modelValue:s}=al(e,t,n),i=be(null),{defaultedHighlight:o,defaultedMultiDates:r,defaultedFilters:a,defaultedRange:l,propDates:c}=kt(e),u=be();Gt(()=>{e.startDate&&(s.value&&e.focusStartDate||!s.value)&&(u.value=Ye(xe(e.startDate)))});const d=_=>Array.isArray(s.value)?s.value.some(b=>Ye(b)===_):s.value?Ye(s.value)===_:!1,f=_=>l.value.enabled&&Array.isArray(s.value)?fu(s.value,i.value,m(_)):!1,p=ve(()=>Cr(Lf(e.yearRange,e.locale,e.reverseYears),_=>{const b=d(_.value),w=Ya(_.value,Er(c.value.minDate),Er(c.value.maxDate))||a.value.years.includes(_.value),$=f(_.value)&&!b,A=Bf(o.value,_.value);return{active:b,disabled:w,isBetween:$,highlighted:A}})),m=_=>Ss(rs(Wa(new Date)),_);return{groupedYears:p,modelValue:s,focusYear:u,setHoverValue:_=>{i.value=Ss(rs(new Date),_)},selectYear:_=>{var b;if(t("update-month-year",{instance:0,year:_}),r.value.enabled)return s.value?Array.isArray(s.value)&&(((b=s.value)==null?void 0:b.map(w=>Ye(w))).includes(_)?s.value=s.value.filter(w=>Ye(w)!==_):s.value.push(Ss(wn(xe()),_))):s.value=[Ss(wn(Wa(xe())),_)],t("auto-apply",!0);l.value.enabled?(s.value=Hf(s,m(_),t),tn().then(()=>{mu(s.value,t,e.autoApply,e.modelAuto)})):(s.value=m(_),t("auto-apply"))}}},fR=Ft({compatConfig:{MODE:3},__name:"YearPicker",props:{...fs},emits:["update:internal-model-value","reset-flow","range-start","range-end","auto-apply","update-month-year"],setup(e,{expose:t,emit:n}){const s=n,i=e,{groupedYears:o,modelValue:r,focusYear:a,selectYear:l,setHoverValue:c}=hR(i,s),{defaultedConfig:u}=kt(i);return t({getSidebarProps:()=>({modelValue:r,selectYear:l})}),(d,f)=>(D(),F("div",null,[d.$slots["top-extra"]?Ie(d.$slots,"top-extra",{key:0,value:d.internalModelValue}):re("",!0),d.$slots["month-year"]?Ie(d.$slots,"month-year",Zt(Yt({key:1},{years:q(o),selectYear:q(l)}))):(D(),Ne(ol,{key:2,items:q(o),"is-last":d.autoApply&&!q(u).keepActionRow,height:q(u).modeHeight,config:d.config,"no-overlay-focus":!!(d.noOverlayFocus||d.textInput),"focus-value":q(a),type:"year","use-relative":"",onSelected:q(l),onHoverValue:q(c)},hn({_:2},[d.$slots["year-overlay-value"]?{name:"item",fn:Me(({item:p})=>[Ie(d.$slots,"year-overlay-value",{text:p.text,value:p.value})]),key:"0"}:void 0]),1032,["items","is-last","height","config","no-overlay-focus","focus-value","onSelected","onHoverValue"]))]))}}),pR={key:0,class:"dp__time_input"},gR=["data-test","aria-label","onKeydown","onClick","onMousedown"],mR=h("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_l"},null,-1),_R=h("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_r"},null,-1),vR=["aria-label","disabled","data-test","onKeydown","onClick"],bR=["data-test","aria-label","onKeydown","onClick","onMousedown"],yR=h("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_l"},null,-1),wR=h("span",{class:"dp__tp_inline_btn_bar dp__tp_btn_in_r"},null,-1),xR={key:0},kR=["aria-label"],SR=Ft({compatConfig:{MODE:3},__name:"TimeInput",props:{hours:{type:Number,default:0},minutes:{type:Number,default:0},seconds:{type:Number,default:0},closeTimePickerBtn:{type:Object,default:null},order:{type:Number,default:0},disabledTimesConfig:{type:Function,default:null},validateTime:{type:Function,default:()=>!1},...fs},emits:["set-hours","set-minutes","update:hours","update:minutes","update:seconds","reset-flow","mounted","overlay-closed","overlay-opened","am-pm-change"],setup(e,{expose:t,emit:n}){const s=n,i=e,{setTimePickerElements:o,setTimePickerBackRef:r}=Yi(),{defaultedAriaLabels:a,defaultedTransitions:l,defaultedFilters:c,defaultedConfig:u,defaultedRange:d}=kt(i),{transitionName:f,showTransition:p}=rl(l),m=Ds({hours:!1,minutes:!1,seconds:!1}),_=be("AM"),b=be(null),w=be([]),$=be(),A=be(!1);Gt(()=>{s("mounted")});const T=v=>ht(new Date,{hours:v.hours,minutes:v.minutes,seconds:i.enableSeconds?v.seconds:0,milliseconds:0}),k=ve(()=>v=>V(v,i[v])||x(v,i[v])),y=ve(()=>({hours:i.hours,minutes:i.minutes,seconds:i.seconds})),x=(v,O)=>d.value.enabled&&!d.value.disableTimeRangeValidation?!i.validateTime(v,O):!1,C=(v,O)=>{if(d.value.enabled&&!d.value.disableTimeRangeValidation){const H=O?+i[`${v}Increment`]:-+i[`${v}Increment`],W=i[v]+H;return!i.validateTime(v,W)}return!1},P=ve(()=>v=>!K(+i[v]+ +i[`${v}Increment`],v)||C(v,!0)),E=ve(()=>v=>!K(+i[v]-+i[`${v}Increment`],v)||C(v,!1)),B=(v,O)=>Dy(ht(xe(),v),O),G=(v,O)=>mI(ht(xe(),v),O),ae=ve(()=>({dp__time_col:!0,dp__time_col_block:!i.timePickerInline,dp__time_col_reg_block:!i.enableSeconds&&i.is24&&!i.timePickerInline,dp__time_col_reg_inline:!i.enableSeconds&&i.is24&&i.timePickerInline,dp__time_col_reg_with_button:!i.enableSeconds&&!i.is24,dp__time_col_sec:i.enableSeconds&&i.is24,dp__time_col_sec_with_button:i.enableSeconds&&!i.is24})),Y=ve(()=>{const v=[{type:"hours"}];return i.enableMinutes&&v.push({type:"",separator:!0},{type:"minutes"}),i.enableSeconds&&v.push({type:"",separator:!0},{type:"seconds"}),v}),L=ve(()=>Y.value.filter(v=>!v.separator)),I=ve(()=>v=>{if(v==="hours"){const O=se(+i.hours);return{text:O<10?`0${O}`:`${O}`,value:O}}return{text:i[v]<10?`0${i[v]}`:`${i[v]}`,value:i[v]}}),V=(v,O)=>{var H;if(!i.disabledTimesConfig)return!1;const W=i.disabledTimesConfig(i.order,v==="hours"?O:void 0);return W[v]?!!((H=W[v])!=null&&H.includes(O)):!0},Q=(v,O)=>O!=="hours"||_.value==="AM"?v:v+12,Z=v=>{const O=i.is24?24:12,H=v==="hours"?O:60,W=+i[`${v}GridIncrement`],ie=v==="hours"&&!i.is24?W:0,j=[];for(let te=ie;te({active:!1,disabled:c.value.times[v].includes(te.value)||!K(te.value,v)||V(v,te.value)||x(v,te.value)}))},ce=v=>v>=0?v:59,we=v=>v>=0?v:23,K=(v,O)=>{const H=i.minTime?T(od(i.minTime)):null,W=i.maxTime?T(od(i.maxTime)):null,ie=T(od(y.value,O,O==="minutes"||O==="seconds"?ce(v):we(v)));return H&&W?(za(ie,W)||ir(ie,W))&&($r(ie,H)||ir(ie,H)):H?$r(ie,H)||ir(ie,H):W?za(ie,W)||ir(ie,W):!0},X=v=>i[`no${v[0].toUpperCase()+v.slice(1)}Overlay`],R=v=>{X(v)||(m[v]=!m[v],m[v]?(A.value=!0,s("overlay-opened",v)):(A.value=!1,s("overlay-closed",v)))},ee=v=>v==="hours"?ei:v==="minutes"?Ni:Sr,oe=()=>{$.value&&clearTimeout($.value)},M=(v,O=!0,H)=>{const W=O?B:G,ie=O?+i[`${v}Increment`]:-+i[`${v}Increment`];K(+i[v]+ie,v)&&s(`update:${v}`,ee(v)(W({[v]:+i[v]},{[v]:+i[`${v}Increment`]}))),!(H!=null&&H.keyboard)&&u.value.timeArrowHoldThreshold&&($.value=setTimeout(()=>{M(v,O)},u.value.timeArrowHoldThreshold))},se=v=>i.is24?v:(v>=12?_.value="PM":_.value="AM",xI(v)),de=()=>{_.value==="PM"?(_.value="AM",s("update:hours",i.hours-12)):(_.value="PM",s("update:hours",i.hours+12)),s("am-pm-change",_.value)},ke=v=>{m[v]=!0},N=(v,O,H)=>{if(v&&i.arrowNavigation){Array.isArray(w.value[O])?w.value[O][H]=v:w.value[O]=[v];const W=w.value.reduce((ie,j)=>j.map((te,J)=>[...ie[J]||[],j[J]]),[]);r(i.closeTimePickerBtn),b.value&&(W[1]=W[1].concat(b.value)),o(W,i.order)}},fe=(v,O)=>(R(v),s(`update:${v}`,O));return t({openChildCmp:ke}),(v,O)=>{var H;return v.disabled?re("",!0):(D(),F("div",pR,[(D(!0),F(Te,null,Ue(Y.value,(W,ie)=>{var j,te,J;return D(),F("div",{key:ie,class:Ee(ae.value)},[W.separator?(D(),F(Te,{key:0},[A.value?re("",!0):(D(),F(Te,{key:0},[ye(":")],64))],64)):(D(),F(Te,{key:1},[h("button",{ref_for:!0,ref:he=>N(he,ie,0),type:"button",class:Ee({dp__btn:!0,dp__inc_dec_button:!v.timePickerInline,dp__inc_dec_button_inline:v.timePickerInline,dp__tp_inline_btn_top:v.timePickerInline,dp__inc_dec_button_disabled:P.value(W.type),"dp--hidden-el":A.value}),"data-test":`${W.type}-time-inc-btn-${i.order}`,"aria-label":(j=q(a))==null?void 0:j.incrementValue(W.type),tabindex:"0",onKeydown:he=>q(vn)(he,()=>M(W.type,!0,{keyboard:!0}),!0),onClick:he=>q(u).timeArrowHoldThreshold?void 0:M(W.type,!0),onMousedown:he=>q(u).timeArrowHoldThreshold?M(W.type,!0):void 0,onMouseup:oe},[i.timePickerInline?(D(),F(Te,{key:1},[v.$slots["tp-inline-arrow-up"]?Ie(v.$slots,"tp-inline-arrow-up",{key:0}):(D(),F(Te,{key:1},[mR,_R],64))],64)):(D(),F(Te,{key:0},[v.$slots["arrow-up"]?Ie(v.$slots,"arrow-up",{key:0}):re("",!0),v.$slots["arrow-up"]?re("",!0):(D(),Ne(q(Of),{key:1}))],64))],42,gR),h("button",{ref_for:!0,ref:he=>N(he,ie,1),type:"button","aria-label":`${I.value(W.type).text}-${(te=q(a))==null?void 0:te.openTpOverlay(W.type)}`,class:Ee({dp__time_display:!0,dp__time_display_block:!v.timePickerInline,dp__time_display_inline:v.timePickerInline,"dp--time-invalid":k.value(W.type),"dp--time-overlay-btn":!k.value(W.type),"dp--hidden-el":A.value}),disabled:X(W.type),tabindex:"0","data-test":`${W.type}-toggle-overlay-btn-${i.order}`,onKeydown:he=>q(vn)(he,()=>R(W.type),!0),onClick:he=>R(W.type)},[v.$slots[W.type]?Ie(v.$slots,W.type,{key:0,text:I.value(W.type).text,value:I.value(W.type).value}):re("",!0),v.$slots[W.type]?re("",!0):(D(),F(Te,{key:1},[ye(_e(I.value(W.type).text),1)],64))],42,vR),h("button",{ref_for:!0,ref:he=>N(he,ie,2),type:"button",class:Ee({dp__btn:!0,dp__inc_dec_button:!v.timePickerInline,dp__inc_dec_button_inline:v.timePickerInline,dp__tp_inline_btn_bottom:v.timePickerInline,dp__inc_dec_button_disabled:E.value(W.type),"dp--hidden-el":A.value}),"data-test":`${W.type}-time-dec-btn-${i.order}`,"aria-label":(J=q(a))==null?void 0:J.decrementValue(W.type),tabindex:"0",onKeydown:he=>q(vn)(he,()=>M(W.type,!1,{keyboard:!0}),!0),onClick:he=>q(u).timeArrowHoldThreshold?void 0:M(W.type,!1),onMousedown:he=>q(u).timeArrowHoldThreshold?M(W.type,!1):void 0,onMouseup:oe},[i.timePickerInline?(D(),F(Te,{key:1},[v.$slots["tp-inline-arrow-down"]?Ie(v.$slots,"tp-inline-arrow-down",{key:0}):(D(),F(Te,{key:1},[yR,wR],64))],64)):(D(),F(Te,{key:0},[v.$slots["arrow-down"]?Ie(v.$slots,"arrow-down",{key:0}):re("",!0),v.$slots["arrow-down"]?re("",!0):(D(),Ne(q(If),{key:1}))],64))],42,bR)],64))],2)}),128)),v.is24?re("",!0):(D(),F("div",xR,[v.$slots["am-pm-button"]?Ie(v.$slots,"am-pm-button",{key:0,toggle:de,value:_.value}):re("",!0),v.$slots["am-pm-button"]?re("",!0):(D(),F("button",{key:1,ref_key:"amPmButton",ref:b,type:"button",class:"dp__pm_am_button",role:"button","aria-label":(H=q(a))==null?void 0:H.amPmButton,tabindex:"0",onClick:de,onKeydown:O[0]||(O[0]=W=>q(vn)(W,()=>de(),!0))},_e(_.value),41,kR))])),(D(!0),F(Te,null,Ue(L.value,(W,ie)=>(D(),Ne(Ct,{key:ie,name:q(f)(m[W.type]),css:q(p)},{default:Me(()=>{var j,te;return[m[W.type]?(D(),Ne(ol,{key:0,items:Z(W.type),"is-last":v.autoApply&&!q(u).keepActionRow,"esc-close":v.escClose,type:W.type,"text-input":v.textInput,config:v.config,"arrow-navigation":v.arrowNavigation,"aria-labels":v.ariaLabels,"overlay-label":(te=(j=q(a)).timeOverlay)==null?void 0:te.call(j,W.type),onSelected:J=>fe(W.type,J),onToggle:J=>R(W.type),onResetFlow:O[1]||(O[1]=J=>v.$emit("reset-flow"))},hn({"button-icon":Me(()=>[v.$slots["clock-icon"]?Ie(v.$slots,"clock-icon",{key:0}):re("",!0),v.$slots["clock-icon"]?re("",!0):(D(),Ne(Io(v.timePickerInline?q(Vr):q(Df)),{key:1}))]),_:2},[v.$slots[`${W.type}-overlay-value`]?{name:"item",fn:Me(({item:J})=>[Ie(v.$slots,`${W.type}-overlay-value`,{text:J.text,value:J.value})]),key:"0"}:void 0,v.$slots[`${W.type}-overlay-header`]?{name:"header",fn:Me(()=>[Ie(v.$slots,`${W.type}-overlay-header`,{toggle:()=>R(W.type)})]),key:"1"}:void 0]),1032,["items","is-last","esc-close","type","text-input","config","arrow-navigation","aria-labels","overlay-label","onSelected","onToggle"])):re("",!0)]}),_:2},1032,["name","css"]))),128))]))}}}),$R={class:"dp--tp-wrap"},AR=["aria-label","tabindex"],CR=["role","aria-label","tabindex"],ER=["aria-label"],_0=Ft({compatConfig:{MODE:3},__name:"TimePicker",props:{hours:{type:[Number,Array],default:0},minutes:{type:[Number,Array],default:0},seconds:{type:[Number,Array],default:0},disabledTimesConfig:{type:Function,default:null},validateTime:{type:Function,default:()=>!1},...fs},emits:["update:hours","update:minutes","update:seconds","mount","reset-flow","overlay-opened","overlay-closed","am-pm-change"],setup(e,{expose:t,emit:n}){const s=n,i=e,{buildMatrix:o,setTimePicker:r}=Yi(),a=Ro(),{defaultedTransitions:l,defaultedAriaLabels:c,defaultedTextInput:u,defaultedConfig:d,defaultedRange:f}=kt(i),{transitionName:p,showTransition:m}=rl(l),{hideNavigationButtons:_}=_u(),b=be(null),w=be(null),$=be([]),A=be(null),T=be(!1);Gt(()=>{s("mount"),!i.timePicker&&i.arrowNavigation?o([jt(b.value)],"time"):r(!0,i.timePicker)});const k=ve(()=>f.value.enabled&&i.modelAuto?t0(i.internalModelValue):!0),y=be(!1),x=Z=>({hours:Array.isArray(i.hours)?i.hours[Z]:i.hours,minutes:Array.isArray(i.minutes)?i.minutes[Z]:i.minutes,seconds:Array.isArray(i.seconds)?i.seconds[Z]:i.seconds}),C=ve(()=>{const Z=[];if(f.value.enabled)for(let ce=0;ce<2;ce++)Z.push(x(ce));else Z.push(x(0));return Z}),P=(Z,ce=!1,we="")=>{ce||s("reset-flow"),y.value=Z,s(Z?"overlay-opened":"overlay-closed",cn.time),i.arrowNavigation&&r(Z),tn(()=>{we!==""&&$.value[0]&&$.value[0].openChildCmp(we)})},E=ve(()=>({dp__btn:!0,dp__button:!0,dp__button_bottom:i.autoApply&&!d.value.keepActionRow})),B=Rn(a,"timePicker"),G=(Z,ce,we)=>f.value.enabled?ce===0?[Z,C.value[1][we]]:[C.value[0][we],Z]:Z,ae=Z=>{s("update:hours",Z)},Y=Z=>{s("update:minutes",Z)},L=Z=>{s("update:seconds",Z)},I=()=>{if(A.value&&!u.value.enabled&&!i.noOverlayFocus){const Z=n0(A.value);Z&&Z.focus({preventScroll:!0})}},V=Z=>{T.value=!1,s("overlay-closed",Z)},Q=Z=>{T.value=!0,s("overlay-opened",Z)};return t({toggleTimePicker:P}),(Z,ce)=>{var we;return D(),F("div",$R,[!Z.timePicker&&!Z.timePickerInline?Re((D(),F("button",{key:0,ref_key:"openTimePickerBtn",ref:b,type:"button",class:Ee({...E.value,"dp--hidden-el":y.value}),"aria-label":(we=q(c))==null?void 0:we.openTimePicker,tabindex:Z.noOverlayFocus?void 0:0,"data-test":"open-time-picker-btn",onKeydown:ce[0]||(ce[0]=K=>q(vn)(K,()=>P(!0))),onClick:ce[1]||(ce[1]=K=>P(!0))},[Z.$slots["clock-icon"]?Ie(Z.$slots,"clock-icon",{key:0}):re("",!0),Z.$slots["clock-icon"]?re("",!0):(D(),Ne(q(Df),{key:1}))],42,AR)),[[uc,!q(_)(Z.hideNavigation,"time")]]):re("",!0),$e(Ct,{name:q(p)(y.value),css:q(m)&&!Z.timePickerInline},{default:Me(()=>{var K,X;return[y.value||Z.timePicker||Z.timePickerInline?(D(),F("div",{key:0,ref_key:"overlayRef",ref:A,role:Z.timePickerInline?void 0:"dialog",class:Ee({dp__overlay:!Z.timePickerInline,"dp--overlay-absolute":!i.timePicker&&!Z.timePickerInline,"dp--overlay-relative":i.timePicker}),style:Wt(Z.timePicker?{height:`${q(d).modeHeight}px`}:void 0),"aria-label":(K=q(c))==null?void 0:K.timePicker,tabindex:Z.timePickerInline?void 0:0},[h("div",{class:Ee(Z.timePickerInline?"dp__time_picker_inline_container":"dp__overlay_container dp__container_flex dp__time_picker_overlay_container"),style:{display:"flex"}},[Z.$slots["time-picker-overlay"]?Ie(Z.$slots,"time-picker-overlay",{key:0,hours:e.hours,minutes:e.minutes,seconds:e.seconds,setHours:ae,setMinutes:Y,setSeconds:L}):re("",!0),Z.$slots["time-picker-overlay"]?re("",!0):(D(),F("div",{key:1,class:Ee(Z.timePickerInline?"dp__flex":"dp__overlay_row dp__flex_row")},[(D(!0),F(Te,null,Ue(C.value,(R,ee)=>Re((D(),Ne(SR,Yt({key:ee,ref_for:!0},{...Z.$props,order:ee,hours:R.hours,minutes:R.minutes,seconds:R.seconds,closeTimePickerBtn:w.value,disabledTimesConfig:e.disabledTimesConfig,disabled:ee===0?q(f).fixedStart:q(f).fixedEnd},{ref_for:!0,ref_key:"timeInputRefs",ref:$,"validate-time":(oe,M)=>e.validateTime(oe,G(M,ee,oe)),"onUpdate:hours":oe=>ae(G(oe,ee,"hours")),"onUpdate:minutes":oe=>Y(G(oe,ee,"minutes")),"onUpdate:seconds":oe=>L(G(oe,ee,"seconds")),onMounted:I,onOverlayClosed:V,onOverlayOpened:Q,onAmPmChange:ce[2]||(ce[2]=oe=>Z.$emit("am-pm-change",oe))}),hn({_:2},[Ue(q(B),(oe,M)=>({name:oe,fn:Me(se=>[Ie(Z.$slots,oe,Yt({ref_for:!0},se))])}))]),1040,["validate-time","onUpdate:hours","onUpdate:minutes","onUpdate:seconds"])),[[uc,ee===0?!0:k.value]])),128))],2)),!Z.timePicker&&!Z.timePickerInline?Re((D(),F("button",{key:2,ref_key:"closeTimePickerBtn",ref:w,type:"button",class:Ee({...E.value,"dp--hidden-el":T.value}),"aria-label":(X=q(c))==null?void 0:X.closeTimePicker,tabindex:"0",onKeydown:ce[3]||(ce[3]=R=>q(vn)(R,()=>P(!1))),onClick:ce[4]||(ce[4]=R=>P(!1))},[Z.$slots["calendar-icon"]?Ie(Z.$slots,"calendar-icon",{key:0}):re("",!0),Z.$slots["calendar-icon"]?re("",!0):(D(),Ne(q(Vr),{key:1}))],42,ER)),[[uc,!q(_)(Z.hideNavigation,"time")]]):re("",!0)],2)],14,CR)):re("",!0)]}),_:3},8,["name","css"])])}}}),v0=(e,t,n,s)=>{const{defaultedRange:i}=kt(e),o=(A,T)=>Array.isArray(t[A])?t[A][T]:t[A],r=A=>e.enableSeconds?Array.isArray(t.seconds)?t.seconds[A]:t.seconds:0,a=(A,T)=>A?T!==void 0?Di(A,o("hours",T),o("minutes",T),r(T)):Di(A,t.hours,t.minutes,r()):Xy(xe(),r(T)),l=(A,T)=>{t[A]=T},c=ve(()=>e.modelAuto&&i.value.enabled?Array.isArray(n.value)?n.value.length>1:!1:i.value.enabled),u=(A,T)=>{const k=Object.fromEntries(Object.keys(t).map(y=>y===A?[y,T]:[y,t[y]].slice()));if(c.value&&!i.value.disableTimeRangeValidation){const y=C=>n.value?Di(n.value[C],k.hours[C],k.minutes[C],k.seconds[C]):null,x=C=>Jy(n.value[C],0);return!(nt(y(0),y(1))&&($r(y(0),x(1))||za(y(1),x(0))))}return!0},d=(A,T)=>{u(A,T)&&(l(A,T),s&&s())},f=A=>{d("hours",A)},p=A=>{d("minutes",A)},m=A=>{d("seconds",A)},_=(A,T,k,y)=>{T&&f(A),!T&&!k&&p(A),k&&m(A),n.value&&y(n.value)},b=A=>{if(A){const T=Array.isArray(A),k=T?[+A[0].hours,+A[1].hours]:+A.hours,y=T?[+A[0].minutes,+A[1].minutes]:+A.minutes,x=T?[+A[0].seconds,+A[1].seconds]:+A.seconds;l("hours",k),l("minutes",y),e.enableSeconds&&l("seconds",x)}},w=(A,T)=>{const k={hours:Array.isArray(t.hours)?t.hours[A]:t.hours,disabledArr:[]};return(T||T===0)&&(k.hours=T),Array.isArray(e.disabledTimes)&&(k.disabledArr=i.value.enabled&&Array.isArray(e.disabledTimes[A])?e.disabledTimes[A]:e.disabledTimes),k},$=ve(()=>(A,T)=>{var k;if(Array.isArray(e.disabledTimes)){const{disabledArr:y,hours:x}=w(A,T),C=y.filter(P=>+P.hours===x);return((k=C[0])==null?void 0:k.minutes)==="*"?{hours:[x],minutes:void 0,seconds:void 0}:{hours:[],minutes:(C==null?void 0:C.map(P=>+P.minutes))??[],seconds:(C==null?void 0:C.map(P=>P.seconds?+P.seconds:void 0))??[]}}return{hours:[],minutes:[],seconds:[]}});return{setTime:l,updateHours:f,updateMinutes:p,updateSeconds:m,getSetDateTime:a,updateTimeValues:_,getSecondsValue:r,assignStartTime:b,validateTime:u,disabledTimesConfig:$}},PR=(e,t)=>{const n=()=>{e.isTextInputDate&&T()},{modelValue:s,time:i}=al(e,t,n),{defaultedStartTime:o,defaultedRange:r,defaultedTz:a}=kt(e),{updateTimeValues:l,getSetDateTime:c,setTime:u,assignStartTime:d,disabledTimesConfig:f,validateTime:p}=v0(e,i,s,m);function m(){t("update-flow-step")}const _=y=>{const{hours:x,minutes:C,seconds:P}=y;return{hours:+x,minutes:+C,seconds:P?+P:0}},b=()=>{if(e.startTime){if(Array.isArray(e.startTime)){const x=_(e.startTime[0]),C=_(e.startTime[1]);return[ht(xe(),x),ht(xe(),C)]}const y=_(e.startTime);return ht(xe(),y)}return r.value.enabled?[null,null]:null},w=()=>{if(r.value.enabled){const[y,x]=b();s.value=[En(c(y,0),a.value.timezone),En(c(x,1),a.value.timezone)]}else s.value=En(c(b()),a.value.timezone)},$=y=>Array.isArray(y)?[So(xe(y[0])),So(xe(y[1]))]:[So(y??xe())],A=(y,x,C)=>{u("hours",y),u("minutes",x),u("seconds",e.enableSeconds?C:0)},T=()=>{const[y,x]=$(s.value);return r.value.enabled?A([y.hours,x.hours],[y.minutes,x.minutes],[y.seconds,x.seconds]):A(y.hours,y.minutes,y.seconds)};Gt(()=>{if(!e.shadow)return d(o.value),s.value?T():w()});const k=()=>{Array.isArray(s.value)?s.value=s.value.map((y,x)=>y&&c(y,x)):s.value=c(s.value),t("time-update")};return{modelValue:s,time:i,disabledTimesConfig:f,updateTime:(y,x=!0,C=!1)=>{l(y,x,C,k)},validateTime:p}},MR=Ft({compatConfig:{MODE:3},__name:"TimePickerSolo",props:{...fs},emits:["update:internal-model-value","time-update","am-pm-change","mount","reset-flow","update-flow-step","overlay-toggle"],setup(e,{expose:t,emit:n}){const s=n,i=e,o=Ro(),r=Rn(o,"timePicker"),a=be(null),{time:l,modelValue:c,disabledTimesConfig:u,updateTime:d,validateTime:f}=PR(i,s);return Gt(()=>{i.shadow||s("mount",null)}),t({getSidebarProps:()=>({modelValue:c,time:l,updateTime:d}),toggleTimePicker:(p,m=!1,_="")=>{var b;(b=a.value)==null||b.toggleTimePicker(p,m,_)}}),(p,m)=>(D(),Ne(gu,{"multi-calendars":0,stretch:""},{default:Me(()=>[$e(_0,Yt({ref_key:"tpRef",ref:a},p.$props,{hours:q(l).hours,minutes:q(l).minutes,seconds:q(l).seconds,"internal-model-value":p.internalModelValue,"disabled-times-config":q(u),"validate-time":q(f),"onUpdate:hours":m[0]||(m[0]=_=>q(d)(_)),"onUpdate:minutes":m[1]||(m[1]=_=>q(d)(_,!1)),"onUpdate:seconds":m[2]||(m[2]=_=>q(d)(_,!1,!0)),onAmPmChange:m[3]||(m[3]=_=>p.$emit("am-pm-change",_)),onResetFlow:m[4]||(m[4]=_=>p.$emit("reset-flow")),onOverlayClosed:m[5]||(m[5]=_=>p.$emit("overlay-toggle",{open:!1,overlay:_})),onOverlayOpened:m[6]||(m[6]=_=>p.$emit("overlay-toggle",{open:!0,overlay:_}))}),hn({_:2},[Ue(q(r),(_,b)=>({name:_,fn:Me(w=>[Ie(p.$slots,_,Zt(_n(w)))])}))]),1040,["hours","minutes","seconds","internal-model-value","disabled-times-config","validate-time"])]),_:3}))}}),TR={class:"dp--header-wrap"},DR={key:0,class:"dp__month_year_wrap"},OR={key:0},IR={class:"dp__month_year_wrap"},RR=["data-dp-element","aria-label","data-test","onClick","onKeydown"],LR=Ft({compatConfig:{MODE:3},__name:"DpHeader",props:{month:{type:Number,default:0},year:{type:Number,default:0},instance:{type:Number,default:0},years:{type:Array,default:()=>[]},months:{type:Array,default:()=>[]},...fs},emits:["update-month-year","mount","reset-flow","overlay-closed","overlay-opened"],setup(e,{expose:t,emit:n}){const s=n,i=e,{defaultedTransitions:o,defaultedAriaLabels:r,defaultedMultiCalendars:a,defaultedFilters:l,defaultedConfig:c,defaultedHighlight:u,propDates:d,defaultedUI:f}=kt(i),{transitionName:p,showTransition:m}=rl(o),{buildMatrix:_}=Yi(),{handleMonthYearChange:b,isDisabled:w,updateMonthYear:$}=eR(i,s),{showLeftIcon:A,showRightIcon:T}=_u(),k=be(!1),y=be(!1),x=be(!1),C=be([null,null,null,null]);Gt(()=>{s("mount")});const P=X=>({get:()=>i[X],set:R=>{const ee=X===ns.month?ns.year:ns.month;s("update-month-year",{[X]:R,[ee]:i[ee]}),X===ns.month?V(!0):Q(!0)}}),E=ve(P(ns.month)),B=ve(P(ns.year)),G=ve(()=>X=>({month:i.month,year:i.year,items:X===ns.month?i.months:i.years,instance:i.instance,updateMonthYear:$,toggle:X===ns.month?V:Q})),ae=ve(()=>i.months.find(R=>R.value===i.month)||{text:"",value:0}),Y=ve(()=>Cr(i.months,X=>{const R=i.month===X.value,ee=Ya(X.value,i0(i.year,d.value.minDate),o0(i.year,d.value.maxDate))||l.value.months.includes(X.value),oe=u0(u.value,X.value,i.year);return{active:R,disabled:ee,highlighted:oe}})),L=ve(()=>Cr(i.years,X=>{const R=i.year===X.value,ee=Ya(X.value,Er(d.value.minDate),Er(d.value.maxDate))||l.value.years.includes(X.value),oe=Bf(u.value,X.value);return{active:R,disabled:ee,highlighted:oe}})),I=(X,R,ee)=>{ee!==void 0?X.value=ee:X.value=!X.value,X.value?(x.value=!0,s("overlay-opened",R)):(x.value=!1,s("overlay-closed",R))},V=(X=!1,R)=>{Z(X),I(k,cn.month,R)},Q=(X=!1,R)=>{Z(X),I(y,cn.year,R)},Z=X=>{X||s("reset-flow")},ce=(X,R)=>{i.arrowNavigation&&(C.value[R]=jt(X),_(C.value,"monthYear"))},we=ve(()=>{var X,R,ee,oe,M,se;return[{type:ns.month,index:1,toggle:V,modelValue:E.value,updateModelValue:de=>E.value=de,text:ae.value.text,showSelectionGrid:k.value,items:Y.value,ariaLabel:(X=r.value)==null?void 0:X.openMonthsOverlay,overlayLabel:((ee=(R=r.value).monthPicker)==null?void 0:ee.call(R,!0))??void 0},{type:ns.year,index:2,toggle:Q,modelValue:B.value,updateModelValue:de=>B.value=de,text:s0(i.year,i.locale),showSelectionGrid:y.value,items:L.value,ariaLabel:(oe=r.value)==null?void 0:oe.openYearsOverlay,overlayLabel:((se=(M=r.value).yearPicker)==null?void 0:se.call(M,!0))??void 0}]}),K=ve(()=>i.disableYearSelect?[we.value[0]]:i.yearFirst?[...we.value].reverse():we.value);return t({toggleMonthPicker:V,toggleYearPicker:Q,handleMonthYearChange:b}),(X,R)=>{var ee,oe,M,se,de,ke;return D(),F("div",TR,[X.$slots["month-year"]?(D(),F("div",DR,[Ie(X.$slots,"month-year",Zt(_n({month:e.month,year:e.year,months:e.months,years:e.years,updateMonthYear:q($),handleMonthYearChange:q(b),instance:e.instance})))])):(D(),F(Te,{key:1},[X.$slots["top-extra"]?(D(),F("div",OR,[Ie(X.$slots,"top-extra",{value:X.internalModelValue})])):re("",!0),h("div",IR,[q(A)(q(a),e.instance)&&!X.vertical?(D(),Ne($a,{key:0,"aria-label":(ee=q(r))==null?void 0:ee.prevMonth,disabled:q(w)(!1),class:Ee((oe=q(f))==null?void 0:oe.navBtnPrev),"el-name":"action-prev",onActivate:R[0]||(R[0]=N=>q(b)(!1,!0)),onSetRef:R[1]||(R[1]=N=>ce(N,0))},{default:Me(()=>[X.$slots["arrow-left"]?Ie(X.$slots,"arrow-left",{key:0}):re("",!0),X.$slots["arrow-left"]?re("",!0):(D(),Ne(q(Mf),{key:1}))]),_:3},8,["aria-label","disabled","class"])):re("",!0),h("div",{class:Ee(["dp__month_year_wrap",{dp__year_disable_select:X.disableYearSelect}])},[(D(!0),F(Te,null,Ue(K.value,(N,fe)=>(D(),F(Te,{key:N.type},[h("button",{ref_for:!0,ref:v=>ce(v,fe+1),type:"button","data-dp-element":`overlay-${N.type}`,class:Ee(["dp__btn dp__month_year_select",{"dp--hidden-el":x.value}]),"aria-label":`${N.text}-${N.ariaLabel}`,"data-test":`${N.type}-toggle-overlay-${e.instance}`,onClick:N.toggle,onKeydown:v=>q(vn)(v,()=>N.toggle(),!0)},[X.$slots[N.type]?Ie(X.$slots,N.type,{key:0,text:N.text,value:i[N.type]}):re("",!0),X.$slots[N.type]?re("",!0):(D(),F(Te,{key:1},[ye(_e(N.text),1)],64))],42,RR),$e(Ct,{name:q(p)(N.showSelectionGrid),css:q(m)},{default:Me(()=>[N.showSelectionGrid?(D(),Ne(ol,{key:0,items:N.items,"arrow-navigation":X.arrowNavigation,"hide-navigation":X.hideNavigation,"is-last":X.autoApply&&!q(c).keepActionRow,"skip-button-ref":!1,config:X.config,type:N.type,"header-refs":[],"esc-close":X.escClose,"menu-wrap-ref":X.menuWrapRef,"text-input":X.textInput,"aria-labels":X.ariaLabels,"overlay-label":N.overlayLabel,onSelected:N.updateModelValue,onToggle:N.toggle},hn({"button-icon":Me(()=>[X.$slots["calendar-icon"]?Ie(X.$slots,"calendar-icon",{key:0}):re("",!0),X.$slots["calendar-icon"]?re("",!0):(D(),Ne(q(Vr),{key:1}))]),_:2},[X.$slots[`${N.type}-overlay-value`]?{name:"item",fn:Me(({item:v})=>[Ie(X.$slots,`${N.type}-overlay-value`,{text:v.text,value:v.value})]),key:"0"}:void 0,X.$slots[`${N.type}-overlay`]?{name:"overlay",fn:Me(()=>[Ie(X.$slots,`${N.type}-overlay`,Yt({ref_for:!0},G.value(N.type)))]),key:"1"}:void 0,X.$slots[`${N.type}-overlay-header`]?{name:"header",fn:Me(()=>[Ie(X.$slots,`${N.type}-overlay-header`,{toggle:N.toggle})]),key:"2"}:void 0]),1032,["items","arrow-navigation","hide-navigation","is-last","config","type","esc-close","menu-wrap-ref","text-input","aria-labels","overlay-label","onSelected","onToggle"])):re("",!0)]),_:2},1032,["name","css"])],64))),128))],2),q(A)(q(a),e.instance)&&X.vertical?(D(),Ne($a,{key:1,"aria-label":(M=q(r))==null?void 0:M.prevMonth,"el-name":"action-prev",disabled:q(w)(!1),class:Ee((se=q(f))==null?void 0:se.navBtnPrev),onActivate:R[2]||(R[2]=N=>q(b)(!1,!0))},{default:Me(()=>[X.$slots["arrow-up"]?Ie(X.$slots,"arrow-up",{key:0}):re("",!0),X.$slots["arrow-up"]?re("",!0):(D(),Ne(q(Of),{key:1}))]),_:3},8,["aria-label","disabled","class"])):re("",!0),q(T)(q(a),e.instance)?(D(),Ne($a,{key:2,ref:"rightIcon","el-name":"action-next",disabled:q(w)(!0),"aria-label":(de=q(r))==null?void 0:de.nextMonth,class:Ee((ke=q(f))==null?void 0:ke.navBtnNext),onActivate:R[3]||(R[3]=N=>q(b)(!0,!0)),onSetRef:R[4]||(R[4]=N=>ce(N,X.disableYearSelect?2:3))},{default:Me(()=>[X.$slots[X.vertical?"arrow-down":"arrow-right"]?Ie(X.$slots,X.vertical?"arrow-down":"arrow-right",{key:0}):re("",!0),X.$slots[X.vertical?"arrow-down":"arrow-right"]?re("",!0):(D(),Ne(Io(X.vertical?q(If):q(Tf)),{key:1}))]),_:3},8,["disabled","aria-label","class"])):re("",!0)])],64))])}}}),NR={class:"dp__calendar_header",role:"row"},FR={key:0,class:"dp__calendar_header_item",role:"gridcell"},BR=["aria-label"],VR=h("div",{class:"dp__calendar_header_separator"},null,-1),HR={key:0,class:"dp__calendar_item dp__week_num",role:"gridcell"},jR={class:"dp__cell_inner"},WR=["id","aria-pressed","aria-disabled","aria-label","data-test","onClick","onTouchend","onKeydown","onMouseenter","onMouseleave","onMousedown"],zR=Ft({compatConfig:{MODE:3},__name:"DpCalendar",props:{mappedDates:{type:Array,default:()=>[]},instance:{type:Number,default:0},month:{type:Number,default:0},year:{type:Number,default:0},...fs},emits:["select-date","set-hover-date","handle-scroll","mount","handle-swipe","handle-space","tooltip-open","tooltip-close"],setup(e,{expose:t,emit:n}){const s=n,i=e,{buildMultiLevelMatrix:o}=Yi(),{defaultedTransitions:r,defaultedConfig:a,defaultedAriaLabels:l,defaultedMultiCalendars:c,defaultedWeekNumbers:u,defaultedMultiDates:d,defaultedUI:f}=kt(i),p=be(null),m=be({bottom:"",left:"",transform:""}),_=be([]),b=be(null),w=be(!0),$=be(""),A=be({startX:0,endX:0,startY:0,endY:0}),T=be([]),k=be({left:"50%"}),y=be(!1),x=ve(()=>i.calendar?i.calendar(i.mappedDates):i.mappedDates),C=ve(()=>i.dayNames?Array.isArray(i.dayNames)?i.dayNames:i.dayNames(i.locale,+i.weekStart):wI(i.formatLocale,i.locale,+i.weekStart));Gt(()=>{s("mount",{cmp:"calendar",refs:_}),a.value.noSwipe||b.value&&(b.value.addEventListener("touchstart",ce,{passive:!1}),b.value.addEventListener("touchend",we,{passive:!1}),b.value.addEventListener("touchmove",K,{passive:!1})),i.monthChangeOnScroll&&b.value&&b.value.addEventListener("wheel",ee,{passive:!1})});const P=N=>N?i.vertical?"vNext":"next":i.vertical?"vPrevious":"previous",E=(N,fe)=>{if(i.transitions){const v=wn(Us(xe(),i.month,i.year));$.value=Ot(wn(Us(xe(),N,fe)),v)?r.value[P(!0)]:r.value[P(!1)],w.value=!1,tn(()=>{w.value=!0})}},B=ve(()=>({...f.value.calendar??{}})),G=ve(()=>N=>{const fe=kI(N);return{dp__marker_dot:fe.type==="dot",dp__marker_line:fe.type==="line"}}),ae=ve(()=>N=>nt(N,p.value)),Y=ve(()=>({dp__calendar:!0,dp__calendar_next:c.value.count>0&&i.instance!==0})),L=ve(()=>N=>i.hideOffsetDates?N.current:!0),I=async(N,fe)=>{const{width:v,height:O}=N.getBoundingClientRect();p.value=fe.value;let H={left:`${v/2}px`},W=-50;if(await tn(),T.value[0]){const{left:ie,width:j}=T.value[0].getBoundingClientRect();ie<0&&(H={left:"0"},W=0,k.value.left=`${v/2}px`),window.innerWidth{var O,H,W;const ie=jt(_.value[fe][v]);ie&&((O=N.marker)!=null&&O.customPosition&&(W=(H=N.marker)==null?void 0:H.tooltip)!=null&&W.length?m.value=N.marker.customPosition(ie):await I(ie,N),s("tooltip-open",N.marker))},Q=async(N,fe,v)=>{var O,H;if(y.value&&d.value.enabled&&d.value.dragSelect)return s("select-date",N);s("set-hover-date",N),(H=(O=N.marker)==null?void 0:O.tooltip)!=null&&H.length&&await V(N,fe,v)},Z=N=>{p.value&&(p.value=null,m.value=JSON.parse(JSON.stringify({bottom:"",left:"",transform:""})),s("tooltip-close",N.marker))},ce=N=>{A.value.startX=N.changedTouches[0].screenX,A.value.startY=N.changedTouches[0].screenY},we=N=>{A.value.endX=N.changedTouches[0].screenX,A.value.endY=N.changedTouches[0].screenY,X()},K=N=>{i.vertical&&!i.inline&&N.preventDefault()},X=()=>{const N=i.vertical?"Y":"X";Math.abs(A.value[`start${N}`]-A.value[`end${N}`])>10&&s("handle-swipe",A.value[`start${N}`]>A.value[`end${N}`]?"right":"left")},R=(N,fe,v)=>{N&&(Array.isArray(_.value[fe])?_.value[fe][v]=N:_.value[fe]=[N]),i.arrowNavigation&&o(_.value,"calendar")},ee=N=>{i.monthChangeOnScroll&&(N.preventDefault(),s("handle-scroll",N))},oe=N=>u.value.type==="local"?Cf(N.value,{weekStartsOn:+i.weekStart}):u.value.type==="iso"?$f(N.value):typeof u.value.type=="function"?u.value.type(N.value):"",M=N=>{const fe=N[0];return u.value.hideOnOffsetDates?N.some(v=>v.current)?oe(fe):"":oe(fe)},se=(N,fe,v=!0)=>{v&&EI()||d.value.enabled||(Ti(N,a.value),s("select-date",fe))},de=N=>{Ti(N,a.value)},ke=N=>{d.value.enabled&&d.value.dragSelect?(y.value=!0,s("select-date",N)):d.value.enabled&&s("select-date",N)};return t({triggerTransition:E}),(N,fe)=>(D(),F("div",{class:Ee(Y.value)},[h("div",{ref_key:"calendarWrapRef",ref:b,class:Ee(B.value),role:"grid"},[h("div",NR,[N.weekNumbers?(D(),F("div",FR,_e(N.weekNumName),1)):re("",!0),(D(!0),F(Te,null,Ue(C.value,(v,O)=>{var H,W;return D(),F("div",{key:O,class:"dp__calendar_header_item",role:"gridcell","data-test":"calendar-header","aria-label":(W=(H=q(l))==null?void 0:H.weekDay)==null?void 0:W.call(H,O)},[N.$slots["calendar-header"]?Ie(N.$slots,"calendar-header",{key:0,day:v,index:O}):re("",!0),N.$slots["calendar-header"]?re("",!0):(D(),F(Te,{key:1},[ye(_e(v),1)],64))],8,BR)}),128))]),VR,$e(Ct,{name:$.value,css:!!N.transitions},{default:Me(()=>[w.value?(D(),F("div",{key:0,class:"dp__calendar",role:"rowgroup",onMouseleave:fe[1]||(fe[1]=v=>y.value=!1)},[(D(!0),F(Te,null,Ue(x.value,(v,O)=>(D(),F("div",{key:O,class:"dp__calendar_row",role:"row"},[N.weekNumbers?(D(),F("div",HR,[h("div",jR,_e(M(v.days)),1)])):re("",!0),(D(!0),F(Te,null,Ue(v.days,(H,W)=>{var ie,j,te;return D(),F("div",{id:q(d0)(H.value),ref_for:!0,ref:J=>R(J,O,W),key:W+O,role:"gridcell",class:"dp__calendar_item","aria-pressed":(H.classData.dp__active_date||H.classData.dp__range_start||H.classData.dp__range_start)??void 0,"aria-disabled":H.classData.dp__cell_disabled||void 0,"aria-label":(j=(ie=q(l))==null?void 0:ie.day)==null?void 0:j.call(ie,H),tabindex:"0","data-test":H.value,onClick:Ha(J=>se(J,H),["prevent"]),onTouchend:J=>se(J,H,!1),onKeydown:J=>q(vn)(J,()=>N.$emit("select-date",H)),onMouseenter:J=>Q(H,O,W),onMouseleave:J=>Z(H),onMousedown:J=>ke(H),onMouseup:fe[0]||(fe[0]=J=>y.value=!1)},[h("div",{class:Ee(["dp__cell_inner",H.classData])},[N.$slots.day&&L.value(H)?Ie(N.$slots,"day",{key:0,day:+H.text,date:H.value}):re("",!0),N.$slots.day?re("",!0):(D(),F(Te,{key:1},[ye(_e(H.text),1)],64)),H.marker&&L.value(H)?(D(),F(Te,{key:2},[N.$slots.marker?Ie(N.$slots,"marker",{key:0,marker:H.marker,day:+H.text,date:H.value}):(D(),F("div",{key:1,class:Ee(G.value(H.marker)),style:Wt(H.marker.color?{backgroundColor:H.marker.color}:{})},null,6))],64)):re("",!0),ae.value(H.value)?(D(),F("div",{key:3,ref_for:!0,ref_key:"activeTooltip",ref:T,class:"dp__marker_tooltip",style:Wt(m.value)},[(te=H.marker)!=null&&te.tooltip?(D(),F("div",{key:0,class:"dp__tooltip_content",onClick:de},[(D(!0),F(Te,null,Ue(H.marker.tooltip,(J,he)=>(D(),F("div",{key:he,class:"dp__tooltip_text"},[N.$slots["marker-tooltip"]?Ie(N.$slots,"marker-tooltip",{key:0,tooltip:J,day:H.value}):re("",!0),N.$slots["marker-tooltip"]?re("",!0):(D(),F(Te,{key:1},[h("div",{class:"dp__tooltip_mark",style:Wt(J.color?{backgroundColor:J.color}:{})},null,4),h("div",null,_e(J.text),1)],64))]))),128)),h("div",{class:"dp__arrow_bottom_tp",style:Wt(k.value)},null,4)])):re("",!0)],4)):re("",!0)],2)],40,WR)}),128))]))),128))],32)):re("",!0)]),_:3},8,["name","css"])],2)],2))}}),Fm=e=>Array.isArray(e),YR=(e,t,n,s)=>{const i=be([]),o=be(new Date),r=be(),a=()=>ce(e.isTextInputDate),{modelValue:l,calendars:c,time:u,today:d}=al(e,t,a),{defaultedMultiCalendars:f,defaultedStartTime:p,defaultedRange:m,defaultedConfig:_,defaultedTz:b,propDates:w,defaultedMultiDates:$}=kt(e),{validateMonthYearInRange:A,isDisabled:T,isDateRangeAllowed:k,checkMinMaxRange:y}=Ki(e),{updateTimeValues:x,getSetDateTime:C,setTime:P,assignStartTime:E,validateTime:B,disabledTimesConfig:G}=v0(e,u,l,s),ae=ve(()=>ne=>c.value[ne]?c.value[ne].month:0),Y=ve(()=>ne=>c.value[ne]?c.value[ne].year:0),L=ne=>!_.value.keepViewOnOffsetClick||ne?!0:!r.value,I=(ne,Se,ue,Ae=!1)=>{var De,sn;L(Ae)&&(c.value[ne]||(c.value[ne]={month:0,year:0}),c.value[ne].month=Om(Se)?(De=c.value[ne])==null?void 0:De.month:Se,c.value[ne].year=Om(ue)?(sn=c.value[ne])==null?void 0:sn.year:ue)},V=()=>{e.autoApply&&t("select-date")};Gt(()=>{e.shadow||(l.value||(N(),p.value&&E(p.value)),ce(!0),e.focusStartDate&&e.startDate&&N())});const Q=ve(()=>{var ne;return(ne=e.flow)!=null&&ne.length&&!e.partialFlow?e.flowStep===e.flow.length:!0}),Z=()=>{e.autoApply&&Q.value&&t("auto-apply",e.partialFlow?e.flowStep!==e.flow.length:!1)},ce=(ne=!1)=>{if(l.value)return Array.isArray(l.value)?(i.value=l.value,M(ne)):X(l.value,ne);if(f.value.count&&ne&&!e.startDate)return K(xe(),ne)},we=()=>Array.isArray(l.value)&&m.value.enabled?Qe(l.value[0])===Qe(l.value[1]??l.value[0]):!1,K=(ne=new Date,Se=!1)=>{if((!f.value.count||!f.value.static||Se)&&I(0,Qe(ne),Ye(ne)),f.value.count&&(!f.value.solo||!l.value||we()))for(let ue=1;ue{K(ne),P("hours",ei(ne)),P("minutes",Ni(ne)),P("seconds",Sr(ne)),f.value.count&&Se&&ke()},R=ne=>{if(f.value.count){if(f.value.solo)return 0;const Se=Qe(ne[0]),ue=Qe(ne[1]);return Math.abs(ue-Se){ne[1]&&m.value.showLastInRange?K(ne[R(ne)],Se):K(ne[0],Se);const ue=(Ae,De)=>[Ae(ne[0]),ne[1]?Ae(ne[1]):u[De][1]];P("hours",ue(ei,"hours")),P("minutes",ue(Ni,"minutes")),P("seconds",ue(Sr,"seconds"))},oe=(ne,Se)=>{if((m.value.enabled||e.weekPicker)&&!$.value.enabled)return ee(ne,Se);if($.value.enabled&&Se){const ue=ne[ne.length-1];return X(ue,Se)}},M=ne=>{const Se=l.value;oe(Se,ne),f.value.count&&f.value.solo&&ke()},se=(ne,Se)=>{const ue=ht(xe(),{month:ae.value(Se),year:Y.value(Se)}),Ae=ne<0?cs(ue,1):Ar(ue,1);A(Qe(Ae),Ye(Ae),ne<0,e.preventMinMaxNavigation)&&(I(Se,Qe(Ae),Ye(Ae)),t("update-month-year",{instance:Se,month:Qe(Ae),year:Ye(Ae)}),f.value.count&&!f.value.solo&&de(Se),n())},de=ne=>{for(let Se=ne-1;Se>=0;Se--){const ue=Ar(ht(xe(),{month:ae.value(Se+1),year:Y.value(Se+1)}),1);I(Se,Qe(ue),Ye(ue))}for(let Se=ne+1;Se<=f.value.count-1;Se++){const ue=cs(ht(xe(),{month:ae.value(Se-1),year:Y.value(Se-1)}),1);I(Se,Qe(ue),Ye(ue))}},ke=()=>{if(Array.isArray(l.value)&&l.value.length===2){const ne=xe(xe(l.value[1]?l.value[1]:cs(l.value[0],1))),[Se,ue]=[Qe(l.value[0]),Ye(l.value[0])],[Ae,De]=[Qe(l.value[1]),Ye(l.value[1])];(Se!==Ae||Se===Ae&&ue!==De)&&f.value.solo&&I(1,Qe(ne),Ye(ne))}else l.value&&!Array.isArray(l.value)&&(I(0,Qe(l.value),Ye(l.value)),K(xe()))},N=()=>{e.startDate&&(I(0,Qe(xe(e.startDate)),Ye(xe(e.startDate))),f.value.count&&de(0))},fe=(ne,Se)=>{if(e.monthChangeOnScroll){const ue=new Date().getTime()-o.value.getTime(),Ae=Math.abs(ne.deltaY);let De=500;Ae>1&&(De=100),Ae>100&&(De=0),ue>De&&(o.value=new Date,se(e.monthChangeOnScroll!=="inverse"?-ne.deltaY:ne.deltaY,Se))}},v=(ne,Se,ue=!1)=>{e.monthChangeOnArrows&&e.vertical===ue&&O(ne,Se)},O=(ne,Se)=>{se(ne==="right"?-1:1,Se)},H=ne=>{if(w.value.markers)return Ic(ne.value,w.value.markers)},W=(ne,Se)=>{switch(e.sixWeeks===!0?"append":e.sixWeeks){case"prepend":return[!0,!1];case"center":return[ne==0,!0];case"fair":return[ne==0||Se>ne,!0];case"append":return[!1,!1];default:return[!1,!1]}},ie=(ne,Se,ue,Ae)=>{if(e.sixWeeks&&ne.length<6){const De=6-ne.length,sn=(Se.getDay()+7-Ae)%7,xn=6-(ue.getDay()+7-Ae)%7,[Rs,Vo]=W(sn,xn);for(let Ji=1;Ji<=De;Ji++)if(Vo?!!(Ji%2)==Rs:Rs){const gs=ne[0].days[0],Wr=j(os(gs.value,-7),Qe(Se));ne.unshift({days:Wr})}else{const gs=ne[ne.length-1],Wr=gs.days[gs.days.length-1],Mu=j(os(Wr.value,1),Qe(Se));ne.push({days:Mu})}}return ne},j=(ne,Se)=>{const ue=xe(ne),Ae=[];for(let De=0;De<7;De++){const sn=os(ue,De),xn=Qe(sn)!==Se;Ae.push({text:e.hideOffsetDates&&xn?"":sn.getDate(),value:sn,current:!xn,classData:{}})}return Ae},te=(ne,Se)=>{const ue=[],Ae=new Date(Se,ne),De=new Date(Se,ne+1,0),sn=e.weekStart,xn=hs(Ae,{weekStartsOn:sn}),Rs=Vo=>{const Ji=j(Vo,ne);if(ue.push({days:Ji}),!ue[ue.length-1].days.some(gs=>nt(wn(gs.value),wn(De)))){const gs=os(Vo,7);Rs(gs)}};return Rs(xn),ie(ue,Ae,De,sn)},J=ne=>{const Se=Di(xe(ne.value),u.hours,u.minutes,Ve());t("date-update",Se),$.value.enabled?Vf(Se,l,$.value.limit):l.value=Se,s(),tn().then(()=>{Z()})},he=ne=>m.value.noDisabledRange?r0(i.value[0],ne).some(Se=>T(Se)):!1,me=()=>{i.value=l.value?l.value.slice():[],i.value.length===2&&!(m.value.fixedStart||m.value.fixedEnd)&&(i.value=[])},pe=(ne,Se)=>{const ue=[xe(ne.value),os(xe(ne.value),+m.value.autoRange)];k(ue)?(Se&&Le(ne.value),i.value=ue):t("invalid-date",ne.value)},Le=ne=>{const Se=Qe(xe(ne)),ue=Ye(xe(ne));if(I(0,Se,ue),f.value.count>0)for(let Ae=1;Ae{if(he(ne.value)||!y(ne.value,l.value,m.value.fixedStart?0:1))return t("invalid-date",ne.value);i.value=g0(xe(ne.value),l,t,m)},He=(ne,Se)=>{if(me(),m.value.autoRange)return pe(ne,Se);if(m.value.fixedStart||m.value.fixedEnd)return Oe(ne);i.value[0]?y(xe(ne.value),l.value)&&!he(ne.value)?At(xe(ne.value),xe(i.value[0]))?(i.value.unshift(xe(ne.value)),t("range-end",i.value[0])):(i.value[1]=xe(ne.value),t("range-end",i.value[1])):(e.autoApply&&t("auto-apply-invalid",ne.value),t("invalid-date",ne.value)):(i.value[0]=xe(ne.value),t("range-start",i.value[0]))},Ve=(ne=!0)=>e.enableSeconds?Array.isArray(u.seconds)?ne?u.seconds[0]:u.seconds[1]:u.seconds:0,tt=ne=>{i.value[ne]=Di(i.value[ne],u.hours[ne],u.minutes[ne],Ve(ne!==1))},Je=()=>{var ne,Se;i.value[0]&&i.value[1]&&+((ne=i.value)==null?void 0:ne[0])>+((Se=i.value)==null?void 0:Se[1])&&(i.value.reverse(),t("range-start",i.value[0]),t("range-end",i.value[1]))},gt=()=>{i.value.length&&(i.value[0]&&!i.value[1]?tt(0):(tt(0),tt(1),s()),Je(),l.value=i.value.slice(),mu(i.value,t,e.autoApply,e.modelAuto))},rn=(ne,Se=!1)=>{if(T(ne.value)||!ne.current&&e.hideOffsetDates)return t("invalid-date",ne.value);if(r.value=JSON.parse(JSON.stringify(ne)),!m.value.enabled)return J(ne);Fm(u.hours)&&Fm(u.minutes)&&!$.value.enabled&&(He(ne,Se),gt())},jn=(ne,Se)=>{var ue;I(ne,Se.month,Se.year,!0),f.value.count&&!f.value.solo&&de(ne),t("update-month-year",{instance:ne,month:Se.month,year:Se.year}),n(f.value.solo?ne:void 0);const Ae=(ue=e.flow)!=null&&ue.length?e.flow[e.flowStep]:void 0;!Se.fromNav&&(Ae===cn.month||Ae===cn.year)&&s()},ri=(ne,Se)=>{p0({value:ne,modelValue:l,range:m.value.enabled,timezone:Se?void 0:b.value.timezone}),V(),e.multiCalendars&&tn().then(()=>ce(!0))},Zn=()=>{const ne=Rf(xe(),b.value);m.value.enabled?l.value&&Array.isArray(l.value)&&l.value[0]?l.value=At(ne,l.value[0])?[ne,l.value[0]]:[l.value[0],ne]:l.value=[ne]:l.value=ne,V()},Is=()=>{if(Array.isArray(l.value))if($.value.enabled){const ne=Ht();l.value[l.value.length-1]=C(ne)}else l.value=l.value.map((ne,Se)=>ne&&C(ne,Se));else l.value=C(l.value);t("time-update")},Ht=()=>Array.isArray(l.value)&&l.value.length?l.value[l.value.length-1]:null;return{calendars:c,modelValue:l,month:ae,year:Y,time:u,disabledTimesConfig:G,today:d,validateTime:B,getCalendarDays:te,getMarker:H,handleScroll:fe,handleSwipe:O,handleArrow:v,selectDate:rn,updateMonthYear:jn,presetDate:ri,selectCurrentDate:Zn,updateTime:(ne,Se=!0,ue=!1)=>{x(ne,Se,ue,Is)},assignMonthAndYear:K}},KR={key:0},UR=Ft({__name:"DatePicker",props:{...fs},emits:["tooltip-open","tooltip-close","mount","update:internal-model-value","update-flow-step","reset-flow","auto-apply","focus-menu","select-date","range-start","range-end","invalid-fixed-range","time-update","am-pm-change","time-picker-open","time-picker-close","recalculate-position","update-month-year","auto-apply-invalid","date-update","invalid-date","overlay-toggle"],setup(e,{expose:t,emit:n}){const s=n,i=e,{calendars:o,month:r,year:a,modelValue:l,time:c,disabledTimesConfig:u,today:d,validateTime:f,getCalendarDays:p,getMarker:m,handleArrow:_,handleScroll:b,handleSwipe:w,selectDate:$,updateMonthYear:A,presetDate:T,selectCurrentDate:k,updateTime:y,assignMonthAndYear:x}=YR(i,s,we,K),C=Ro(),{setHoverDate:P,getDayClassData:E,clearHoverDate:B}=uL(l,i),{defaultedMultiCalendars:G}=kt(i),ae=be([]),Y=be([]),L=be(null),I=Rn(C,"calendar"),V=Rn(C,"monthYear"),Q=Rn(C,"timePicker"),Z=fe=>{i.shadow||s("mount",fe)};Vt(o,()=>{i.shadow||setTimeout(()=>{s("recalculate-position")},0)},{deep:!0}),Vt(G,(fe,v)=>{fe.count-v.count>0&&x()},{deep:!0});const ce=ve(()=>fe=>p(r.value(fe),a.value(fe)).map(v=>({...v,days:v.days.map(O=>(O.marker=m(O),O.classData=E(O),O))})));function we(fe){var v;fe||fe===0?(v=Y.value[fe])==null||v.triggerTransition(r.value(fe),a.value(fe)):Y.value.forEach((O,H)=>O.triggerTransition(r.value(H),a.value(H)))}function K(){s("update-flow-step")}const X=(fe,v=!1)=>{$(fe,v),i.spaceConfirm&&s("select-date")},R=(fe,v,O=0)=>{var H;(H=ae.value[O])==null||H.toggleMonthPicker(fe,v)},ee=(fe,v,O=0)=>{var H;(H=ae.value[O])==null||H.toggleYearPicker(fe,v)},oe=(fe,v,O)=>{var H;(H=L.value)==null||H.toggleTimePicker(fe,v,O)},M=(fe,v)=>{var O;if(!i.range){const H=l.value?l.value:d,W=v?new Date(v):H,ie=fe?hs(W,{weekStartsOn:1}):Vy(W,{weekStartsOn:1});$({value:ie,current:Qe(W)===r.value(0),text:"",classData:{}}),(O=document.getElementById(d0(ie)))==null||O.focus()}},se=fe=>{var v;(v=ae.value[0])==null||v.handleMonthYearChange(fe,!0)},de=fe=>{A(0,{month:r.value(0),year:a.value(0)+(fe?1:-1),fromNav:!0})},ke=(fe,v)=>{fe===cn.time&&s(`time-picker-${v?"open":"close"}`),s("overlay-toggle",{open:v,overlay:fe})},N=fe=>{s("overlay-toggle",{open:!1,overlay:fe}),s("focus-menu")};return t({clearHoverDate:B,presetDate:T,selectCurrentDate:k,toggleMonthPicker:R,toggleYearPicker:ee,toggleTimePicker:oe,handleArrow:_,updateMonthYear:A,getSidebarProps:()=>({modelValue:l,month:r,year:a,time:c,updateTime:y,updateMonthYear:A,selectDate:$,presetDate:T}),changeMonth:se,changeYear:de,selectWeekDate:M}),(fe,v)=>(D(),F(Te,null,[$e(gu,{"multi-calendars":q(G).count,collapse:fe.collapse},{default:Me(({instance:O,index:H})=>[fe.disableMonthYearSelect?re("",!0):(D(),Ne(LR,Yt({key:0,ref:W=>{W&&(ae.value[H]=W)},months:q(e0)(fe.formatLocale,fe.locale,fe.monthNameFormat),years:q(Lf)(fe.yearRange,fe.locale,fe.reverseYears),month:q(r)(O),year:q(a)(O),instance:O},fe.$props,{onMount:v[0]||(v[0]=W=>Z(q(ko).header)),onResetFlow:v[1]||(v[1]=W=>fe.$emit("reset-flow")),onUpdateMonthYear:W=>q(A)(O,W),onOverlayClosed:N,onOverlayOpened:v[2]||(v[2]=W=>fe.$emit("overlay-toggle",{open:!0,overlay:W}))}),hn({_:2},[Ue(q(V),(W,ie)=>({name:W,fn:Me(j=>[Ie(fe.$slots,W,Zt(_n(j)))])}))]),1040,["months","years","month","year","instance","onUpdateMonthYear"])),$e(zR,Yt({ref:W=>{W&&(Y.value[H]=W)},"mapped-dates":ce.value(O),month:q(r)(O),year:q(a)(O),instance:O},fe.$props,{onSelectDate:W=>q($)(W,O!==1),onHandleSpace:W=>X(W,O!==1),onSetHoverDate:v[3]||(v[3]=W=>q(P)(W)),onHandleScroll:W=>q(b)(W,O),onHandleSwipe:W=>q(w)(W,O),onMount:v[4]||(v[4]=W=>Z(q(ko).calendar)),onResetFlow:v[5]||(v[5]=W=>fe.$emit("reset-flow")),onTooltipOpen:v[6]||(v[6]=W=>fe.$emit("tooltip-open",W)),onTooltipClose:v[7]||(v[7]=W=>fe.$emit("tooltip-close",W))}),hn({_:2},[Ue(q(I),(W,ie)=>({name:W,fn:Me(j=>[Ie(fe.$slots,W,Zt(_n({...j})))])}))]),1040,["mapped-dates","month","year","instance","onSelectDate","onHandleSpace","onHandleScroll","onHandleSwipe"])]),_:3},8,["multi-calendars","collapse"]),fe.enableTimePicker?(D(),F("div",KR,[fe.$slots["time-picker"]?Ie(fe.$slots,"time-picker",Zt(Yt({key:0},{time:q(c),updateTime:q(y)}))):(D(),Ne(_0,Yt({key:1,ref_key:"timePickerRef",ref:L},fe.$props,{hours:q(c).hours,minutes:q(c).minutes,seconds:q(c).seconds,"internal-model-value":fe.internalModelValue,"disabled-times-config":q(u),"validate-time":q(f),onMount:v[8]||(v[8]=O=>Z(q(ko).timePicker)),"onUpdate:hours":v[9]||(v[9]=O=>q(y)(O)),"onUpdate:minutes":v[10]||(v[10]=O=>q(y)(O,!1)),"onUpdate:seconds":v[11]||(v[11]=O=>q(y)(O,!1,!0)),onResetFlow:v[12]||(v[12]=O=>fe.$emit("reset-flow")),onOverlayClosed:v[13]||(v[13]=O=>ke(O,!1)),onOverlayOpened:v[14]||(v[14]=O=>ke(O,!0)),onAmPmChange:v[15]||(v[15]=O=>fe.$emit("am-pm-change",O))}),hn({_:2},[Ue(q(Q),(O,H)=>({name:O,fn:Me(W=>[Ie(fe.$slots,O,Zt(_n(W)))])}))]),1040,["hours","minutes","seconds","internal-model-value","disabled-times-config","validate-time"]))])):re("",!0)],64))}}),qR=(e,t)=>{const n=be(),{defaultedMultiCalendars:s,defaultedConfig:i,defaultedHighlight:o,defaultedRange:r,propDates:a,defaultedFilters:l,defaultedMultiDates:c}=kt(e),{modelValue:u,year:d,month:f,calendars:p}=al(e,t),{isDisabled:m}=Ki(e),{selectYear:_,groupedYears:b,showYearPicker:w,isDisabled:$,toggleYearPicker:A,handleYearSelect:T,handleYear:k}=m0({modelValue:u,multiCalendars:s,range:r,highlight:o,calendars:p,propDates:a,month:f,year:d,filters:l,props:e,emit:t}),y=(L,I)=>[L,I].map(V=>Cs(V,"MMMM",{locale:e.formatLocale})).join("-"),x=ve(()=>L=>u.value?Array.isArray(u.value)?u.value.some(I=>Mm(L,I)):Mm(u.value,L):!1),C=L=>{if(r.value.enabled){if(Array.isArray(u.value)){const I=nt(L,u.value[0])||nt(L,u.value[1]);return fu(u.value,n.value,L)&&!I}return!1}return!1},P=(L,I)=>L.quarter===Sm(I)&&L.year===Ye(I),E=L=>typeof o.value=="function"?o.value({quarter:Sm(L),year:Ye(L)}):!!o.value.quarters.find(I=>P(I,L)),B=ve(()=>L=>{const I=ht(new Date,{year:d.value(L)});return x2({start:Wa(I),end:By(I)}).map(V=>{const Q=vo(V),Z=$m(V),ce=m(V),we=C(Q),K=E(Q);return{text:y(Q,Z),value:Q,active:x.value(Q),highlighted:K,disabled:ce,isBetween:we}})}),G=L=>{Vf(L,u,c.value.limit),t("auto-apply",!0)},ae=L=>{u.value=Hf(u,L,t),mu(u.value,t,e.autoApply,e.modelAuto)},Y=L=>{u.value=L,t("auto-apply")};return{defaultedConfig:i,defaultedMultiCalendars:s,groupedYears:b,year:d,isDisabled:$,quarters:B,showYearPicker:w,modelValue:u,setHoverDate:L=>{n.value=L},selectYear:_,selectQuarter:(L,I,V)=>{if(!V)return p.value[I].month=Qe($m(L)),c.value.enabled?G(L):r.value.enabled?ae(L):Y(L)},toggleYearPicker:A,handleYearSelect:T,handleYear:k}},GR={class:"dp--quarter-items"},JR=["data-test","disabled","onClick","onMouseover"],XR=Ft({compatConfig:{MODE:3},__name:"QuarterPicker",props:{...fs},emits:["update:internal-model-value","reset-flow","overlay-closed","auto-apply","range-start","range-end","overlay-toggle","update-month-year"],setup(e,{expose:t,emit:n}){const s=n,i=e,o=Ro(),r=Rn(o,"yearMode"),{defaultedMultiCalendars:a,defaultedConfig:l,groupedYears:c,year:u,isDisabled:d,quarters:f,modelValue:p,showYearPicker:m,setHoverDate:_,selectQuarter:b,toggleYearPicker:w,handleYearSelect:$,handleYear:A}=qR(i,s);return t({getSidebarProps:()=>({modelValue:p,year:u,selectQuarter:b,handleYearSelect:$,handleYear:A})}),(T,k)=>(D(),Ne(gu,{"multi-calendars":q(a).count,collapse:T.collapse,stretch:""},{default:Me(({instance:y})=>[h("div",{class:"dp-quarter-picker-wrap",style:Wt({minHeight:`${q(l).modeHeight}px`})},[T.$slots["top-extra"]?Ie(T.$slots,"top-extra",{key:0,value:T.internalModelValue}):re("",!0),h("div",null,[$e(f0,Yt(T.$props,{items:q(c)(y),instance:y,"show-year-picker":q(m)[y],year:q(u)(y),"is-disabled":x=>q(d)(y,x),onHandleYear:x=>q(A)(y,x),onYearSelect:x=>q($)(x,y),onToggleYearPicker:x=>q(w)(y,x==null?void 0:x.flow,x==null?void 0:x.show)}),hn({_:2},[Ue(q(r),(x,C)=>({name:x,fn:Me(P=>[Ie(T.$slots,x,Zt(_n(P)))])}))]),1040,["items","instance","show-year-picker","year","is-disabled","onHandleYear","onYearSelect","onToggleYearPicker"])]),h("div",GR,[(D(!0),F(Te,null,Ue(q(f)(y),(x,C)=>(D(),F("div",{key:C},[h("button",{type:"button",class:Ee(["dp--qr-btn",{"dp--qr-btn-active":x.active,"dp--qr-btn-between":x.isBetween,"dp--qr-btn-disabled":x.disabled,"dp--highlighted":x.highlighted}]),"data-test":x.value,disabled:x.disabled,onClick:P=>q(b)(x.value,y,x.disabled),onMouseover:P=>q(_)(x.value)},[T.$slots.quarter?Ie(T.$slots,"quarter",{key:0,value:x.value,text:x.text}):(D(),F(Te,{key:1},[ye(_e(x.text),1)],64))],42,JR)]))),128))])],4)]),_:3},8,["multi-calendars","collapse"]))}}),QR=["id","tabindex","role","aria-label"],ZR={key:0,class:"dp--menu-load-container"},eL=h("span",{class:"dp--menu-loader"},null,-1),tL=[eL],nL={key:1,class:"dp--menu-header"},sL={key:0,class:"dp__sidebar_left"},iL=["data-test","onClick","onKeydown"],oL={key:2,class:"dp__sidebar_right"},rL={key:3,class:"dp__action_extra"},Bm=Ft({compatConfig:{MODE:3},__name:"DatepickerMenu",props:{...pu,shadow:{type:Boolean,default:!1},openOnTop:{type:Boolean,default:!1},internalModelValue:{type:[Date,Array],default:null},noOverlayFocus:{type:Boolean,default:!1},collapse:{type:Boolean,default:!1},getInputRect:{type:Function,default:()=>({})},isTextInputDate:{type:Boolean,default:!1}},emits:["close-picker","select-date","auto-apply","time-update","flow-step","update-month-year","invalid-select","update:internal-model-value","recalculate-position","invalid-fixed-range","tooltip-open","tooltip-close","time-picker-open","time-picker-close","am-pm-change","range-start","range-end","auto-apply-invalid","date-update","invalid-date","overlay-toggle"],setup(e,{expose:t,emit:n}){const s=n,i=e,o=be(null),r=ve(()=>{const{openOnTop:j,...te}=i;return{...te,flowStep:P.value,collapse:i.collapse,noOverlayFocus:i.noOverlayFocus,menuWrapRef:o.value}}),{setMenuFocused:a,setShiftKey:l,control:c}=h0(),u=Ro(),{defaultedTextInput:d,defaultedInline:f,defaultedConfig:p,defaultedUI:m}=kt(i),_=be(null),b=be(0),w=be(null),$=be(!1),A=be(null);Gt(()=>{if(!i.shadow){$.value=!0,T(),window.addEventListener("resize",T);const j=jt(o);if(j&&!d.value.enabled&&!f.value.enabled&&(a(!0),I()),j){const te=J=>{p.value.allowPreventDefault&&J.preventDefault(),Ti(J,p.value,!0)};j.addEventListener("pointerdown",te),j.addEventListener("mousedown",te)}}}),Fr(()=>{window.removeEventListener("resize",T)});const T=()=>{const j=jt(w);j&&(b.value=j.getBoundingClientRect().width)},{arrowRight:k,arrowLeft:y,arrowDown:x,arrowUp:C}=Yi(),{flowStep:P,updateFlowStep:E,childMount:B,resetFlow:G,handleFlow:ae}=dL(i,s,A),Y=ve(()=>i.monthPicker?dR:i.yearPicker?fR:i.timePicker?MR:i.quarterPicker?XR:UR),L=ve(()=>{var j;if(p.value.arrowLeft)return p.value.arrowLeft;const te=(j=o.value)==null?void 0:j.getBoundingClientRect(),J=i.getInputRect();return(J==null?void 0:J.width)<(b==null?void 0:b.value)&&(J==null?void 0:J.left)<=((te==null?void 0:te.left)??0)?`${(J==null?void 0:J.width)/2}px`:(J==null?void 0:J.right)>=((te==null?void 0:te.right)??0)&&(J==null?void 0:J.width)<(b==null?void 0:b.value)?`${(b==null?void 0:b.value)-(J==null?void 0:J.width)/2}px`:"50%"}),I=()=>{const j=jt(o);j&&j.focus({preventScroll:!0})},V=ve(()=>{var j;return((j=A.value)==null?void 0:j.getSidebarProps())||{}}),Q=()=>{i.openOnTop&&s("recalculate-position")},Z=Rn(u,"action"),ce=ve(()=>i.monthPicker||i.yearPicker?Rn(u,"monthYear"):i.timePicker?Rn(u,"timePicker"):Rn(u,"shared")),we=ve(()=>i.openOnTop?"dp__arrow_bottom":"dp__arrow_top"),K=ve(()=>({dp__menu_disabled:i.disabled,dp__menu_readonly:i.readonly,"dp-menu-loading":i.loading})),X=ve(()=>({dp__menu:!0,dp__menu_index:!f.value.enabled,dp__relative:f.value.enabled,...m.value.menu??{}})),R=j=>{Ti(j,p.value,!0)},ee=()=>{i.escClose&&s("close-picker")},oe=j=>{if(i.arrowNavigation){if(j===mn.up)return C();if(j===mn.down)return x();if(j===mn.left)return y();if(j===mn.right)return k()}else j===mn.left||j===mn.up?N("handleArrow",mn.left,0,j===mn.up):N("handleArrow",mn.right,0,j===mn.down)},M=j=>{l(j.shiftKey),!i.disableMonthYearSelect&&j.code===_t.tab&&j.target.classList.contains("dp__menu")&&c.value.shiftKeyInMenu&&(j.preventDefault(),Ti(j,p.value,!0),s("close-picker"))},se=()=>{I(),s("time-picker-close")},de=j=>{var te,J,he;(te=A.value)==null||te.toggleTimePicker(!1,!1),(J=A.value)==null||J.toggleMonthPicker(!1,!1,j),(he=A.value)==null||he.toggleYearPicker(!1,!1,j)},ke=(j,te=0)=>{var J,he,me;return j==="month"?(J=A.value)==null?void 0:J.toggleMonthPicker(!1,!0,te):j==="year"?(he=A.value)==null?void 0:he.toggleYearPicker(!1,!0,te):j==="time"?(me=A.value)==null?void 0:me.toggleTimePicker(!0,!1):de(te)},N=(j,...te)=>{var J,he;(J=A.value)!=null&&J[j]&&((he=A.value)==null||he[j](...te))},fe=()=>{N("selectCurrentDate")},v=(j,te)=>{N("presetDate",j,te)},O=()=>{N("clearHoverDate")},H=(j,te)=>{N("updateMonthYear",j,te)},W=(j,te)=>{j.preventDefault(),oe(te)},ie=j=>{var te,J,he;if(M(j),j.key===_t.home||j.key===_t.end)return N("selectWeekDate",j.key===_t.home,j.target.getAttribute("id"));switch((j.key===_t.pageUp||j.key===_t.pageDown)&&(j.shiftKey?(N("changeYear",j.key===_t.pageUp),(te=rh(o.value,"overlay-year"))==null||te.focus()):(N("changeMonth",j.key===_t.pageUp),(J=rh(o.value,j.key===_t.pageUp?"action-prev":"action-next"))==null||J.focus()),j.target.getAttribute("id")&&((he=o.value)==null||he.focus({preventScroll:!0}))),j.key){case _t.esc:return ee();case _t.arrowLeft:return W(j,mn.left);case _t.arrowRight:return W(j,mn.right);case _t.arrowUp:return W(j,mn.up);case _t.arrowDown:return W(j,mn.down);default:return}};return t({updateMonthYear:H,switchView:ke,handleFlow:ae}),(j,te)=>{var J,he,me;return D(),F("div",{id:j.uid?`dp-menu-${j.uid}`:void 0,ref_key:"dpMenuRef",ref:o,tabindex:q(f).enabled?void 0:"0",role:q(f).enabled?void 0:"dialog","aria-label":(J=j.ariaLabels)==null?void 0:J.menu,class:Ee(X.value),style:Wt({"--dp-arrow-left":L.value}),onMouseleave:O,onClick:R,onKeydown:ie},[(j.disabled||j.readonly)&&q(f).enabled||j.loading?(D(),F("div",{key:0,class:Ee(K.value)},[j.loading?(D(),F("div",ZR,tL)):re("",!0)],2)):re("",!0),j.$slots["menu-header"]?(D(),F("div",nL,[Ie(j.$slots,"menu-header")])):re("",!0),!q(f).enabled&&!j.teleportCenter?(D(),F("div",{key:2,class:Ee(we.value)},null,2)):re("",!0),h("div",{ref_key:"innerMenuRef",ref:w,class:Ee({dp__menu_content_wrapper:((he=j.presetDates)==null?void 0:he.length)||!!j.$slots["left-sidebar"]||!!j.$slots["right-sidebar"],"dp--menu-content-wrapper-collapsed":e.collapse&&(((me=j.presetDates)==null?void 0:me.length)||!!j.$slots["left-sidebar"]||!!j.$slots["right-sidebar"])}),style:Wt({"--dp-menu-width":`${b.value}px`})},[j.$slots["left-sidebar"]?(D(),F("div",sL,[Ie(j.$slots,"left-sidebar",Zt(_n(V.value)))])):re("",!0),j.presetDates.length?(D(),F("div",{key:1,class:Ee({"dp--preset-dates-collapsed":e.collapse,"dp--preset-dates":!0})},[(D(!0),F(Te,null,Ue(j.presetDates,(pe,Le)=>(D(),F(Te,{key:Le},[pe.slot?Ie(j.$slots,pe.slot,{key:0,presetDate:v,label:pe.label,value:pe.value}):(D(),F("button",{key:1,type:"button",style:Wt(pe.style||{}),class:Ee(["dp__btn dp--preset-range",{"dp--preset-range-collapsed":e.collapse}]),"data-test":pe.testId??void 0,onClick:Ha(Oe=>v(pe.value,pe.noTz),["prevent"]),onKeydown:Oe=>q(vn)(Oe,()=>v(pe.value,pe.noTz),!0)},_e(pe.label),47,iL))],64))),128))],2)):re("",!0),h("div",{ref_key:"calendarWrapperRef",ref:_,class:"dp__instance_calendar",role:"document"},[(D(),Ne(Io(Y.value),Yt({ref_key:"dynCmpRef",ref:A},r.value,{"flow-step":q(P),onMount:q(B),onUpdateFlowStep:q(E),onResetFlow:q(G),onFocusMenu:I,onSelectDate:te[0]||(te[0]=pe=>j.$emit("select-date")),onDateUpdate:te[1]||(te[1]=pe=>j.$emit("date-update",pe)),onTooltipOpen:te[2]||(te[2]=pe=>j.$emit("tooltip-open",pe)),onTooltipClose:te[3]||(te[3]=pe=>j.$emit("tooltip-close",pe)),onAutoApply:te[4]||(te[4]=pe=>j.$emit("auto-apply",pe)),onRangeStart:te[5]||(te[5]=pe=>j.$emit("range-start",pe)),onRangeEnd:te[6]||(te[6]=pe=>j.$emit("range-end",pe)),onInvalidFixedRange:te[7]||(te[7]=pe=>j.$emit("invalid-fixed-range",pe)),onTimeUpdate:te[8]||(te[8]=pe=>j.$emit("time-update")),onAmPmChange:te[9]||(te[9]=pe=>j.$emit("am-pm-change",pe)),onTimePickerOpen:te[10]||(te[10]=pe=>j.$emit("time-picker-open",pe)),onTimePickerClose:se,onRecalculatePosition:Q,onUpdateMonthYear:te[11]||(te[11]=pe=>j.$emit("update-month-year",pe)),onAutoApplyInvalid:te[12]||(te[12]=pe=>j.$emit("auto-apply-invalid",pe)),onInvalidDate:te[13]||(te[13]=pe=>j.$emit("invalid-date",pe)),onOverlayToggle:te[14]||(te[14]=pe=>j.$emit("overlay-toggle",pe)),"onUpdate:internalModelValue":te[15]||(te[15]=pe=>j.$emit("update:internal-model-value",pe))}),hn({_:2},[Ue(ce.value,(pe,Le)=>({name:pe,fn:Me(Oe=>[Ie(j.$slots,pe,Zt(_n({...Oe})))])}))]),1040,["flow-step","onMount","onUpdateFlowStep","onResetFlow"]))],512),j.$slots["right-sidebar"]?(D(),F("div",oL,[Ie(j.$slots,"right-sidebar",Zt(_n(V.value)))])):re("",!0),j.$slots["action-extra"]?(D(),F("div",rL,[j.$slots["action-extra"]?Ie(j.$slots,"action-extra",{key:0,selectCurrentDate:fe}):re("",!0)])):re("",!0)],6),!j.autoApply||q(p).keepActionRow?(D(),Ne(sR,Yt({key:3,"menu-mount":$.value},r.value,{"calendar-width":b.value,onClosePicker:te[16]||(te[16]=pe=>j.$emit("close-picker")),onSelectDate:te[17]||(te[17]=pe=>j.$emit("select-date")),onInvalidSelect:te[18]||(te[18]=pe=>j.$emit("invalid-select")),onSelectNow:fe}),hn({_:2},[Ue(q(Z),(pe,Le)=>({name:pe,fn:Me(Oe=>[Ie(j.$slots,pe,Zt(_n({...Oe})))])}))]),1040,["menu-mount","calendar-width"])):re("",!0)],46,QR)}}});var sr=(e=>(e.center="center",e.left="left",e.right="right",e))(sr||{});const aL=({menuRef:e,menuRefInner:t,inputRef:n,pickerWrapperRef:s,inline:i,emit:o,props:r,slots:a})=>{const{defaultedConfig:l}=kt(r),c=be({}),u=be(!1),d=be({top:"0",left:"0"}),f=be(!1),p=Ra(r,"teleportCenter");Vt(p,()=>{d.value=JSON.parse(JSON.stringify({})),k()});const m=I=>{if(r.teleport){const V=I.getBoundingClientRect();return{left:V.left+window.scrollX,top:V.top+window.scrollY}}return{top:0,left:0}},_=(I,V)=>{d.value.left=`${I+V-c.value.width}px`},b=I=>{d.value.left=`${I}px`},w=(I,V)=>{r.position===sr.left&&b(I),r.position===sr.right&&_(I,V),r.position===sr.center&&(d.value.left=`${I+V/2-c.value.width/2}px`)},$=I=>{const{width:V,height:Q}=I.getBoundingClientRect(),{top:Z,left:ce}=r.altPosition?r.altPosition(I):m(I);return{top:+Z,left:+ce,width:V,height:Q}},A=()=>{d.value.left="50%",d.value.top="50%",d.value.transform="translate(-50%, -50%)",d.value.position="fixed",delete d.value.opacity},T=()=>{const I=jt(n),{top:V,left:Q,transform:Z}=r.altPosition(I);d.value={top:`${V}px`,left:`${Q}px`,transform:Z??""}},k=(I=!0)=>{var V;if(!i.value.enabled){if(p.value)return A();if(r.altPosition!==null)return T();if(I){const Q=r.teleport?(V=t.value)==null?void 0:V.$el:e.value;Q&&(c.value=Q.getBoundingClientRect()),o("recalculate-position")}return G()}},y=({inputEl:I,left:V,width:Q})=>{window.screen.width>768&&!u.value&&w(V,Q),P(I)},x=I=>{const{top:V,left:Q,height:Z,width:ce}=$(I);d.value.top=`${Z+V+ +r.offset}px`,f.value=!1,u.value||(d.value.left=`${Q+ce/2-c.value.width/2}px`),y({inputEl:I,left:Q,width:ce})},C=I=>{const{top:V,left:Q,width:Z}=$(I);d.value.top=`${V-+r.offset-c.value.height}px`,f.value=!0,y({inputEl:I,left:Q,width:Z})},P=I=>{if(r.autoPosition){const{left:V,width:Q}=$(I),{left:Z,right:ce}=c.value;if(!u.value){if(Math.abs(Z)!==Math.abs(ce)){if(Z<=0)return u.value=!0,b(V);if(ce>=document.documentElement.clientWidth)return u.value=!0,_(V,Q)}return w(V,Q)}}},E=()=>{const I=jt(n);if(I){const{height:V}=c.value,{top:Q,height:Z}=I.getBoundingClientRect(),ce=window.innerHeight-Q-Z,we=Q;return V<=ce?fo.bottom:V>ce&&V<=we?fo.top:ce>=we?fo.bottom:fo.top}return fo.bottom},B=I=>E()===fo.bottom?x(I):C(I),G=()=>{const I=jt(n);if(I)return r.autoPosition?B(I):x(I)},ae=function(I){if(I){const V=I.scrollHeight>I.clientHeight,Q=window.getComputedStyle(I).overflowY.indexOf("hidden")!==-1;return V&&!Q}return!0},Y=function(I){return!I||I===document.body||I.nodeType===Node.DOCUMENT_FRAGMENT_NODE?window:ae(I)?I:Y(I.assignedSlot&&l.value.shadowDom?I.assignedSlot.parentNode:I.parentNode)},L=I=>{if(I)switch(r.position){case sr.left:return{left:0,transform:"translateX(0)"};case sr.right:return{left:`${I.width}px`,transform:"translateX(-100%)"};default:return{left:`${I.width/2}px`,transform:"translateX(-50%)"}}return{}};return{openOnTop:f,menuStyle:d,xCorrect:u,setMenuPosition:k,getScrollableParent:Y,shadowRender:(I,V)=>{var Q,Z,ce;const we=document.createElement("div"),K=(Q=jt(n))==null?void 0:Q.getBoundingClientRect();we.setAttribute("id","dp--temp-container");const X=(Z=s.value)!=null&&Z.clientWidth?s.value:document.body;X.append(we);const R=L(K),ee=l.value.shadowDom?Object.keys(a).filter(M=>["right-sidebar","left-sidebar","top-extra","action-extra"].includes(M)):Object.keys(a),oe=Mo(I,{...V,shadow:!0,style:{opacity:0,position:"absolute",...R}},Object.fromEntries(ee.map(M=>[M,a[M]])));nm(oe,we),c.value=(ce=oe.el)==null?void 0:ce.getBoundingClientRect(),nm(null,we),X.removeChild(we)}}},fi=[{name:"clock-icon",use:["time","calendar","shared"]},{name:"arrow-left",use:["month-year","calendar","shared","year-mode"]},{name:"arrow-right",use:["month-year","calendar","shared","year-mode"]},{name:"arrow-up",use:["time","calendar","month-year","shared"]},{name:"arrow-down",use:["time","calendar","month-year","shared"]},{name:"calendar-icon",use:["month-year","time","calendar","shared","year-mode"]},{name:"day",use:["calendar","shared"]},{name:"month-overlay-value",use:["calendar","month-year","shared"]},{name:"year-overlay-value",use:["calendar","month-year","shared","year-mode"]},{name:"year-overlay",use:["month-year","shared"]},{name:"month-overlay",use:["month-year","shared"]},{name:"month-overlay-header",use:["month-year","shared"]},{name:"year-overlay-header",use:["month-year","shared"]},{name:"hours-overlay-value",use:["calendar","time","shared"]},{name:"hours-overlay-header",use:["calendar","time","shared"]},{name:"minutes-overlay-value",use:["calendar","time","shared"]},{name:"minutes-overlay-header",use:["calendar","time","shared"]},{name:"seconds-overlay-value",use:["calendar","time","shared"]},{name:"seconds-overlay-header",use:["calendar","time","shared"]},{name:"hours",use:["calendar","time","shared"]},{name:"minutes",use:["calendar","time","shared"]},{name:"month",use:["calendar","month-year","shared"]},{name:"year",use:["calendar","month-year","shared","year-mode"]},{name:"action-buttons",use:["action"]},{name:"action-preview",use:["action"]},{name:"calendar-header",use:["calendar","shared"]},{name:"marker-tooltip",use:["calendar","shared"]},{name:"action-extra",use:["menu"]},{name:"time-picker-overlay",use:["calendar","time","shared"]},{name:"am-pm-button",use:["calendar","time","shared"]},{name:"left-sidebar",use:["menu"]},{name:"right-sidebar",use:["menu"]},{name:"month-year",use:["month-year","shared"]},{name:"time-picker",use:["menu","shared"]},{name:"action-row",use:["action"]},{name:"marker",use:["calendar","shared"]},{name:"quarter",use:["shared"]},{name:"top-extra",use:["shared","month-year"]},{name:"tp-inline-arrow-up",use:["shared","time"]},{name:"tp-inline-arrow-down",use:["shared","time"]},{name:"menu-header",use:["menu"]}],lL=[{name:"trigger"},{name:"input-icon"},{name:"clear-icon"},{name:"dp-input"}],cL={all:()=>fi,monthYear:()=>fi.filter(e=>e.use.includes("month-year")),input:()=>lL,timePicker:()=>fi.filter(e=>e.use.includes("time")),action:()=>fi.filter(e=>e.use.includes("action")),calendar:()=>fi.filter(e=>e.use.includes("calendar")),menu:()=>fi.filter(e=>e.use.includes("menu")),shared:()=>fi.filter(e=>e.use.includes("shared")),yearMode:()=>fi.filter(e=>e.use.includes("year-mode"))},Rn=(e,t,n)=>{const s=[];return cL[t]().forEach(i=>{e[i.name]&&s.push(i.name)}),n!=null&&n.length&&n.forEach(i=>{i.slot&&s.push(i.slot)}),s},rl=e=>{const t=ve(()=>s=>e.value?s?e.value.open:e.value.close:""),n=ve(()=>s=>e.value?s?e.value.menuAppearTop:e.value.menuAppearBottom:"");return{transitionName:t,showTransition:!!e.value,menuTransition:n}},al=(e,t,n)=>{const{defaultedRange:s,defaultedTz:i}=kt(e),o=xe(En(xe(),i.value.timezone)),r=be([{month:Qe(o),year:Ye(o)}]),a=f=>{const p={hours:ei(o),minutes:Ni(o),seconds:0};return s.value.enabled?[p[f],p[f]]:p[f]},l=Ds({hours:a("hours"),minutes:a("minutes"),seconds:a("seconds")});Vt(s,(f,p)=>{f.enabled!==p.enabled&&(l.hours=a("hours"),l.minutes=a("minutes"),l.seconds=a("seconds"))},{deep:!0});const c=ve({get:()=>e.internalModelValue,set:f=>{!e.readonly&&!e.disabled&&t("update:internal-model-value",f)}}),u=ve(()=>f=>r.value[f]?r.value[f].month:0),d=ve(()=>f=>r.value[f]?r.value[f].year:0);return Vt(c,(f,p)=>{n&&JSON.stringify(f??{})!==JSON.stringify(p??{})&&n()},{deep:!0}),{calendars:r,time:l,modelValue:c,month:u,year:d,today:o}},uL=(e,t)=>{const{defaultedMultiCalendars:n,defaultedMultiDates:s,defaultedUI:i,defaultedHighlight:o,defaultedTz:r,propDates:a,defaultedRange:l}=kt(t),{isDisabled:c}=Ki(t),u=be(null),d=be(En(new Date,r.value.timezone)),f=R=>{!R.current&&t.hideOffsetDates||(u.value=R.value)},p=()=>{u.value=null},m=R=>Array.isArray(e.value)&&l.value.enabled&&e.value[0]&&u.value?R?Ot(u.value,e.value[0]):At(u.value,e.value[0]):!0,_=(R,ee)=>{const oe=()=>e.value?ee?e.value[0]||null:e.value[1]:null,M=e.value&&Array.isArray(e.value)?oe():null;return nt(xe(R.value),M)},b=R=>{const ee=Array.isArray(e.value)?e.value[0]:null;return R?!At(u.value??null,ee):!0},w=(R,ee=!0)=>(l.value.enabled||t.weekPicker)&&Array.isArray(e.value)&&e.value.length===2?t.hideOffsetDates&&!R.current?!1:nt(xe(R.value),e.value[ee?0:1]):l.value.enabled?_(R,ee)&&b(ee)||nt(R.value,Array.isArray(e.value)?e.value[0]:null)&&m(ee):!1,$=(R,ee)=>{if(Array.isArray(e.value)&&e.value[0]&&e.value.length===1){const oe=nt(R.value,u.value);return ee?Ot(e.value[0],R.value)&&oe:At(e.value[0],R.value)&&oe}return!1},A=R=>!e.value||t.hideOffsetDates&&!R.current?!1:l.value.enabled?t.modelAuto&&Array.isArray(e.value)?nt(R.value,e.value[0]?e.value[0]:d.value):!1:s.value.enabled&&Array.isArray(e.value)?e.value.some(ee=>nt(ee,R.value)):nt(R.value,e.value?e.value:d.value),T=R=>{if(l.value.autoRange||t.weekPicker){if(u.value){if(t.hideOffsetDates&&!R.current)return!1;const ee=os(u.value,+l.value.autoRange),oe=zs(xe(u.value),t.weekStart);return t.weekPicker?nt(oe[1],xe(R.value)):nt(ee,xe(R.value))}return!1}return!1},k=R=>{if(l.value.autoRange||t.weekPicker){if(u.value){const ee=os(u.value,+l.value.autoRange);if(t.hideOffsetDates&&!R.current)return!1;const oe=zs(xe(u.value),t.weekStart);return t.weekPicker?Ot(R.value,oe[0])&&At(R.value,oe[1]):Ot(R.value,u.value)&&At(R.value,ee)}return!1}return!1},y=R=>{if(l.value.autoRange||t.weekPicker){if(u.value){if(t.hideOffsetDates&&!R.current)return!1;const ee=zs(xe(u.value),t.weekStart);return t.weekPicker?nt(ee[0],R.value):nt(u.value,R.value)}return!1}return!1},x=R=>fu(e.value,u.value,R.value),C=()=>t.modelAuto&&Array.isArray(t.internalModelValue)?!!t.internalModelValue[0]:!1,P=()=>t.modelAuto?t0(t.internalModelValue):!0,E=R=>{if(t.weekPicker)return!1;const ee=l.value.enabled?!w(R)&&!w(R,!1):!0;return!c(R.value)&&!A(R)&&!(!R.current&&t.hideOffsetDates)&&ee},B=R=>l.value.enabled?t.modelAuto?C()&&A(R):!1:A(R),G=R=>o.value?CI(R.value,a.value.highlight):!1,ae=R=>{const ee=c(R.value);return ee&&(typeof o.value=="function"?!o.value(R.value,ee):!o.value.options.highlightDisabled)},Y=R=>{var ee;return typeof o.value=="function"?o.value(R.value):(ee=o.value.weekdays)==null?void 0:ee.includes(R.value.getDay())},L=R=>(l.value.enabled||t.weekPicker)&&(!(n.value.count>0)||R.current)&&P()&&!(!R.current&&t.hideOffsetDates)&&!A(R)?x(R):!1,I=R=>{const{isRangeStart:ee,isRangeEnd:oe}=ce(R),M=l.value.enabled?ee||oe:!1;return{dp__cell_offset:!R.current,dp__pointer:!t.disabled&&!(!R.current&&t.hideOffsetDates)&&!c(R.value),dp__cell_disabled:c(R.value),dp__cell_highlight:!ae(R)&&(G(R)||Y(R))&&!B(R)&&!M&&!y(R)&&!(L(R)&&t.weekPicker)&&!oe,dp__cell_highlight_active:!ae(R)&&(G(R)||Y(R))&&B(R),dp__today:!t.noToday&&nt(R.value,d.value)&&R.current,"dp--past":At(R.value,d.value),"dp--future":Ot(R.value,d.value)}},V=R=>({dp__active_date:B(R),dp__date_hover:E(R)}),Q=R=>{if(e.value&&!Array.isArray(e.value)){const ee=zs(e.value,t.weekStart);return{...K(R),dp__range_start:nt(ee[0],R.value),dp__range_end:nt(ee[1],R.value),dp__range_between_week:Ot(R.value,ee[0])&&At(R.value,ee[1])}}return{...K(R)}},Z=R=>{if(e.value&&Array.isArray(e.value)){const ee=zs(e.value[0],t.weekStart),oe=e.value[1]?zs(e.value[1],t.weekStart):[];return{...K(R),dp__range_start:nt(ee[0],R.value)||nt(oe[0],R.value),dp__range_end:nt(ee[1],R.value)||nt(oe[1],R.value),dp__range_between_week:Ot(R.value,ee[0])&&At(R.value,ee[1])||Ot(R.value,oe[0])&&At(R.value,oe[1]),dp__range_between:Ot(R.value,ee[1])&&At(R.value,oe[0])}}return{...K(R)}},ce=R=>{const ee=n.value.count>0?R.current&&w(R)&&P():w(R)&&P(),oe=n.value.count>0?R.current&&w(R,!1)&&P():w(R,!1)&&P();return{isRangeStart:ee,isRangeEnd:oe}},we=R=>{const{isRangeStart:ee,isRangeEnd:oe}=ce(R);return{dp__range_start:ee,dp__range_end:oe,dp__range_between:L(R),dp__date_hover:nt(R.value,u.value)&&!ee&&!oe&&!t.weekPicker,dp__date_hover_start:$(R,!0),dp__date_hover_end:$(R,!1)}},K=R=>({...we(R),dp__cell_auto_range:k(R),dp__cell_auto_range_start:y(R),dp__cell_auto_range_end:T(R)}),X=R=>l.value.enabled?l.value.autoRange?K(R):t.modelAuto?{...V(R),...we(R)}:t.weekPicker?Z(R):we(R):t.weekPicker?Q(R):V(R);return{setHoverDate:f,clearHoverDate:p,getDayClassData:R=>t.hideOffsetDates&&!R.current?{}:{...I(R),...X(R),[t.dayClass?t.dayClass(R.value,t.internalModelValue):""]:!0,...i.value.calendarCell??{}}}},Ki=e=>{const{defaultedFilters:t,defaultedRange:n,propDates:s,defaultedMultiDates:i}=kt(e),o=Y=>s.value.disabledDates?typeof s.value.disabledDates=="function"?s.value.disabledDates(xe(Y)):!!Ic(Y,s.value.disabledDates):!1,r=Y=>s.value.maxDate?e.yearPicker?Ye(Y)>Ye(s.value.maxDate):Ot(Y,s.value.maxDate):!1,a=Y=>s.value.minDate?e.yearPicker?Ye(Y){const L=r(Y),I=a(Y),V=o(Y),Q=t.value.months.map(X=>+X).includes(Qe(Y)),Z=e.disabledWeekDays.length?e.disabledWeekDays.some(X=>+X===gO(Y)):!1,ce=p(Y),we=Ye(Y),K=we<+e.yearRange[0]||we>+e.yearRange[1];return!(L||I||V||Q||K||Z||ce)},c=(Y,L)=>At(...ki(s.value.minDate,Y,L))||nt(...ki(s.value.minDate,Y,L)),u=(Y,L)=>Ot(...ki(s.value.maxDate,Y,L))||nt(...ki(s.value.maxDate,Y,L)),d=(Y,L,I)=>{let V=!1;return s.value.maxDate&&I&&u(Y,L)&&(V=!0),s.value.minDate&&!I&&c(Y,L)&&(V=!0),V},f=(Y,L,I,V)=>{let Q=!1;return V?s.value.minDate&&s.value.maxDate?Q=d(Y,L,I):(s.value.minDate&&c(Y,L)||s.value.maxDate&&u(Y,L))&&(Q=!0):Q=!0,Q},p=Y=>Array.isArray(s.value.allowedDates)&&!s.value.allowedDates.length?!0:s.value.allowedDates?!Ic(Y,s.value.allowedDates):!1,m=Y=>!l(Y),_=Y=>n.value.noDisabledRange?!Fy({start:Y[0],end:Y[1]}).some(L=>m(L)):!0,b=Y=>{if(Y){const L=Ye(Y);return L>=+e.yearRange[0]&&L<=e.yearRange[1]}return!0},w=(Y,L)=>!!(Array.isArray(Y)&&Y[L]&&(n.value.maxRange||n.value.minRange)&&b(Y[L])),$=(Y,L,I=0)=>{if(w(L,I)&&b(Y)){const V=Ly(Y,L[I]),Q=r0(L[I],Y),Z=Q.length===1?0:Q.filter(we=>m(we)).length,ce=Math.abs(V)-(n.value.minMaxRawRange?0:Z);if(n.value.minRange&&n.value.maxRange)return ce>=+n.value.minRange&&ce<=+n.value.maxRange;if(n.value.minRange)return ce>=+n.value.minRange;if(n.value.maxRange)return ce<=+n.value.maxRange}return!0},A=()=>!e.enableTimePicker||e.monthPicker||e.yearPicker||e.ignoreTimeValidation,T=Y=>Array.isArray(Y)?[Y[0]?ld(Y[0]):null,Y[1]?ld(Y[1]):null]:ld(Y),k=(Y,L,I)=>Y.find(V=>+V.hours===ei(L)&&V.minutes==="*"?!0:+V.minutes===Ni(L)&&+V.hours===ei(L))&&I,y=(Y,L,I)=>{const[V,Q]=Y,[Z,ce]=L;return!k(V,Z,I)&&!k(Q,ce,I)&&I},x=(Y,L)=>{const I=Array.isArray(L)?L:[L];return Array.isArray(e.disabledTimes)?Array.isArray(e.disabledTimes[0])?y(e.disabledTimes,I,Y):!I.some(V=>k(e.disabledTimes,V,Y)):Y},C=(Y,L)=>{const I=Array.isArray(L)?[So(L[0]),L[1]?So(L[1]):void 0]:So(L),V=!e.disabledTimes(I);return Y&&V},P=(Y,L)=>e.disabledTimes?Array.isArray(e.disabledTimes)?x(L,Y):C(L,Y):L,E=Y=>{let L=!0;if(!Y||A())return!0;const I=!s.value.minDate&&!s.value.maxDate?T(Y):Y;return(e.maxTime||s.value.maxDate)&&(L=Rm(e.maxTime,s.value.maxDate,"max",Xt(I),L)),(e.minTime||s.value.minDate)&&(L=Rm(e.minTime,s.value.minDate,"min",Xt(I),L)),P(Y,L)},B=Y=>{if(!e.monthPicker)return!0;let L=!0;const I=xe(rs(Y));if(s.value.minDate&&s.value.maxDate){const V=xe(rs(s.value.minDate)),Q=xe(rs(s.value.maxDate));return Ot(I,V)&&At(I,Q)||nt(I,V)||nt(I,Q)}if(s.value.minDate){const V=xe(rs(s.value.minDate));L=Ot(I,V)||nt(I,V)}if(s.value.maxDate){const V=xe(rs(s.value.maxDate));L=At(I,V)||nt(I,V)}return L},G=ve(()=>Y=>!e.enableTimePicker||e.ignoreTimeValidation?!0:E(Y)),ae=ve(()=>Y=>e.monthPicker?Array.isArray(Y)&&(n.value.enabled||i.value.enabled)?!Y.filter(L=>!B(L)).length:B(Y):!0);return{isDisabled:m,validateDate:l,validateMonthYearInRange:f,isDateRangeAllowed:_,checkMinMaxRange:$,isValidTime:E,isTimeValid:G,isMonthValid:ae}},_u=()=>{const e=ve(()=>(s,i)=>s==null?void 0:s.includes(i)),t=ve(()=>(s,i)=>s.count?s.solo?!0:i===0:!0),n=ve(()=>(s,i)=>s.count?s.solo?!0:i===s.count-1:!0);return{hideNavigationButtons:e,showLeftIcon:t,showRightIcon:n}},dL=(e,t,n)=>{const s=be(0),i=Ds({[ko.timePicker]:!e.enableTimePicker||e.timePicker||e.monthPicker,[ko.calendar]:!1,[ko.header]:!1}),o=ve(()=>e.monthPicker||e.timePicker),r=d=>{var f;if((f=e.flow)!=null&&f.length){if(!d&&o.value)return u();i[d]=!0,Object.keys(i).filter(p=>!i[p]).length||u()}},a=()=>{var d,f;(d=e.flow)!=null&&d.length&&s.value!==-1&&(s.value+=1,t("flow-step",s.value),u()),((f=e.flow)==null?void 0:f.length)===s.value&&tn().then(()=>l())},l=()=>{s.value=-1},c=(d,f,...p)=>{var m,_;e.flow[s.value]===d&&n.value&&((_=(m=n.value)[f])==null||_.call(m,...p))},u=(d=0)=>{d&&(s.value+=d),c(cn.month,"toggleMonthPicker",!0),c(cn.year,"toggleYearPicker",!0),c(cn.calendar,"toggleTimePicker",!1,!0),c(cn.time,"toggleTimePicker",!0,!0);const f=e.flow[s.value];(f===cn.hours||f===cn.minutes||f===cn.seconds)&&c(f,"toggleTimePicker",!0,!0,f)};return{childMount:r,updateFlowStep:a,resetFlow:l,handleFlow:u,flowStep:s}},hL={key:1,class:"dp__input_wrap"},fL=["id","name","inputmode","placeholder","disabled","readonly","required","value","autocomplete","aria-disabled","aria-invalid"],pL={key:2,class:"dp--clear-btn"},gL=["aria-label"],mL=Ft({compatConfig:{MODE:3},__name:"DatepickerInput",props:{isMenuOpen:{type:Boolean,default:!1},inputValue:{type:String,default:""},...pu},emits:["clear","open","update:input-value","set-input-date","close","select-date","set-empty-date","toggle","focus-prev","focus","blur","real-blur","text-input"],setup(e,{expose:t,emit:n}){const s=n,i=e,{defaultedTextInput:o,defaultedAriaLabels:r,defaultedInline:a,defaultedConfig:l,defaultedRange:c,defaultedMultiDates:u,defaultedUI:d,getDefaultPattern:f,getDefaultStartTime:p}=kt(i),{checkMinMaxRange:m}=Ki(i),_=be(),b=be(null),w=be(!1),$=be(!1),A=be(!1),T=be(null),k=ve(()=>({dp__pointer:!i.disabled&&!i.readonly&&!o.value.enabled,dp__disabled:i.disabled,dp__input_readonly:!o.value.enabled,dp__input:!0,dp__input_icon_pad:!i.hideInputIcon,dp__input_valid:typeof i.state=="boolean"?i.state:!1,dp__input_invalid:typeof i.state=="boolean"?!i.state:!1,dp__input_focus:w.value||i.isMenuOpen,dp__input_reg:!o.value.enabled,...d.value.input??{}})),y=()=>{s("set-input-date",null),i.clearable&&i.autoApply&&(s("set-empty-date"),_.value=null)},x=K=>{const X=p();return PI(K,o.value.format??f(),X??a0({},i.enableSeconds),i.inputValue,A.value,i.formatLocale)},C=K=>{const{rangeSeparator:X}=o.value,[R,ee]=K.split(`${X}`);if(R){const oe=x(R.trim()),M=ee?x(ee.trim()):null;if($r(oe,M))return;const se=oe&&M?[oe,M]:[oe];m(M,se,0)&&(_.value=oe?se:null)}},P=()=>{A.value=!0},E=K=>{if(c.value.enabled)C(K);else if(u.value.enabled){const X=K.split(";");_.value=X.map(R=>x(R.trim())).filter(R=>R)}else _.value=x(K)},B=K=>{var X;const R=typeof K=="string"?K:(X=K.target)==null?void 0:X.value;R!==""?(o.value.openMenu&&!i.isMenuOpen&&s("open"),E(R),s("set-input-date",_.value)):y(),A.value=!1,s("update:input-value",R),s("text-input",K,_.value)},G=K=>{o.value.enabled?(E(K.target.value),o.value.enterSubmit&&ah(_.value)&&i.inputValue!==""?(s("set-input-date",_.value,!0),_.value=null):o.value.enterSubmit&&i.inputValue===""&&(_.value=null,s("clear"))):L(K)},ae=(K,X)=>{var R;if(T.value&&X&&!$.value)return K.preventDefault(),$.value=!0,(R=T.value)==null?void 0:R.focus();o.value.enabled&&o.value.tabSubmit&&E(K.target.value),o.value.tabSubmit&&ah(_.value)&&i.inputValue!==""?(s("set-input-date",_.value,!0,!0),_.value=null):o.value.tabSubmit&&i.inputValue===""&&(_.value=null,s("clear",!0))},Y=()=>{w.value=!0,s("focus"),tn().then(()=>{var K;o.value.enabled&&o.value.selectOnFocus&&((K=b.value)==null||K.select())})},L=K=>{if(K.preventDefault(),Ti(K,l.value,!0),o.value.enabled&&o.value.openMenu&&!a.value.input){if(o.value.openMenu==="open"&&!i.isMenuOpen)return s("open");if(o.value.openMenu==="toggle")return s("toggle")}else o.value.enabled||s("toggle")},I=()=>{s("real-blur"),w.value=!1,(!i.isMenuOpen||a.value.enabled&&a.value.input)&&s("blur"),i.autoApply&&o.value.enabled&&_.value&&!i.isMenuOpen&&(s("set-input-date",_.value),s("select-date"),_.value=null)},V=K=>{Ti(K,l.value,!0),s("clear")},Q=(K,X)=>{if(K.key==="Tab"&&ae(K,X),K.key==="Enter"&&G(K),!o.value.enabled){if(K.code==="Tab")return;K.preventDefault()}},Z=()=>{var K;(K=b.value)==null||K.focus({preventScroll:!0})},ce=K=>{_.value=K},we=K=>{K.key===_t.tab&&($.value=!1,ae(K))};return t({focusInput:Z,setParsedDate:ce}),(K,X)=>{var R,ee;return D(),F("div",{onClick:L},[K.$slots.trigger&&!K.$slots["dp-input"]&&!q(a).enabled?Ie(K.$slots,"trigger",{key:0}):re("",!0),!K.$slots.trigger&&(!q(a).enabled||q(a).input)?(D(),F("div",hL,[K.$slots["dp-input"]&&!K.$slots.trigger&&(!q(a).enabled||q(a).enabled&&q(a).input)?Ie(K.$slots,"dp-input",{key:0,value:e.inputValue,isMenuOpen:e.isMenuOpen,onInput:B,onEnter:G,onTab:ae,onClear:V,onBlur:I,onKeypress:Q,onPaste:P,onFocus:Y,openMenu:()=>K.$emit("open"),closeMenu:()=>K.$emit("close"),toggleMenu:()=>K.$emit("toggle")}):re("",!0),K.$slots["dp-input"]?re("",!0):(D(),F("input",{key:1,id:K.uid?`dp-input-${K.uid}`:void 0,ref_key:"inputRef",ref:b,"data-test":"dp-input",name:K.name,class:Ee(k.value),inputmode:q(o).enabled?"text":"none",placeholder:K.placeholder,disabled:K.disabled,readonly:K.readonly,required:K.required,value:e.inputValue,autocomplete:K.autocomplete,"aria-disabled":K.disabled||void 0,"aria-invalid":K.state===!1?!0:void 0,onInput:B,onBlur:I,onFocus:Y,onKeypress:Q,onKeydown:X[0]||(X[0]=oe=>Q(oe,!0)),onPaste:P},null,42,fL)),h("div",{onClick:X[3]||(X[3]=oe=>s("toggle"))},[K.$slots["input-icon"]&&!K.hideInputIcon?(D(),F("span",{key:0,class:"dp__input_icon",onClick:X[1]||(X[1]=oe=>s("toggle"))},[Ie(K.$slots,"input-icon")])):re("",!0),!K.$slots["input-icon"]&&!K.hideInputIcon&&!K.$slots["dp-input"]?(D(),Ne(q(Vr),{key:1,"aria-label":(R=q(r))==null?void 0:R.calendarIcon,class:"dp__input_icon dp__input_icons",onClick:X[2]||(X[2]=oe=>s("toggle"))},null,8,["aria-label"])):re("",!0)]),K.$slots["clear-icon"]&&e.inputValue&&K.clearable&&!K.disabled&&!K.readonly?(D(),F("span",pL,[Ie(K.$slots,"clear-icon",{clear:V})])):re("",!0),K.clearable&&!K.$slots["clear-icon"]&&e.inputValue&&!K.disabled&&!K.readonly?(D(),F("button",{key:3,ref_key:"clearBtnRef",ref:T,"aria-label":(ee=q(r))==null?void 0:ee.clearInput,class:"dp--clear-btn",type:"button",onBlur:X[4]||(X[4]=oe=>$.value=!1),onKeydown:X[5]||(X[5]=oe=>q(vn)(oe,()=>V(oe),!0,we)),onClick:X[6]||(X[6]=Ha(oe=>V(oe),["prevent"]))},[$e(q(Zy),{class:"dp__input_icons","data-test":"clear-icon"})],40,gL)):re("",!0)])):re("",!0)])}}}),_L=typeof window<"u"?window:void 0,pd=()=>{},vL=e=>Qc()?(Jh(e),!0):!1,bL=(e,t,n,s)=>{if(!e)return pd;let i=pd;const o=Vt(()=>q(e),a=>{i(),a&&(a.addEventListener(t,n,s),i=()=>{a.removeEventListener(t,n,s),i=pd})},{immediate:!0,flush:"post"}),r=()=>{o(),i()};return vL(r),r},yL=(e,t,n,s={})=>{const{window:i=_L,event:o="pointerdown"}=s;return i?bL(i,o,r=>{const a=jt(e),l=jt(t);!a||!l||a===r.target||r.composedPath().includes(a)||r.composedPath().includes(l)||n(r)},{passive:!0}):void 0},wL=Ft({compatConfig:{MODE:3},__name:"VueDatePicker",props:{...pu},emits:["update:model-value","update:model-timezone-value","text-submit","closed","cleared","open","focus","blur","internal-model-change","recalculate-position","flow-step","update-month-year","invalid-select","invalid-fixed-range","tooltip-open","tooltip-close","time-picker-open","time-picker-close","am-pm-change","range-start","range-end","date-update","invalid-date","overlay-toggle","text-input"],setup(e,{expose:t,emit:n}){const s=n,i=e,o=Ro(),r=be(!1),a=Ra(i,"modelValue"),l=Ra(i,"timezone"),c=be(null),u=be(null),d=be(null),f=be(!1),p=be(null),m=be(!1),_=be(!1),b=be(!1),w=be(!1),{setMenuFocused:$,setShiftKey:A}=h0(),{clearArrowNav:T}=Yi(),{validateDate:k,isValidTime:y}=Ki(i),{defaultedTransitions:x,defaultedTextInput:C,defaultedInline:P,defaultedConfig:E,defaultedRange:B,defaultedMultiDates:G}=kt(i),{menuTransition:ae,showTransition:Y}=rl(x);Gt(()=>{ee(i.modelValue),tn().then(()=>{if(!P.value.enabled){const ue=we(p.value);ue==null||ue.addEventListener("scroll",H),window==null||window.addEventListener("resize",W)}}),P.value.enabled&&(r.value=!0),window==null||window.addEventListener("keyup",ie),window==null||window.addEventListener("keydown",j)}),Fr(()=>{if(!P.value.enabled){const ue=we(p.value);ue==null||ue.removeEventListener("scroll",H),window==null||window.removeEventListener("resize",W)}window==null||window.removeEventListener("keyup",ie),window==null||window.removeEventListener("keydown",j)});const L=Rn(o,"all",i.presetDates),I=Rn(o,"input");Vt([a,l],()=>{ee(a.value)},{deep:!0});const{openOnTop:V,menuStyle:Q,xCorrect:Z,setMenuPosition:ce,getScrollableParent:we,shadowRender:K}=aL({menuRef:c,menuRefInner:u,inputRef:d,pickerWrapperRef:p,inline:P,emit:s,props:i,slots:o}),{inputValue:X,internalModelValue:R,parseExternalModelValue:ee,emitModelValue:oe,formatInputValue:M,checkBeforeEmit:se}=ZI(s,i,f),de=ve(()=>({dp__main:!0,dp__theme_dark:i.dark,dp__theme_light:!i.dark,dp__flex_display:P.value.enabled,"dp--flex-display-collapsed":b.value,dp__flex_display_with_input:P.value.input})),ke=ve(()=>i.dark?"dp__theme_dark":"dp__theme_light"),N=ve(()=>i.teleport?{to:typeof i.teleport=="boolean"?"body":i.teleport,disabled:!i.teleport||P.value.enabled}:{}),fe=ve(()=>({class:"dp__outer_menu_wrap"})),v=ve(()=>P.value.enabled&&(i.timePicker||i.monthPicker||i.yearPicker||i.quarterPicker)),O=()=>{var ue,Ae;return(Ae=(ue=d.value)==null?void 0:ue.$el)==null?void 0:Ae.getBoundingClientRect()},H=()=>{r.value&&(E.value.closeOnScroll?Ve():ce())},W=()=>{var ue;r.value&&ce();const Ae=(ue=u.value)==null?void 0:ue.$el.getBoundingClientRect().width;b.value=document.body.offsetWidth<=Ae},ie=ue=>{ue.key==="Tab"&&!P.value.enabled&&!i.teleport&&E.value.tabOutClosesMenu&&(p.value.contains(document.activeElement)||Ve()),_.value=ue.shiftKey},j=ue=>{_.value=ue.shiftKey},te=()=>{!i.disabled&&!i.readonly&&(K(Bm,i),ce(!1),r.value=!0,r.value&&s("open"),r.value||He(),ee(i.modelValue))},J=()=>{var ue;X.value="",He(),(ue=d.value)==null||ue.setParsedDate(null),s("update:model-value",null),s("update:model-timezone-value",null),s("cleared"),E.value.closeOnClearValue&&Ve()},he=()=>{const ue=R.value;return!ue||!Array.isArray(ue)&&k(ue)?!0:Array.isArray(ue)?G.value.enabled||ue.length===2&&k(ue[0])&&k(ue[1])?!0:B.value.partialRange&&!i.timePicker?k(ue[0]):!1:!1},me=()=>{se()&&he()?(oe(),Ve()):s("invalid-select",R.value)},pe=ue=>{Le(),oe(),E.value.closeOnAutoApply&&!ue&&Ve()},Le=()=>{d.value&&C.value.enabled&&d.value.setParsedDate(R.value)},Oe=(ue=!1)=>{i.autoApply&&y(R.value)&&he()&&(B.value.enabled&&Array.isArray(R.value)?(B.value.partialRange||R.value.length===2)&&pe(ue):pe(ue))},He=()=>{C.value.enabled||(R.value=null)},Ve=()=>{P.value.enabled||(r.value&&(r.value=!1,Z.value=!1,$(!1),A(!1),T(),s("closed"),X.value&&ee(a.value)),He(),s("blur"))},tt=(ue,Ae,De=!1)=>{if(!ue){R.value=null;return}const sn=Array.isArray(ue)?!ue.some(Rs=>!k(Rs)):k(ue),xn=y(ue);sn&&xn&&(w.value=!0,R.value=ue,Ae&&(m.value=De,me(),s("text-submit")),tn().then(()=>{w.value=!1}))},Je=()=>{i.autoApply&&y(R.value)&&oe(),Le()},gt=()=>r.value?Ve():te(),rn=ue=>{R.value=ue},jn=()=>{C.value.enabled&&(f.value=!0,M()),s("focus")},ri=()=>{if(C.value.enabled&&(f.value=!1,ee(i.modelValue),m.value)){const ue=AI(p.value,_.value);ue==null||ue.focus()}s("blur")},Zn=ue=>{u.value&&u.value.updateMonthYear(0,{month:Dm(ue.month),year:Dm(ue.year)})},Is=ue=>{ee(ue??i.modelValue)},Ht=(ue,Ae)=>{var De;(De=u.value)==null||De.switchView(ue,Ae)},ne=ue=>E.value.onClickOutside?E.value.onClickOutside(ue):Ve(),Se=(ue=0)=>{var Ae;(Ae=u.value)==null||Ae.handleFlow(ue)};return yL(c,d,()=>ne(he)),t({closeMenu:Ve,selectDate:me,clearValue:J,openMenu:te,onScroll:H,formatInputValue:M,updateInternalModelValue:rn,setMonthYear:Zn,parseModel:Is,switchView:Ht,toggleMenu:gt,handleFlow:Se,dpWrapMenuRef:c}),(ue,Ae)=>(D(),F("div",{ref_key:"pickerWrapperRef",ref:p,class:Ee(de.value),"data-datepicker-instance":""},[$e(mL,Yt({ref_key:"inputRef",ref:d,"input-value":q(X),"onUpdate:inputValue":Ae[0]||(Ae[0]=De=>Mt(X)?X.value=De:null),"is-menu-open":r.value},ue.$props,{onClear:J,onOpen:te,onSetInputDate:tt,onSetEmptyDate:q(oe),onSelectDate:me,onToggle:gt,onClose:Ve,onFocus:jn,onBlur:ri,onRealBlur:Ae[1]||(Ae[1]=De=>f.value=!1),onTextInput:Ae[2]||(Ae[2]=De=>ue.$emit("text-input",De))}),hn({_:2},[Ue(q(I),(De,sn)=>({name:De,fn:Me(xn=>[Ie(ue.$slots,De,Zt(_n(xn)))])}))]),1040,["input-value","is-menu-open","onSetEmptyDate"]),(D(),Ne(Io(ue.teleport?JA:"div"),Zt(_n(N.value)),{default:Me(()=>[$e(Ct,{name:q(ae)(q(V)),css:q(Y)&&!q(P).enabled},{default:Me(()=>[r.value?(D(),F("div",Yt({key:0,ref_key:"dpWrapMenuRef",ref:c},fe.value,{class:{"dp--menu-wrapper":!q(P).enabled},style:q(P).enabled?void 0:q(Q)}),[$e(Bm,Yt({ref_key:"dpMenuRef",ref:u},ue.$props,{"internal-model-value":q(R),"onUpdate:internalModelValue":Ae[3]||(Ae[3]=De=>Mt(R)?R.value=De:null),class:{[ke.value]:!0,"dp--menu-wrapper":ue.teleport},"open-on-top":q(V),"no-overlay-focus":v.value,collapse:b.value,"get-input-rect":O,"is-text-input-date":w.value,onClosePicker:Ve,onSelectDate:me,onAutoApply:Oe,onTimeUpdate:Je,onFlowStep:Ae[4]||(Ae[4]=De=>ue.$emit("flow-step",De)),onUpdateMonthYear:Ae[5]||(Ae[5]=De=>ue.$emit("update-month-year",De)),onInvalidSelect:Ae[6]||(Ae[6]=De=>ue.$emit("invalid-select",q(R))),onAutoApplyInvalid:Ae[7]||(Ae[7]=De=>ue.$emit("invalid-select",De)),onInvalidFixedRange:Ae[8]||(Ae[8]=De=>ue.$emit("invalid-fixed-range",De)),onRecalculatePosition:q(ce),onTooltipOpen:Ae[9]||(Ae[9]=De=>ue.$emit("tooltip-open",De)),onTooltipClose:Ae[10]||(Ae[10]=De=>ue.$emit("tooltip-close",De)),onTimePickerOpen:Ae[11]||(Ae[11]=De=>ue.$emit("time-picker-open",De)),onTimePickerClose:Ae[12]||(Ae[12]=De=>ue.$emit("time-picker-close",De)),onAmPmChange:Ae[13]||(Ae[13]=De=>ue.$emit("am-pm-change",De)),onRangeStart:Ae[14]||(Ae[14]=De=>ue.$emit("range-start",De)),onRangeEnd:Ae[15]||(Ae[15]=De=>ue.$emit("range-end",De)),onDateUpdate:Ae[16]||(Ae[16]=De=>ue.$emit("date-update",De)),onInvalidDate:Ae[17]||(Ae[17]=De=>ue.$emit("invalid-date",De)),onOverlayToggle:Ae[18]||(Ae[18]=De=>ue.$emit("overlay-toggle",De))}),hn({_:2},[Ue(q(L),(De,sn)=>({name:De,fn:Me(xn=>[Ie(ue.$slots,De,Zt(_n({...xn})))])}))]),1040,["internal-model-value","class","open-on-top","no-overlay-focus","collapse","is-text-input-date","onRecalculatePosition"])],16)):re("",!0)]),_:3},8,["name","css"])]),_:3},16))],2))}}),ll=(()=>{const e=wL;return e.install=t=>{t.component("Vue3DatePicker",e)},e})(),xL=Object.freeze(Object.defineProperty({__proto__:null,default:ll},Symbol.toStringTag,{value:"Module"}));Object.entries(xL).forEach(([e,t])=>{e!=="default"&&(ll[e]=t)});const kL={name:"newDashboardAPIKey",components:{VueDatePicker:ll},data(){return{newKeyData:{ExpiredAt:Cn().add(7,"d").format("YYYY-MM-DD HH:mm:ss"),neverExpire:!1},submitting:!1}},setup(){return{store:et()}},mounted(){console.log(this.newKeyData.ExpiredAt)},methods:{submitNewAPIKey(){this.submitting=!0,ft("/api/newDashboardAPIKey",this.newKeyData,e=>{e.status?(this.$emit("created",e.data),this.store.newMessage("Server","New API Key created","success"),this.$emit("close")):this.store.newMessage("Server",e.message,"danger"),this.submitting=!1})},fixDate(e){return console.log(Cn(e).format("YYYY-MM-DDTHH:mm:ss")),Cn(e).format("YYYY-MM-DDTHH:mm:ss")},parseTime(e){e?this.newKeyData.ExpiredAt=Cn(e).format("YYYY-MM-DD HH:mm:ss"):this.newKeyData.ExpiredAt=void 0}}},SL={class:"position-absolute w-100 h-100 top-0 start-0 rounded-bottom-3 p-3 d-flex",style:{"background-color":"#00000060","backdrop-filter":"blur(3px)"}},$L={class:"card m-auto rounded-3 mt-5"},AL={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},CL=h("h6",{class:"mb-0"},"Create API Key",-1),EL={class:"card-body d-flex gap-2 p-4 flex-column"},PL=h("small",{class:"text-muted"},"When should this API Key expire?",-1),ML={class:"d-flex align-items-center gap-2"},TL={class:"form-check"},DL=["disabled"],OL=h("label",{class:"form-check-label",for:"neverExpire"},[ye(" Never Expire ("),h("i",{class:"bi bi-emoji-grimace-fill"}),ye(" Don't think that's a good idea) ")],-1),IL={key:0,class:"bi bi-check-lg me-2"};function RL(e,t,n,s,i,o){const r=je("VueDatePicker");return D(),F("div",SL,[h("div",$L,[h("div",AL,[CL,h("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=a=>this.$emit("close"))})]),h("div",EL,[PL,h("div",ML,[$e(r,{is24:!0,"min-date":new Date,"model-value":this.newKeyData.ExpiredAt,"onUpdate:modelValue":this.parseTime,"time-picker-inline":"",format:"yyyy-MM-dd HH:mm:ss","preview-format":"yyyy-MM-dd HH:mm:ss",clearable:!1,disabled:this.newKeyData.neverExpire||this.submitting,dark:this.store.Configuration.Server.dashboard_theme==="dark"},null,8,["min-date","model-value","onUpdate:modelValue","disabled","dark"])]),h("div",TL,[Re(h("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[1]||(t[1]=a=>this.newKeyData.neverExpire=a),id:"neverExpire",disabled:this.submitting},null,8,DL),[[In,this.newKeyData.neverExpire]]),OL]),h("button",{class:Ee(["ms-auto btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm",{disabled:this.submitting}]),onClick:t[2]||(t[2]=a=>this.submitNewAPIKey())},[this.submitting?re("",!0):(D(),F("i",IL)),ye(" "+_e(this.submitting?"Creating...":"Done"),1)],2)])])])}const LL=ze(kL,[["render",RL]]),NL={name:"dashboardAPIKey",props:{apiKey:Object},setup(){return{store:et()}},data(){return{confirmDelete:!1}},methods:{deleteAPIKey(){ft("/api/deleteDashboardAPIKey",{Key:this.apiKey.Key},e=>{e.status?(this.$emit("deleted",e.data),this.store.newMessage("Server","API Key deleted","success")):this.store.newMessage("Server",e.message,"danger")})}}},cl=e=>(Ut("data-v-0cc2f367"),e=e(),qt(),e),FL={class:"card rounded-3 shadow-sm"},BL={key:0,class:"card-body d-flex gap-3 align-items-center apiKey-card-body"},VL={class:"d-flex align-items-center gap-2"},HL=cl(()=>h("small",{class:"text-muted"},"Key",-1)),jL={style:{"word-break":"break-all"}},WL={class:"d-flex align-items-center gap-2 ms-auto"},zL=cl(()=>h("small",{class:"text-muted"},"Expire At",-1)),YL=cl(()=>h("i",{class:"bi bi-trash-fill"},null,-1)),KL=[YL],UL={key:0,class:"card-body d-flex gap-3 align-items-center justify-content-end"},qL=cl(()=>h("i",{class:"bi bi-check-lg"},null,-1)),GL=[qL],JL=cl(()=>h("i",{class:"bi bi-x-lg"},null,-1)),XL=[JL];function QL(e,t,n,s,i,o){return D(),F("div",FL,[this.confirmDelete?(D(),F(Te,{key:1},[this.store.getActiveCrossServer()?re("",!0):(D(),F("div",UL,[ye(" Are you sure to delete this API key? "),h("a",{role:"button",class:"btn btn-sm bg-success-subtle text-success-emphasis rounded-3",onClick:t[1]||(t[1]=r=>this.deleteAPIKey())},GL),h("a",{role:"button",class:"btn btn-sm bg-secondary-subtle text-secondary-emphasis rounded-3",onClick:t[2]||(t[2]=r=>this.confirmDelete=!1)},XL)]))],64)):(D(),F("div",BL,[h("div",VL,[HL,h("span",jL,_e(this.apiKey.Key),1)]),h("div",WL,[zL,ye(" "+_e(this.apiKey.ExpiredAt?this.apiKey.ExpiredAt:"Never"),1)]),this.store.getActiveCrossServer()?re("",!0):(D(),F("a",{key:0,role:"button",class:"btn btn-sm bg-danger-subtle text-danger-emphasis rounded-3",onClick:t[0]||(t[0]=r=>this.confirmDelete=!0)},KL))]))])}const ZL=ze(NL,[["render",QL],["__scopeId","data-v-0cc2f367"]]),e3={name:"dashboardAPIKeys",components:{DashboardAPIKey:ZL,NewDashboardAPIKey:LL},setup(){return{store:et()}},data(){return{value:this.store.Configuration.Server.dashboard_api_key,apiKeys:[],newDashboardAPIKey:!1}},methods:{async toggleDashboardAPIKeys(){await ft("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_api_key",value:this.value},e=>{e.status?(this.store.Configuration.Peers[this.targetData]=this.value,this.store.newMessage("Server",`API Keys function is successfully ${this.value?"enabled":"disabled"}`,"success")):(this.value=this.store.Configuration.Peers[this.targetData],this.store.newMessage("Server",`API Keys function is failed ${this.value?"enabled":"disabled"}`,"danger"))})}},watch:{value:{immediate:!0,handler(e){e?xt("/api/getDashboardAPIKeys",{},t=>{console.log(t),t.status?this.apiKeys=t.data:(this.apiKeys=[],this.store.newMessage("Server",t.message,"danger"))}):this.apiKeys=[]}}}},b0=e=>(Ut("data-v-45b66fb8"),e=e(),qt(),e),t3={class:"card mb-4 shadow rounded-3"},n3={class:"card-header d-flex"},s3={key:0,class:"form-check form-switch ms-auto"},i3={class:"form-check-label",for:"allowAPIKeysSwitch"},o3={key:0,class:"card-body position-relative d-flex flex-column gap-2"},r3=b0(()=>h("i",{class:"bi bi-key me-2"},null,-1)),a3={key:1,class:"card",style:{height:"300px"}},l3=b0(()=>h("div",{class:"card-body d-flex text-muted"},[h("span",{class:"m-auto"}," No Dashboard API Key ")],-1)),c3=[l3],u3={key:2,class:"d-flex flex-column gap-2 position-relative",style:{"min-height":"300px"}};function d3(e,t,n,s,i,o){const r=je("DashboardAPIKey"),a=je("NewDashboardAPIKey");return D(),F("div",t3,[h("div",n3,[ye(" API Keys "),this.store.getActiveCrossServer()?re("",!0):(D(),F("div",s3,[Re(h("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[0]||(t[0]=l=>this.value=l),onChange:t[1]||(t[1]=l=>this.toggleDashboardAPIKeys()),role:"switch",id:"allowAPIKeysSwitch"},null,544),[[In,this.value]]),h("label",i3,_e(this.value?"Enabled":"Disabled"),1)]))]),this.value?(D(),F("div",o3,[this.store.getActiveCrossServer()?re("",!0):(D(),F("button",{key:0,class:"ms-auto btn bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle rounded-3 shadow-sm",onClick:t[2]||(t[2]=l=>this.newDashboardAPIKey=!0)},[r3,ye(" Create ")])),this.apiKeys.length===0?(D(),F("div",a3,c3)):(D(),F("div",u3,[$e(Wi,{name:"apiKey"},{default:Me(()=>[(D(!0),F(Te,null,Ue(this.apiKeys,l=>(D(),Ne(r,{apiKey:l,key:l.Key,onDeleted:t[3]||(t[3]=c=>this.apiKeys=c)},null,8,["apiKey"]))),128))]),_:1})])),$e(Ct,{name:"zoomReversed"},{default:Me(()=>[this.newDashboardAPIKey?(D(),Ne(a,{key:0,onCreated:t[4]||(t[4]=l=>this.apiKeys=l),onClose:t[5]||(t[5]=l=>this.newDashboardAPIKey=!1)})):re("",!0)]),_:1})])):re("",!0)])}const h3=ze(e3,[["render",d3],["__scopeId","data-v-45b66fb8"]]),f3={name:"accountSettingsMFA",setup(){const e=et(),t=`input_${Ts()}`;return{store:e,uuid:t}},data(){return{status:!1}},mounted(){this.status=this.store.Configuration.Account.enable_totp},methods:{async resetMFA(){await ft("/api/updateDashboardConfigurationItem",{section:"Account",key:"totp_verified",value:"false"},async e=>{await ft("/api/updateDashboardConfigurationItem",{section:"Account",key:"enable_totp",value:"false"},t=>{t.status&&this.$router.push("/2FASetup")})})}}},p3={class:"d-flex align-items-center"},g3=h("strong",null,"Multi-Factor Authentication",-1),m3={class:"form-check form-switch ms-3"},_3=h("i",{class:"bi bi-shield-lock-fill me-2"},null,-1);function v3(e,t,n,s,i,o){return D(),F("div",null,[h("div",p3,[g3,h("div",m3,[Re(h("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[0]||(t[0]=r=>this.status=r),role:"switch",id:"allowMFAKeysSwitch"},null,512),[[In,this.status]])]),this.status?(D(),F("button",{key:0,class:"btn bg-warning-subtle text-warning-emphasis border-1 border-warning-subtle ms-auto rounded-3 shadow-sm",onClick:t[1]||(t[1]=r=>this.resetMFA())},[_3,ye(" "+_e(this.store.Configuration.Account.totp_verified?"Reset":"Setup")+" MFA ",1)])):re("",!0)])])}const b3=ze(f3,[["render",v3]]),y3={name:"settings",methods:{ipV46RegexCheck:GT},components:{AccountSettingsMFA:b3,DashboardAPIKeys:h3,DashboardSettingsInputIPAddressAndPort:d2,DashboardTheme:qD,DashboardSettingsInputWireguardConfigurationPath:VD,AccountSettingsInputPassword:MD,AccountSettingsInputUsername:oD,PeersDefaultSettingsInput:qT},setup(){return{dashboardConfigurationStore:et()}},watch:{}},w3={class:"mt-md-5 mt-3"},x3={class:"container-md"},k3=h("h3",{class:"mb-3 text-body"},"Settings",-1),S3={class:"card mb-4 shadow rounded-3"},$3=h("p",{class:"card-header"},"Peers Default Settings",-1),A3={class:"card-body"},C3={class:"card mb-4 shadow rounded-3"},E3=h("p",{class:"card-header"},"WireGuard Configurations Settings",-1),P3={class:"card-body"},M3={class:"card mb-4 shadow rounded-3"},T3=h("p",{class:"card-header"},"Account Settings",-1),D3={class:"card-body d-flex gap-4 flex-column"},O3=h("hr",{class:"m-0"},null,-1),I3={key:0,class:"m-0"};function R3(e,t,n,s,i,o){const r=je("DashboardTheme"),a=je("PeersDefaultSettingsInput"),l=je("DashboardSettingsInputWireguardConfigurationPath"),c=je("AccountSettingsInputUsername"),u=je("AccountSettingsInputPassword"),d=je("AccountSettingsMFA"),f=je("DashboardAPIKeys");return D(),F("div",w3,[h("div",x3,[k3,$e(r),h("div",S3,[$3,h("div",A3,[$e(a,{targetData:"peer_global_dns",title:"DNS"}),$e(a,{targetData:"peer_endpoint_allowed_ip",title:"Peer Endpoint Allowed IPs"}),$e(a,{targetData:"peer_mtu",title:"MTU (Max Transmission Unit)"}),$e(a,{targetData:"peer_keep_alive",title:"Persistent Keepalive"}),$e(a,{targetData:"remote_endpoint",title:"Peer Remote Endpoint",warning:!0,warningText:"This will be changed globally, and will be apply to all peer's QR code and configuration file."})])]),h("div",C3,[E3,h("div",P3,[$e(l,{targetData:"wg_conf_path",title:"Configurations Directory",warning:!0,"warning-text":"Remember to remove / at the end of your path. e.g /etc/wireguard"})])]),h("div",M3,[T3,h("div",D3,[$e(c,{targetData:"username",title:"Username"}),O3,$e(u,{targetData:"password"}),this.dashboardConfigurationStore.getActiveCrossServer()?re("",!0):(D(),F("hr",I3)),this.dashboardConfigurationStore.getActiveCrossServer()?re("",!0):(D(),Ne(d,{key:1}))])]),$e(f)])])}const L3=ze(y3,[["render",R3]]),N3={name:"setup",components:{},setup(){return{store:et()}},data(){return{setup:{username:"",newPassword:"",repeatNewPassword:"",enable_totp:!0},loading:!1,errorMessage:"",done:!1}},computed:{goodToSubmit(){return this.setup.username&&this.setup.newPassword.length>=8&&this.setup.repeatNewPassword.length>=8&&this.setup.newPassword===this.setup.repeatNewPassword}},methods:{submit(){this.loading=!0,ft("/api/Welcome_Finish",this.setup,e=>{e.status?(this.done=!0,this.$router.push("/2FASetup")):(document.querySelectorAll("#createAccount input").forEach(t=>t.classList.add("is-invalid")),this.errorMessage=e.message,document.querySelector(".login-container-fluid").scrollTo({top:0,left:0,behavior:"smooth"})),this.loading=!1})}}},F3=["data-bs-theme"],B3={class:"m-auto text-body",style:{width:"500px"}},V3=h("span",{class:"dashboardLogo display-4"},"Nice to meet you!",-1),H3=h("p",{class:"mb-5"},"Please fill in the following fields to finish setup 😊",-1),j3=h("h3",null,"Create an account",-1),W3={key:0,class:"alert alert-danger"},z3={class:"d-flex flex-column gap-3"},Y3={id:"createAccount",class:"d-flex flex-column gap-2"},K3={class:"form-group text-body"},U3=h("label",{for:"username",class:"mb-1 text-muted"},[h("small",null,"Pick an username you like")],-1),q3={class:"form-group text-body"},G3=h("label",{for:"password",class:"mb-1 text-muted"},[h("small",null,"Create a password (at least 8 characters)")],-1),J3={class:"form-group text-body"},X3=h("label",{for:"confirmPassword",class:"mb-1 text-muted"},[h("small",null,"Confirm password")],-1),Q3=["disabled"],Z3={key:0,class:"d-flex align-items-center w-100"},eN=h("i",{class:"bi bi-chevron-right ms-auto"},null,-1),tN={key:1,class:"d-flex align-items-center w-100"},nN=h("span",{class:"spinner-border ms-auto spinner-border-sm",role:"status"},[h("span",{class:"visually-hidden"},"Loading...")],-1);function sN(e,t,n,s,i,o){return D(),F("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.store.Configuration.Server.dashboard_theme},[h("div",B3,[V3,H3,h("div",null,[j3,this.errorMessage?(D(),F("div",W3,_e(this.errorMessage),1)):re("",!0),h("div",z3,[h("div",Y3,[h("div",K3,[U3,Re(h("input",{type:"text","onUpdate:modelValue":t[0]||(t[0]=r=>this.setup.username=r),class:"form-control",id:"username",name:"username",placeholder:"Maybe something like 'wiredragon'?",required:""},null,512),[[We,this.setup.username]])]),h("div",q3,[G3,Re(h("input",{type:"password","onUpdate:modelValue":t[1]||(t[1]=r=>this.setup.newPassword=r),class:"form-control",id:"password",name:"password",placeholder:"Make sure is strong enough",required:""},null,512),[[We,this.setup.newPassword]])]),h("div",J3,[X3,Re(h("input",{type:"password","onUpdate:modelValue":t[2]||(t[2]=r=>this.setup.repeatNewPassword=r),class:"form-control",id:"confirmPassword",name:"confirmPassword",placeholder:"and you can remember it :)",required:""},null,512),[[We,this.setup.repeatNewPassword]])])]),h("button",{class:"btn btn-dark btn-lg mb-5 d-flex btn-brand shadow align-items-center",ref:"signInBtn",disabled:!this.goodToSubmit||this.loading||this.done,onClick:t[3]||(t[3]=r=>this.submit())},[!this.loading&&!this.done?(D(),F("span",Z3,[ye(" Next"),eN])):(D(),F("span",tN,[ye(" Saving..."),nN]))],8,Q3)])])])],8,F3)}const iN=ze(N3,[["render",sN]]);function jf(e){return e.includes(":")?6:e.includes(".")?4:0}function oN(e){const t=jf(e);if(!t)throw new Error(`Invalid IP address: ${e}`);let n=0n,s=0n;const i=Object.create(null);if(t===4)for(const o of e.split(".").map(BigInt).reverse())n+=o*2n**s,s+=8n;else{if(e.includes(".")&&(i.ipv4mapped=!0,e=e.split(":").map(a=>{if(a.includes(".")){const[l,c,u,d]=a.split(".").map(f=>Number(f).toString(16).padStart(2,"0"));return`${l}${c}:${u}${d}`}else return a}).join(":")),e.includes("%")){let a;[,e,a]=/(.+)%(.+)/.exec(e),i.scopeid=a}const o=e.split(":"),r=o.indexOf("");if(r!==-1)for(;o.length<8;)o.splice(r,0,"");for(const a of o.map(l=>BigInt(parseInt(l||0,16))).reverse())n+=a*2n**s,s+=16n}return i.number=n,i.version=t,i}const Vm={4:32,6:128},rN=e=>e.includes("/")?jf(e):0;function aN(e){const t=rN(e),n=Object.create(null);if(n.single=!1,t)n.cidr=e,n.version=t;else{const d=jf(e);if(d)n.cidr=`${e}/${Vm[d]}`,n.version=d,n.single=!0;else throw new Error(`Network is not a CIDR or IP: ${e}`)}const[s,i]=n.cidr.split("/");n.prefix=i;const{number:o,version:r}=oN(s),a=Vm[r],l=o.toString(2).padStart(a,"0"),c=Number(a-i),u=l.substring(0,a-c);return n.start=BigInt(`0b${u}${"0".repeat(c)}`),n.end=BigInt(`0b${u}${"1".repeat(c)}`),n}/*! SPDX-License-Identifier: GPL-2.0 * * Copyright (C) 2015-2020 Jason A. Donenfeld . All Rights Reserved. - */(function(){function e(k){var y=new Float64Array(16);if(k)for(var x=0;x>16&1),C[E-1]&=65535;C[15]=P[15]-32767-(C[14]>>16&1),x=C[15]>>16&1,C[14]&=65535,s(P,C,1-x)}for(var E=0;E<16;++E)k[2*E]=P[E]&255,k[2*E+1]=P[E]>>8}function n(k){for(var y=0;y<16;++y)k[(y+1)%16]+=(y<15?1:38)*Math.floor(k[y]/65536),k[y]&=65535}function s(k,y,x){for(var C,P=~(x-1),E=0;E<16;++E)C=P&(k[E]^y[E]),k[E]^=C,y[E]^=C}function i(k,y,x){for(var C=0;C<16;++C)k[C]=y[C]+x[C]|0}function o(k,y,x){for(var C=0;C<16;++C)k[C]=y[C]-x[C]|0}function r(k,y,x){for(var C=new Float64Array(31),P=0;P<16;++P)for(var E=0;E<16;++E)C[P+E]+=y[P]*x[E];for(var P=0;P<15;++P)C[P]+=38*C[P+16];for(var P=0;P<16;++P)k[P]=C[P];n(k),n(k)}function a(k,y){for(var x=e(),C=0;C<16;++C)x[C]=y[C];for(var C=253;C>=0;--C)r(x,x,x),C!==2&&C!==4&&r(x,x,y);for(var C=0;C<16;++C)k[C]=x[C]}function l(k){k[31]=k[31]&127|64,k[0]&=248}function c(k){for(var y,x=new Uint8Array(32),C=e([1]),P=e([9]),E=e(),B=e([1]),G=e(),ae=e(),Y=e([56129,1]),L=e([9]),I=0;I<32;++I)x[I]=k[I];l(x);for(var I=254;I>=0;--I)y=x[I>>>3]>>>(I&7)&1,s(C,P,y),s(E,B,y),i(G,C,E),o(C,C,E),i(E,P,B),o(P,P,B),r(B,G,G),r(ae,C,C),r(C,E,C),r(E,P,G),i(G,C,E),o(C,C,E),r(P,C,C),o(E,B,ae),r(C,E,Y),i(C,C,B),r(E,E,C),r(C,B,ae),r(B,P,L),r(P,G,G),s(C,P,y),s(E,B,y);return a(E,E),r(C,C,E),t(x,C),x}function u(){var k=new Uint8Array(32);return window.crypto.getRandomValues(k),k}function d(){var k=u();return l(k),k}function f(k,y){for(var x=Uint8Array.from([y[0]>>2&63,(y[0]<<4|y[1]>>4)&63,(y[1]<<2|y[2]>>6)&63,y[2]&63]),C=0;C<4;++C)k[C]=x[C]+65+(25-x[C]>>8&6)-(51-x[C]>>8&75)-(61-x[C]>>8&15)+(62-x[C]>>8&3)}function p(k){var y,x=new Uint8Array(44);for(y=0;y<32/3;++y)f(x.subarray(y*4),k.subarray(y*3));return f(x.subarray(y*4),Uint8Array.from([k[y*3+0],k[y*3+1],0])),x[43]=61,String.fromCharCode.apply(null,x)}function g(k){let y=window.atob(k),x=y.length,C=new Uint8Array(x);for(let E=0;E>>8&255,y>>>16&255,y>>>24&255)}function b(k,y){k.push(y&255,y>>>8&255)}function w(k,y){for(var x=0;x>>1:y>>>1;A.table[x]=y}}for(var P=-1,E=0;E>>8^A.table[(P^k[E])&255];return(P^-1)>>>0}function T(k){for(var y=[],x=[],C=0,P=0;P{e.status?(this.success=!0,await this.store.getConfigurations(),setTimeout(()=>{this.$router.push("/")},1e3)):(this.error=!0,this.errorMessage=e.message,document.querySelector(`#${e.data}`).classList.remove("is-valid"),document.querySelector(`#${e.data}`).classList.add("is-invalid"),this.loading=!1)}))}},computed:{goodToSubmit(){let e=["ConfigurationName","Address","ListenPort","PrivateKey"],t=[...document.querySelectorAll("input[required]")];return e.find(n=>this.newConfiguration[n].length===0)===void 0&&t.find(n=>n.classList.contains("is-invalid"))===void 0}},watch:{"newConfiguration.Address"(e){let t=document.querySelector("#Address");t.classList.remove("is-invalid","is-valid");try{if(e.trim().split("/").filter(i=>i.length>0).length!==2)throw Error();let n=aN(e),s=n.end-n.start;this.numberOfAvailableIPs=s.toLocaleString(),t.classList.add("is-valid")}catch{this.numberOfAvailableIPs="0",t.classList.add("is-invalid")}},"newConfiguration.ListenPort"(e){let t=document.querySelector("#ListenPort");t.classList.remove("is-invalid","is-valid"),e<0||e>65353||!Number.isInteger(e)?t.classList.add("is-invalid"):t.classList.add("is-valid")},"newConfiguration.ConfigurationName"(e){let t=document.querySelector("#ConfigurationName");t.classList.remove("is-invalid","is-valid"),!/^[a-zA-Z0-9_=+.-]{1,15}$/.test(e)||e.length===0||this.store.Configurations.find(n=>n.Name===e)?t.classList.add("is-invalid"):t.classList.add("is-valid")},"newConfiguration.PrivateKey"(e){let t=document.querySelector("#PrivateKey");t.classList.remove("is-invalid","is-valid");try{wireguard.generatePublicKey(e),t.classList.add("is-valid")}catch{t.classList.add("is-invalid")}}}},cN={class:"mt-5"},uN={class:"container mb-4"},dN={class:"mb-4 d-flex align-items-center gap-4"},hN=h("h3",{class:"mb-0 text-body"},[h("i",{class:"bi bi-chevron-left me-4"}),ye(" New Configuration ")],-1),fN={class:"card rounded-3 shadow"},pN=h("div",{class:"card-header"},"Configuration Name",-1),mN={class:"card-body"},gN=["disabled"],_N={class:"invalid-feedback"},vN={key:0},bN={key:1},yN=h("ul",{class:"mb-0"},[h("li",null,"Configuration name already exist."),h("li",null,'Configuration name can only contain 15 lower/uppercase alphabet, numbers, "_"(underscore), "="(equal), "+"(plus), "."(period/dot), "-"(dash/hyphen)')],-1),wN={class:"card rounded-3 shadow"},xN=h("div",{class:"card-header"},"Private Key / Public Key / Pre-Shared Key",-1),kN={class:"card-body",style:{"font-family":"var(--bs-font-monospace)"}},SN={class:"mb-2"},$N=h("label",{class:"text-muted fw-bold mb-1"},[h("small",null,"PRIVATE KEY")],-1),AN={class:"input-group"},CN=["disabled"],EN=h("i",{class:"bi bi-arrow-repeat"},null,-1),PN=[EN],MN=h("label",{class:"text-muted fw-bold mb-1"},[h("small",null,"PUBLIC KEY")],-1),TN={class:"card rounded-3 shadow"},DN=h("div",{class:"card-header"},"Listen Port",-1),ON={class:"card-body"},IN=["disabled"],RN={class:"invalid-feedback"},LN={key:0},NN={key:1},FN={class:"card rounded-3 shadow"},BN={class:"card-header d-flex align-items-center"},VN={class:"badge rounded-pill text-bg-success ms-auto"},HN={class:"card-body"},jN=["disabled"],WN={class:"invalid-feedback"},zN={key:0},YN={key:1},UN=h("hr",null,null,-1),KN={class:"accordion",id:"newConfigurationOptionalAccordion"},qN={class:"accordion-item"},GN=h("h2",{class:"accordion-header"},[h("button",{class:"accordion-button collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#newConfigurationOptionalAccordionCollapse"}," Optional Settings ")],-1),JN={id:"newConfigurationOptionalAccordionCollapse",class:"accordion-collapse collapse","data-bs-parent":"#newConfigurationOptionalAccordion"},XN={class:"accordion-body d-flex flex-column gap-3"},QN={class:"card rounded-3"},ZN=h("div",{class:"card-header"},"PreUp",-1),e5={class:"card-body"},t5={class:"card rounded-3"},n5=h("div",{class:"card-header"},"PreDown",-1),s5={class:"card-body"},i5={class:"card rounded-3"},o5=h("div",{class:"card-header"},"PostUp",-1),r5={class:"card-body"},a5={class:"card rounded-3"},l5=h("div",{class:"card-header"},"PostDown",-1),c5={class:"card-body"},u5=["disabled"],d5={key:0,class:"d-flex w-100"},h5=h("i",{class:"bi bi-check-circle-fill ms-2"},null,-1),f5={key:1,class:"d-flex w-100"},p5=h("i",{class:"bi bi-save-fill ms-2"},null,-1),m5={key:2,class:"d-flex w-100 align-items-center"},g5=h("span",{class:"ms-2 spinner-border spinner-border-sm",role:"status"},null,-1);function _5(e,t,n,s,i,o){const r=je("RouterLink");return D(),F("div",cN,[h("div",uN,[h("div",dN,[$e(r,{to:"/",class:"text-decoration-none"},{default:Me(()=>[hN]),_:1})]),h("form",{class:"text-body d-flex flex-column gap-3",onSubmit:t[10]||(t[10]=a=>{a.preventDefault(),this.saveNewConfiguration()})},[h("div",fN,[pN,h("div",mN,[Re(h("input",{type:"text",class:"form-control",placeholder:"ex. wg1",id:"ConfigurationName","onUpdate:modelValue":t[0]||(t[0]=a=>this.newConfiguration.ConfigurationName=a),disabled:this.loading,required:""},null,8,gN),[[We,this.newConfiguration.ConfigurationName]]),h("div",_N,[this.error?(D(),F("div",vN,_e(this.errorMessage),1)):(D(),F("div",bN,[ye(" Configuration name is invalid. Possible reasons: "),yN]))])])]),h("div",wN,[xN,h("div",kN,[h("div",SN,[$N,h("div",AN,[Re(h("input",{type:"text",class:"form-control",id:"PrivateKey",required:"",disabled:this.loading,"onUpdate:modelValue":t[1]||(t[1]=a=>this.newConfiguration.PrivateKey=a)},null,8,CN),[[We,this.newConfiguration.PrivateKey]]),h("button",{class:"btn btn-outline-primary",type:"button",title:"Regenerate Private Key",onClick:t[2]||(t[2]=a=>o.wireguardGenerateKeypair())},PN)])]),h("div",null,[MN,Re(h("input",{type:"text",class:"form-control",id:"PublicKey","onUpdate:modelValue":t[3]||(t[3]=a=>this.newConfiguration.PublicKey=a),disabled:""},null,512),[[We,this.newConfiguration.PublicKey]])])])]),h("div",TN,[DN,h("div",ON,[Re(h("input",{type:"number",class:"form-control",placeholder:"0-65353",id:"ListenPort",min:"1",max:"65353","onUpdate:modelValue":t[4]||(t[4]=a=>this.newConfiguration.ListenPort=a),disabled:this.loading,required:""},null,8,IN),[[We,this.newConfiguration.ListenPort]]),h("div",RN,[this.error?(D(),F("div",LN,_e(this.errorMessage),1)):(D(),F("div",NN," Invalid port "))])])]),h("div",FN,[h("div",BN,[ye(" IP Address & Range "),h("span",VN,_e(i.numberOfAvailableIPs)+" Available IPs",1)]),h("div",HN,[Re(h("input",{type:"text",class:"form-control",placeholder:"Ex: 10.0.0.1/24",id:"Address","onUpdate:modelValue":t[5]||(t[5]=a=>this.newConfiguration.Address=a),disabled:this.loading,required:""},null,8,jN),[[We,this.newConfiguration.Address]]),h("div",WN,[this.error?(D(),F("div",zN,_e(this.errorMessage),1)):(D(),F("div",YN," IP address & range is invalid. "))])])]),UN,h("div",KN,[h("div",qN,[GN,h("div",JN,[h("div",XN,[h("div",QN,[ZN,h("div",e5,[Re(h("input",{type:"text",class:"form-control",id:"preUp","onUpdate:modelValue":t[6]||(t[6]=a=>this.newConfiguration.PreUp=a)},null,512),[[We,this.newConfiguration.PreUp]])])]),h("div",t5,[n5,h("div",s5,[Re(h("input",{type:"text",class:"form-control",id:"preDown","onUpdate:modelValue":t[7]||(t[7]=a=>this.newConfiguration.PreDown=a)},null,512),[[We,this.newConfiguration.PreDown]])])]),h("div",i5,[o5,h("div",r5,[Re(h("input",{type:"text",class:"form-control",id:"postUp","onUpdate:modelValue":t[8]||(t[8]=a=>this.newConfiguration.PostUp=a)},null,512),[[We,this.newConfiguration.PostUp]])])]),h("div",a5,[l5,h("div",c5,[Re(h("input",{type:"text",class:"form-control",id:"postDown","onUpdate:modelValue":t[9]||(t[9]=a=>this.newConfiguration.PostDown=a)},null,512),[[We,this.newConfiguration.PostDown]])])])])])])]),h("button",{class:"btn btn-dark btn-brand rounded-3 px-3 py-2 shadow ms-auto",disabled:!this.goodToSubmit},[this.success?(D(),F("span",d5,[ye(" Success! "),h5])):this.loading?(D(),F("span",m5,[ye(" Saving... "),g5])):(D(),F("span",f5,[ye(" Save Configuration "),p5]))],8,u5)],32)])])}const v5=ze(lN,[["render",_5]]),b5={name:"configuration"},y5={class:"mt-md-5 mt-3 text-body"};function w5(e,t,n,s,i,o){const r=je("RouterView");return D(),F("div",y5,[$e(r,null,{default:Me(({Component:a,route:l})=>[$e(Ct,{name:"fade2",mode:"out-in"},{default:Me(()=>[(D(),Ne(uf,null,{default:Me(()=>[(D(),Ne(Io(a),{key:l.path}))]),_:2},1024))]),_:2},1024)]),_:1})])}const x5=ze(b5,[["render",w5]]),k5={name:"peerSearch",setup(){const e=et(),t=Bn();return{store:e,wireguardConfigurationStore:t}},props:{configuration:Object},data(){return{sort:{status:"Status",name:"Name",allowed_ip:"Allowed IP",restricted:"Restricted"},interval:{5e3:"5 Seconds",1e4:"10 Seconds",3e4:"30 Seconds",6e4:"1 Minutes"},searchString:"",searchStringTimeout:void 0,showDisplaySettings:!1,showMoreSettings:!1}},methods:{debounce(){this.searchStringTimeout?(clearTimeout(this.searchStringTimeout),this.searchStringTimeout=setTimeout(()=>{this.wireguardConfigurationStore.searchString=this.searchString},300)):this.searchStringTimeout=setTimeout(()=>{this.wireguardConfigurationStore.searchString=this.searchString},300)},updateSort(e){ft("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_sort",value:e},t=>{t.status&&this.store.getConfiguration()})},updateRefreshInterval(e){ft("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_refresh_interval",value:e},t=>{t.status&&this.store.getConfiguration()})},downloadAllPeer(){xt(`/api/downloadAllPeers/${this.configuration.Name}`,{},e=>{console.log(e),window.wireguard.generateZipFiles(e,this.configuration.Name)})}},mounted(){}},ii=e=>(Kt("data-v-f3ba2ec5"),e=e(),qt(),e),S5={class:"mb-3"},$5={class:"d-flex gap-2 z-3 peerSearchContainer"},A5=ii(()=>h("i",{class:"bi bi-plus-lg me-2"},null,-1)),C5=ii(()=>h("i",{class:"bi bi-download me-2"},null,-1)),E5={class:"flex-grow-1 mt-3 mt-md-0"},P5=ii(()=>h("i",{class:"bi bi-filter-circle me-2"},null,-1)),M5=ii(()=>h("i",{class:"bi bi-three-dots"},null,-1)),T5=[M5],D5={key:0,class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll displayModal"},O5={class:"container-md d-flex h-100 w-100"},I5={class:"m-auto modal-dialog-centered dashboardModal"},R5={class:"card rounded-3 shadow w-100"},L5={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},N5=ii(()=>h("h4",{class:"mb-0 fw-normal"},"Display ",-1)),F5={class:"card-body px-4 pb-4 d-flex gap-3 flex-column"},B5=ii(()=>h("p",{class:"text-muted fw-bold mb-2"},[h("small",null,"Sort by")],-1)),V5={class:"list-group"},H5=["onClick"],j5={class:"me-auto"},W5={key:0,class:"bi bi-check text-primary"},z5=ii(()=>h("p",{class:"text-muted fw-bold mb-2"},[h("small",null,"Refresh interval")],-1)),Y5={class:"list-group"},U5=["onClick"],K5={class:"me-auto"},q5={key:0,class:"bi bi-check text-primary"},G5={key:0,class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll displayModal"},J5={class:"container-md d-flex h-100 w-100"},X5={class:"m-auto modal-dialog-centered dashboardModal"},Q5={class:"card rounded-3 shadow w-100"},Z5={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},eF=ii(()=>h("h4",{class:"mb-0 fw-normal"},"Configuration Settings ",-1)),tF={class:"card-body px-4 pb-4 d-flex gap-3 flex-column"},nF=ii(()=>h("p",{class:"text-muted fw-bold mb-2"},[h("small",null,"Peer Jobs")],-1)),sF={class:"list-group"};function iF(e,t,n,s,i,o){const r=je("RouterLink");return D(),F("div",S5,[h("div",$5,[$e(r,{to:"create",class:"text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle shadow-sm"},{default:Me(()=>[A5,ye("Peer ")]),_:1}),h("button",{class:"btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle shadow-sm",onClick:t[0]||(t[0]=a=>this.downloadAllPeer())},[C5,ye(" Download All ")]),h("div",E5,[Re(h("input",{class:"form-control rounded-3 bg-secondary-subtle border-1 border-secondary-subtle shadow-sm w-100",placeholder:"Search...",id:"searchPeers",onKeyup:t[1]||(t[1]=a=>this.debounce()),"onUpdate:modelValue":t[2]||(t[2]=a=>this.searchString=a)},null,544),[[We,this.searchString]])]),h("button",{onClick:t[3]||(t[3]=a=>this.showDisplaySettings=!0),class:"btn text-secondary-emphasis bg-secondary-subtle rounded-3 border-1 border-secondary-subtle shadow-sm",type:"button","aria-expanded":"false"},[P5,ye(" Display ")]),h("button",{class:"btn text-secondary-emphasis bg-secondary-subtle rounded-3 border-1 border-secondary-subtle shadow-sm",onClick:t[4]||(t[4]=a=>this.showMoreSettings=!0),type:"button","aria-expanded":"false"},T5),$e(Ct,{name:"zoom"},{default:Me(()=>[this.showDisplaySettings?(D(),F("div",D5,[h("div",O5,[h("div",I5,[h("div",R5,[h("div",L5,[N5,h("button",{type:"button",class:"btn-close ms-auto",onClick:t[5]||(t[5]=a=>this.showDisplaySettings=!1)})]),h("div",F5,[h("div",null,[B5,h("div",V5,[(D(!0),F(Te,null,Ke(this.sort,(a,l)=>(D(),F("a",{class:"list-group-item list-group-item-action d-flex",role:"button",onClick:c=>this.updateSort(l)},[h("span",j5,_e(a),1),s.store.Configuration.Server.dashboard_sort===l?(D(),F("i",W5)):re("",!0)],8,H5))),256))])]),h("div",null,[z5,h("div",Y5,[(D(!0),F(Te,null,Ke(this.interval,(a,l)=>(D(),F("a",{class:"list-group-item list-group-item-action d-flex",role:"button",onClick:c=>this.updateRefreshInterval(l)},[h("span",K5,_e(a),1),s.store.Configuration.Server.dashboard_refresh_interval===l?(D(),F("i",q5)):re("",!0)],8,U5))),256))])])])])])])])):re("",!0)]),_:1}),$e(Ct,{name:"zoom"},{default:Me(()=>[this.showMoreSettings?(D(),F("div",G5,[h("div",J5,[h("div",X5,[h("div",Q5,[h("div",Z5,[eF,h("button",{type:"button",class:"btn-close ms-auto",onClick:t[6]||(t[6]=a=>this.showMoreSettings=!1)})]),h("div",tF,[h("div",null,[nF,h("div",sF,[h("a",{class:"list-group-item list-group-item-action d-flex",role:"button",onClick:t[7]||(t[7]=a=>this.$emit("jobsAll"))}," Active Jobs "),h("a",{class:"list-group-item list-group-item-action d-flex",role:"button",onClick:t[8]||(t[8]=a=>this.$emit("jobLogs"))}," Logs ")])])])])])])])):re("",!0)]),_:1})])])}const oF=ze(k5,[["render",iF],["__scopeId","data-v-f3ba2ec5"]]);function rF(e){return Qc()?(Jh(e),!0):!1}function y0(e){return typeof e=="function"?e():q(e)}const w0=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const aF=Object.prototype.toString,lF=e=>aF.call(e)==="[object Object]",fc=()=>{},cF=uF();function uF(){var e,t;return w0&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function aa(e){var t;const n=y0(e);return(t=n==null?void 0:n.$el)!=null?t:n}const x0=w0?window:void 0;function md(...e){let t,n,s,i;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,s,i]=e,t=x0):[t,n,s,i]=e,!t)return fc;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const o=[],r=()=>{o.forEach(u=>u()),o.length=0},a=(u,d,f,p)=>(u.addEventListener(d,f,p),()=>u.removeEventListener(d,f,p)),l=Vt(()=>[aa(t),y0(i)],([u,d])=>{if(r(),!u)return;const f=lF(d)?{...d}:d;o.push(...n.flatMap(p=>s.map(g=>a(u,p,g,f))))},{immediate:!0,flush:"post"}),c=()=>{l(),r()};return rF(c),c}let Hg=!1;function dF(e,t,n={}){const{window:s=x0,ignore:i=[],capture:o=!0,detectIframe:r=!1}=n;if(!s)return fc;cF&&!Hg&&(Hg=!0,Array.from(s.document.body.children).forEach(f=>f.addEventListener("click",fc)),s.document.documentElement.addEventListener("click",fc));let a=!0;const l=f=>i.some(p=>{if(typeof p=="string")return Array.from(s.document.querySelectorAll(p)).some(g=>g===f.target||f.composedPath().includes(g));{const g=aa(p);return g&&(f.target===g||f.composedPath().includes(g))}}),u=[md(s,"click",f=>{const p=aa(e);if(!(!p||p===f.target||f.composedPath().includes(p))){if(f.detail===0&&(a=!l(f)),!a){a=!0;return}t(f)}},{passive:!0,capture:o}),md(s,"pointerdown",f=>{const p=aa(e);a=!l(f)&&!!(p&&!f.composedPath().includes(p))},{passive:!0}),r&&md(s,"blur",f=>{setTimeout(()=>{var p;const g=aa(e);((p=s.document.activeElement)==null?void 0:p.tagName)==="IFRAME"&&!(g!=null&&g.contains(s.document.activeElement))&&t(f)},0)})].filter(Boolean);return()=>u.forEach(f=>f())}const hF={name:"peerSettingsDropdown",setup(){return{dashboardStore:et()}},props:{Peer:Object},data(){return{deleteBtnDisabled:!1,restrictBtnDisabled:!1,allowAccessBtnDisabled:!1}},methods:{downloadPeer(){xt("/api/downloadPeer/"+this.$route.params.id,{id:this.Peer.id},e=>{if(e.status){const t=new Blob([e.data.file],{type:"text/plain"}),n=URL.createObjectURL(t),s=`${e.data.fileName}.conf`,i=document.createElement("a");i.href=n,i.download=s,i.click(),this.dashboardStore.newMessage("WGDashboard","Peer download started","success")}else this.dashboardStore.newMessage("Server",e.message,"danger")})},downloadQRCode(){xt("/api/downloadPeer/"+this.$route.params.id,{id:this.Peer.id},e=>{e.status?this.$emit("qrcode",e.data.file):this.dashboardStore.newMessage("Server",e.message,"danger")})},deletePeer(){this.deleteBtnDisabled=!0,ft(`/api/deletePeers/${this.$route.params.id}`,{peers:[this.Peer.id]},e=>{this.dashboardStore.newMessage("Server",e.message,e.status?"success":"danger"),this.$emit("refresh"),this.deleteBtnDisabled=!1})},restrictPeer(){this.restrictBtnDisabled=!0,ft(`/api/restrictPeers/${this.$route.params.id}`,{peers:[this.Peer.id]},e=>{this.dashboardStore.newMessage("Server",e.message,e.status?"success":"danger"),this.$emit("refresh"),this.restrictBtnDisabled=!1})},allowAccessPeer(){this.allowAccessBtnDisabled=!0,ft(`/api/allowAccessPeers/${this.$route.params.id}`,{peers:[this.Peer.id]},e=>{this.dashboardStore.newMessage("Server",e.message,e.status?"success":"danger"),this.$emit("refresh"),this.allowAccessBtnDisabled=!1})}}},ps=e=>(Kt("data-v-772e5b77"),e=e(),qt(),e),fF={class:"dropdown-menu mt-2 shadow-lg d-block rounded-3",style:{"max-width":"200px"}},pF={key:0},mF=ps(()=>h("small",{class:"w-100 dropdown-item text-muted",style:{"white-space":"break-spaces","font-size":"0.7rem"}},[ye("Download & QR Code is not available due to no "),h("code",null,"private key"),ye(" set for this peer ")],-1)),gF=[mF],_F={key:1,class:"d-flex",style:{"padding-left":"var(--bs-dropdown-item-padding-x)","padding-right":"var(--bs-dropdown-item-padding-x)"}},vF=ps(()=>h("i",{class:"me-auto bi bi-download"},null,-1)),bF=[vF],yF=ps(()=>h("i",{class:"me-auto bi bi-qr-code"},null,-1)),wF=[yF],xF=ps(()=>h("i",{class:"me-auto bi bi-share"},null,-1)),kF=[xF],SF=ps(()=>h("li",null,[h("hr",{class:"dropdown-divider"})],-1)),$F=ps(()=>h("i",{class:"me-auto bi bi-pen"},null,-1)),AF=ps(()=>h("i",{class:"me-auto bi bi-app-indicator"},null,-1)),CF=ps(()=>h("li",null,[h("hr",{class:"dropdown-divider"})],-1)),EF=ps(()=>h("i",{class:"me-auto bi bi-lock"},null,-1)),PF=ps(()=>h("i",{class:"me-auto bi bi-trash"},null,-1)),MF={key:1},TF=ps(()=>h("i",{class:"me-auto bi bi-unlock"},null,-1));function DF(e,t,n,s,i,o){return D(),F("ul",fF,[this.Peer.restricted?(D(),F("li",MF,[h("a",{class:Ee(["dropdown-item d-flex text-warning",{disabled:this.restrictBtnDisabled}]),onClick:t[7]||(t[7]=r=>this.allowAccessPeer()),role:"button"},[TF,ye(" "+_e(this.allowAccessBtnDisabled?"Allowing...":"Allow Access"),1)],2)])):(D(),F(Te,{key:0},[this.Peer.private_key?(D(),F("li",_F,[h("a",{class:"dropdown-item text-center px-0 rounded-3",role:"button",onClick:t[0]||(t[0]=r=>this.downloadPeer())},bF),h("a",{class:"dropdown-item text-center px-0 rounded-3",role:"button",onClick:t[1]||(t[1]=r=>this.downloadQRCode())},wF),h("a",{class:"dropdown-item text-center px-0 rounded-3",role:"button",onClick:t[2]||(t[2]=r=>this.$emit("share"))},kF)])):(D(),F("li",pF,gF)),SF,h("li",null,[h("a",{class:"dropdown-item d-flex",role:"button",onClick:t[3]||(t[3]=r=>this.$emit("setting"))},[$F,ye(" Edit ")])]),h("li",null,[h("a",{class:"dropdown-item d-flex",role:"button",onClick:t[4]||(t[4]=r=>this.$emit("jobs"))},[AF,ye(" Schedule Jobs ")])]),CF,h("li",null,[h("a",{class:Ee(["dropdown-item d-flex text-warning",{disabled:this.restrictBtnDisabled}]),onClick:t[5]||(t[5]=r=>this.restrictPeer()),role:"button"},[EF,ye(" "+_e(this.restrictBtnDisabled?"Restricting...":"Restrict Access"),1)],2)]),h("li",null,[h("a",{class:Ee(["dropdown-item d-flex fw-bold text-danger",{disabled:this.deleteBtnDisabled}]),onClick:t[6]||(t[6]=r=>this.deletePeer()),role:"button"},[PF,ye(" "+_e(this.deleteBtnDisabled?"Deleting...":"Delete"),1)],2)])],64))])}const OF=ze(hF,[["render",DF],["__scopeId","data-v-772e5b77"]]),IF={name:"peer",components:{PeerSettingsDropdown:OF},props:{Peer:Object},data(){return{}},setup(){const e=be(null),t=be(!1);return dF(e,n=>{t.value=!1}),{target:e,subMenuOpened:t}},computed:{getLatestHandshake(){return this.Peer.latest_handshake.includes(",")?this.Peer.latest_handshake.split(",")[0]:this.Peer.latest_handshake}}},No=e=>(Kt("data-v-f311ec95"),e=e(),qt(),e),RF={key:0,class:"card-header bg-transparent d-flex align-items-center gap-2 border-0"},LF={style:{"font-size":"0.8rem"},class:"ms-auto d-flex gap-2"},NF={class:"text-primary"},FF=No(()=>h("i",{class:"bi bi-arrow-down"},null,-1)),BF={class:"text-success"},VF=No(()=>h("i",{class:"bi bi-arrow-up"},null,-1)),HF={key:0,class:"text-secondary"},jF=No(()=>h("i",{class:"bi bi-arrows-angle-contract"},null,-1)),WF={key:1,class:"border-0 card-header bg-transparent text-warning fw-bold",style:{"font-size":"0.8rem"}},zF=No(()=>h("i",{class:"bi-lock-fill me-2"},null,-1)),YF={class:"card-body pt-1",style:{"font-size":"0.9rem"}},UF={class:"mb-2"},KF=No(()=>h("small",{class:"text-muted"},"Public Key",-1)),qF={class:"mb-0"},GF={class:"d-flex align-items-end"},JF=No(()=>h("small",{class:"text-muted"},"Allowed IP",-1)),XF={class:"mb-0"},QF=No(()=>h("h5",{class:"mb-0"},[h("i",{class:"bi bi-three-dots"})],-1)),ZF=[QF];function eB(e,t,n,s,i,o){const r=je("PeerSettingsDropdown");return D(),F("div",{class:Ee(["card shadow-sm rounded-3 peerCard bg-transparent",{"border-warning":n.Peer.restricted}])},[h("div",null,[n.Peer.restricted?(D(),F("div",WF,[zF,ye(" Access Restricted ")])):(D(),F("div",RF,[h("div",{class:Ee(["dot ms-0",{active:n.Peer.status==="running"}])},null,2),h("div",LF,[h("span",NF,[FF,h("strong",null,_e((n.Peer.cumu_receive+n.Peer.total_receive).toFixed(4)),1),ye(" GB ")]),h("span",BF,[VF,h("strong",null,_e((n.Peer.cumu_sent+n.Peer.total_sent).toFixed(4)),1),ye(" GB ")]),n.Peer.latest_handshake!=="No Handshake"?(D(),F("span",HF,[jF,ye(" "+_e(o.getLatestHandshake)+" ago ",1)])):re("",!0)])]))]),h("div",YF,[h("h6",null,_e(n.Peer.name?n.Peer.name:"Untitled Peer"),1),h("div",UF,[KF,h("p",qF,[h("samp",null,_e(n.Peer.id),1)])]),h("div",GF,[h("div",null,[JF,h("p",XF,[h("samp",null,_e(n.Peer.allowed_ip),1)])]),h("div",{class:Ee(["ms-auto px-2 rounded-3 subMenuBtn",{active:this.subMenuOpened}])},[h("a",{role:"button",class:"text-body",onClick:t[0]||(t[0]=a=>this.subMenuOpened=!0)},ZF),$e(Ct,{name:"slide-fade"},{default:Me(()=>[this.subMenuOpened?(D(),Ne(r,{key:0,onQrcode:t[1]||(t[1]=a=>this.$emit("qrcode",a)),onSetting:t[2]||(t[2]=a=>this.$emit("setting")),onJobs:t[3]||(t[3]=a=>this.$emit("jobs")),onRefresh:t[4]||(t[4]=a=>this.$emit("refresh")),onShare:t[5]||(t[5]=a=>this.$emit("share")),Peer:n.Peer,ref:"target"},null,8,["Peer"])):re("",!0)]),_:1})],2)])])],2)}const tB=ze(IF,[["render",eB],["__scopeId","data-v-f311ec95"]]);/*! + */(function(){function e(k){var y=new Float64Array(16);if(k)for(var x=0;x>16&1),C[E-1]&=65535;C[15]=P[15]-32767-(C[14]>>16&1),x=C[15]>>16&1,C[14]&=65535,s(P,C,1-x)}for(var E=0;E<16;++E)k[2*E]=P[E]&255,k[2*E+1]=P[E]>>8}function n(k){for(var y=0;y<16;++y)k[(y+1)%16]+=(y<15?1:38)*Math.floor(k[y]/65536),k[y]&=65535}function s(k,y,x){for(var C,P=~(x-1),E=0;E<16;++E)C=P&(k[E]^y[E]),k[E]^=C,y[E]^=C}function i(k,y,x){for(var C=0;C<16;++C)k[C]=y[C]+x[C]|0}function o(k,y,x){for(var C=0;C<16;++C)k[C]=y[C]-x[C]|0}function r(k,y,x){for(var C=new Float64Array(31),P=0;P<16;++P)for(var E=0;E<16;++E)C[P+E]+=y[P]*x[E];for(var P=0;P<15;++P)C[P]+=38*C[P+16];for(var P=0;P<16;++P)k[P]=C[P];n(k),n(k)}function a(k,y){for(var x=e(),C=0;C<16;++C)x[C]=y[C];for(var C=253;C>=0;--C)r(x,x,x),C!==2&&C!==4&&r(x,x,y);for(var C=0;C<16;++C)k[C]=x[C]}function l(k){k[31]=k[31]&127|64,k[0]&=248}function c(k){for(var y,x=new Uint8Array(32),C=e([1]),P=e([9]),E=e(),B=e([1]),G=e(),ae=e(),Y=e([56129,1]),L=e([9]),I=0;I<32;++I)x[I]=k[I];l(x);for(var I=254;I>=0;--I)y=x[I>>>3]>>>(I&7)&1,s(C,P,y),s(E,B,y),i(G,C,E),o(C,C,E),i(E,P,B),o(P,P,B),r(B,G,G),r(ae,C,C),r(C,E,C),r(E,P,G),i(G,C,E),o(C,C,E),r(P,C,C),o(E,B,ae),r(C,E,Y),i(C,C,B),r(E,E,C),r(C,B,ae),r(B,P,L),r(P,G,G),s(C,P,y),s(E,B,y);return a(E,E),r(C,C,E),t(x,C),x}function u(){var k=new Uint8Array(32);return window.crypto.getRandomValues(k),k}function d(){var k=u();return l(k),k}function f(k,y){for(var x=Uint8Array.from([y[0]>>2&63,(y[0]<<4|y[1]>>4)&63,(y[1]<<2|y[2]>>6)&63,y[2]&63]),C=0;C<4;++C)k[C]=x[C]+65+(25-x[C]>>8&6)-(51-x[C]>>8&75)-(61-x[C]>>8&15)+(62-x[C]>>8&3)}function p(k){var y,x=new Uint8Array(44);for(y=0;y<32/3;++y)f(x.subarray(y*4),k.subarray(y*3));return f(x.subarray(y*4),Uint8Array.from([k[y*3+0],k[y*3+1],0])),x[43]=61,String.fromCharCode.apply(null,x)}function m(k){let y=window.atob(k),x=y.length,C=new Uint8Array(x);for(let E=0;E>>8&255,y>>>16&255,y>>>24&255)}function b(k,y){k.push(y&255,y>>>8&255)}function w(k,y){for(var x=0;x>>1:y>>>1;A.table[x]=y}}for(var P=-1,E=0;E>>8^A.table[(P^k[E])&255];return(P^-1)>>>0}function T(k){for(var y=[],x=[],C=0,P=0;P{e.status?(this.success=!0,await this.store.getConfigurations(),setTimeout(()=>{this.$router.push("/")},1e3)):(this.error=!0,this.errorMessage=e.message,document.querySelector(`#${e.data}`).classList.remove("is-valid"),document.querySelector(`#${e.data}`).classList.add("is-invalid"),this.loading=!1)}))}},computed:{goodToSubmit(){let e=["ConfigurationName","Address","ListenPort","PrivateKey"],t=[...document.querySelectorAll("input[required]")];return e.find(n=>this.newConfiguration[n].length===0)===void 0&&t.find(n=>n.classList.contains("is-invalid"))===void 0}},watch:{"newConfiguration.Address"(e){let t=document.querySelector("#Address");t.classList.remove("is-invalid","is-valid");try{if(e.trim().split("/").filter(i=>i.length>0).length!==2)throw Error();let n=aN(e),s=n.end-n.start;this.numberOfAvailableIPs=s.toLocaleString(),t.classList.add("is-valid")}catch{this.numberOfAvailableIPs="0",t.classList.add("is-invalid")}},"newConfiguration.ListenPort"(e){let t=document.querySelector("#ListenPort");t.classList.remove("is-invalid","is-valid"),e<0||e>65353||!Number.isInteger(e)?t.classList.add("is-invalid"):t.classList.add("is-valid")},"newConfiguration.ConfigurationName"(e){let t=document.querySelector("#ConfigurationName");t.classList.remove("is-invalid","is-valid"),!/^[a-zA-Z0-9_=+.-]{1,15}$/.test(e)||e.length===0||this.store.Configurations.find(n=>n.Name===e)?t.classList.add("is-invalid"):t.classList.add("is-valid")},"newConfiguration.PrivateKey"(e){let t=document.querySelector("#PrivateKey");t.classList.remove("is-invalid","is-valid");try{wireguard.generatePublicKey(e),t.classList.add("is-valid")}catch{t.classList.add("is-invalid")}}}},cN={class:"mt-5"},uN={class:"container mb-4"},dN={class:"mb-4 d-flex align-items-center gap-4"},hN=h("h3",{class:"mb-0 text-body"},[h("i",{class:"bi bi-chevron-left me-4"}),ye(" New Configuration ")],-1),fN={class:"card rounded-3 shadow"},pN=h("div",{class:"card-header"},"Configuration Name",-1),gN={class:"card-body"},mN=["disabled"],_N={class:"invalid-feedback"},vN={key:0},bN={key:1},yN=h("ul",{class:"mb-0"},[h("li",null,"Configuration name already exist."),h("li",null,'Configuration name can only contain 15 lower/uppercase alphabet, numbers, "_"(underscore), "="(equal), "+"(plus), "."(period/dot), "-"(dash/hyphen)')],-1),wN={class:"card rounded-3 shadow"},xN=h("div",{class:"card-header"},"Private Key / Public Key / Pre-Shared Key",-1),kN={class:"card-body",style:{"font-family":"var(--bs-font-monospace)"}},SN={class:"mb-2"},$N=h("label",{class:"text-muted fw-bold mb-1"},[h("small",null,"PRIVATE KEY")],-1),AN={class:"input-group"},CN=["disabled"],EN=h("i",{class:"bi bi-arrow-repeat"},null,-1),PN=[EN],MN=h("label",{class:"text-muted fw-bold mb-1"},[h("small",null,"PUBLIC KEY")],-1),TN={class:"card rounded-3 shadow"},DN=h("div",{class:"card-header"},"Listen Port",-1),ON={class:"card-body"},IN=["disabled"],RN={class:"invalid-feedback"},LN={key:0},NN={key:1},FN={class:"card rounded-3 shadow"},BN={class:"card-header d-flex align-items-center"},VN={class:"badge rounded-pill text-bg-success ms-auto"},HN={class:"card-body"},jN=["disabled"],WN={class:"invalid-feedback"},zN={key:0},YN={key:1},KN=h("hr",null,null,-1),UN={class:"accordion",id:"newConfigurationOptionalAccordion"},qN={class:"accordion-item"},GN=h("h2",{class:"accordion-header"},[h("button",{class:"accordion-button collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#newConfigurationOptionalAccordionCollapse"}," Optional Settings ")],-1),JN={id:"newConfigurationOptionalAccordionCollapse",class:"accordion-collapse collapse","data-bs-parent":"#newConfigurationOptionalAccordion"},XN={class:"accordion-body d-flex flex-column gap-3"},QN={class:"card rounded-3"},ZN=h("div",{class:"card-header"},"PreUp",-1),e5={class:"card-body"},t5={class:"card rounded-3"},n5=h("div",{class:"card-header"},"PreDown",-1),s5={class:"card-body"},i5={class:"card rounded-3"},o5=h("div",{class:"card-header"},"PostUp",-1),r5={class:"card-body"},a5={class:"card rounded-3"},l5=h("div",{class:"card-header"},"PostDown",-1),c5={class:"card-body"},u5=["disabled"],d5={key:0,class:"d-flex w-100"},h5=h("i",{class:"bi bi-check-circle-fill ms-2"},null,-1),f5={key:1,class:"d-flex w-100"},p5=h("i",{class:"bi bi-save-fill ms-2"},null,-1),g5={key:2,class:"d-flex w-100 align-items-center"},m5=h("span",{class:"ms-2 spinner-border spinner-border-sm",role:"status"},null,-1);function _5(e,t,n,s,i,o){const r=je("RouterLink");return D(),F("div",cN,[h("div",uN,[h("div",dN,[$e(r,{to:"/",class:"text-decoration-none"},{default:Me(()=>[hN]),_:1})]),h("form",{class:"text-body d-flex flex-column gap-3",onSubmit:t[10]||(t[10]=a=>{a.preventDefault(),this.saveNewConfiguration()})},[h("div",fN,[pN,h("div",gN,[Re(h("input",{type:"text",class:"form-control",placeholder:"ex. wg1",id:"ConfigurationName","onUpdate:modelValue":t[0]||(t[0]=a=>this.newConfiguration.ConfigurationName=a),disabled:this.loading,required:""},null,8,mN),[[We,this.newConfiguration.ConfigurationName]]),h("div",_N,[this.error?(D(),F("div",vN,_e(this.errorMessage),1)):(D(),F("div",bN,[ye(" Configuration name is invalid. Possible reasons: "),yN]))])])]),h("div",wN,[xN,h("div",kN,[h("div",SN,[$N,h("div",AN,[Re(h("input",{type:"text",class:"form-control",id:"PrivateKey",required:"",disabled:this.loading,"onUpdate:modelValue":t[1]||(t[1]=a=>this.newConfiguration.PrivateKey=a)},null,8,CN),[[We,this.newConfiguration.PrivateKey]]),h("button",{class:"btn btn-outline-primary",type:"button",title:"Regenerate Private Key",onClick:t[2]||(t[2]=a=>o.wireguardGenerateKeypair())},PN)])]),h("div",null,[MN,Re(h("input",{type:"text",class:"form-control",id:"PublicKey","onUpdate:modelValue":t[3]||(t[3]=a=>this.newConfiguration.PublicKey=a),disabled:""},null,512),[[We,this.newConfiguration.PublicKey]])])])]),h("div",TN,[DN,h("div",ON,[Re(h("input",{type:"number",class:"form-control",placeholder:"0-65353",id:"ListenPort",min:"1",max:"65353","onUpdate:modelValue":t[4]||(t[4]=a=>this.newConfiguration.ListenPort=a),disabled:this.loading,required:""},null,8,IN),[[We,this.newConfiguration.ListenPort]]),h("div",RN,[this.error?(D(),F("div",LN,_e(this.errorMessage),1)):(D(),F("div",NN," Invalid port "))])])]),h("div",FN,[h("div",BN,[ye(" IP Address & Range "),h("span",VN,_e(i.numberOfAvailableIPs)+" Available IPs",1)]),h("div",HN,[Re(h("input",{type:"text",class:"form-control",placeholder:"Ex: 10.0.0.1/24",id:"Address","onUpdate:modelValue":t[5]||(t[5]=a=>this.newConfiguration.Address=a),disabled:this.loading,required:""},null,8,jN),[[We,this.newConfiguration.Address]]),h("div",WN,[this.error?(D(),F("div",zN,_e(this.errorMessage),1)):(D(),F("div",YN," IP address & range is invalid. "))])])]),KN,h("div",UN,[h("div",qN,[GN,h("div",JN,[h("div",XN,[h("div",QN,[ZN,h("div",e5,[Re(h("input",{type:"text",class:"form-control",id:"preUp","onUpdate:modelValue":t[6]||(t[6]=a=>this.newConfiguration.PreUp=a)},null,512),[[We,this.newConfiguration.PreUp]])])]),h("div",t5,[n5,h("div",s5,[Re(h("input",{type:"text",class:"form-control",id:"preDown","onUpdate:modelValue":t[7]||(t[7]=a=>this.newConfiguration.PreDown=a)},null,512),[[We,this.newConfiguration.PreDown]])])]),h("div",i5,[o5,h("div",r5,[Re(h("input",{type:"text",class:"form-control",id:"postUp","onUpdate:modelValue":t[8]||(t[8]=a=>this.newConfiguration.PostUp=a)},null,512),[[We,this.newConfiguration.PostUp]])])]),h("div",a5,[l5,h("div",c5,[Re(h("input",{type:"text",class:"form-control",id:"postDown","onUpdate:modelValue":t[9]||(t[9]=a=>this.newConfiguration.PostDown=a)},null,512),[[We,this.newConfiguration.PostDown]])])])])])])]),h("button",{class:"btn btn-dark btn-brand rounded-3 px-3 py-2 shadow ms-auto",disabled:!this.goodToSubmit},[this.success?(D(),F("span",d5,[ye(" Success! "),h5])):this.loading?(D(),F("span",g5,[ye(" Saving... "),m5])):(D(),F("span",f5,[ye(" Save Configuration "),p5]))],8,u5)],32)])])}const v5=ze(lN,[["render",_5]]),b5={name:"configuration"},y5={class:"mt-md-5 mt-3 text-body"};function w5(e,t,n,s,i,o){const r=je("RouterView");return D(),F("div",y5,[$e(r,null,{default:Me(({Component:a,route:l})=>[$e(Ct,{name:"fade2",mode:"out-in"},{default:Me(()=>[(D(),Ne(uf,null,{default:Me(()=>[(D(),Ne(Io(a),{key:l.path}))]),_:2},1024))]),_:2},1024)]),_:1})])}const x5=ze(b5,[["render",w5]]),k5={name:"peerSearch",setup(){const e=et(),t=Bn();return{store:e,wireguardConfigurationStore:t}},props:{configuration:Object},data(){return{sort:{status:"Status",name:"Name",allowed_ip:"Allowed IP",restricted:"Restricted"},interval:{5e3:"5 Seconds",1e4:"10 Seconds",3e4:"30 Seconds",6e4:"1 Minutes"},searchString:"",searchStringTimeout:void 0,showDisplaySettings:!1,showMoreSettings:!1}},methods:{debounce(){this.searchStringTimeout?(clearTimeout(this.searchStringTimeout),this.searchStringTimeout=setTimeout(()=>{this.wireguardConfigurationStore.searchString=this.searchString},300)):this.searchStringTimeout=setTimeout(()=>{this.wireguardConfigurationStore.searchString=this.searchString},300)},updateSort(e){ft("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_sort",value:e},t=>{t.status&&this.store.getConfiguration()})},updateRefreshInterval(e){ft("/api/updateDashboardConfigurationItem",{section:"Server",key:"dashboard_refresh_interval",value:e},t=>{t.status&&this.store.getConfiguration()})},downloadAllPeer(){xt(`/api/downloadAllPeers/${this.configuration.Name}`,{},e=>{console.log(e),window.wireguard.generateZipFiles(e,this.configuration.Name)})}},mounted(){}},ii=e=>(Ut("data-v-f3ba2ec5"),e=e(),qt(),e),S5={class:"mb-3"},$5={class:"d-flex gap-2 z-3 peerSearchContainer"},A5=ii(()=>h("i",{class:"bi bi-plus-lg me-2"},null,-1)),C5=ii(()=>h("i",{class:"bi bi-download me-2"},null,-1)),E5={class:"flex-grow-1 mt-3 mt-md-0"},P5=ii(()=>h("i",{class:"bi bi-filter-circle me-2"},null,-1)),M5=ii(()=>h("i",{class:"bi bi-three-dots"},null,-1)),T5=[M5],D5={key:0,class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll displayModal"},O5={class:"container-md d-flex h-100 w-100"},I5={class:"m-auto modal-dialog-centered dashboardModal"},R5={class:"card rounded-3 shadow w-100"},L5={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},N5=ii(()=>h("h4",{class:"mb-0 fw-normal"},"Display ",-1)),F5={class:"card-body px-4 pb-4 d-flex gap-3 flex-column"},B5=ii(()=>h("p",{class:"text-muted fw-bold mb-2"},[h("small",null,"Sort by")],-1)),V5={class:"list-group"},H5=["onClick"],j5={class:"me-auto"},W5={key:0,class:"bi bi-check text-primary"},z5=ii(()=>h("p",{class:"text-muted fw-bold mb-2"},[h("small",null,"Refresh interval")],-1)),Y5={class:"list-group"},K5=["onClick"],U5={class:"me-auto"},q5={key:0,class:"bi bi-check text-primary"},G5={key:0,class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll displayModal"},J5={class:"container-md d-flex h-100 w-100"},X5={class:"m-auto modal-dialog-centered dashboardModal"},Q5={class:"card rounded-3 shadow w-100"},Z5={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},eF=ii(()=>h("h4",{class:"mb-0 fw-normal"},"Configuration Settings ",-1)),tF={class:"card-body px-4 pb-4 d-flex gap-3 flex-column"},nF=ii(()=>h("p",{class:"text-muted fw-bold mb-2"},[h("small",null,"Peer Jobs")],-1)),sF={class:"list-group"};function iF(e,t,n,s,i,o){const r=je("RouterLink");return D(),F("div",S5,[h("div",$5,[$e(r,{to:"create",class:"text-decoration-none btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle shadow-sm"},{default:Me(()=>[A5,ye("Peer ")]),_:1}),h("button",{class:"btn text-primary-emphasis bg-primary-subtle rounded-3 border-1 border-primary-subtle shadow-sm",onClick:t[0]||(t[0]=a=>this.downloadAllPeer())},[C5,ye(" Download All ")]),h("div",E5,[Re(h("input",{class:"form-control rounded-3 bg-secondary-subtle border-1 border-secondary-subtle shadow-sm w-100",placeholder:"Search...",id:"searchPeers",onKeyup:t[1]||(t[1]=a=>this.debounce()),"onUpdate:modelValue":t[2]||(t[2]=a=>this.searchString=a)},null,544),[[We,this.searchString]])]),h("button",{onClick:t[3]||(t[3]=a=>this.showDisplaySettings=!0),class:"btn text-secondary-emphasis bg-secondary-subtle rounded-3 border-1 border-secondary-subtle shadow-sm",type:"button","aria-expanded":"false"},[P5,ye(" Display ")]),h("button",{class:"btn text-secondary-emphasis bg-secondary-subtle rounded-3 border-1 border-secondary-subtle shadow-sm",onClick:t[4]||(t[4]=a=>this.showMoreSettings=!0),type:"button","aria-expanded":"false"},T5),$e(Ct,{name:"zoom"},{default:Me(()=>[this.showDisplaySettings?(D(),F("div",D5,[h("div",O5,[h("div",I5,[h("div",R5,[h("div",L5,[N5,h("button",{type:"button",class:"btn-close ms-auto",onClick:t[5]||(t[5]=a=>this.showDisplaySettings=!1)})]),h("div",F5,[h("div",null,[B5,h("div",V5,[(D(!0),F(Te,null,Ue(this.sort,(a,l)=>(D(),F("a",{class:"list-group-item list-group-item-action d-flex",role:"button",onClick:c=>this.updateSort(l)},[h("span",j5,_e(a),1),s.store.Configuration.Server.dashboard_sort===l?(D(),F("i",W5)):re("",!0)],8,H5))),256))])]),h("div",null,[z5,h("div",Y5,[(D(!0),F(Te,null,Ue(this.interval,(a,l)=>(D(),F("a",{class:"list-group-item list-group-item-action d-flex",role:"button",onClick:c=>this.updateRefreshInterval(l)},[h("span",U5,_e(a),1),s.store.Configuration.Server.dashboard_refresh_interval===l?(D(),F("i",q5)):re("",!0)],8,K5))),256))])])])])])])])):re("",!0)]),_:1}),$e(Ct,{name:"zoom"},{default:Me(()=>[this.showMoreSettings?(D(),F("div",G5,[h("div",J5,[h("div",X5,[h("div",Q5,[h("div",Z5,[eF,h("button",{type:"button",class:"btn-close ms-auto",onClick:t[6]||(t[6]=a=>this.showMoreSettings=!1)})]),h("div",tF,[h("div",null,[nF,h("div",sF,[h("a",{class:"list-group-item list-group-item-action d-flex",role:"button",onClick:t[7]||(t[7]=a=>this.$emit("jobsAll"))}," Active Jobs "),h("a",{class:"list-group-item list-group-item-action d-flex",role:"button",onClick:t[8]||(t[8]=a=>this.$emit("jobLogs"))}," Logs ")])])])])])])])):re("",!0)]),_:1})])])}const oF=ze(k5,[["render",iF],["__scopeId","data-v-f3ba2ec5"]]);function rF(e){return Qc()?(Jh(e),!0):!1}function y0(e){return typeof e=="function"?e():q(e)}const w0=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const aF=Object.prototype.toString,lF=e=>aF.call(e)==="[object Object]",fc=()=>{},cF=uF();function uF(){var e,t;return w0&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function aa(e){var t;const n=y0(e);return(t=n==null?void 0:n.$el)!=null?t:n}const x0=w0?window:void 0;function gd(...e){let t,n,s,i;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,s,i]=e,t=x0):[t,n,s,i]=e,!t)return fc;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const o=[],r=()=>{o.forEach(u=>u()),o.length=0},a=(u,d,f,p)=>(u.addEventListener(d,f,p),()=>u.removeEventListener(d,f,p)),l=Vt(()=>[aa(t),y0(i)],([u,d])=>{if(r(),!u)return;const f=lF(d)?{...d}:d;o.push(...n.flatMap(p=>s.map(m=>a(u,p,m,f))))},{immediate:!0,flush:"post"}),c=()=>{l(),r()};return rF(c),c}let Hm=!1;function dF(e,t,n={}){const{window:s=x0,ignore:i=[],capture:o=!0,detectIframe:r=!1}=n;if(!s)return fc;cF&&!Hm&&(Hm=!0,Array.from(s.document.body.children).forEach(f=>f.addEventListener("click",fc)),s.document.documentElement.addEventListener("click",fc));let a=!0;const l=f=>i.some(p=>{if(typeof p=="string")return Array.from(s.document.querySelectorAll(p)).some(m=>m===f.target||f.composedPath().includes(m));{const m=aa(p);return m&&(f.target===m||f.composedPath().includes(m))}}),u=[gd(s,"click",f=>{const p=aa(e);if(!(!p||p===f.target||f.composedPath().includes(p))){if(f.detail===0&&(a=!l(f)),!a){a=!0;return}t(f)}},{passive:!0,capture:o}),gd(s,"pointerdown",f=>{const p=aa(e);a=!l(f)&&!!(p&&!f.composedPath().includes(p))},{passive:!0}),r&&gd(s,"blur",f=>{setTimeout(()=>{var p;const m=aa(e);((p=s.document.activeElement)==null?void 0:p.tagName)==="IFRAME"&&!(m!=null&&m.contains(s.document.activeElement))&&t(f)},0)})].filter(Boolean);return()=>u.forEach(f=>f())}const hF={name:"peerSettingsDropdown",setup(){return{dashboardStore:et()}},props:{Peer:Object},data(){return{deleteBtnDisabled:!1,restrictBtnDisabled:!1,allowAccessBtnDisabled:!1}},methods:{downloadPeer(){xt("/api/downloadPeer/"+this.$route.params.id,{id:this.Peer.id},e=>{if(e.status){const t=new Blob([e.data.file],{type:"text/plain"}),n=URL.createObjectURL(t),s=`${e.data.fileName}.conf`,i=document.createElement("a");i.href=n,i.download=s,i.click(),this.dashboardStore.newMessage("WGDashboard","Peer download started","success")}else this.dashboardStore.newMessage("Server",e.message,"danger")})},downloadQRCode(){xt("/api/downloadPeer/"+this.$route.params.id,{id:this.Peer.id},e=>{e.status?this.$emit("qrcode",e.data.file):this.dashboardStore.newMessage("Server",e.message,"danger")})},deletePeer(){this.deleteBtnDisabled=!0,ft(`/api/deletePeers/${this.$route.params.id}`,{peers:[this.Peer.id]},e=>{this.dashboardStore.newMessage("Server",e.message,e.status?"success":"danger"),this.$emit("refresh"),this.deleteBtnDisabled=!1})},restrictPeer(){this.restrictBtnDisabled=!0,ft(`/api/restrictPeers/${this.$route.params.id}`,{peers:[this.Peer.id]},e=>{this.dashboardStore.newMessage("Server",e.message,e.status?"success":"danger"),this.$emit("refresh"),this.restrictBtnDisabled=!1})},allowAccessPeer(){this.allowAccessBtnDisabled=!0,ft(`/api/allowAccessPeers/${this.$route.params.id}`,{peers:[this.Peer.id]},e=>{this.dashboardStore.newMessage("Server",e.message,e.status?"success":"danger"),this.$emit("refresh"),this.allowAccessBtnDisabled=!1})}}},ps=e=>(Ut("data-v-772e5b77"),e=e(),qt(),e),fF={class:"dropdown-menu mt-2 shadow-lg d-block rounded-3",style:{"max-width":"200px"}},pF={key:0},gF=ps(()=>h("small",{class:"w-100 dropdown-item text-muted",style:{"white-space":"break-spaces","font-size":"0.7rem"}},[ye("Download & QR Code is not available due to no "),h("code",null,"private key"),ye(" set for this peer ")],-1)),mF=[gF],_F={key:1,class:"d-flex",style:{"padding-left":"var(--bs-dropdown-item-padding-x)","padding-right":"var(--bs-dropdown-item-padding-x)"}},vF=ps(()=>h("i",{class:"me-auto bi bi-download"},null,-1)),bF=[vF],yF=ps(()=>h("i",{class:"me-auto bi bi-qr-code"},null,-1)),wF=[yF],xF=ps(()=>h("i",{class:"me-auto bi bi-share"},null,-1)),kF=[xF],SF=ps(()=>h("li",null,[h("hr",{class:"dropdown-divider"})],-1)),$F=ps(()=>h("i",{class:"me-auto bi bi-pen"},null,-1)),AF=ps(()=>h("i",{class:"me-auto bi bi-app-indicator"},null,-1)),CF=ps(()=>h("li",null,[h("hr",{class:"dropdown-divider"})],-1)),EF=ps(()=>h("i",{class:"me-auto bi bi-lock"},null,-1)),PF=ps(()=>h("i",{class:"me-auto bi bi-trash"},null,-1)),MF={key:1},TF=ps(()=>h("i",{class:"me-auto bi bi-unlock"},null,-1));function DF(e,t,n,s,i,o){return D(),F("ul",fF,[this.Peer.restricted?(D(),F("li",MF,[h("a",{class:Ee(["dropdown-item d-flex text-warning",{disabled:this.restrictBtnDisabled}]),onClick:t[7]||(t[7]=r=>this.allowAccessPeer()),role:"button"},[TF,ye(" "+_e(this.allowAccessBtnDisabled?"Allowing...":"Allow Access"),1)],2)])):(D(),F(Te,{key:0},[this.Peer.private_key?(D(),F("li",_F,[h("a",{class:"dropdown-item text-center px-0 rounded-3",role:"button",onClick:t[0]||(t[0]=r=>this.downloadPeer())},bF),h("a",{class:"dropdown-item text-center px-0 rounded-3",role:"button",onClick:t[1]||(t[1]=r=>this.downloadQRCode())},wF),h("a",{class:"dropdown-item text-center px-0 rounded-3",role:"button",onClick:t[2]||(t[2]=r=>this.$emit("share"))},kF)])):(D(),F("li",pF,mF)),SF,h("li",null,[h("a",{class:"dropdown-item d-flex",role:"button",onClick:t[3]||(t[3]=r=>this.$emit("setting"))},[$F,ye(" Edit ")])]),h("li",null,[h("a",{class:"dropdown-item d-flex",role:"button",onClick:t[4]||(t[4]=r=>this.$emit("jobs"))},[AF,ye(" Schedule Jobs ")])]),CF,h("li",null,[h("a",{class:Ee(["dropdown-item d-flex text-warning",{disabled:this.restrictBtnDisabled}]),onClick:t[5]||(t[5]=r=>this.restrictPeer()),role:"button"},[EF,ye(" "+_e(this.restrictBtnDisabled?"Restricting...":"Restrict Access"),1)],2)]),h("li",null,[h("a",{class:Ee(["dropdown-item d-flex fw-bold text-danger",{disabled:this.deleteBtnDisabled}]),onClick:t[6]||(t[6]=r=>this.deletePeer()),role:"button"},[PF,ye(" "+_e(this.deleteBtnDisabled?"Deleting...":"Delete"),1)],2)])],64))])}const OF=ze(hF,[["render",DF],["__scopeId","data-v-772e5b77"]]),IF={name:"peer",components:{PeerSettingsDropdown:OF},props:{Peer:Object},data(){return{}},setup(){const e=be(null),t=be(!1);return dF(e,n=>{t.value=!1}),{target:e,subMenuOpened:t}},computed:{getLatestHandshake(){return this.Peer.latest_handshake.includes(",")?this.Peer.latest_handshake.split(",")[0]:this.Peer.latest_handshake}}},No=e=>(Ut("data-v-f311ec95"),e=e(),qt(),e),RF={key:0,class:"card-header bg-transparent d-flex align-items-center gap-2 border-0"},LF={style:{"font-size":"0.8rem"},class:"ms-auto d-flex gap-2"},NF={class:"text-primary"},FF=No(()=>h("i",{class:"bi bi-arrow-down"},null,-1)),BF={class:"text-success"},VF=No(()=>h("i",{class:"bi bi-arrow-up"},null,-1)),HF={key:0,class:"text-secondary"},jF=No(()=>h("i",{class:"bi bi-arrows-angle-contract"},null,-1)),WF={key:1,class:"border-0 card-header bg-transparent text-warning fw-bold",style:{"font-size":"0.8rem"}},zF=No(()=>h("i",{class:"bi-lock-fill me-2"},null,-1)),YF={class:"card-body pt-1",style:{"font-size":"0.9rem"}},KF={class:"mb-2"},UF=No(()=>h("small",{class:"text-muted"},"Public Key",-1)),qF={class:"mb-0"},GF={class:"d-flex align-items-end"},JF=No(()=>h("small",{class:"text-muted"},"Allowed IP",-1)),XF={class:"mb-0"},QF=No(()=>h("h5",{class:"mb-0"},[h("i",{class:"bi bi-three-dots"})],-1)),ZF=[QF];function eB(e,t,n,s,i,o){const r=je("PeerSettingsDropdown");return D(),F("div",{class:Ee(["card shadow-sm rounded-3 peerCard bg-transparent",{"border-warning":n.Peer.restricted}])},[h("div",null,[n.Peer.restricted?(D(),F("div",WF,[zF,ye(" Access Restricted ")])):(D(),F("div",RF,[h("div",{class:Ee(["dot ms-0",{active:n.Peer.status==="running"}])},null,2),h("div",LF,[h("span",NF,[FF,h("strong",null,_e((n.Peer.cumu_receive+n.Peer.total_receive).toFixed(4)),1),ye(" GB ")]),h("span",BF,[VF,h("strong",null,_e((n.Peer.cumu_sent+n.Peer.total_sent).toFixed(4)),1),ye(" GB ")]),n.Peer.latest_handshake!=="No Handshake"?(D(),F("span",HF,[jF,ye(" "+_e(o.getLatestHandshake)+" ago ",1)])):re("",!0)])]))]),h("div",YF,[h("h6",null,_e(n.Peer.name?n.Peer.name:"Untitled Peer"),1),h("div",KF,[UF,h("p",qF,[h("samp",null,_e(n.Peer.id),1)])]),h("div",GF,[h("div",null,[JF,h("p",XF,[h("samp",null,_e(n.Peer.allowed_ip),1)])]),h("div",{class:Ee(["ms-auto px-2 rounded-3 subMenuBtn",{active:this.subMenuOpened}])},[h("a",{role:"button",class:"text-body",onClick:t[0]||(t[0]=a=>this.subMenuOpened=!0)},ZF),$e(Ct,{name:"slide-fade"},{default:Me(()=>[this.subMenuOpened?(D(),Ne(r,{key:0,onQrcode:t[1]||(t[1]=a=>this.$emit("qrcode",a)),onSetting:t[2]||(t[2]=a=>this.$emit("setting")),onJobs:t[3]||(t[3]=a=>this.$emit("jobs")),onRefresh:t[4]||(t[4]=a=>this.$emit("refresh")),onShare:t[5]||(t[5]=a=>this.$emit("share")),Peer:n.Peer,ref:"target"},null,8,["Peer"])):re("",!0)]),_:1})],2)])])],2)}const tB=ze(IF,[["render",eB],["__scopeId","data-v-f311ec95"]]);/*! * @kurkle/color v0.3.2 * https://github.com/kurkle/color#readme * (c) 2023 Jukka Kurkela * Released under the MIT License - */function ul(e){return e+.5|0}const Si=(e,t,n)=>Math.max(Math.min(e,n),t);function la(e){return Si(ul(e*2.55),0,255)}function Oi(e){return Si(ul(e*255),0,255)}function Ys(e){return Si(ul(e/2.55)/100,0,1)}function jg(e){return Si(ul(e*100),0,100)}const Un={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},lh=[..."0123456789ABCDEF"],nB=e=>lh[e&15],sB=e=>lh[(e&240)>>4]+lh[e&15],Hl=e=>(e&240)>>4===(e&15),iB=e=>Hl(e.r)&&Hl(e.g)&&Hl(e.b)&&Hl(e.a);function oB(e){var t=e.length,n;return e[0]==="#"&&(t===4||t===5?n={r:255&Un[e[1]]*17,g:255&Un[e[2]]*17,b:255&Un[e[3]]*17,a:t===5?Un[e[4]]*17:255}:(t===7||t===9)&&(n={r:Un[e[1]]<<4|Un[e[2]],g:Un[e[3]]<<4|Un[e[4]],b:Un[e[5]]<<4|Un[e[6]],a:t===9?Un[e[7]]<<4|Un[e[8]]:255})),n}const rB=(e,t)=>e<255?t(e):"";function aB(e){var t=iB(e)?nB:sB;return e?"#"+t(e.r)+t(e.g)+t(e.b)+rB(e.a,t):void 0}const lB=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function k0(e,t,n){const s=t*Math.min(n,1-n),i=(o,r=(o+e/30)%12)=>n-s*Math.max(Math.min(r-3,9-r,1),-1);return[i(0),i(8),i(4)]}function cB(e,t,n){const s=(i,o=(i+e/60)%6)=>n-n*t*Math.max(Math.min(o,4-o,1),0);return[s(5),s(3),s(1)]}function uB(e,t,n){const s=k0(e,1,.5);let i;for(t+n>1&&(i=1/(t+n),t*=i,n*=i),i=0;i<3;i++)s[i]*=1-t-n,s[i]+=t;return s}function dB(e,t,n,s,i){return e===i?(t-n)/s+(t.5?u/(2-o-r):u/(o+r),l=dB(n,s,i,u,o),l=l*60+.5),[l|0,c||0,a]}function zf(e,t,n,s){return(Array.isArray(t)?e(t[0],t[1],t[2]):e(t,n,s)).map(Oi)}function Yf(e,t,n){return zf(k0,e,t,n)}function hB(e,t,n){return zf(uB,e,t,n)}function fB(e,t,n){return zf(cB,e,t,n)}function S0(e){return(e%360+360)%360}function pB(e){const t=lB.exec(e);let n=255,s;if(!t)return;t[5]!==s&&(n=t[6]?la(+t[5]):Oi(+t[5]));const i=S0(+t[2]),o=+t[3]/100,r=+t[4]/100;return t[1]==="hwb"?s=hB(i,o,r):t[1]==="hsv"?s=fB(i,o,r):s=Yf(i,o,r),{r:s[0],g:s[1],b:s[2],a:n}}function mB(e,t){var n=Wf(e);n[0]=S0(n[0]+t),n=Yf(n),e.r=n[0],e.g=n[1],e.b=n[2]}function gB(e){if(!e)return;const t=Wf(e),n=t[0],s=jg(t[1]),i=jg(t[2]);return e.a<255?`hsla(${n}, ${s}%, ${i}%, ${Ys(e.a)})`:`hsl(${n}, ${s}%, ${i}%)`}const Wg={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},zg={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function _B(){const e={},t=Object.keys(zg),n=Object.keys(Wg);let s,i,o,r,a;for(s=0;s>16&255,o>>8&255,o&255]}return e}let jl;function vB(e){jl||(jl=_B(),jl.transparent=[0,0,0,0]);const t=jl[e.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const bB=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function yB(e){const t=bB.exec(e);let n=255,s,i,o;if(t){if(t[7]!==s){const r=+t[7];n=t[8]?la(r):Si(r*255,0,255)}return s=+t[1],i=+t[3],o=+t[5],s=255&(t[2]?la(s):Si(s,0,255)),i=255&(t[4]?la(i):Si(i,0,255)),o=255&(t[6]?la(o):Si(o,0,255)),{r:s,g:i,b:o,a:n}}}function wB(e){return e&&(e.a<255?`rgba(${e.r}, ${e.g}, ${e.b}, ${Ys(e.a)})`:`rgb(${e.r}, ${e.g}, ${e.b})`)}const gd=e=>e<=.0031308?e*12.92:Math.pow(e,1/2.4)*1.055-.055,Qo=e=>e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4);function xB(e,t,n){const s=Qo(Ys(e.r)),i=Qo(Ys(e.g)),o=Qo(Ys(e.b));return{r:Oi(gd(s+n*(Qo(Ys(t.r))-s))),g:Oi(gd(i+n*(Qo(Ys(t.g))-i))),b:Oi(gd(o+n*(Qo(Ys(t.b))-o))),a:e.a+n*(t.a-e.a)}}function Wl(e,t,n){if(e){let s=Wf(e);s[t]=Math.max(0,Math.min(s[t]+s[t]*n,t===0?360:1)),s=Yf(s),e.r=s[0],e.g=s[1],e.b=s[2]}}function $0(e,t){return e&&Object.assign(t||{},e)}function Yg(e){var t={r:0,g:0,b:0,a:255};return Array.isArray(e)?e.length>=3&&(t={r:e[0],g:e[1],b:e[2],a:255},e.length>3&&(t.a=Oi(e[3]))):(t=$0(e,{r:0,g:0,b:0,a:1}),t.a=Oi(t.a)),t}function kB(e){return e.charAt(0)==="r"?yB(e):pB(e)}class Ua{constructor(t){if(t instanceof Ua)return t;const n=typeof t;let s;n==="object"?s=Yg(t):n==="string"&&(s=oB(t)||vB(t)||kB(t)),this._rgb=s,this._valid=!!s}get valid(){return this._valid}get rgb(){var t=$0(this._rgb);return t&&(t.a=Ys(t.a)),t}set rgb(t){this._rgb=Yg(t)}rgbString(){return this._valid?wB(this._rgb):void 0}hexString(){return this._valid?aB(this._rgb):void 0}hslString(){return this._valid?gB(this._rgb):void 0}mix(t,n){if(t){const s=this.rgb,i=t.rgb;let o;const r=n===o?.5:n,a=2*r-1,l=s.a-i.a,c=((a*l===-1?a:(a+l)/(1+a*l))+1)/2;o=1-c,s.r=255&c*s.r+o*i.r+.5,s.g=255&c*s.g+o*i.g+.5,s.b=255&c*s.b+o*i.b+.5,s.a=r*s.a+(1-r)*i.a,this.rgb=s}return this}interpolate(t,n){return t&&(this._rgb=xB(this._rgb,t._rgb,n)),this}clone(){return new Ua(this.rgb)}alpha(t){return this._rgb.a=Oi(t),this}clearer(t){const n=this._rgb;return n.a*=1-t,this}greyscale(){const t=this._rgb,n=ul(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=n,this}opaquer(t){const n=this._rgb;return n.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Wl(this._rgb,2,t),this}darken(t){return Wl(this._rgb,2,-t),this}saturate(t){return Wl(this._rgb,1,t),this}desaturate(t){return Wl(this._rgb,1,-t),this}rotate(t){return mB(this._rgb,t),this}}/*! + */function ul(e){return e+.5|0}const Si=(e,t,n)=>Math.max(Math.min(e,n),t);function la(e){return Si(ul(e*2.55),0,255)}function Oi(e){return Si(ul(e*255),0,255)}function Ys(e){return Si(ul(e/2.55)/100,0,1)}function jm(e){return Si(ul(e*100),0,100)}const Kn={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},lh=[..."0123456789ABCDEF"],nB=e=>lh[e&15],sB=e=>lh[(e&240)>>4]+lh[e&15],Hl=e=>(e&240)>>4===(e&15),iB=e=>Hl(e.r)&&Hl(e.g)&&Hl(e.b)&&Hl(e.a);function oB(e){var t=e.length,n;return e[0]==="#"&&(t===4||t===5?n={r:255&Kn[e[1]]*17,g:255&Kn[e[2]]*17,b:255&Kn[e[3]]*17,a:t===5?Kn[e[4]]*17:255}:(t===7||t===9)&&(n={r:Kn[e[1]]<<4|Kn[e[2]],g:Kn[e[3]]<<4|Kn[e[4]],b:Kn[e[5]]<<4|Kn[e[6]],a:t===9?Kn[e[7]]<<4|Kn[e[8]]:255})),n}const rB=(e,t)=>e<255?t(e):"";function aB(e){var t=iB(e)?nB:sB;return e?"#"+t(e.r)+t(e.g)+t(e.b)+rB(e.a,t):void 0}const lB=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function k0(e,t,n){const s=t*Math.min(n,1-n),i=(o,r=(o+e/30)%12)=>n-s*Math.max(Math.min(r-3,9-r,1),-1);return[i(0),i(8),i(4)]}function cB(e,t,n){const s=(i,o=(i+e/60)%6)=>n-n*t*Math.max(Math.min(o,4-o,1),0);return[s(5),s(3),s(1)]}function uB(e,t,n){const s=k0(e,1,.5);let i;for(t+n>1&&(i=1/(t+n),t*=i,n*=i),i=0;i<3;i++)s[i]*=1-t-n,s[i]+=t;return s}function dB(e,t,n,s,i){return e===i?(t-n)/s+(t.5?u/(2-o-r):u/(o+r),l=dB(n,s,i,u,o),l=l*60+.5),[l|0,c||0,a]}function zf(e,t,n,s){return(Array.isArray(t)?e(t[0],t[1],t[2]):e(t,n,s)).map(Oi)}function Yf(e,t,n){return zf(k0,e,t,n)}function hB(e,t,n){return zf(uB,e,t,n)}function fB(e,t,n){return zf(cB,e,t,n)}function S0(e){return(e%360+360)%360}function pB(e){const t=lB.exec(e);let n=255,s;if(!t)return;t[5]!==s&&(n=t[6]?la(+t[5]):Oi(+t[5]));const i=S0(+t[2]),o=+t[3]/100,r=+t[4]/100;return t[1]==="hwb"?s=hB(i,o,r):t[1]==="hsv"?s=fB(i,o,r):s=Yf(i,o,r),{r:s[0],g:s[1],b:s[2],a:n}}function gB(e,t){var n=Wf(e);n[0]=S0(n[0]+t),n=Yf(n),e.r=n[0],e.g=n[1],e.b=n[2]}function mB(e){if(!e)return;const t=Wf(e),n=t[0],s=jm(t[1]),i=jm(t[2]);return e.a<255?`hsla(${n}, ${s}%, ${i}%, ${Ys(e.a)})`:`hsl(${n}, ${s}%, ${i}%)`}const Wm={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},zm={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function _B(){const e={},t=Object.keys(zm),n=Object.keys(Wm);let s,i,o,r,a;for(s=0;s>16&255,o>>8&255,o&255]}return e}let jl;function vB(e){jl||(jl=_B(),jl.transparent=[0,0,0,0]);const t=jl[e.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const bB=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function yB(e){const t=bB.exec(e);let n=255,s,i,o;if(t){if(t[7]!==s){const r=+t[7];n=t[8]?la(r):Si(r*255,0,255)}return s=+t[1],i=+t[3],o=+t[5],s=255&(t[2]?la(s):Si(s,0,255)),i=255&(t[4]?la(i):Si(i,0,255)),o=255&(t[6]?la(o):Si(o,0,255)),{r:s,g:i,b:o,a:n}}}function wB(e){return e&&(e.a<255?`rgba(${e.r}, ${e.g}, ${e.b}, ${Ys(e.a)})`:`rgb(${e.r}, ${e.g}, ${e.b})`)}const md=e=>e<=.0031308?e*12.92:Math.pow(e,1/2.4)*1.055-.055,Qo=e=>e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4);function xB(e,t,n){const s=Qo(Ys(e.r)),i=Qo(Ys(e.g)),o=Qo(Ys(e.b));return{r:Oi(md(s+n*(Qo(Ys(t.r))-s))),g:Oi(md(i+n*(Qo(Ys(t.g))-i))),b:Oi(md(o+n*(Qo(Ys(t.b))-o))),a:e.a+n*(t.a-e.a)}}function Wl(e,t,n){if(e){let s=Wf(e);s[t]=Math.max(0,Math.min(s[t]+s[t]*n,t===0?360:1)),s=Yf(s),e.r=s[0],e.g=s[1],e.b=s[2]}}function $0(e,t){return e&&Object.assign(t||{},e)}function Ym(e){var t={r:0,g:0,b:0,a:255};return Array.isArray(e)?e.length>=3&&(t={r:e[0],g:e[1],b:e[2],a:255},e.length>3&&(t.a=Oi(e[3]))):(t=$0(e,{r:0,g:0,b:0,a:1}),t.a=Oi(t.a)),t}function kB(e){return e.charAt(0)==="r"?yB(e):pB(e)}class Ka{constructor(t){if(t instanceof Ka)return t;const n=typeof t;let s;n==="object"?s=Ym(t):n==="string"&&(s=oB(t)||vB(t)||kB(t)),this._rgb=s,this._valid=!!s}get valid(){return this._valid}get rgb(){var t=$0(this._rgb);return t&&(t.a=Ys(t.a)),t}set rgb(t){this._rgb=Ym(t)}rgbString(){return this._valid?wB(this._rgb):void 0}hexString(){return this._valid?aB(this._rgb):void 0}hslString(){return this._valid?mB(this._rgb):void 0}mix(t,n){if(t){const s=this.rgb,i=t.rgb;let o;const r=n===o?.5:n,a=2*r-1,l=s.a-i.a,c=((a*l===-1?a:(a+l)/(1+a*l))+1)/2;o=1-c,s.r=255&c*s.r+o*i.r+.5,s.g=255&c*s.g+o*i.g+.5,s.b=255&c*s.b+o*i.b+.5,s.a=r*s.a+(1-r)*i.a,this.rgb=s}return this}interpolate(t,n){return t&&(this._rgb=xB(this._rgb,t._rgb,n)),this}clone(){return new Ka(this.rgb)}alpha(t){return this._rgb.a=Oi(t),this}clearer(t){const n=this._rgb;return n.a*=1-t,this}greyscale(){const t=this._rgb,n=ul(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=n,this}opaquer(t){const n=this._rgb;return n.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Wl(this._rgb,2,t),this}darken(t){return Wl(this._rgb,2,-t),this}saturate(t){return Wl(this._rgb,1,t),this}desaturate(t){return Wl(this._rgb,1,-t),this}rotate(t){return gB(this._rgb,t),this}}/*! * Chart.js v4.4.1 * https://www.chartjs.org * (c) 2023 Chart.js Contributors * Released under the MIT License - */function Bs(){}const SB=(()=>{let e=0;return()=>e++})();function ot(e){return e===null||typeof e>"u"}function bt(e){if(Array.isArray&&Array.isArray(e))return!0;const t=Object.prototype.toString.call(e);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function st(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function Et(e){return(typeof e=="number"||e instanceof Number)&&isFinite(+e)}function Mn(e,t){return Et(e)?e:t}function Ge(e,t){return typeof e>"u"?t:e}const $B=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100:+e/t,A0=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100*t:+e;function pt(e,t,n){if(e&&typeof e.call=="function")return e.apply(n,t)}function ut(e,t,n,s){let i,o,r;if(bt(e))if(o=e.length,s)for(i=o-1;i>=0;i--)t.call(n,e[i],i);else for(i=0;ie,x:e=>e.x,y:e=>e.y};function EB(e){const t=e.split("."),n=[];let s="";for(const i of t)s+=i,s.endsWith("\\")?s=s.slice(0,-1)+".":(n.push(s),s="");return n}function PB(e){const t=EB(e);return n=>{for(const s of t){if(s==="")break;n=n&&n[s]}return n}}function Fi(e,t){return(Ug[t]||(Ug[t]=PB(t)))(e)}function Uf(e){return e.charAt(0).toUpperCase()+e.slice(1)}const qa=e=>typeof e<"u",Bi=e=>typeof e=="function",Kg=(e,t)=>{if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0};function MB(e){return e.type==="mouseup"||e.type==="click"||e.type==="contextmenu"}const wt=Math.PI,yt=2*wt,TB=yt+wt,Nc=Number.POSITIVE_INFINITY,DB=wt/180,Lt=wt/2,ao=wt/4,qg=wt*2/3,$i=Math.log10,Es=Math.sign;function Ca(e,t,n){return Math.abs(e-t)i-o).pop(),t}function Pr(e){return!isNaN(parseFloat(e))&&isFinite(e)}function IB(e,t){const n=Math.round(e);return n-t<=e&&n+t>=e}function E0(e,t,n){let s,i,o;for(s=0,i=e.length;sl&&c=Math.min(t,n)-s&&e<=Math.max(t,n)+s}function qf(e,t,n){n=n||(r=>e[r]1;)o=i+s>>1,n(o)?i=o:s=o;return{lo:i,hi:s}}const Gs=(e,t,n,s)=>qf(e,n,s?i=>{const o=e[i][t];return oe[i][t]qf(e,n,s=>e[s][t]>=n);function FB(e,t,n){let s=0,i=e.length;for(;ss&&e[i-1]>n;)i--;return s>0||i{const s="_onData"+Uf(n),i=e[n];Object.defineProperty(e,n,{configurable:!0,enumerable:!1,value(...o){const r=i.apply(this,o);return e._chartjs.listeners.forEach(a=>{typeof a[s]=="function"&&a[s](...o)}),r}})})}function Xg(e,t){const n=e._chartjs;if(!n)return;const s=n.listeners,i=s.indexOf(t);i!==-1&&s.splice(i,1),!(s.length>0)&&(M0.forEach(o=>{delete e[o]}),delete e._chartjs)}function T0(e){const t=new Set(e);return t.size===e.length?e:Array.from(t)}const D0=function(){return typeof window>"u"?function(e){return e()}:window.requestAnimationFrame}();function O0(e,t){let n=[],s=!1;return function(...i){n=i,s||(s=!0,D0.call(window,()=>{s=!1,e.apply(t,n)}))}}function VB(e,t){let n;return function(...s){return t?(clearTimeout(n),n=setTimeout(e,t,s)):e.apply(this,s),t}}const Gf=e=>e==="start"?"left":e==="end"?"right":"center",ln=(e,t,n)=>e==="start"?t:e==="end"?n:(t+n)/2,HB=(e,t,n,s)=>e===(s?"left":"right")?n:e==="center"?(t+n)/2:t;function I0(e,t,n){const s=t.length;let i=0,o=s;if(e._sorted){const{iScale:r,_parsed:a}=e,l=r.axis,{min:c,max:u,minDefined:d,maxDefined:f}=r.getUserBounds();d&&(i=en(Math.min(Gs(a,l,c).lo,n?s:Gs(t,l,r.getPixelForValue(c)).lo),0,s-1)),f?o=en(Math.max(Gs(a,r.axis,u,!0).hi+1,n?0:Gs(t,l,r.getPixelForValue(u),!0).hi+1),i,s)-i:o=s-i}return{start:i,count:o}}function R0(e){const{xScale:t,yScale:n,_scaleRanges:s}=e,i={xmin:t.min,xmax:t.max,ymin:n.min,ymax:n.max};if(!s)return e._scaleRanges=i,!0;const o=s.xmin!==t.min||s.xmax!==t.max||s.ymin!==n.min||s.ymax!==n.max;return Object.assign(s,i),o}const zl=e=>e===0||e===1,Qg=(e,t,n)=>-(Math.pow(2,10*(e-=1))*Math.sin((e-t)*yt/n)),Zg=(e,t,n)=>Math.pow(2,-10*e)*Math.sin((e-t)*yt/n)+1,Ea={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>(e-=1)*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-((e-=1)*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>(e-=1)*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>-Math.cos(e*Lt)+1,easeOutSine:e=>Math.sin(e*Lt),easeInOutSine:e=>-.5*(Math.cos(wt*e)-1),easeInExpo:e=>e===0?0:Math.pow(2,10*(e-1)),easeOutExpo:e=>e===1?1:-Math.pow(2,-10*e)+1,easeInOutExpo:e=>zl(e)?e:e<.5?.5*Math.pow(2,10*(e*2-1)):.5*(-Math.pow(2,-10*(e*2-1))+2),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1-(e-=1)*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>zl(e)?e:Qg(e,.075,.3),easeOutElastic:e=>zl(e)?e:Zg(e,.075,.3),easeInOutElastic(e){return zl(e)?e:e<.5?.5*Qg(e*2,.1125,.45):.5+.5*Zg(e*2-1,.1125,.45)},easeInBack(e){return e*e*((1.70158+1)*e-1.70158)},easeOutBack(e){return(e-=1)*e*((1.70158+1)*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-Ea.easeOutBounce(1-e),easeOutBounce(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:e=>e<.5?Ea.easeInBounce(e*2)*.5:Ea.easeOutBounce(e*2-1)*.5+.5};function Jf(e){if(e&&typeof e=="object"){const t=e.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function e_(e){return Jf(e)?e:new Ua(e)}function _d(e){return Jf(e)?e:new Ua(e).saturate(.5).darken(.1).hexString()}const jB=["x","y","borderWidth","radius","tension"],WB=["color","borderColor","backgroundColor"];function zB(e){e.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),e.set("animations",{colors:{type:"color",properties:WB},numbers:{type:"number",properties:jB}}),e.describe("animations",{_fallback:"animation"}),e.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function YB(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const t_=new Map;function UB(e,t){t=t||{};const n=e+JSON.stringify(t);let s=t_.get(n);return s||(s=new Intl.NumberFormat(e,t),t_.set(n,s)),s}function dl(e,t,n){return UB(t,n).format(e)}const L0={values(e){return bt(e)?e:""+e},numeric(e,t,n){if(e===0)return"0";const s=this.chart.options.locale;let i,o=e;if(n.length>1){const c=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(c<1e-4||c>1e15)&&(i="scientific"),o=KB(e,n)}const r=$i(Math.abs(o)),a=isNaN(r)?1:Math.max(Math.min(-1*Math.floor(r),20),0),l={notation:i,minimumFractionDigits:a,maximumFractionDigits:a};return Object.assign(l,this.options.ticks.format),dl(e,s,l)},logarithmic(e,t,n){if(e===0)return"0";const s=n[t].significand||e/Math.pow(10,Math.floor($i(e)));return[1,2,3,5,10,15].includes(s)||t>.8*n.length?L0.numeric.call(this,e,t,n):""}};function KB(e,t){let n=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(n)>=1&&e!==Math.floor(e)&&(n=e-Math.floor(e)),n}var vu={formatters:L0};function qB(e){e.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,n)=>n.lineWidth,tickColor:(t,n)=>n.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:vu.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),e.route("scale.ticks","color","","color"),e.route("scale.grid","color","","borderColor"),e.route("scale.border","color","","borderColor"),e.route("scale.title","color","","color"),e.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),e.describe("scales",{_fallback:"scale"}),e.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const To=Object.create(null),uh=Object.create(null);function Pa(e,t){if(!t)return e;const n=t.split(".");for(let s=0,i=n.length;ss.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(s,i)=>_d(i.backgroundColor),this.hoverBorderColor=(s,i)=>_d(i.borderColor),this.hoverColor=(s,i)=>_d(i.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(n)}set(t,n){return vd(this,t,n)}get(t){return Pa(this,t)}describe(t,n){return vd(uh,t,n)}override(t,n){return vd(To,t,n)}route(t,n,s,i){const o=Pa(this,t),r=Pa(this,s),a="_"+n;Object.defineProperties(o,{[a]:{value:o[n],writable:!0},[n]:{enumerable:!0,get(){const l=this[a],c=r[i];return st(l)?Object.assign({},c,l):Ge(l,c)},set(l){this[a]=l}}})}apply(t){t.forEach(n=>n(this))}}var Pt=new GB({_scriptable:e=>!e.startsWith("on"),_indexable:e=>e!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[zB,YB,qB]);function JB(e){return!e||ot(e.size)||ot(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}function Fc(e,t,n,s,i){let o=t[i];return o||(o=t[i]=e.measureText(i).width,n.push(i)),o>s&&(s=o),s}function XB(e,t,n,s){s=s||{};let i=s.data=s.data||{},o=s.garbageCollect=s.garbageCollect||[];s.font!==t&&(i=s.data={},o=s.garbageCollect=[],s.font=t),e.save(),e.font=t;let r=0;const a=n.length;let l,c,u,d,f;for(l=0;ln.length){for(l=0;l0&&e.stroke()}}function Js(e,t,n){return n=n||.5,!t||e&&e.x>t.left-n&&e.xt.top-n&&e.y0&&o.strokeColor!=="";let l,c;for(e.save(),e.font=i.string,e4(e,o),l=0;l+e||0;function Xf(e,t){const n={},s=st(t),i=s?Object.keys(t):t,o=st(e)?s?r=>Ge(e[r],e[t[r]]):r=>e[r]:()=>e;for(const r of i)n[r]=r4(o(r));return n}function F0(e){return Xf(e,{top:"y",right:"x",bottom:"y",left:"x"})}function $o(e){return Xf(e,["topLeft","topRight","bottomLeft","bottomRight"])}function fn(e){const t=F0(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function Ut(e,t){e=e||{},t=t||Pt.font;let n=Ge(e.size,t.size);typeof n=="string"&&(n=parseInt(n,10));let s=Ge(e.style,t.style);s&&!(""+s).match(i4)&&(console.warn('Invalid font style specified: "'+s+'"'),s=void 0);const i={family:Ge(e.family,t.family),lineHeight:o4(Ge(e.lineHeight,t.lineHeight),n),size:n,style:s,weight:Ge(e.weight,t.weight),string:""};return i.string=JB(i),i}function ca(e,t,n,s){let i=!0,o,r,a;for(o=0,r=e.length;on&&a===0?0:a+l;return{min:r(s,-Math.abs(o)),max:r(i,o)}}function Ki(e,t){return Object.assign(Object.create(e),t)}function Qf(e,t=[""],n,s,i=()=>e[0]){const o=n||e;typeof s>"u"&&(s=j0("_fallback",e));const r={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:o,_fallback:s,_getTarget:i,override:a=>Qf([a,...e],t,o,s)};return new Proxy(r,{deleteProperty(a,l){return delete a[l],delete a._keys,delete e[0][l],!0},get(a,l){return V0(a,l,()=>m4(l,t,e,a))},getOwnPropertyDescriptor(a,l){return Reflect.getOwnPropertyDescriptor(a._scopes[0],l)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(a,l){return i_(a).includes(l)},ownKeys(a){return i_(a)},set(a,l,c){const u=a._storage||(a._storage=i());return a[l]=u[l]=c,delete a._keys,!0}})}function Mr(e,t,n,s){const i={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:B0(e,s),setContext:o=>Mr(e,o,n,s),override:o=>Mr(e.override(o),t,n,s)};return new Proxy(i,{deleteProperty(o,r){return delete o[r],delete e[r],!0},get(o,r,a){return V0(o,r,()=>c4(o,r,a))},getOwnPropertyDescriptor(o,r){return o._descriptors.allKeys?Reflect.has(e,r)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,r)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(o,r){return Reflect.has(e,r)},ownKeys(){return Reflect.ownKeys(e)},set(o,r,a){return e[r]=a,delete o[r],!0}})}function B0(e,t={scriptable:!0,indexable:!0}){const{_scriptable:n=t.scriptable,_indexable:s=t.indexable,_allKeys:i=t.allKeys}=e;return{allKeys:i,scriptable:n,indexable:s,isScriptable:Bi(n)?n:()=>n,isIndexable:Bi(s)?s:()=>s}}const l4=(e,t)=>e?e+Uf(t):t,Zf=(e,t)=>st(t)&&e!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function V0(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];const s=n();return e[t]=s,s}function c4(e,t,n){const{_proxy:s,_context:i,_subProxy:o,_descriptors:r}=e;let a=s[t];return Bi(a)&&r.isScriptable(t)&&(a=u4(t,a,e,n)),bt(a)&&a.length&&(a=d4(t,a,e,r.isIndexable)),Zf(t,a)&&(a=Mr(a,i,o&&o[t],r)),a}function u4(e,t,n,s){const{_proxy:i,_context:o,_subProxy:r,_stack:a}=n;if(a.has(e))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+e);a.add(e);let l=t(o,r||s);return a.delete(e),Zf(e,l)&&(l=ep(i._scopes,i,e,l)),l}function d4(e,t,n,s){const{_proxy:i,_context:o,_subProxy:r,_descriptors:a}=n;if(typeof o.index<"u"&&s(e))return t[o.index%t.length];if(st(t[0])){const l=t,c=i._scopes.filter(u=>u!==l);t=[];for(const u of l){const d=ep(c,i,e,u);t.push(Mr(d,o,r&&r[e],a))}}return t}function H0(e,t,n){return Bi(e)?e(t,n):e}const h4=(e,t)=>e===!0?t:typeof e=="string"?Fi(t,e):void 0;function f4(e,t,n,s,i){for(const o of t){const r=h4(n,o);if(r){e.add(r);const a=H0(r._fallback,n,i);if(typeof a<"u"&&a!==n&&a!==s)return a}else if(r===!1&&typeof s<"u"&&n!==s)return null}return!1}function ep(e,t,n,s){const i=t._rootScopes,o=H0(t._fallback,n,s),r=[...e,...i],a=new Set;a.add(s);let l=s_(a,r,n,o||n,s);return l===null||typeof o<"u"&&o!==n&&(l=s_(a,r,o,l,s),l===null)?!1:Qf(Array.from(a),[""],i,o,()=>p4(t,n,s))}function s_(e,t,n,s,i){for(;n;)n=f4(e,t,n,s,i);return n}function p4(e,t,n){const s=e._getTarget();t in s||(s[t]={});const i=s[t];return bt(i)&&st(n)?n:i||{}}function m4(e,t,n,s){let i;for(const o of t)if(i=j0(l4(o,e),n),typeof i<"u")return Zf(e,i)?ep(n,s,e,i):i}function j0(e,t){for(const n of t){if(!n)continue;const s=n[e];if(typeof s<"u")return s}}function i_(e){let t=e._keys;return t||(t=e._keys=g4(e._scopes)),t}function g4(e){const t=new Set;for(const n of e)for(const s of Object.keys(n).filter(i=>!i.startsWith("_")))t.add(s);return Array.from(t)}function W0(e,t,n,s){const{iScale:i}=e,{key:o="r"}=this._parsing,r=new Array(s);let a,l,c,u;for(a=0,l=s;ate==="x"?"y":"x";function v4(e,t,n,s){const i=e.skip?t:e,o=t,r=n.skip?t:n,a=ch(o,i),l=ch(r,o);let c=a/(a+l),u=l/(a+l);c=isNaN(c)?0:c,u=isNaN(u)?0:u;const d=s*c,f=s*u;return{previous:{x:o.x-d*(r.x-i.x),y:o.y-d*(r.y-i.y)},next:{x:o.x+f*(r.x-i.x),y:o.y+f*(r.y-i.y)}}}function b4(e,t,n){const s=e.length;let i,o,r,a,l,c=Tr(e,0);for(let u=0;u!c.skip)),t.cubicInterpolationMode==="monotone")w4(e,i);else{let c=s?e[e.length-1]:e[0];for(o=0,r=e.length;oe.ownerDocument.defaultView.getComputedStyle(e,null);function S4(e,t){return wu(e).getPropertyValue(t)}const $4=["top","right","bottom","left"];function Ao(e,t,n){const s={};n=n?"-"+n:"";for(let i=0;i<4;i++){const o=$4[i];s[o]=parseFloat(e[t+"-"+o+n])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}const A4=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function C4(e,t){const n=e.touches,s=n&&n.length?n[0]:e,{offsetX:i,offsetY:o}=s;let r=!1,a,l;if(A4(i,o,e.target))a=i,l=o;else{const c=t.getBoundingClientRect();a=s.clientX-c.left,l=s.clientY-c.top,r=!0}return{x:a,y:l,box:r}}function po(e,t){if("native"in e)return e;const{canvas:n,currentDevicePixelRatio:s}=t,i=wu(n),o=i.boxSizing==="border-box",r=Ao(i,"padding"),a=Ao(i,"border","width"),{x:l,y:c,box:u}=C4(e,n),d=r.left+(u&&a.left),f=r.top+(u&&a.top);let{width:p,height:g}=t;return o&&(p-=r.width+a.width,g-=r.height+a.height),{x:Math.round((l-d)/p*n.width/s),y:Math.round((c-f)/g*n.height/s)}}function E4(e,t,n){let s,i;if(t===void 0||n===void 0){const o=np(e);if(!o)t=e.clientWidth,n=e.clientHeight;else{const r=o.getBoundingClientRect(),a=wu(o),l=Ao(a,"border","width"),c=Ao(a,"padding");t=r.width-c.width-l.width,n=r.height-c.height-l.height,s=Bc(a.maxWidth,o,"clientWidth"),i=Bc(a.maxHeight,o,"clientHeight")}}return{width:t,height:n,maxWidth:s||Nc,maxHeight:i||Nc}}const Ul=e=>Math.round(e*10)/10;function P4(e,t,n,s){const i=wu(e),o=Ao(i,"margin"),r=Bc(i.maxWidth,e,"clientWidth")||Nc,a=Bc(i.maxHeight,e,"clientHeight")||Nc,l=E4(e,t,n);let{width:c,height:u}=l;if(i.boxSizing==="content-box"){const f=Ao(i,"border","width"),p=Ao(i,"padding");c-=p.width+f.width,u-=p.height+f.height}return c=Math.max(0,c-o.width),u=Math.max(0,s?c/s:u-o.height),c=Ul(Math.min(c,r,l.maxWidth)),u=Ul(Math.min(u,a,l.maxHeight)),c&&!u&&(u=Ul(c/2)),(t!==void 0||n!==void 0)&&s&&l.height&&u>l.height&&(u=l.height,c=Ul(Math.floor(u*s))),{width:c,height:u}}function o_(e,t,n){const s=t||1,i=Math.floor(e.height*s),o=Math.floor(e.width*s);e.height=Math.floor(e.height),e.width=Math.floor(e.width);const r=e.canvas;return r.style&&(n||!r.style.height&&!r.style.width)&&(r.style.height=`${e.height}px`,r.style.width=`${e.width}px`),e.currentDevicePixelRatio!==s||r.height!==i||r.width!==o?(e.currentDevicePixelRatio=s,r.height=i,r.width=o,e.ctx.setTransform(s,0,0,s,0,0),!0):!1}const M4=function(){let e=!1;try{const t={get passive(){return e=!0,!1}};tp()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch{}return e}();function r_(e,t){const n=S4(e,t),s=n&&n.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function mo(e,t,n,s){return{x:e.x+n*(t.x-e.x),y:e.y+n*(t.y-e.y)}}function T4(e,t,n,s){return{x:e.x+n*(t.x-e.x),y:s==="middle"?n<.5?e.y:t.y:s==="after"?n<1?e.y:t.y:n>0?t.y:e.y}}function D4(e,t,n,s){const i={x:e.cp2x,y:e.cp2y},o={x:t.cp1x,y:t.cp1y},r=mo(e,i,n),a=mo(i,o,n),l=mo(o,t,n),c=mo(r,a,n),u=mo(a,l,n);return mo(c,u,n)}const O4=function(e,t){return{x(n){return e+e+t-n},setWidth(n){t=n},textAlign(n){return n==="center"?n:n==="right"?"left":"right"},xPlus(n,s){return n-s},leftForLtr(n,s){return n-s}}},I4=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function dr(e,t,n){return e?O4(t,n):I4()}function Y0(e,t){let n,s;(t==="ltr"||t==="rtl")&&(n=e.canvas.style,s=[n.getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",t,"important"),e.prevTextDirection=s)}function U0(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}function K0(e){return e==="angle"?{between:Ga,compare:RB,normalize:Dn}:{between:qs,compare:(t,n)=>t-n,normalize:t=>t}}function a_({start:e,end:t,count:n,loop:s,style:i}){return{start:e%n,end:t%n,loop:s&&(t-e+1)%n===0,style:i}}function R4(e,t,n){const{property:s,start:i,end:o}=n,{between:r,normalize:a}=K0(s),l=t.length;let{start:c,end:u,loop:d}=e,f,p;if(d){for(c+=l,u+=l,f=0,p=l;fl(i,A,w)&&a(i,A)!==0,k=()=>a(o,w)===0||l(o,A,w),y=()=>_||T(),x=()=>!_||k();for(let C=u,P=u;C<=d;++C)$=t[C%r],!$.skip&&(w=c($[s]),w!==A&&(_=l(w,i,o),b===null&&y()&&(b=a(w,i)===0?C:P),b!==null&&x()&&(g.push(a_({start:b,end:C,loop:f,count:r,style:p})),b=null),P=C,A=w));return b!==null&&g.push(a_({start:b,end:d,loop:f,count:r,style:p})),g}function G0(e,t){const n=[],s=e.segments;for(let i=0;ii&&e[o%t].skip;)o--;return o%=t,{start:i,end:o}}function N4(e,t,n,s){const i=e.length,o=[];let r=t,a=e[t],l;for(l=t+1;l<=n;++l){const c=e[l%i];c.skip||c.stop?a.skip||(s=!1,o.push({start:t%i,end:(l-1)%i,loop:s}),t=r=c.stop?l:null):(r=l,a.skip&&(t=l)),a=c}return r!==null&&o.push({start:t%i,end:r%i,loop:s}),o}function F4(e,t){const n=e.points,s=e.options.spanGaps,i=n.length;if(!i)return[];const o=!!e._loop,{start:r,end:a}=L4(n,i,o,s);if(s===!0)return l_(e,[{start:r,end:a,loop:o}],n,t);const l=a{let e=0;return()=>e++})();function ot(e){return e===null||typeof e>"u"}function bt(e){if(Array.isArray&&Array.isArray(e))return!0;const t=Object.prototype.toString.call(e);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function st(e){return e!==null&&Object.prototype.toString.call(e)==="[object Object]"}function Et(e){return(typeof e=="number"||e instanceof Number)&&isFinite(+e)}function Mn(e,t){return Et(e)?e:t}function Ge(e,t){return typeof e>"u"?t:e}const $B=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100:+e/t,A0=(e,t)=>typeof e=="string"&&e.endsWith("%")?parseFloat(e)/100*t:+e;function pt(e,t,n){if(e&&typeof e.call=="function")return e.apply(n,t)}function ut(e,t,n,s){let i,o,r;if(bt(e))if(o=e.length,s)for(i=o-1;i>=0;i--)t.call(n,e[i],i);else for(i=0;ie,x:e=>e.x,y:e=>e.y};function EB(e){const t=e.split("."),n=[];let s="";for(const i of t)s+=i,s.endsWith("\\")?s=s.slice(0,-1)+".":(n.push(s),s="");return n}function PB(e){const t=EB(e);return n=>{for(const s of t){if(s==="")break;n=n&&n[s]}return n}}function Fi(e,t){return(Km[t]||(Km[t]=PB(t)))(e)}function Kf(e){return e.charAt(0).toUpperCase()+e.slice(1)}const qa=e=>typeof e<"u",Bi=e=>typeof e=="function",Um=(e,t)=>{if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0};function MB(e){return e.type==="mouseup"||e.type==="click"||e.type==="contextmenu"}const wt=Math.PI,yt=2*wt,TB=yt+wt,Nc=Number.POSITIVE_INFINITY,DB=wt/180,Lt=wt/2,ao=wt/4,qm=wt*2/3,$i=Math.log10,Es=Math.sign;function Ca(e,t,n){return Math.abs(e-t)i-o).pop(),t}function Pr(e){return!isNaN(parseFloat(e))&&isFinite(e)}function IB(e,t){const n=Math.round(e);return n-t<=e&&n+t>=e}function E0(e,t,n){let s,i,o;for(s=0,i=e.length;sl&&c=Math.min(t,n)-s&&e<=Math.max(t,n)+s}function qf(e,t,n){n=n||(r=>e[r]1;)o=i+s>>1,n(o)?i=o:s=o;return{lo:i,hi:s}}const Gs=(e,t,n,s)=>qf(e,n,s?i=>{const o=e[i][t];return oe[i][t]qf(e,n,s=>e[s][t]>=n);function FB(e,t,n){let s=0,i=e.length;for(;ss&&e[i-1]>n;)i--;return s>0||i{const s="_onData"+Kf(n),i=e[n];Object.defineProperty(e,n,{configurable:!0,enumerable:!1,value(...o){const r=i.apply(this,o);return e._chartjs.listeners.forEach(a=>{typeof a[s]=="function"&&a[s](...o)}),r}})})}function Xm(e,t){const n=e._chartjs;if(!n)return;const s=n.listeners,i=s.indexOf(t);i!==-1&&s.splice(i,1),!(s.length>0)&&(M0.forEach(o=>{delete e[o]}),delete e._chartjs)}function T0(e){const t=new Set(e);return t.size===e.length?e:Array.from(t)}const D0=function(){return typeof window>"u"?function(e){return e()}:window.requestAnimationFrame}();function O0(e,t){let n=[],s=!1;return function(...i){n=i,s||(s=!0,D0.call(window,()=>{s=!1,e.apply(t,n)}))}}function VB(e,t){let n;return function(...s){return t?(clearTimeout(n),n=setTimeout(e,t,s)):e.apply(this,s),t}}const Gf=e=>e==="start"?"left":e==="end"?"right":"center",ln=(e,t,n)=>e==="start"?t:e==="end"?n:(t+n)/2,HB=(e,t,n,s)=>e===(s?"left":"right")?n:e==="center"?(t+n)/2:t;function I0(e,t,n){const s=t.length;let i=0,o=s;if(e._sorted){const{iScale:r,_parsed:a}=e,l=r.axis,{min:c,max:u,minDefined:d,maxDefined:f}=r.getUserBounds();d&&(i=en(Math.min(Gs(a,l,c).lo,n?s:Gs(t,l,r.getPixelForValue(c)).lo),0,s-1)),f?o=en(Math.max(Gs(a,r.axis,u,!0).hi+1,n?0:Gs(t,l,r.getPixelForValue(u),!0).hi+1),i,s)-i:o=s-i}return{start:i,count:o}}function R0(e){const{xScale:t,yScale:n,_scaleRanges:s}=e,i={xmin:t.min,xmax:t.max,ymin:n.min,ymax:n.max};if(!s)return e._scaleRanges=i,!0;const o=s.xmin!==t.min||s.xmax!==t.max||s.ymin!==n.min||s.ymax!==n.max;return Object.assign(s,i),o}const zl=e=>e===0||e===1,Qm=(e,t,n)=>-(Math.pow(2,10*(e-=1))*Math.sin((e-t)*yt/n)),Zm=(e,t,n)=>Math.pow(2,-10*e)*Math.sin((e-t)*yt/n)+1,Ea={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>(e-=1)*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-((e-=1)*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>(e-=1)*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>-Math.cos(e*Lt)+1,easeOutSine:e=>Math.sin(e*Lt),easeInOutSine:e=>-.5*(Math.cos(wt*e)-1),easeInExpo:e=>e===0?0:Math.pow(2,10*(e-1)),easeOutExpo:e=>e===1?1:-Math.pow(2,-10*e)+1,easeInOutExpo:e=>zl(e)?e:e<.5?.5*Math.pow(2,10*(e*2-1)):.5*(-Math.pow(2,-10*(e*2-1))+2),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1-(e-=1)*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>zl(e)?e:Qm(e,.075,.3),easeOutElastic:e=>zl(e)?e:Zm(e,.075,.3),easeInOutElastic(e){return zl(e)?e:e<.5?.5*Qm(e*2,.1125,.45):.5+.5*Zm(e*2-1,.1125,.45)},easeInBack(e){return e*e*((1.70158+1)*e-1.70158)},easeOutBack(e){return(e-=1)*e*((1.70158+1)*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-Ea.easeOutBounce(1-e),easeOutBounce(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:e=>e<.5?Ea.easeInBounce(e*2)*.5:Ea.easeOutBounce(e*2-1)*.5+.5};function Jf(e){if(e&&typeof e=="object"){const t=e.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function e_(e){return Jf(e)?e:new Ka(e)}function _d(e){return Jf(e)?e:new Ka(e).saturate(.5).darken(.1).hexString()}const jB=["x","y","borderWidth","radius","tension"],WB=["color","borderColor","backgroundColor"];function zB(e){e.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),e.set("animations",{colors:{type:"color",properties:WB},numbers:{type:"number",properties:jB}}),e.describe("animations",{_fallback:"animation"}),e.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function YB(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const t_=new Map;function KB(e,t){t=t||{};const n=e+JSON.stringify(t);let s=t_.get(n);return s||(s=new Intl.NumberFormat(e,t),t_.set(n,s)),s}function dl(e,t,n){return KB(t,n).format(e)}const L0={values(e){return bt(e)?e:""+e},numeric(e,t,n){if(e===0)return"0";const s=this.chart.options.locale;let i,o=e;if(n.length>1){const c=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(c<1e-4||c>1e15)&&(i="scientific"),o=UB(e,n)}const r=$i(Math.abs(o)),a=isNaN(r)?1:Math.max(Math.min(-1*Math.floor(r),20),0),l={notation:i,minimumFractionDigits:a,maximumFractionDigits:a};return Object.assign(l,this.options.ticks.format),dl(e,s,l)},logarithmic(e,t,n){if(e===0)return"0";const s=n[t].significand||e/Math.pow(10,Math.floor($i(e)));return[1,2,3,5,10,15].includes(s)||t>.8*n.length?L0.numeric.call(this,e,t,n):""}};function UB(e,t){let n=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(n)>=1&&e!==Math.floor(e)&&(n=e-Math.floor(e)),n}var vu={formatters:L0};function qB(e){e.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,n)=>n.lineWidth,tickColor:(t,n)=>n.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:vu.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),e.route("scale.ticks","color","","color"),e.route("scale.grid","color","","borderColor"),e.route("scale.border","color","","borderColor"),e.route("scale.title","color","","color"),e.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),e.describe("scales",{_fallback:"scale"}),e.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const To=Object.create(null),uh=Object.create(null);function Pa(e,t){if(!t)return e;const n=t.split(".");for(let s=0,i=n.length;ss.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(s,i)=>_d(i.backgroundColor),this.hoverBorderColor=(s,i)=>_d(i.borderColor),this.hoverColor=(s,i)=>_d(i.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(n)}set(t,n){return vd(this,t,n)}get(t){return Pa(this,t)}describe(t,n){return vd(uh,t,n)}override(t,n){return vd(To,t,n)}route(t,n,s,i){const o=Pa(this,t),r=Pa(this,s),a="_"+n;Object.defineProperties(o,{[a]:{value:o[n],writable:!0},[n]:{enumerable:!0,get(){const l=this[a],c=r[i];return st(l)?Object.assign({},c,l):Ge(l,c)},set(l){this[a]=l}}})}apply(t){t.forEach(n=>n(this))}}var Pt=new GB({_scriptable:e=>!e.startsWith("on"),_indexable:e=>e!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[zB,YB,qB]);function JB(e){return!e||ot(e.size)||ot(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}function Fc(e,t,n,s,i){let o=t[i];return o||(o=t[i]=e.measureText(i).width,n.push(i)),o>s&&(s=o),s}function XB(e,t,n,s){s=s||{};let i=s.data=s.data||{},o=s.garbageCollect=s.garbageCollect||[];s.font!==t&&(i=s.data={},o=s.garbageCollect=[],s.font=t),e.save(),e.font=t;let r=0;const a=n.length;let l,c,u,d,f;for(l=0;ln.length){for(l=0;l0&&e.stroke()}}function Js(e,t,n){return n=n||.5,!t||e&&e.x>t.left-n&&e.xt.top-n&&e.y0&&o.strokeColor!=="";let l,c;for(e.save(),e.font=i.string,e4(e,o),l=0;l+e||0;function Xf(e,t){const n={},s=st(t),i=s?Object.keys(t):t,o=st(e)?s?r=>Ge(e[r],e[t[r]]):r=>e[r]:()=>e;for(const r of i)n[r]=r4(o(r));return n}function F0(e){return Xf(e,{top:"y",right:"x",bottom:"y",left:"x"})}function $o(e){return Xf(e,["topLeft","topRight","bottomLeft","bottomRight"])}function fn(e){const t=F0(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function Kt(e,t){e=e||{},t=t||Pt.font;let n=Ge(e.size,t.size);typeof n=="string"&&(n=parseInt(n,10));let s=Ge(e.style,t.style);s&&!(""+s).match(i4)&&(console.warn('Invalid font style specified: "'+s+'"'),s=void 0);const i={family:Ge(e.family,t.family),lineHeight:o4(Ge(e.lineHeight,t.lineHeight),n),size:n,style:s,weight:Ge(e.weight,t.weight),string:""};return i.string=JB(i),i}function ca(e,t,n,s){let i=!0,o,r,a;for(o=0,r=e.length;on&&a===0?0:a+l;return{min:r(s,-Math.abs(o)),max:r(i,o)}}function Ui(e,t){return Object.assign(Object.create(e),t)}function Qf(e,t=[""],n,s,i=()=>e[0]){const o=n||e;typeof s>"u"&&(s=j0("_fallback",e));const r={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:o,_fallback:s,_getTarget:i,override:a=>Qf([a,...e],t,o,s)};return new Proxy(r,{deleteProperty(a,l){return delete a[l],delete a._keys,delete e[0][l],!0},get(a,l){return V0(a,l,()=>g4(l,t,e,a))},getOwnPropertyDescriptor(a,l){return Reflect.getOwnPropertyDescriptor(a._scopes[0],l)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(a,l){return i_(a).includes(l)},ownKeys(a){return i_(a)},set(a,l,c){const u=a._storage||(a._storage=i());return a[l]=u[l]=c,delete a._keys,!0}})}function Mr(e,t,n,s){const i={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:B0(e,s),setContext:o=>Mr(e,o,n,s),override:o=>Mr(e.override(o),t,n,s)};return new Proxy(i,{deleteProperty(o,r){return delete o[r],delete e[r],!0},get(o,r,a){return V0(o,r,()=>c4(o,r,a))},getOwnPropertyDescriptor(o,r){return o._descriptors.allKeys?Reflect.has(e,r)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,r)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(o,r){return Reflect.has(e,r)},ownKeys(){return Reflect.ownKeys(e)},set(o,r,a){return e[r]=a,delete o[r],!0}})}function B0(e,t={scriptable:!0,indexable:!0}){const{_scriptable:n=t.scriptable,_indexable:s=t.indexable,_allKeys:i=t.allKeys}=e;return{allKeys:i,scriptable:n,indexable:s,isScriptable:Bi(n)?n:()=>n,isIndexable:Bi(s)?s:()=>s}}const l4=(e,t)=>e?e+Kf(t):t,Zf=(e,t)=>st(t)&&e!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function V0(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t))return e[t];const s=n();return e[t]=s,s}function c4(e,t,n){const{_proxy:s,_context:i,_subProxy:o,_descriptors:r}=e;let a=s[t];return Bi(a)&&r.isScriptable(t)&&(a=u4(t,a,e,n)),bt(a)&&a.length&&(a=d4(t,a,e,r.isIndexable)),Zf(t,a)&&(a=Mr(a,i,o&&o[t],r)),a}function u4(e,t,n,s){const{_proxy:i,_context:o,_subProxy:r,_stack:a}=n;if(a.has(e))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+e);a.add(e);let l=t(o,r||s);return a.delete(e),Zf(e,l)&&(l=ep(i._scopes,i,e,l)),l}function d4(e,t,n,s){const{_proxy:i,_context:o,_subProxy:r,_descriptors:a}=n;if(typeof o.index<"u"&&s(e))return t[o.index%t.length];if(st(t[0])){const l=t,c=i._scopes.filter(u=>u!==l);t=[];for(const u of l){const d=ep(c,i,e,u);t.push(Mr(d,o,r&&r[e],a))}}return t}function H0(e,t,n){return Bi(e)?e(t,n):e}const h4=(e,t)=>e===!0?t:typeof e=="string"?Fi(t,e):void 0;function f4(e,t,n,s,i){for(const o of t){const r=h4(n,o);if(r){e.add(r);const a=H0(r._fallback,n,i);if(typeof a<"u"&&a!==n&&a!==s)return a}else if(r===!1&&typeof s<"u"&&n!==s)return null}return!1}function ep(e,t,n,s){const i=t._rootScopes,o=H0(t._fallback,n,s),r=[...e,...i],a=new Set;a.add(s);let l=s_(a,r,n,o||n,s);return l===null||typeof o<"u"&&o!==n&&(l=s_(a,r,o,l,s),l===null)?!1:Qf(Array.from(a),[""],i,o,()=>p4(t,n,s))}function s_(e,t,n,s,i){for(;n;)n=f4(e,t,n,s,i);return n}function p4(e,t,n){const s=e._getTarget();t in s||(s[t]={});const i=s[t];return bt(i)&&st(n)?n:i||{}}function g4(e,t,n,s){let i;for(const o of t)if(i=j0(l4(o,e),n),typeof i<"u")return Zf(e,i)?ep(n,s,e,i):i}function j0(e,t){for(const n of t){if(!n)continue;const s=n[e];if(typeof s<"u")return s}}function i_(e){let t=e._keys;return t||(t=e._keys=m4(e._scopes)),t}function m4(e){const t=new Set;for(const n of e)for(const s of Object.keys(n).filter(i=>!i.startsWith("_")))t.add(s);return Array.from(t)}function W0(e,t,n,s){const{iScale:i}=e,{key:o="r"}=this._parsing,r=new Array(s);let a,l,c,u;for(a=0,l=s;ate==="x"?"y":"x";function v4(e,t,n,s){const i=e.skip?t:e,o=t,r=n.skip?t:n,a=ch(o,i),l=ch(r,o);let c=a/(a+l),u=l/(a+l);c=isNaN(c)?0:c,u=isNaN(u)?0:u;const d=s*c,f=s*u;return{previous:{x:o.x-d*(r.x-i.x),y:o.y-d*(r.y-i.y)},next:{x:o.x+f*(r.x-i.x),y:o.y+f*(r.y-i.y)}}}function b4(e,t,n){const s=e.length;let i,o,r,a,l,c=Tr(e,0);for(let u=0;u!c.skip)),t.cubicInterpolationMode==="monotone")w4(e,i);else{let c=s?e[e.length-1]:e[0];for(o=0,r=e.length;oe.ownerDocument.defaultView.getComputedStyle(e,null);function S4(e,t){return wu(e).getPropertyValue(t)}const $4=["top","right","bottom","left"];function Ao(e,t,n){const s={};n=n?"-"+n:"";for(let i=0;i<4;i++){const o=$4[i];s[o]=parseFloat(e[t+"-"+o+n])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}const A4=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function C4(e,t){const n=e.touches,s=n&&n.length?n[0]:e,{offsetX:i,offsetY:o}=s;let r=!1,a,l;if(A4(i,o,e.target))a=i,l=o;else{const c=t.getBoundingClientRect();a=s.clientX-c.left,l=s.clientY-c.top,r=!0}return{x:a,y:l,box:r}}function po(e,t){if("native"in e)return e;const{canvas:n,currentDevicePixelRatio:s}=t,i=wu(n),o=i.boxSizing==="border-box",r=Ao(i,"padding"),a=Ao(i,"border","width"),{x:l,y:c,box:u}=C4(e,n),d=r.left+(u&&a.left),f=r.top+(u&&a.top);let{width:p,height:m}=t;return o&&(p-=r.width+a.width,m-=r.height+a.height),{x:Math.round((l-d)/p*n.width/s),y:Math.round((c-f)/m*n.height/s)}}function E4(e,t,n){let s,i;if(t===void 0||n===void 0){const o=np(e);if(!o)t=e.clientWidth,n=e.clientHeight;else{const r=o.getBoundingClientRect(),a=wu(o),l=Ao(a,"border","width"),c=Ao(a,"padding");t=r.width-c.width-l.width,n=r.height-c.height-l.height,s=Bc(a.maxWidth,o,"clientWidth"),i=Bc(a.maxHeight,o,"clientHeight")}}return{width:t,height:n,maxWidth:s||Nc,maxHeight:i||Nc}}const Kl=e=>Math.round(e*10)/10;function P4(e,t,n,s){const i=wu(e),o=Ao(i,"margin"),r=Bc(i.maxWidth,e,"clientWidth")||Nc,a=Bc(i.maxHeight,e,"clientHeight")||Nc,l=E4(e,t,n);let{width:c,height:u}=l;if(i.boxSizing==="content-box"){const f=Ao(i,"border","width"),p=Ao(i,"padding");c-=p.width+f.width,u-=p.height+f.height}return c=Math.max(0,c-o.width),u=Math.max(0,s?c/s:u-o.height),c=Kl(Math.min(c,r,l.maxWidth)),u=Kl(Math.min(u,a,l.maxHeight)),c&&!u&&(u=Kl(c/2)),(t!==void 0||n!==void 0)&&s&&l.height&&u>l.height&&(u=l.height,c=Kl(Math.floor(u*s))),{width:c,height:u}}function o_(e,t,n){const s=t||1,i=Math.floor(e.height*s),o=Math.floor(e.width*s);e.height=Math.floor(e.height),e.width=Math.floor(e.width);const r=e.canvas;return r.style&&(n||!r.style.height&&!r.style.width)&&(r.style.height=`${e.height}px`,r.style.width=`${e.width}px`),e.currentDevicePixelRatio!==s||r.height!==i||r.width!==o?(e.currentDevicePixelRatio=s,r.height=i,r.width=o,e.ctx.setTransform(s,0,0,s,0,0),!0):!1}const M4=function(){let e=!1;try{const t={get passive(){return e=!0,!1}};tp()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch{}return e}();function r_(e,t){const n=S4(e,t),s=n&&n.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function go(e,t,n,s){return{x:e.x+n*(t.x-e.x),y:e.y+n*(t.y-e.y)}}function T4(e,t,n,s){return{x:e.x+n*(t.x-e.x),y:s==="middle"?n<.5?e.y:t.y:s==="after"?n<1?e.y:t.y:n>0?t.y:e.y}}function D4(e,t,n,s){const i={x:e.cp2x,y:e.cp2y},o={x:t.cp1x,y:t.cp1y},r=go(e,i,n),a=go(i,o,n),l=go(o,t,n),c=go(r,a,n),u=go(a,l,n);return go(c,u,n)}const O4=function(e,t){return{x(n){return e+e+t-n},setWidth(n){t=n},textAlign(n){return n==="center"?n:n==="right"?"left":"right"},xPlus(n,s){return n-s},leftForLtr(n,s){return n-s}}},I4=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function dr(e,t,n){return e?O4(t,n):I4()}function Y0(e,t){let n,s;(t==="ltr"||t==="rtl")&&(n=e.canvas.style,s=[n.getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",t,"important"),e.prevTextDirection=s)}function K0(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}function U0(e){return e==="angle"?{between:Ga,compare:RB,normalize:Dn}:{between:qs,compare:(t,n)=>t-n,normalize:t=>t}}function a_({start:e,end:t,count:n,loop:s,style:i}){return{start:e%n,end:t%n,loop:s&&(t-e+1)%n===0,style:i}}function R4(e,t,n){const{property:s,start:i,end:o}=n,{between:r,normalize:a}=U0(s),l=t.length;let{start:c,end:u,loop:d}=e,f,p;if(d){for(c+=l,u+=l,f=0,p=l;fl(i,A,w)&&a(i,A)!==0,k=()=>a(o,w)===0||l(o,A,w),y=()=>_||T(),x=()=>!_||k();for(let C=u,P=u;C<=d;++C)$=t[C%r],!$.skip&&(w=c($[s]),w!==A&&(_=l(w,i,o),b===null&&y()&&(b=a(w,i)===0?C:P),b!==null&&x()&&(m.push(a_({start:b,end:C,loop:f,count:r,style:p})),b=null),P=C,A=w));return b!==null&&m.push(a_({start:b,end:d,loop:f,count:r,style:p})),m}function G0(e,t){const n=[],s=e.segments;for(let i=0;ii&&e[o%t].skip;)o--;return o%=t,{start:i,end:o}}function N4(e,t,n,s){const i=e.length,o=[];let r=t,a=e[t],l;for(l=t+1;l<=n;++l){const c=e[l%i];c.skip||c.stop?a.skip||(s=!1,o.push({start:t%i,end:(l-1)%i,loop:s}),t=r=c.stop?l:null):(r=l,a.skip&&(t=l)),a=c}return r!==null&&o.push({start:t%i,end:r%i,loop:s}),o}function F4(e,t){const n=e.points,s=e.options.spanGaps,i=n.length;if(!i)return[];const o=!!e._loop,{start:r,end:a}=L4(n,i,o,s);if(s===!0)return l_(e,[{start:r,end:a,loop:o}],n,t);const l=aa({chart:t,initial:n.initial,numSteps:r,currentStep:Math.min(s-n.start,r)}))}_refresh(){this._request||(this._running=!0,this._request=D0.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let n=0;this._charts.forEach((s,i)=>{if(!s.running||!s.items.length)return;const o=s.items;let r=o.length-1,a=!1,l;for(;r>=0;--r)l=o[r],l._active?(l._total>s.duration&&(s.duration=l._total),l.tick(t),a=!0):(o[r]=o[o.length-1],o.pop());a&&(i.draw(),this._notify(i,s,t,"progress")),o.length||(s.running=!1,this._notify(i,s,t,"complete"),s.initial=!1),n+=o.length}),this._lastDate=t,n===0&&(this._running=!1)}_getAnims(t){const n=this._charts;let s=n.get(t);return s||(s={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(t,s)),s}listen(t,n,s){this._getAnims(t).listeners[n].push(s)}add(t,n){!n||!n.length||this._getAnims(t).items.push(...n)}has(t){return this._getAnims(t).items.length>0}start(t){const n=this._charts.get(t);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce((s,i)=>Math.max(s,i._duration),0),this._refresh())}running(t){if(!this._running)return!1;const n=this._charts.get(t);return!(!n||!n.running||!n.items.length)}stop(t){const n=this._charts.get(t);if(!n||!n.items.length)return;const s=n.items;let i=s.length-1;for(;i>=0;--i)s[i].cancel();n.items=[],this._notify(t,n,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var Hs=new H4;const u_="transparent",j4={boolean(e,t,n){return n>.5?t:e},color(e,t,n){const s=e_(e||u_),i=s.valid&&e_(t||u_);return i&&i.valid?i.mix(s,n).hexString():t},number(e,t,n){return e+(t-e)*n}};class W4{constructor(t,n,s,i){const o=n[s];i=ca([t.to,i,o,t.from]);const r=ca([t.from,o,i]);this._active=!0,this._fn=t.fn||j4[t.type||typeof r],this._easing=Ea[t.easing]||Ea.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=n,this._prop=s,this._from=r,this._to=i,this._promises=void 0}active(){return this._active}update(t,n,s){if(this._active){this._notify(!1);const i=this._target[this._prop],o=s-this._start,r=this._duration-o;this._start=s,this._duration=Math.floor(Math.max(r,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=ca([t.to,n,i,t.from]),this._from=ca([t.from,i,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const n=t-this._start,s=this._duration,i=this._prop,o=this._from,r=this._loop,a=this._to;let l;if(this._active=o!==a&&(r||n1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[i]=this._fn(o,a,l)}wait(){const t=this._promises||(this._promises=[]);return new Promise((n,s)=>{t.push({res:n,rej:s})})}_notify(t){const n=t?"res":"rej",s=this._promises||[];for(let i=0;i{const o=t[i];if(!st(o))return;const r={};for(const a of n)r[a]=o[a];(bt(o.properties)&&o.properties||[i]).forEach(a=>{(a===i||!s.has(a))&&s.set(a,r)})})}_animateOptions(t,n){const s=n.options,i=Y4(t,s);if(!i)return[];const o=this._createAnimations(i,s);return s.$shared&&z4(t.options.$animations,s).then(()=>{t.options=s},()=>{}),o}_createAnimations(t,n){const s=this._properties,i=[],o=t.$animations||(t.$animations={}),r=Object.keys(n),a=Date.now();let l;for(l=r.length-1;l>=0;--l){const c=r[l];if(c.charAt(0)==="$")continue;if(c==="options"){i.push(...this._animateOptions(t,n));continue}const u=n[c];let d=o[c];const f=s.get(c);if(d)if(f&&d.active()){d.update(f,u,a);continue}else d.cancel();if(!f||!f.duration){t[c]=u;continue}o[c]=d=new W4(f,t,c,u),i.push(d)}return i}update(t,n){if(this._properties.size===0){Object.assign(t,n);return}const s=this._createAnimations(t,n);if(s.length)return Hs.add(this._chart,s),!0}}function z4(e,t){const n=[],s=Object.keys(t);for(let i=0;i0||!n&&o<0)return i.index}return null}function m_(e,t){const{chart:n,_cachedMeta:s}=e,i=n._stacks||(n._stacks={}),{iScale:o,vScale:r,index:a}=s,l=o.axis,c=r.axis,u=G4(o,r,s),d=t.length;let f;for(let p=0;pn[s].axis===t).shift()}function Q4(e,t){return Ki(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function Z4(e,t,n){return Ki(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:"default",type:"data"})}function ta(e,t){const n=e.controller.index,s=e.vScale&&e.vScale.axis;if(s){t=t||e._parsed;for(const i of t){const o=i._stacks;if(!o||o[s]===void 0||o[s][n]===void 0)return;delete o[s][n],o[s]._visualValues!==void 0&&o[s]._visualValues[n]!==void 0&&delete o[s]._visualValues[n]}}}const yd=e=>e==="reset"||e==="none",g_=(e,t)=>t?e:Object.assign({},e),eV=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:X0(n,!0),values:null};class us{constructor(t,n){this.chart=t,this._ctx=t.ctx,this.index=n,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=f_(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&ta(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,n=this._cachedMeta,s=this.getDataset(),i=(d,f,p,g)=>d==="x"?f:d==="r"?g:p,o=n.xAxisID=Ge(s.xAxisID,bd(t,"x")),r=n.yAxisID=Ge(s.yAxisID,bd(t,"y")),a=n.rAxisID=Ge(s.rAxisID,bd(t,"r")),l=n.indexAxis,c=n.iAxisID=i(l,o,r,a),u=n.vAxisID=i(l,r,o,a);n.xScale=this.getScaleForId(o),n.yScale=this.getScaleForId(r),n.rScale=this.getScaleForId(a),n.iScale=this.getScaleForId(c),n.vScale=this.getScaleForId(u)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const n=this._cachedMeta;return t===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Xg(this._data,this),t._stacked&&ta(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),s=this._data;if(st(n))this._data=q4(n);else if(s!==n){if(s){Xg(s,this);const i=this._cachedMeta;ta(i),i._parsed=[]}n&&Object.isExtensible(n)&&BB(n,this),this._syncList=[],this._data=n}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const n=this._cachedMeta,s=this.getDataset();let i=!1;this._dataCheck();const o=n._stacked;n._stacked=f_(n.vScale,n),n.stack!==s.stack&&(i=!0,ta(n),n.stack=s.stack),this._resyncElements(t),(i||o!==n._stacked)&&m_(this,n._parsed)}configure(){const t=this.chart.config,n=t.datasetScopeKeys(this._type),s=t.getOptionScopes(this.getDataset(),n,!0);this.options=t.createResolver(s,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,n){const{_cachedMeta:s,_data:i}=this,{iScale:o,_stacked:r}=s,a=o.axis;let l=t===0&&n===i.length?!0:s._sorted,c=t>0&&s._parsed[t-1],u,d,f;if(this._parsing===!1)s._parsed=i,s._sorted=!0,f=i;else{bt(i[t])?f=this.parseArrayData(s,i,t,n):st(i[t])?f=this.parseObjectData(s,i,t,n):f=this.parsePrimitiveData(s,i,t,n);const p=()=>d[a]===null||c&&d[a]_||d<_}for(f=0;f=0;--f)if(!g()){this.updateRangeFromParsed(c,t,p,l);break}}return c}getAllParsedValues(t){const n=this._cachedMeta._parsed,s=[];let i,o,r;for(i=0,o=n.length;i=0&&tthis.getContext(s,i,n),_=c.resolveNamedOptions(f,p,g,d);return _.$shared&&(_.$shared=l,o[r]=Object.freeze(g_(_,l))),_}_resolveAnimations(t,n,s){const i=this.chart,o=this._cachedDataOpts,r=`animation-${n}`,a=o[r];if(a)return a;let l;if(i.options.animation!==!1){const u=this.chart.config,d=u.datasetAnimationScopeKeys(this._type,n),f=u.getOptionScopes(this.getDataset(),d);l=u.createResolver(f,this.getContext(t,s,n))}const c=new J0(i,l&&l.animations);return l&&l._cacheable&&(o[r]=Object.freeze(c)),c}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,n){return!n||yd(t)||this.chart._animationsDisabled}_getSharedOptions(t,n){const s=this.resolveDataElementOptions(t,n),i=this._sharedOptions,o=this.getSharedOptions(s),r=this.includeOptions(n,o)||o!==i;return this.updateSharedOptions(o,n,s),{sharedOptions:o,includeOptions:r}}updateElement(t,n,s,i){yd(i)?Object.assign(t,s):this._resolveAnimations(n,i).update(t,s)}updateSharedOptions(t,n,s){t&&!yd(n)&&this._resolveAnimations(void 0,n).update(t,s)}_setStyle(t,n,s,i){t.active=i;const o=this.getStyle(n,i);this._resolveAnimations(n,s,i).update(t,{options:!i&&this.getSharedOptions(o)||o})}removeHoverStyle(t,n,s){this._setStyle(t,s,"active",!1)}setHoverStyle(t,n,s){this._setStyle(t,s,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const n=this._data,s=this._cachedMeta.data;for(const[a,l,c]of this._syncList)this[a](l,c);this._syncList=[];const i=s.length,o=n.length,r=Math.min(o,i);r&&this.parse(0,r),o>i?this._insertElements(i,o-i,t):o{for(c.length+=n,a=c.length-1;a>=r;a--)c[a]=c[a-n]};for(l(o),a=t;ai-o))}return e._cache.$bar}function nV(e){const t=e.iScale,n=tV(t,e.type);let s=t._length,i,o,r,a;const l=()=>{r===32767||r===-32768||(qa(a)&&(s=Math.min(s,Math.abs(r-a)||s)),a=r)};for(i=0,o=n.length;i0?i[e-1]:null,a=eMath.abs(a)&&(l=a,c=r),t[n.axis]=c,t._custom={barStart:l,barEnd:c,start:i,end:o,min:r,max:a}}function Q0(e,t,n,s){return bt(e)?oV(e,t,n,s):t[n.axis]=n.parse(e,s),t}function __(e,t,n,s){const i=e.iScale,o=e.vScale,r=i.getLabels(),a=i===o,l=[];let c,u,d,f;for(c=n,u=n+s;c=n?1:-1)}function aV(e){let t,n,s,i,o;return e.horizontal?(t=e.base>e.x,n="left",s="right"):(t=e.basel.controller.options.grouped),o=s.options.stacked,r=[],a=l=>{const c=l.controller.getParsed(n),u=c&&c[l.vScale.axis];if(ot(u)||isNaN(u))return!0};for(const l of i)if(!(n!==void 0&&a(l))&&((o===!1||r.indexOf(l.stack)===-1||o===void 0&&l.stack===void 0)&&r.push(l.stack),l.index===t))break;return r.length||r.push(void 0),r}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,n,s){const i=this._getStacks(t,s),o=n!==void 0?i.indexOf(n):-1;return o===-1?i.length-1:o}_getRuler(){const t=this.options,n=this._cachedMeta,s=n.iScale,i=[];let o,r;for(o=0,r=n.data.length;o=0;--s)n=Math.max(n,t[s].size(this.resolveDataElementOptions(s))/2);return n>0&&n}getLabelAndValue(t){const n=this._cachedMeta,s=this.chart.data.labels||[],{xScale:i,yScale:o}=n,r=this.getParsed(t),a=i.getLabelForValue(r.x),l=o.getLabelForValue(r.y),c=r._custom;return{label:s[t]||"",value:"("+a+", "+l+(c?", "+c:"")+")"}}update(t){const n=this._cachedMeta.data;this.updateElements(n,0,n.length,t)}updateElements(t,n,s,i){const o=i==="reset",{iScale:r,vScale:a}=this._cachedMeta,{sharedOptions:l,includeOptions:c}=this._getSharedOptions(n,i),u=r.axis,d=a.axis;for(let f=n;fGa(A,a,l,!0)?1:Math.max(T,T*n,k,k*n),g=(A,T,k)=>Ga(A,a,l,!0)?-1:Math.min(T,T*n,k,k*n),_=p(0,c,d),b=p(Lt,u,f),w=g(wt,c,d),$=g(wt+Lt,u,f);s=(_-w)/2,i=(b-$)/2,o=-(_+w)/2,r=-(b+$)/2}return{ratioX:s,ratioY:i,offsetX:o,offsetY:r}}class or extends us{constructor(t,n){super(t,n),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,n){const s=this.getDataset().data,i=this._cachedMeta;if(this._parsing===!1)i._parsed=s;else{let o=l=>+s[l];if(st(s[t])){const{key:l="value"}=this._parsing;o=c=>+Fi(s[c],l)}let r,a;for(r=t,a=t+n;r0&&!isNaN(t)?yt*(Math.abs(t)/n):0}getLabelAndValue(t){const n=this._cachedMeta,s=this.chart,i=s.data.labels||[],o=dl(n._parsed[t],s.options.locale);return{label:i[t]||"",value:o}}getMaxBorderWidth(t){let n=0;const s=this.chart;let i,o,r,a,l;if(!t){for(i=0,o=s.data.datasets.length;it!=="spacing",_indexable:t=>t!=="spacing"&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")}),le(or,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const n=t.data;if(n.labels.length&&n.datasets.length){const{labels:{pointStyle:s,color:i}}=t.legend.options;return n.labels.map((o,r)=>{const l=t.getDatasetMeta(0).controller.getStyle(r);return{text:o,fillStyle:l.backgroundColor,strokeStyle:l.borderColor,fontColor:i,lineWidth:l.borderWidth,pointStyle:s,hidden:!t.getDataVisibility(r),index:r}})}return[]}},onClick(t,n,s){s.chart.toggleDataVisibility(n.index),s.chart.update()}}}});class Ta extends us{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const n=this._cachedMeta,{dataset:s,data:i=[],_dataset:o}=n,r=this.chart._animationsDisabled;let{start:a,count:l}=I0(n,i,r);this._drawStart=a,this._drawCount=l,R0(n)&&(a=0,l=i.length),s._chart=this.chart,s._datasetIndex=this.index,s._decimated=!!o._decimated,s.points=i;const c=this.resolveDatasetElementOptions(t);this.options.showLine||(c.borderWidth=0),c.segment=this.options.segment,this.updateElement(s,void 0,{animated:!r,options:c},t),this.updateElements(i,a,l,t)}updateElements(t,n,s,i){const o=i==="reset",{iScale:r,vScale:a,_stacked:l,_dataset:c}=this._cachedMeta,{sharedOptions:u,includeOptions:d}=this._getSharedOptions(n,i),f=r.axis,p=a.axis,{spanGaps:g,segment:_}=this.options,b=Pr(g)?g:Number.POSITIVE_INFINITY,w=this.chart._animationsDisabled||o||i==="none",$=n+s,A=t.length;let T=n>0&&this.getParsed(n-1);for(let k=0;k=$){x.skip=!0;continue}const C=this.getParsed(k),P=ot(C[p]),E=x[f]=r.getPixelForValue(C[f],k),B=x[p]=o||P?a.getBasePixel():a.getPixelForValue(l?this.applyStack(a,C,l):C[p],k);x.skip=isNaN(E)||isNaN(B)||P,x.stop=k>0&&Math.abs(C[f]-T[f])>b,_&&(x.parsed=C,x.raw=c.data[k]),d&&(x.options=u||this.resolveDataElementOptions(k,y.active?"active":i)),w||this.updateElement(y,k,x,i),T=C}}getMaxOverflow(){const t=this._cachedMeta,n=t.dataset,s=n.options&&n.options.borderWidth||0,i=t.data||[];if(!i.length)return s;const o=i[0].size(this.resolveDataElementOptions(0)),r=i[i.length-1].size(this.resolveDataElementOptions(i.length-1));return Math.max(s,o,r)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}le(Ta,"id","line"),le(Ta,"defaults",{datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1}),le(Ta,"overrides",{scales:{_index_:{type:"category"},_value_:{type:"linear"}}});class mc extends us{constructor(t,n){super(t,n),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const n=this._cachedMeta,s=this.chart,i=s.data.labels||[],o=dl(n._parsed[t].r,s.options.locale);return{label:i[t]||"",value:o}}parseObjectData(t,n,s,i){return W0.bind(this)(t,n,s,i)}update(t){const n=this._cachedMeta.data;this._updateRadius(),this.updateElements(n,0,n.length,t)}getMinMax(){const t=this._cachedMeta,n={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach((s,i)=>{const o=this.getParsed(i).r;!isNaN(o)&&this.chart.getDataVisibility(i)&&(on.max&&(n.max=o))}),n}_updateRadius(){const t=this.chart,n=t.chartArea,s=t.options,i=Math.min(n.right-n.left,n.bottom-n.top),o=Math.max(i/2,0),r=Math.max(s.cutoutPercentage?o/100*s.cutoutPercentage:1,0),a=(o-r)/t.getVisibleDatasetCount();this.outerRadius=o-a*this.index,this.innerRadius=this.outerRadius-a}updateElements(t,n,s,i){const o=i==="reset",r=this.chart,l=r.options.animation,c=this._cachedMeta.rScale,u=c.xCenter,d=c.yCenter,f=c.getIndexAngle(0)-.5*wt;let p=f,g;const _=360/this.countVisibleElements();for(g=0;g{!isNaN(this.getParsed(i).r)&&this.chart.getDataVisibility(i)&&n++}),n}_computeAngle(t,n,s){return this.chart.getDataVisibility(t)?as(this.resolveDataElementOptions(t,n).angle||s):0}}le(mc,"id","polarArea"),le(mc,"defaults",{dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0}),le(mc,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const n=t.data;if(n.labels.length&&n.datasets.length){const{labels:{pointStyle:s,color:i}}=t.legend.options;return n.labels.map((o,r)=>{const l=t.getDatasetMeta(0).controller.getStyle(r);return{text:o,fillStyle:l.backgroundColor,strokeStyle:l.borderColor,fontColor:i,lineWidth:l.borderWidth,pointStyle:s,hidden:!t.getDataVisibility(r),index:r}})}return[]}},onClick(t,n,s){s.chart.toggleDataVisibility(n.index),s.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}});class hh extends or{}le(hh,"id","pie"),le(hh,"defaults",{cutout:0,rotation:0,circumference:360,radius:"100%"});class gc extends us{getLabelAndValue(t){const n=this._cachedMeta.vScale,s=this.getParsed(t);return{label:n.getLabels()[t],value:""+n.getLabelForValue(s[n.axis])}}parseObjectData(t,n,s,i){return W0.bind(this)(t,n,s,i)}update(t){const n=this._cachedMeta,s=n.dataset,i=n.data||[],o=n.iScale.getLabels();if(s.points=i,t!=="resize"){const r=this.resolveDatasetElementOptions(t);this.options.showLine||(r.borderWidth=0);const a={_loop:!0,_fullLoop:o.length===i.length,options:r};this.updateElement(s,void 0,a,t)}this.updateElements(i,0,i.length,t)}updateElements(t,n,s,i){const o=this._cachedMeta.rScale,r=i==="reset";for(let a=n;a0&&this.getParsed(n-1);for(let T=n;T0&&Math.abs(y[p]-A[p])>w,b&&(x.parsed=y,x.raw=c.data[T]),f&&(x.options=d||this.resolveDataElementOptions(T,k.active?"active":i)),$||this.updateElement(k,T,x,i),A=y}this.updateSharedOptions(d,i,u)}getMaxOverflow(){const t=this._cachedMeta,n=t.data||[];if(!this.options.showLine){let a=0;for(let l=n.length-1;l>=0;--l)a=Math.max(a,n[l].size(this.resolveDataElementOptions(l))/2);return a>0&&a}const s=t.dataset,i=s.options&&s.options.borderWidth||0;if(!n.length)return i;const o=n[0].size(this.resolveDataElementOptions(0)),r=n[n.length-1].size(this.resolveDataElementOptions(n.length-1));return Math.max(i,o,r)/2}}le(_c,"id","scatter"),le(_c,"defaults",{datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1}),le(_c,"overrides",{interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}});function co(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class sp{constructor(t){le(this,"options");this.options=t||{}}static override(t){Object.assign(sp.prototype,t)}init(){}formats(){return co()}parse(){return co()}format(){return co()}add(){return co()}diff(){return co()}startOf(){return co()}endOf(){return co()}}var hV={_date:sp};function fV(e,t,n,s){const{controller:i,data:o,_sorted:r}=e,a=i._cachedMeta.iScale;if(a&&t===a.axis&&t!=="r"&&r&&o.length){const l=a._reversePixels?NB:Gs;if(s){if(i._sharedOptions){const c=o[0],u=typeof c.getRange=="function"&&c.getRange(t);if(u){const d=l(o,t,n-u),f=l(o,t,n+u);return{lo:d.lo,hi:f.hi}}}}else return l(o,t,n)}return{lo:0,hi:o.length-1}}function hl(e,t,n,s,i){const o=e.getSortedVisibleDatasetMetas(),r=n[t];for(let a=0,l=o.length;a{l[r](t[n],i)&&(o.push({element:l,datasetIndex:c,index:u}),a=a||l.inRange(t.x,t.y,i))}),s&&!a?[]:o}var _V={evaluateInteractionItems:hl,modes:{index(e,t,n,s){const i=po(t,e),o=n.axis||"x",r=n.includeInvisible||!1,a=n.intersect?xd(e,i,o,s,r):kd(e,i,o,!1,s,r),l=[];return a.length?(e.getSortedVisibleDatasetMetas().forEach(c=>{const u=a[0].index,d=c.data[u];d&&!d.skip&&l.push({element:d,datasetIndex:c.index,index:u})}),l):[]},dataset(e,t,n,s){const i=po(t,e),o=n.axis||"xy",r=n.includeInvisible||!1;let a=n.intersect?xd(e,i,o,s,r):kd(e,i,o,!1,s,r);if(a.length>0){const l=a[0].datasetIndex,c=e.getDatasetMeta(l).data;a=[];for(let u=0;un.pos===t)}function w_(e,t){return e.filter(n=>Z0.indexOf(n.pos)===-1&&n.box.axis===t)}function sa(e,t){return e.sort((n,s)=>{const i=t?s:n,o=t?n:s;return i.weight===o.weight?i.index-o.index:i.weight-o.weight})}function vV(e){const t=[];let n,s,i,o,r,a;for(n=0,s=(e||[]).length;nc.box.fullSize),!0),s=sa(na(t,"left"),!0),i=sa(na(t,"right")),o=sa(na(t,"top"),!0),r=sa(na(t,"bottom")),a=w_(t,"x"),l=w_(t,"y");return{fullSize:n,leftAndTop:s.concat(o),rightAndBottom:i.concat(l).concat(r).concat(a),chartArea:na(t,"chartArea"),vertical:s.concat(i).concat(l),horizontal:o.concat(r).concat(a)}}function x_(e,t,n,s){return Math.max(e[n],t[n])+Math.max(e[s],t[s])}function e1(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function xV(e,t,n,s){const{pos:i,box:o}=n,r=e.maxPadding;if(!st(i)){n.size&&(e[i]-=n.size);const d=s[n.stack]||{size:0,count:1};d.size=Math.max(d.size,n.horizontal?o.height:o.width),n.size=d.size/d.count,e[i]+=n.size}o.getPadding&&e1(r,o.getPadding());const a=Math.max(0,t.outerWidth-x_(r,e,"left","right")),l=Math.max(0,t.outerHeight-x_(r,e,"top","bottom")),c=a!==e.w,u=l!==e.h;return e.w=a,e.h=l,n.horizontal?{same:c,other:u}:{same:u,other:c}}function kV(e){const t=e.maxPadding;function n(s){const i=Math.max(t[s]-e[s],0);return e[s]+=i,i}e.y+=n("top"),e.x+=n("left"),n("right"),n("bottom")}function SV(e,t){const n=t.maxPadding;function s(i){const o={left:0,top:0,right:0,bottom:0};return i.forEach(r=>{o[r]=Math.max(t[r],n[r])}),o}return s(e?["left","right"]:["top","bottom"])}function ua(e,t,n,s){const i=[];let o,r,a,l,c,u;for(o=0,r=e.length,c=0;o{typeof _.beforeLayout=="function"&&_.beforeLayout()});const u=l.reduce((_,b)=>b.box.options&&b.box.options.display===!1?_:_+1,0)||1,d=Object.freeze({outerWidth:t,outerHeight:n,padding:i,availableWidth:o,availableHeight:r,vBoxMaxWidth:o/2/u,hBoxMaxHeight:r/2}),f=Object.assign({},i);e1(f,fn(s));const p=Object.assign({maxPadding:f,w:o,h:r,x:i.left,y:i.top},i),g=yV(l.concat(c),d);ua(a.fullSize,p,d,g),ua(l,p,d,g),ua(c,p,d,g)&&ua(l,p,d,g),kV(p),k_(a.leftAndTop,p,d,g),p.x+=p.w,p.y+=p.h,k_(a.rightAndBottom,p,d,g),e.chartArea={left:p.left,top:p.top,right:p.left+p.w,bottom:p.top+p.h,height:p.h,width:p.w},ut(a.chartArea,_=>{const b=_.box;Object.assign(b,e.chartArea),b.update(p.w,p.h,{left:0,top:0,right:0,bottom:0})})}};class t1{acquireContext(t,n){}releaseContext(t){return!1}addEventListener(t,n,s){}removeEventListener(t,n,s){}getDevicePixelRatio(){return 1}getMaximumSize(t,n,s,i){return n=Math.max(0,n||t.width),s=s||t.height,{width:n,height:Math.max(0,i?Math.floor(n/i):s)}}isAttached(t){return!0}updateConfig(t){}}class $V extends t1{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const vc="$chartjs",AV={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},S_=e=>e===null||e==="";function CV(e,t){const n=e.style,s=e.getAttribute("height"),i=e.getAttribute("width");if(e[vc]={initial:{height:s,width:i,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",S_(i)){const o=r_(e,"width");o!==void 0&&(e.width=o)}if(S_(s))if(e.style.height==="")e.height=e.width/(t||2);else{const o=r_(e,"height");o!==void 0&&(e.height=o)}return e}const n1=M4?{passive:!0}:!1;function EV(e,t,n){e.addEventListener(t,n,n1)}function PV(e,t,n){e.canvas.removeEventListener(t,n,n1)}function MV(e,t){const n=AV[e.type]||e.type,{x:s,y:i}=po(e,t);return{type:n,chart:t,native:e,x:s!==void 0?s:null,y:i!==void 0?i:null}}function Vc(e,t){for(const n of e)if(n===t||n.contains(t))return!0}function TV(e,t,n){const s=e.canvas,i=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||Vc(a.addedNodes,s),r=r&&!Vc(a.removedNodes,s);r&&n()});return i.observe(document,{childList:!0,subtree:!0}),i}function DV(e,t,n){const s=e.canvas,i=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||Vc(a.removedNodes,s),r=r&&!Vc(a.addedNodes,s);r&&n()});return i.observe(document,{childList:!0,subtree:!0}),i}const Xa=new Map;let $_=0;function s1(){const e=window.devicePixelRatio;e!==$_&&($_=e,Xa.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function OV(e,t){Xa.size||window.addEventListener("resize",s1),Xa.set(e,t)}function IV(e){Xa.delete(e),Xa.size||window.removeEventListener("resize",s1)}function RV(e,t,n){const s=e.canvas,i=s&&np(s);if(!i)return;const o=O0((a,l)=>{const c=i.clientWidth;n(a,l),c{const l=a[0],c=l.contentRect.width,u=l.contentRect.height;c===0&&u===0||o(c,u)});return r.observe(i),OV(e,o),r}function Sd(e,t,n){n&&n.disconnect(),t==="resize"&&IV(e)}function LV(e,t,n){const s=e.canvas,i=O0(o=>{e.ctx!==null&&n(MV(o,e))},e);return EV(s,t,i),i}class NV extends t1{acquireContext(t,n){const s=t&&t.getContext&&t.getContext("2d");return s&&s.canvas===t?(CV(t,n),s):null}releaseContext(t){const n=t.canvas;if(!n[vc])return!1;const s=n[vc].initial;["height","width"].forEach(o=>{const r=s[o];ot(r)?n.removeAttribute(o):n.setAttribute(o,r)});const i=s.style||{};return Object.keys(i).forEach(o=>{n.style[o]=i[o]}),n.width=n.width,delete n[vc],!0}addEventListener(t,n,s){this.removeEventListener(t,n);const i=t.$proxies||(t.$proxies={}),r={attach:TV,detach:DV,resize:RV}[n]||LV;i[n]=r(t,n,s)}removeEventListener(t,n){const s=t.$proxies||(t.$proxies={}),i=s[n];if(!i)return;({attach:Sd,detach:Sd,resize:Sd}[n]||PV)(t,n,i),s[n]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,s,i){return P4(t,n,s,i)}isAttached(t){const n=np(t);return!!(n&&n.isConnected)}}function FV(e){return!tp()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?$V:NV}var sc;let oi=(sc=class{constructor(){le(this,"x");le(this,"y");le(this,"active",!1);le(this,"options");le(this,"$animations")}tooltipPosition(t){const{x:n,y:s}=this.getProps(["x","y"],t);return{x:n,y:s}}hasValue(){return Pr(this.x)&&Pr(this.y)}getProps(t,n){const s=this.$animations;if(!n||!s)return this;const i={};return t.forEach(o=>{i[o]=s[o]&&s[o].active()?s[o]._to:this[o]}),i}},le(sc,"defaults",{}),le(sc,"defaultRoutes"),sc);function BV(e,t){const n=e.options.ticks,s=VV(e),i=Math.min(n.maxTicksLimit||s,s),o=n.major.enabled?jV(t):[],r=o.length,a=o[0],l=o[r-1],c=[];if(r>i)return WV(t,c,o,r/i),c;const u=HV(o,t,i);if(r>0){let d,f;const p=r>1?Math.round((l-a)/(r-1)):null;for(ql(t,c,u,ot(p)?0:a-p,a),d=0,f=r-1;di)return l}return Math.max(i,1)}function jV(e){const t=[];let n,s;for(n=0,s=e.length;ne==="left"?"right":e==="right"?"left":e,A_=(e,t,n)=>t==="top"||t==="left"?e[t]+n:e[t]-n,C_=(e,t)=>Math.min(t||e,e);function E_(e,t){const n=[],s=e.length/t,i=e.length;let o=0;for(;or+a)))return l}function KV(e,t){ut(e,n=>{const s=n.gc,i=s.length/2;let o;if(i>t){for(o=0;os?s:n,s=i&&n>s?n:s,{min:Mn(n,Mn(s,n)),max:Mn(s,Mn(n,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){pt(this.options.beforeUpdate,[this])}update(t,n,s){const{beginAtZero:i,grace:o,ticks:r}=this.options,a=r.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=n,this._margins=s=Object.assign({left:0,right:0,top:0,bottom:0},s),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+s.left+s.right:this.height+s.top+s.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=a4(this,o,i),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const l=a=o||s<=1||!this.isHorizontal()){this.labelRotation=i;return}const u=this._getLabelSizes(),d=u.widest.width,f=u.highest.height,p=en(this.chart.width-d,0,this.maxWidth);a=t.offset?this.maxWidth/s:p/(s-1),d+6>a&&(a=p/(s-(t.offset?.5:1)),l=this.maxHeight-ia(t.grid)-n.padding-P_(t.title,this.chart.options.font),c=Math.sqrt(d*d+f*f),r=Kf(Math.min(Math.asin(en((u.highest.height+6)/a,-1,1)),Math.asin(en(l/c,-1,1))-Math.asin(en(f/c,-1,1)))),r=Math.max(i,Math.min(o,r))),this.labelRotation=r}afterCalculateLabelRotation(){pt(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){pt(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:n,options:{ticks:s,title:i,grid:o}}=this,r=this._isVisible(),a=this.isHorizontal();if(r){const l=P_(i,n.options.font);if(a?(t.width=this.maxWidth,t.height=ia(o)+l):(t.height=this.maxHeight,t.width=ia(o)+l),s.display&&this.ticks.length){const{first:c,last:u,widest:d,highest:f}=this._getLabelSizes(),p=s.padding*2,g=as(this.labelRotation),_=Math.cos(g),b=Math.sin(g);if(a){const w=s.mirror?0:b*d.width+_*f.height;t.height=Math.min(this.maxHeight,t.height+w+p)}else{const w=s.mirror?0:_*d.width+b*f.height;t.width=Math.min(this.maxWidth,t.width+w+p)}this._calculatePadding(c,u,b,_)}}this._handleMargins(),a?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,n,s,i){const{ticks:{align:o,padding:r},position:a}=this.options,l=this.labelRotation!==0,c=a!=="top"&&this.axis==="x";if(this.isHorizontal()){const u=this.getPixelForTick(0)-this.left,d=this.right-this.getPixelForTick(this.ticks.length-1);let f=0,p=0;l?c?(f=i*t.width,p=s*n.height):(f=s*t.height,p=i*n.width):o==="start"?p=n.width:o==="end"?f=t.width:o!=="inner"&&(f=t.width/2,p=n.width/2),this.paddingLeft=Math.max((f-u+r)*this.width/(this.width-u),0),this.paddingRight=Math.max((p-d+r)*this.width/(this.width-d),0)}else{let u=n.height/2,d=t.height/2;o==="start"?(u=0,d=t.height):o==="end"&&(u=n.height,d=0),this.paddingTop=u+r,this.paddingBottom=d+r}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){pt(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:n}=this.options;return n==="top"||n==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let n,s;for(n=0,s=t.length;n({width:r[P]||0,height:a[P]||0});return{first:C(0),last:C(n-1),widest:C(y),highest:C(x),widths:r,heights:a}}getLabelForValue(t){return t}getPixelForValue(t,n){return NaN}getValueForPixel(t){}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const n=this._startPixel+t*this._length;return LB(this._alignToPixels?lo(this.chart,n,0):n)}getDecimalForPixel(t){const n=(t-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:n}=this;return t<0&&n<0?n:t>0&&n>0?t:0}getContext(t){const n=this.ticks||[];if(t>=0&&ta*i?a/s:l/i:l*i0}_computeGridLineItems(t){const n=this.axis,s=this.chart,i=this.options,{grid:o,position:r,border:a}=i,l=o.offset,c=this.isHorizontal(),d=this.ticks.length+(l?1:0),f=ia(o),p=[],g=a.setContext(this.getContext()),_=g.display?g.width:0,b=_/2,w=function(I){return lo(s,I,_)};let $,A,T,k,y,x,C,P,E,B,G,ae;if(r==="top")$=w(this.bottom),x=this.bottom-f,P=$-b,B=w(t.top)+b,ae=t.bottom;else if(r==="bottom")$=w(this.top),B=t.top,ae=w(t.bottom)-b,x=$+b,P=this.top+f;else if(r==="left")$=w(this.right),y=this.right-f,C=$-b,E=w(t.left)+b,G=t.right;else if(r==="right")$=w(this.left),E=t.left,G=w(t.right)-b,y=$+b,C=this.left+f;else if(n==="x"){if(r==="center")$=w((t.top+t.bottom)/2+.5);else if(st(r)){const I=Object.keys(r)[0],V=r[I];$=w(this.chart.scales[I].getPixelForValue(V))}B=t.top,ae=t.bottom,x=$+b,P=x+f}else if(n==="y"){if(r==="center")$=w((t.left+t.right)/2);else if(st(r)){const I=Object.keys(r)[0],V=r[I];$=w(this.chart.scales[I].getPixelForValue(V))}y=$-b,C=y-f,E=t.left,G=t.right}const Y=Ge(i.ticks.maxTicksLimit,d),L=Math.max(1,Math.ceil(d/Y));for(A=0;A0&&(oe-=R/2);break}we={left:oe,top:ee,width:R+U.width,height:X+U.height,color:L.backdropColor}}b.push({label:T,font:P,textOffset:G,options:{rotation:_,color:V,strokeColor:Q,strokeWidth:Z,textAlign:ce,textBaseline:ae,translation:[k,y],backdrop:we}})}return b}_getXAxisLabelAlignment(){const{position:t,ticks:n}=this.options;if(-as(this.labelRotation))return t==="top"?"left":"right";let i="center";return n.align==="start"?i="left":n.align==="end"?i="right":n.align==="inner"&&(i="inner"),i}_getYAxisLabelAlignment(t){const{position:n,ticks:{crossAlign:s,mirror:i,padding:o}}=this.options,r=this._getLabelSizes(),a=t+o,l=r.widest.width;let c,u;return n==="left"?i?(u=this.right+o,s==="near"?c="left":s==="center"?(c="center",u+=l/2):(c="right",u+=l)):(u=this.right-a,s==="near"?c="right":s==="center"?(c="center",u-=l/2):(c="left",u=this.left)):n==="right"?i?(u=this.left+o,s==="near"?c="right":s==="center"?(c="center",u-=l/2):(c="left",u-=l)):(u=this.left+a,s==="near"?c="left":s==="center"?(c="center",u+=l/2):(c="right",u=this.right)):c="right",{textAlign:c,x:u}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,n=this.options.position;if(n==="left"||n==="right")return{top:0,left:this.left,bottom:t.height,right:this.right};if(n==="top"||n==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:t.width}}drawBackground(){const{ctx:t,options:{backgroundColor:n},left:s,top:i,width:o,height:r}=this;n&&(t.save(),t.fillStyle=n,t.fillRect(s,i,o,r),t.restore())}getLineWidthForValue(t){const n=this.options.grid;if(!this._isVisible()||!n.display)return 0;const i=this.ticks.findIndex(o=>o.value===t);return i>=0?n.setContext(this.getContext(i)).lineWidth:0}drawGrid(t){const n=this.options.grid,s=this.ctx,i=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let o,r;const a=(l,c,u)=>{!u.width||!u.color||(s.save(),s.lineWidth=u.width,s.strokeStyle=u.color,s.setLineDash(u.borderDash||[]),s.lineDashOffset=u.borderDashOffset,s.beginPath(),s.moveTo(l.x,l.y),s.lineTo(c.x,c.y),s.stroke(),s.restore())};if(n.display)for(o=0,r=i.length;o{this.draw(o)}}]:[{z:s,draw:o=>{this.drawBackground(),this.drawGrid(o),this.drawTitle()}},{z:i,draw:()=>{this.drawBorder()}},{z:n,draw:o=>{this.drawLabels(o)}}]}getMatchingVisibleMetas(t){const n=this.chart.getSortedVisibleDatasetMetas(),s=this.axis+"AxisID",i=[];let o,r;for(o=0,r=n.length;o{const s=n.split("."),i=s.pop(),o=[e].concat(s).join("."),r=t[n].split("."),a=r.pop(),l=r.join(".");Pt.route(o,i,l,a)})}function e6(e){return"id"in e&&"defaults"in e}class t6{constructor(){this.controllers=new Gl(us,"datasets",!0),this.elements=new Gl(oi,"elements"),this.plugins=new Gl(Object,"plugins"),this.scales=new Gl(Fo,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,n,s){[...n].forEach(i=>{const o=s||this._getRegistryForType(i);s||o.isForType(i)||o===this.plugins&&i.id?this._exec(t,o,i):ut(i,r=>{const a=s||this._getRegistryForType(r);this._exec(t,a,r)})})}_exec(t,n,s){const i=Uf(t);pt(s["before"+i],[],s),n[t](s),pt(s["after"+i],[],s)}_getRegistryForType(t){for(let n=0;no.filter(a=>!r.some(l=>a.plugin.id===l.plugin.id));this._notify(i(n,s),t,"stop"),this._notify(i(s,n),t,"start")}}function s6(e){const t={},n=[],s=Object.keys(bs.plugins.items);for(let o=0;o1&&M_(e[0].toLowerCase());if(s)return s}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function T_(e,t,n){if(n[t+"AxisID"]===e)return{axis:t}}function u6(e,t){if(t.data&&t.data.datasets){const n=t.data.datasets.filter(s=>s.xAxisID===e||s.yAxisID===e);if(n.length)return T_(e,"x",n[0])||T_(e,"y",n[0])}return{}}function d6(e,t){const n=To[e.type]||{scales:{}},s=t.scales||{},i=fh(e.type,t),o=Object.create(null);return Object.keys(s).forEach(r=>{const a=s[r];if(!st(a))return console.error(`Invalid scale configuration for scale: ${r}`);if(a._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${r}`);const l=ph(r,a,u6(r,e),Pt.scales[a.type]),c=l6(l,i),u=n.scales||{};o[r]=Aa(Object.create(null),[{axis:l},a,u[l],u[c]])}),e.data.datasets.forEach(r=>{const a=r.type||e.type,l=r.indexAxis||fh(a,t),u=(To[a]||{}).scales||{};Object.keys(u).forEach(d=>{const f=a6(d,l),p=r[f+"AxisID"]||f;o[p]=o[p]||Object.create(null),Aa(o[p],[{axis:f},s[p],u[d]])})}),Object.keys(o).forEach(r=>{const a=o[r];Aa(a,[Pt.scales[a.type],Pt.scale])}),o}function i1(e){const t=e.options||(e.options={});t.plugins=Ge(t.plugins,{}),t.scales=d6(e,t)}function o1(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function h6(e){return e=e||{},e.data=o1(e.data),i1(e),e}const D_=new Map,r1=new Set;function Jl(e,t){let n=D_.get(e);return n||(n=t(),D_.set(e,n),r1.add(n)),n}const oa=(e,t,n)=>{const s=Fi(t,n);s!==void 0&&e.add(s)};let f6=class{constructor(t){this._config=h6(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=o1(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),i1(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Jl(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,n){return Jl(`${t}.transition.${n}`,()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,n){return Jl(`${t}-${n}`,()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]])}pluginScopeKeys(t){const n=t.id,s=this.type;return Jl(`${s}-plugin-${n}`,()=>[[`plugins.${n}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,n){const s=this._scopeCache;let i=s.get(t);return(!i||n)&&(i=new Map,s.set(t,i)),i}getOptionScopes(t,n,s){const{options:i,type:o}=this,r=this._cachedScopes(t,s),a=r.get(n);if(a)return a;const l=new Set;n.forEach(u=>{t&&(l.add(t),u.forEach(d=>oa(l,t,d))),u.forEach(d=>oa(l,i,d)),u.forEach(d=>oa(l,To[o]||{},d)),u.forEach(d=>oa(l,Pt,d)),u.forEach(d=>oa(l,uh,d))});const c=Array.from(l);return c.length===0&&c.push(Object.create(null)),r1.has(n)&&r.set(n,c),c}chartOptionScopes(){const{options:t,type:n}=this;return[t,To[n]||{},Pt.datasets[n]||{},{type:n},Pt,uh]}resolveNamedOptions(t,n,s,i=[""]){const o={$shared:!0},{resolver:r,subPrefixes:a}=O_(this._resolverCache,t,i);let l=r;if(m6(r,n)){o.$shared=!1,s=Bi(s)?s():s;const c=this.createResolver(t,s,a);l=Mr(r,s,c)}for(const c of n)o[c]=l[c];return o}createResolver(t,n,s=[""],i){const{resolver:o}=O_(this._resolverCache,t,s);return st(n)?Mr(o,n,void 0,i):o}};function O_(e,t,n){let s=e.get(t);s||(s=new Map,e.set(t,s));const i=n.join();let o=s.get(i);return o||(o={resolver:Qf(t,n),subPrefixes:n.filter(a=>!a.toLowerCase().includes("hover"))},s.set(i,o)),o}const p6=e=>st(e)&&Object.getOwnPropertyNames(e).some(t=>Bi(e[t]));function m6(e,t){const{isScriptable:n,isIndexable:s}=B0(e);for(const i of t){const o=n(i),r=s(i),a=(r||o)&&e[i];if(o&&(Bi(a)||p6(a))||r&&bt(a))return!0}return!1}var g6="4.4.1";const _6=["top","bottom","left","right","chartArea"];function I_(e,t){return e==="top"||e==="bottom"||_6.indexOf(e)===-1&&t==="x"}function R_(e,t){return function(n,s){return n[e]===s[e]?n[t]-s[t]:n[e]-s[e]}}function L_(e){const t=e.chart,n=t.options.animation;t.notifyPlugins("afterRender"),pt(n&&n.onComplete,[e],t)}function v6(e){const t=e.chart,n=t.options.animation;pt(n&&n.onProgress,[e],t)}function a1(e){return tp()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const bc={},N_=e=>{const t=a1(e);return Object.values(bc).filter(n=>n.canvas===t).pop()};function b6(e,t,n){const s=Object.keys(e);for(const i of s){const o=+i;if(o>=t){const r=e[i];delete e[i],(n>0||o>t)&&(e[o+n]=r)}}}function y6(e,t,n,s){return!n||e.type==="mouseout"?null:s?t:e}function Xl(e,t,n){return e.options.clip?e[n]:t[n]}function w6(e,t){const{xScale:n,yScale:s}=e;return n&&s?{left:Xl(n,t,"left"),right:Xl(n,t,"right"),top:Xl(s,t,"top"),bottom:Xl(s,t,"bottom")}:t}var pi;let xu=(pi=class{static register(...t){bs.add(...t),F_()}static unregister(...t){bs.remove(...t),F_()}constructor(t,n){const s=this.config=new f6(n),i=a1(t),o=N_(i);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const r=s.createResolver(s.chartOptionScopes(),this.getContext());this.platform=new(s.platform||FV(i)),this.platform.updateConfig(s);const a=this.platform.acquireContext(i,r.aspectRatio),l=a&&a.canvas,c=l&&l.height,u=l&&l.width;if(this.id=SB(),this.ctx=a,this.canvas=l,this.width=u,this.height=c,this._options=r,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new n6,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=VB(d=>this.update(d),r.resizeDelay||0),this._dataChanges=[],bc[this.id]=this,!a||!l){console.error("Failed to create chart: can't acquire context from the given item");return}Hs.listen(this,"complete",L_),Hs.listen(this,"progress",v6),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:n},width:s,height:i,_aspectRatio:o}=this;return ot(t)?n&&o?o:i?s/i:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return bs}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():o_(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return n_(this.canvas,this.ctx),this}stop(){return Hs.stop(this),this}resize(t,n){Hs.running(this)?this._resizeBeforeDraw={width:t,height:n}:this._resize(t,n)}_resize(t,n){const s=this.options,i=this.canvas,o=s.maintainAspectRatio&&this.aspectRatio,r=this.platform.getMaximumSize(i,t,n,o),a=s.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=r.width,this.height=r.height,this._aspectRatio=this.aspectRatio,o_(this,a,!0)&&(this.notifyPlugins("resize",{size:r}),pt(s.onResize,[this,r],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){const n=this.options.scales||{};ut(n,(s,i)=>{s.id=i})}buildOrUpdateScales(){const t=this.options,n=t.scales,s=this.scales,i=Object.keys(s).reduce((r,a)=>(r[a]=!1,r),{});let o=[];n&&(o=o.concat(Object.keys(n).map(r=>{const a=n[r],l=ph(r,a),c=l==="r",u=l==="x";return{options:a,dposition:c?"chartArea":u?"bottom":"left",dtype:c?"radialLinear":u?"category":"linear"}}))),ut(o,r=>{const a=r.options,l=a.id,c=ph(l,a),u=Ge(a.type,r.dtype);(a.position===void 0||I_(a.position,c)!==I_(r.dposition))&&(a.position=r.dposition),i[l]=!0;let d=null;if(l in s&&s[l].type===u)d=s[l];else{const f=bs.getScale(u);d=new f({id:l,type:u,ctx:this.ctx,chart:this}),s[d.id]=d}d.init(a,t)}),ut(i,(r,a)=>{r||delete s[a]}),ut(s,r=>{Gn.configure(this,r,r.options),Gn.addBox(this,r)})}_updateMetasets(){const t=this._metasets,n=this.data.datasets.length,s=t.length;if(t.sort((i,o)=>i.index-o.index),s>n){for(let i=n;in.length&&delete this._stacks,t.forEach((s,i)=>{n.filter(o=>o===s._dataset).length===0&&this._destroyDatasetMeta(i)})}buildOrUpdateControllers(){const t=[],n=this.data.datasets;let s,i;for(this._removeUnreferencedMetasets(),s=0,i=n.length;s{this.getDatasetMeta(n).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const n=this.config;n.update();const s=this._options=n.createResolver(n.chartOptionScopes(),this.getContext()),i=this._animationsDisabled=!s.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const o=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let r=0;for(let c=0,u=this.data.datasets.length;c{c.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(R_("z","_idx"));const{_active:a,_lastEvent:l}=this;l?this._eventHandler(l,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){ut(this.scales,t=>{Gn.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,n=new Set(Object.keys(this._listeners)),s=new Set(t.events);(!Kg(n,s)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,n=this._getUniformDataChanges()||[];for(const{method:s,start:i,count:o}of n){const r=s==="_removeElements"?-o:o;b6(t,i,r)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const n=this.data.datasets.length,s=o=>new Set(t.filter(r=>r[0]===o).map((r,a)=>a+","+r.splice(1).join(","))),i=s(0);for(let o=1;oo.split(",")).map(o=>({method:o[1],start:+o[2],count:+o[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;Gn.update(this,this.width,this.height,t);const n=this.chartArea,s=n.width<=0||n.height<=0;this._layers=[],ut(this.boxes,i=>{s&&i.position==="chartArea"||(i.configure&&i.configure(),this._layers.push(...i._layers()))},this),this._layers.forEach((i,o)=>{i._idx=o}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let n=0,s=this.data.datasets.length;n=0;--n)this._drawDataset(t[n]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const n=this.ctx,s=t._clip,i=!s.disabled,o=w6(t,this.chartArea),r={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",r)!==!1&&(i&&bu(n,{left:s.left===!1?0:o.left-s.left,right:s.right===!1?this.width:o.right+s.right,top:s.top===!1?0:o.top-s.top,bottom:s.bottom===!1?this.height:o.bottom+s.bottom}),t.controller.draw(),i&&yu(n),r.cancelable=!1,this.notifyPlugins("afterDatasetDraw",r))}isPointInArea(t){return Js(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,n,s,i){const o=_V.modes[n];return typeof o=="function"?o(this,t,s,i):[]}getDatasetMeta(t){const n=this.data.datasets[t],s=this._metasets;let i=s.filter(o=>o&&o._dataset===n).pop();return i||(i={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n&&n.order||0,index:t,_dataset:n,_parsed:[],_sorted:!1},s.push(i)),i}getContext(){return this.$context||(this.$context=Ki(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const n=this.data.datasets[t];if(!n)return!1;const s=this.getDatasetMeta(t);return typeof s.hidden=="boolean"?!s.hidden:!n.hidden}setDatasetVisibility(t,n){const s=this.getDatasetMeta(t);s.hidden=!n}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,n,s){const i=s?"show":"hide",o=this.getDatasetMeta(t),r=o.controller._resolveAnimations(void 0,i);qa(n)?(o.data[n].hidden=!s,this.update()):(this.setDatasetVisibility(t,s),r.update(o,{visible:s}),this.update(a=>a.datasetIndex===t?i:void 0))}hide(t,n){this._updateVisibility(t,n,!1)}show(t,n){this._updateVisibility(t,n,!0)}_destroyDatasetMeta(t){const n=this._metasets[t];n&&n.controller&&n.controller._destroy(),delete this._metasets[t]}_stop(){let t,n;for(this.stop(),Hs.remove(this),t=0,n=this.data.datasets.length;t{n.addEventListener(this,o,r),t[o]=r},i=(o,r,a)=>{o.offsetX=r,o.offsetY=a,this._eventHandler(o)};ut(this.options.events,o=>s(o,i))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,n=this.platform,s=(l,c)=>{n.addEventListener(this,l,c),t[l]=c},i=(l,c)=>{t[l]&&(n.removeEventListener(this,l,c),delete t[l])},o=(l,c)=>{this.canvas&&this.resize(l,c)};let r;const a=()=>{i("attach",a),this.attached=!0,this.resize(),s("resize",o),s("detach",r)};r=()=>{this.attached=!1,i("resize",o),this._stop(),this._resize(0,0),s("attach",a)},n.isAttached(this.canvas)?a():r()}unbindEvents(){ut(this._listeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._listeners={},ut(this._responsiveListeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,n,s){const i=s?"set":"remove";let o,r,a,l;for(n==="dataset"&&(o=this.getDatasetMeta(t[0].datasetIndex),o.controller["_"+i+"DatasetHoverStyle"]()),a=0,l=t.length;a{const a=this.getDatasetMeta(o);if(!a)throw new Error("No dataset found at index "+o);return{datasetIndex:o,element:a.data[r],index:r}});!Rc(s,n)&&(this._active=s,this._lastEvent=null,this._updateHoverStyles(s,n))}notifyPlugins(t,n,s){return this._plugins.notify(this,t,n,s)}isPluginEnabled(t){return this._plugins._cache.filter(n=>n.plugin.id===t).length===1}_updateHoverStyles(t,n,s){const i=this.options.hover,o=(l,c)=>l.filter(u=>!c.some(d=>u.datasetIndex===d.datasetIndex&&u.index===d.index)),r=o(n,t),a=s?t:o(t,n);r.length&&this.updateHoverStyle(r,i.mode,!1),a.length&&i.mode&&this.updateHoverStyle(a,i.mode,!0)}_eventHandler(t,n){const s={event:t,replay:n,cancelable:!0,inChartArea:this.isPointInArea(t)},i=r=>(r.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",s,i)===!1)return;const o=this._handleEvent(t,n,s.inChartArea);return s.cancelable=!1,this.notifyPlugins("afterEvent",s,i),(o||s.changed)&&this.render(),this}_handleEvent(t,n,s){const{_active:i=[],options:o}=this,r=n,a=this._getActiveElements(t,i,s,r),l=MB(t),c=y6(t,this._lastEvent,s,l);s&&(this._lastEvent=null,pt(o.onHover,[t,a,this],this),l&&pt(o.onClick,[t,a,this],this));const u=!Rc(a,i);return(u||n)&&(this._active=a,this._updateHoverStyles(a,i,n)),this._lastEvent=c,u}_getActiveElements(t,n,s,i){if(t.type==="mouseout")return[];if(!s)return n;const o=this.options.hover;return this.getElementsAtEventForMode(t,o.mode,o,i)}},le(pi,"defaults",Pt),le(pi,"instances",bc),le(pi,"overrides",To),le(pi,"registry",bs),le(pi,"version",g6),le(pi,"getChart",N_),pi);function F_(){return ut(xu.instances,e=>e._plugins.invalidate())}function x6(e,t,n){const{startAngle:s,pixelMargin:i,x:o,y:r,outerRadius:a,innerRadius:l}=t;let c=i/a;e.beginPath(),e.arc(o,r,a,s-c,n+c),l>i?(c=i/l,e.arc(o,r,l,n+c,s-c,!0)):e.arc(o,r,i,n+Lt,s-Lt),e.closePath(),e.clip()}function k6(e){return Xf(e,["outerStart","outerEnd","innerStart","innerEnd"])}function S6(e,t,n,s){const i=k6(e.options.borderRadius),o=(n-t)/2,r=Math.min(o,s*t/2),a=l=>{const c=(n-Math.min(o,l))*s/2;return en(l,0,Math.min(o,c))};return{outerStart:a(i.outerStart),outerEnd:a(i.outerEnd),innerStart:en(i.innerStart,0,r),innerEnd:en(i.innerEnd,0,r)}}function Zo(e,t,n,s){return{x:n+e*Math.cos(t),y:s+e*Math.sin(t)}}function Hc(e,t,n,s,i,o){const{x:r,y:a,startAngle:l,pixelMargin:c,innerRadius:u}=t,d=Math.max(t.outerRadius+s+n-c,0),f=u>0?u+s+n+c:0;let p=0;const g=i-l;if(s){const L=u>0?u-s:0,I=d>0?d-s:0,V=(L+I)/2,Q=V!==0?g*V/(V+s):g;p=(g-Q)/2}const _=Math.max(.001,g*d-n/wt)/d,b=(g-_)/2,w=l+b+p,$=i-b-p,{outerStart:A,outerEnd:T,innerStart:k,innerEnd:y}=S6(t,f,d,$-w),x=d-A,C=d-T,P=w+A/x,E=$-T/C,B=f+k,G=f+y,ae=w+k/B,Y=$-y/G;if(e.beginPath(),o){const L=(P+E)/2;if(e.arc(r,a,d,P,L),e.arc(r,a,d,L,E),T>0){const Z=Zo(C,E,r,a);e.arc(Z.x,Z.y,T,E,$+Lt)}const I=Zo(G,$,r,a);if(e.lineTo(I.x,I.y),y>0){const Z=Zo(G,Y,r,a);e.arc(Z.x,Z.y,y,$+Lt,Y+Math.PI)}const V=($-y/f+(w+k/f))/2;if(e.arc(r,a,f,$-y/f,V,!0),e.arc(r,a,f,V,w+k/f,!0),k>0){const Z=Zo(B,ae,r,a);e.arc(Z.x,Z.y,k,ae+Math.PI,w-Lt)}const Q=Zo(x,w,r,a);if(e.lineTo(Q.x,Q.y),A>0){const Z=Zo(x,P,r,a);e.arc(Z.x,Z.y,A,w-Lt,P)}}else{e.moveTo(r,a);const L=Math.cos(P)*d+r,I=Math.sin(P)*d+a;e.lineTo(L,I);const V=Math.cos(E)*d+r,Q=Math.sin(E)*d+a;e.lineTo(V,Q)}e.closePath()}function $6(e,t,n,s,i){const{fullCircles:o,startAngle:r,circumference:a}=t;let l=t.endAngle;if(o){Hc(e,t,n,s,l,i);for(let c=0;c=yt||Ga(r,l,c),b=qs(a,u+p,d+p);return _&&b}getCenterPoint(n){const{x:s,y:i,startAngle:o,endAngle:r,innerRadius:a,outerRadius:l}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],n),{offset:c,spacing:u}=this.options,d=(o+r)/2,f=(a+l+u+c)/2;return{x:s+Math.cos(d)*f,y:i+Math.sin(d)*f}}tooltipPosition(n){return this.getCenterPoint(n)}draw(n){const{options:s,circumference:i}=this,o=(s.offset||0)/4,r=(s.spacing||0)/2,a=s.circular;if(this.pixelMargin=s.borderAlign==="inner"?.33:0,this.fullCircles=i>yt?Math.floor(i/yt):0,i===0||this.innerRadius<0||this.outerRadius<0)return;n.save();const l=(this.startAngle+this.endAngle)/2;n.translate(Math.cos(l)*o,Math.sin(l)*o);const c=1-Math.sin(Math.min(wt,i||0)),u=o*c;n.fillStyle=s.backgroundColor,n.strokeStyle=s.borderColor,$6(n,this,u,r,a),A6(n,this,u,r,a),n.restore()}}le(da,"id","arc"),le(da,"defaults",{borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0}),le(da,"defaultRoutes",{backgroundColor:"backgroundColor"}),le(da,"descriptors",{_scriptable:!0,_indexable:n=>n!=="borderDash"});function l1(e,t,n=t){e.lineCap=Ge(n.borderCapStyle,t.borderCapStyle),e.setLineDash(Ge(n.borderDash,t.borderDash)),e.lineDashOffset=Ge(n.borderDashOffset,t.borderDashOffset),e.lineJoin=Ge(n.borderJoinStyle,t.borderJoinStyle),e.lineWidth=Ge(n.borderWidth,t.borderWidth),e.strokeStyle=Ge(n.borderColor,t.borderColor)}function C6(e,t,n){e.lineTo(n.x,n.y)}function E6(e){return e.stepped?QB:e.tension||e.cubicInterpolationMode==="monotone"?ZB:C6}function c1(e,t,n={}){const s=e.length,{start:i=0,end:o=s-1}=n,{start:r,end:a}=t,l=Math.max(i,r),c=Math.min(o,a),u=ia&&o>a;return{count:s,start:l,loop:t.loop,ilen:c(r+(c?a-T:T))%o,A=()=>{_!==b&&(e.lineTo(u,b),e.lineTo(u,_),e.lineTo(u,w))};for(l&&(p=i[$(0)],e.moveTo(p.x,p.y)),f=0;f<=a;++f){if(p=i[$(f)],p.skip)continue;const T=p.x,k=p.y,y=T|0;y===g?(k<_?_=k:k>b&&(b=k),u=(d*u+T)/++d):(A(),e.lineTo(T,k),g=y,d=0,_=b=k),w=k}A()}function mh(e){const t=e.options,n=t.borderDash&&t.borderDash.length;return!e._decimated&&!e._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!n?M6:P6}function T6(e){return e.stepped?T4:e.tension||e.cubicInterpolationMode==="monotone"?D4:mo}function D6(e,t,n,s){let i=t._path;i||(i=t._path=new Path2D,t.path(i,n,s)&&i.closePath()),l1(e,t.options),e.stroke(i)}function O6(e,t,n,s){const{segments:i,options:o}=t,r=mh(t);for(const a of i)l1(e,o,a.style),e.beginPath(),r(e,t,a,{start:n,end:n+s-1})&&e.closePath(),e.stroke()}const I6=typeof Path2D=="function";function R6(e,t,n,s){I6&&!t.options.segment?D6(e,t,n,s):O6(e,t,n,s)}class Ai extends oi{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,n){const s=this.options;if((s.tension||s.cubicInterpolationMode==="monotone")&&!s.stepped&&!this._pointsUpdated){const i=s.spanGaps?this._loop:this._fullLoop;k4(this._points,s,t,i,n),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=F4(this,this.options.segment))}first(){const t=this.segments,n=this.points;return t.length&&n[t[0].start]}last(){const t=this.segments,n=this.points,s=t.length;return s&&n[t[s-1].end]}interpolate(t,n){const s=this.options,i=t[n],o=this.points,r=G0(this,{property:n,start:i,end:i});if(!r.length)return;const a=[],l=T6(s);let c,u;for(c=0,u=r.length;ct!=="borderDash"&&t!=="fill"});function B_(e,t,n,s){const i=e.options,{[n]:o}=e.getProps([n],s);return Math.abs(t-o)=n)return e.slice(t,t+n);const r=[],a=(n-2)/(o-2);let l=0;const c=t+n-1;let u=t,d,f,p,g,_;for(r[l++]=e[u],d=0;dp&&(p=g,f=e[$],_=$);r[l++]=f,u=_}return r[l++]=e[c],r}function j6(e,t,n,s){let i=0,o=0,r,a,l,c,u,d,f,p,g,_;const b=[],w=t+n-1,$=e[t].x,T=e[w].x-$;for(r=t;r_&&(_=c,f=r),i=(o*i+a.x)/++o;else{const y=r-1;if(!ot(d)&&!ot(f)){const x=Math.min(d,f),C=Math.max(d,f);x!==p&&x!==y&&b.push({...e[x],x:i}),C!==p&&C!==y&&b.push({...e[C],x:i})}r>0&&y!==p&&b.push(e[y]),b.push(a),u=k,o=0,g=_=c,d=f=p=r}}return b}function d1(e){if(e._decimated){const t=e._data;delete e._decimated,delete e._data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,writable:!0,value:t})}}function V_(e){e.data.datasets.forEach(t=>{d1(t)})}function W6(e,t){const n=t.length;let s=0,i;const{iScale:o}=e,{min:r,max:a,minDefined:l,maxDefined:c}=o.getUserBounds();return l&&(s=en(Gs(t,o.axis,r).lo,0,n-1)),c?i=en(Gs(t,o.axis,a).hi+1,s,n)-s:i=n-s,{start:s,count:i}}var z6={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(e,t,n)=>{if(!n.enabled){V_(e);return}const s=e.width;e.data.datasets.forEach((i,o)=>{const{_data:r,indexAxis:a}=i,l=e.getDatasetMeta(o),c=r||i.data;if(ca([a,e.options.indexAxis])==="y"||!l.controller.supportsDecimation)return;const u=e.scales[l.xAxisID];if(u.type!=="linear"&&u.type!=="time"||e.options.parsing)return;let{start:d,count:f}=W6(l,c);const p=n.threshold||4*s;if(f<=p){d1(i);return}ot(r)&&(i._data=c,delete i.data,Object.defineProperty(i,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(_){this._data=_}}));let g;switch(n.algorithm){case"lttb":g=H6(c,d,f,s,n);break;case"min-max":g=j6(c,d,f,s);break;default:throw new Error(`Unsupported decimation algorithm '${n.algorithm}'`)}i._decimated=g})},destroy(e){V_(e)}};function Y6(e,t,n){const s=e.segments,i=e.points,o=t.points,r=[];for(const a of s){let{start:l,end:c}=a;c=ip(l,c,i);const u=gh(n,i[l],i[c],a.loop);if(!t.segments){r.push({source:a,target:u,start:i[l],end:i[c]});continue}const d=G0(t,u);for(const f of d){const p=gh(n,o[f.start],o[f.end],f.loop),g=q0(a,i,p);for(const _ of g)r.push({source:_,target:f,start:{[n]:H_(u,p,"start",Math.max)},end:{[n]:H_(u,p,"end",Math.min)}})}}return r}function gh(e,t,n,s){if(s)return;let i=t[e],o=n[e];return e==="angle"&&(i=Dn(i),o=Dn(o)),{property:e,start:i,end:o}}function U6(e,t){const{x:n=null,y:s=null}=e||{},i=t.points,o=[];return t.segments.forEach(({start:r,end:a})=>{a=ip(r,a,i);const l=i[r],c=i[a];s!==null?(o.push({x:l.x,y:s}),o.push({x:c.x,y:s})):n!==null&&(o.push({x:n,y:l.y}),o.push({x:n,y:c.y}))}),o}function ip(e,t,n){for(;t>e;t--){const s=n[t];if(!isNaN(s.x)&&!isNaN(s.y))break}return t}function H_(e,t,n,s){return e&&t?s(e[n],t[n]):e?e[n]:t?t[n]:0}function h1(e,t){let n=[],s=!1;return bt(e)?(s=!0,n=e):n=U6(e,t),n.length?new Ai({points:n,options:{tension:0},_loop:s,_fullLoop:s}):null}function j_(e){return e&&e.fill!==!1}function K6(e,t,n){let i=e[t].fill;const o=[t];let r;if(!n)return i;for(;i!==!1&&o.indexOf(i)===-1;){if(!Et(i))return i;if(r=e[i],!r)return!1;if(r.visible)return i;o.push(i),i=r.fill}return!1}function q6(e,t,n){const s=Q6(e);if(st(s))return isNaN(s.value)?!1:s;let i=parseFloat(s);return Et(i)&&Math.floor(i)===i?G6(s[0],t,i,n):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}function G6(e,t,n,s){return(e==="-"||e==="+")&&(n=t+n),n===t||n<0||n>=s?!1:n}function J6(e,t){let n=null;return e==="start"?n=t.bottom:e==="end"?n=t.top:st(e)?n=t.getPixelForValue(e.value):t.getBasePixel&&(n=t.getBasePixel()),n}function X6(e,t,n){let s;return e==="start"?s=n:e==="end"?s=t.options.reverse?t.min:t.max:st(e)?s=e.value:s=t.getBaseValue(),s}function Q6(e){const t=e.options,n=t.fill;let s=Ge(n&&n.target,n);return s===void 0&&(s=!!t.backgroundColor),s===!1||s===null?!1:s===!0?"origin":s}function Z6(e){const{scale:t,index:n,line:s}=e,i=[],o=s.segments,r=s.points,a=eH(t,n);a.push(h1({x:null,y:t.bottom},s));for(let l=0;l=0;--r){const a=i[r].$filler;a&&(a.line.updateControlPoints(o,a.axis),s&&a.fill&&Cd(e.ctx,a,o))}},beforeDatasetsDraw(e,t,n){if(n.drawTime!=="beforeDatasetsDraw")return;const s=e.getSortedVisibleDatasetMetas();for(let i=s.length-1;i>=0;--i){const o=s[i].$filler;j_(o)&&Cd(e.ctx,o,e.chartArea)}},beforeDatasetDraw(e,t,n){const s=t.meta.$filler;!j_(s)||n.drawTime!=="beforeDatasetDraw"||Cd(e.ctx,s,e.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const U_=(e,t)=>{let{boxHeight:n=t,boxWidth:s=t}=e;return e.usePointStyle&&(n=Math.min(n,t),s=e.pointStyleWidth||Math.min(s,t)),{boxWidth:s,boxHeight:n,itemHeight:Math.max(t,n)}},dH=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class K_ extends oi{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n,s){this.maxWidth=t,this.maxHeight=n,this._margins=s,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let n=pt(t.generateLabels,[this.chart],this)||[];t.filter&&(n=n.filter(s=>t.filter(s,this.chart.data))),t.sort&&(n=n.sort((s,i)=>t.sort(s,i,this.chart.data))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:t,ctx:n}=this;if(!t.display){this.width=this.height=0;return}const s=t.labels,i=Ut(s.font),o=i.size,r=this._computeTitleHeight(),{boxWidth:a,itemHeight:l}=U_(s,o);let c,u;n.font=i.string,this.isHorizontal()?(c=this.maxWidth,u=this._fitRows(r,o,a,l)+10):(u=this.maxHeight,c=this._fitCols(r,i,a,l)+10),this.width=Math.min(c,t.maxWidth||this.maxWidth),this.height=Math.min(u,t.maxHeight||this.maxHeight)}_fitRows(t,n,s,i){const{ctx:o,maxWidth:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.lineWidths=[0],u=i+a;let d=t;o.textAlign="left",o.textBaseline="middle";let f=-1,p=-u;return this.legendItems.forEach((g,_)=>{const b=s+n/2+o.measureText(g.text).width;(_===0||c[c.length-1]+b+2*a>r)&&(d+=u,c[c.length-(_>0?0:1)]=0,p+=u,f++),l[_]={left:0,top:p,row:f,width:b,height:i},c[c.length-1]+=b+a}),d}_fitCols(t,n,s,i){const{ctx:o,maxHeight:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.columnSizes=[],u=r-t;let d=a,f=0,p=0,g=0,_=0;return this.legendItems.forEach((b,w)=>{const{itemWidth:$,itemHeight:A}=hH(s,n,o,b,i);w>0&&p+A+2*a>u&&(d+=f+a,c.push({width:f,height:p}),g+=f+a,_++,f=p=0),l[w]={left:g,top:p,col:_,width:$,height:A},f=Math.max(f,$),p+=A+a}),d+=f,c.push({width:f,height:p}),d}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:s,labels:{padding:i},rtl:o}}=this,r=dr(o,this.left,this.width);if(this.isHorizontal()){let a=0,l=ln(s,this.left+i,this.right-this.lineWidths[a]);for(const c of n)a!==c.row&&(a=c.row,l=ln(s,this.left+i,this.right-this.lineWidths[a])),c.top+=this.top+t+i,c.left=r.leftForLtr(r.x(l),c.width),l+=c.width+i}else{let a=0,l=ln(s,this.top+t+i,this.bottom-this.columnSizes[a].height);for(const c of n)c.col!==a&&(a=c.col,l=ln(s,this.top+t+i,this.bottom-this.columnSizes[a].height)),c.top=l,c.left+=this.left+i,c.left=r.leftForLtr(r.x(c.left),c.width),l+=c.height+i}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;bu(t,this),this._draw(),yu(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:s,ctx:i}=this,{align:o,labels:r}=t,a=Pt.color,l=dr(t.rtl,this.left,this.width),c=Ut(r.font),{padding:u}=r,d=c.size,f=d/2;let p;this.drawTitle(),i.textAlign=l.textAlign("left"),i.textBaseline="middle",i.lineWidth=.5,i.font=c.string;const{boxWidth:g,boxHeight:_,itemHeight:b}=U_(r,d),w=function(y,x,C){if(isNaN(g)||g<=0||isNaN(_)||_<0)return;i.save();const P=Ge(C.lineWidth,1);if(i.fillStyle=Ge(C.fillStyle,a),i.lineCap=Ge(C.lineCap,"butt"),i.lineDashOffset=Ge(C.lineDashOffset,0),i.lineJoin=Ge(C.lineJoin,"miter"),i.lineWidth=P,i.strokeStyle=Ge(C.strokeStyle,a),i.setLineDash(Ge(C.lineDash,[])),r.usePointStyle){const E={radius:_*Math.SQRT2/2,pointStyle:C.pointStyle,rotation:C.rotation,borderWidth:P},B=l.xPlus(y,g/2),G=x+f;N0(i,E,B,G,r.pointStyleWidth&&g)}else{const E=x+Math.max((d-_)/2,0),B=l.leftForLtr(y,g),G=$o(C.borderRadius);i.beginPath(),Object.values(G).some(ae=>ae!==0)?Ja(i,{x:B,y:E,w:g,h:_,radius:G}):i.rect(B,E,g,_),i.fill(),P!==0&&i.stroke()}i.restore()},$=function(y,x,C){Do(i,C.text,y,x+b/2,c,{strikethrough:C.hidden,textAlign:l.textAlign(C.textAlign)})},A=this.isHorizontal(),T=this._computeTitleHeight();A?p={x:ln(o,this.left+u,this.right-s[0]),y:this.top+u+T,line:0}:p={x:this.left+u,y:ln(o,this.top+T+u,this.bottom-n[0].height),line:0},Y0(this.ctx,t.textDirection);const k=b+u;this.legendItems.forEach((y,x)=>{i.strokeStyle=y.fontColor,i.fillStyle=y.fontColor;const C=i.measureText(y.text).width,P=l.textAlign(y.textAlign||(y.textAlign=r.textAlign)),E=g+f+C;let B=p.x,G=p.y;l.setWidth(this.width),A?x>0&&B+E+u>this.right&&(G=p.y+=k,p.line++,B=p.x=ln(o,this.left+u,this.right-s[p.line])):x>0&&G+k>this.bottom&&(B=p.x=B+n[p.line].width+u,p.line++,G=p.y=ln(o,this.top+T+u,this.bottom-n[p.line].height));const ae=l.x(B);if(w(ae,G,y),B=HB(P,B+g+f,A?B+E:this.right,t.rtl),$(l.x(B),G,y),A)p.x+=E+u;else if(typeof y.text!="string"){const Y=c.lineHeight;p.y+=p1(y,Y)+u}else p.y+=k}),U0(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,s=Ut(n.font),i=fn(n.padding);if(!n.display)return;const o=dr(t.rtl,this.left,this.width),r=this.ctx,a=n.position,l=s.size/2,c=i.top+l;let u,d=this.left,f=this.width;if(this.isHorizontal())f=Math.max(...this.lineWidths),u=this.top+c,d=ln(t.align,d,this.right-f);else{const g=this.columnSizes.reduce((_,b)=>Math.max(_,b.height),0);u=c+ln(t.align,this.top,this.bottom-g-t.labels.padding-this._computeTitleHeight())}const p=ln(a,d,d+f);r.textAlign=o.textAlign(Gf(a)),r.textBaseline="middle",r.strokeStyle=n.color,r.fillStyle=n.color,r.font=s.string,Do(r,n.text,p,u,s)}_computeTitleHeight(){const t=this.options.title,n=Ut(t.font),s=fn(t.padding);return t.display?n.lineHeight+s.height:0}_getLegendItemAt(t,n){let s,i,o;if(qs(t,this.left,this.right)&&qs(n,this.top,this.bottom)){for(o=this.legendHitBoxes,s=0;so.length>r.length?o:r)),t+n.size/2+s.measureText(i).width}function pH(e,t,n){let s=e;return typeof t.text!="string"&&(s=p1(t,n)),s}function p1(e,t){const n=e.text?e.text.length:0;return t*n}function mH(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var gH={id:"legend",_element:K_,start(e,t,n){const s=e.legend=new K_({ctx:e.ctx,options:n,chart:e});Gn.configure(e,s,n),Gn.addBox(e,s)},stop(e){Gn.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){const s=e.legend;Gn.configure(e,s,n),s.options=n},afterUpdate(e){const t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){const s=t.datasetIndex,i=n.chart;i.isDatasetVisible(s)?(i.hide(s),t.hidden=!0):(i.show(s),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:s,textAlign:i,color:o,useBorderRadius:r,borderRadius:a}}=e.legend.options;return e._getSortedDatasetMetas().map(l=>{const c=l.controller.getStyle(n?0:void 0),u=fn(c.borderWidth);return{text:t[l.index].label,fillStyle:c.backgroundColor,fontColor:o,hidden:!l.visible,lineCap:c.borderCapStyle,lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:(u.width+u.height)/4,strokeStyle:c.borderColor,pointStyle:s||c.pointStyle,rotation:c.rotation,textAlign:i||c.textAlign,borderRadius:r&&(a||c.borderRadius),datasetIndex:l.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};class m1 extends oi{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n){const s=this.options;if(this.left=0,this.top=0,!s.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=n;const i=bt(s.text)?s.text.length:1;this._padding=fn(s.padding);const o=i*Ut(s.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:n,left:s,bottom:i,right:o,options:r}=this,a=r.align;let l=0,c,u,d;return this.isHorizontal()?(u=ln(a,s,o),d=n+t,c=o-s):(r.position==="left"?(u=s+t,d=ln(a,i,n),l=wt*-.5):(u=o-t,d=ln(a,n,i),l=wt*.5),c=i-n),{titleX:u,titleY:d,maxWidth:c,rotation:l}}draw(){const t=this.ctx,n=this.options;if(!n.display)return;const s=Ut(n.font),o=s.lineHeight/2+this._padding.top,{titleX:r,titleY:a,maxWidth:l,rotation:c}=this._drawArgs(o);Do(t,n.text,0,0,s,{color:n.color,maxWidth:l,rotation:c,textAlign:Gf(n.align),textBaseline:"middle",translation:[r,a]})}}function _H(e,t){const n=new m1({ctx:e.ctx,options:t,chart:e});Gn.configure(e,n,t),Gn.addBox(e,n),e.titleBlock=n}var vH={id:"title",_element:m1,start(e,t,n){_H(e,n)},stop(e){const t=e.titleBlock;Gn.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){const s=e.titleBlock;Gn.configure(e,s,n),s.options=n},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const ha={average(e){if(!e.length)return!1;let t,n,s=0,i=0,o=0;for(t=0,n=e.length;ta({chart:t,initial:n.initial,numSteps:r,currentStep:Math.min(s-n.start,r)}))}_refresh(){this._request||(this._running=!0,this._request=D0.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let n=0;this._charts.forEach((s,i)=>{if(!s.running||!s.items.length)return;const o=s.items;let r=o.length-1,a=!1,l;for(;r>=0;--r)l=o[r],l._active?(l._total>s.duration&&(s.duration=l._total),l.tick(t),a=!0):(o[r]=o[o.length-1],o.pop());a&&(i.draw(),this._notify(i,s,t,"progress")),o.length||(s.running=!1,this._notify(i,s,t,"complete"),s.initial=!1),n+=o.length}),this._lastDate=t,n===0&&(this._running=!1)}_getAnims(t){const n=this._charts;let s=n.get(t);return s||(s={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(t,s)),s}listen(t,n,s){this._getAnims(t).listeners[n].push(s)}add(t,n){!n||!n.length||this._getAnims(t).items.push(...n)}has(t){return this._getAnims(t).items.length>0}start(t){const n=this._charts.get(t);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce((s,i)=>Math.max(s,i._duration),0),this._refresh())}running(t){if(!this._running)return!1;const n=this._charts.get(t);return!(!n||!n.running||!n.items.length)}stop(t){const n=this._charts.get(t);if(!n||!n.items.length)return;const s=n.items;let i=s.length-1;for(;i>=0;--i)s[i].cancel();n.items=[],this._notify(t,n,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var Hs=new H4;const u_="transparent",j4={boolean(e,t,n){return n>.5?t:e},color(e,t,n){const s=e_(e||u_),i=s.valid&&e_(t||u_);return i&&i.valid?i.mix(s,n).hexString():t},number(e,t,n){return e+(t-e)*n}};class W4{constructor(t,n,s,i){const o=n[s];i=ca([t.to,i,o,t.from]);const r=ca([t.from,o,i]);this._active=!0,this._fn=t.fn||j4[t.type||typeof r],this._easing=Ea[t.easing]||Ea.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=n,this._prop=s,this._from=r,this._to=i,this._promises=void 0}active(){return this._active}update(t,n,s){if(this._active){this._notify(!1);const i=this._target[this._prop],o=s-this._start,r=this._duration-o;this._start=s,this._duration=Math.floor(Math.max(r,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=ca([t.to,n,i,t.from]),this._from=ca([t.from,i,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const n=t-this._start,s=this._duration,i=this._prop,o=this._from,r=this._loop,a=this._to;let l;if(this._active=o!==a&&(r||n1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[i]=this._fn(o,a,l)}wait(){const t=this._promises||(this._promises=[]);return new Promise((n,s)=>{t.push({res:n,rej:s})})}_notify(t){const n=t?"res":"rej",s=this._promises||[];for(let i=0;i{const o=t[i];if(!st(o))return;const r={};for(const a of n)r[a]=o[a];(bt(o.properties)&&o.properties||[i]).forEach(a=>{(a===i||!s.has(a))&&s.set(a,r)})})}_animateOptions(t,n){const s=n.options,i=Y4(t,s);if(!i)return[];const o=this._createAnimations(i,s);return s.$shared&&z4(t.options.$animations,s).then(()=>{t.options=s},()=>{}),o}_createAnimations(t,n){const s=this._properties,i=[],o=t.$animations||(t.$animations={}),r=Object.keys(n),a=Date.now();let l;for(l=r.length-1;l>=0;--l){const c=r[l];if(c.charAt(0)==="$")continue;if(c==="options"){i.push(...this._animateOptions(t,n));continue}const u=n[c];let d=o[c];const f=s.get(c);if(d)if(f&&d.active()){d.update(f,u,a);continue}else d.cancel();if(!f||!f.duration){t[c]=u;continue}o[c]=d=new W4(f,t,c,u),i.push(d)}return i}update(t,n){if(this._properties.size===0){Object.assign(t,n);return}const s=this._createAnimations(t,n);if(s.length)return Hs.add(this._chart,s),!0}}function z4(e,t){const n=[],s=Object.keys(t);for(let i=0;i0||!n&&o<0)return i.index}return null}function g_(e,t){const{chart:n,_cachedMeta:s}=e,i=n._stacks||(n._stacks={}),{iScale:o,vScale:r,index:a}=s,l=o.axis,c=r.axis,u=G4(o,r,s),d=t.length;let f;for(let p=0;pn[s].axis===t).shift()}function Q4(e,t){return Ui(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function Z4(e,t,n){return Ui(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:"default",type:"data"})}function ta(e,t){const n=e.controller.index,s=e.vScale&&e.vScale.axis;if(s){t=t||e._parsed;for(const i of t){const o=i._stacks;if(!o||o[s]===void 0||o[s][n]===void 0)return;delete o[s][n],o[s]._visualValues!==void 0&&o[s]._visualValues[n]!==void 0&&delete o[s]._visualValues[n]}}}const yd=e=>e==="reset"||e==="none",m_=(e,t)=>t?e:Object.assign({},e),eV=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:X0(n,!0),values:null};class us{constructor(t,n){this.chart=t,this._ctx=t.ctx,this.index=n,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=f_(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&ta(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,n=this._cachedMeta,s=this.getDataset(),i=(d,f,p,m)=>d==="x"?f:d==="r"?m:p,o=n.xAxisID=Ge(s.xAxisID,bd(t,"x")),r=n.yAxisID=Ge(s.yAxisID,bd(t,"y")),a=n.rAxisID=Ge(s.rAxisID,bd(t,"r")),l=n.indexAxis,c=n.iAxisID=i(l,o,r,a),u=n.vAxisID=i(l,r,o,a);n.xScale=this.getScaleForId(o),n.yScale=this.getScaleForId(r),n.rScale=this.getScaleForId(a),n.iScale=this.getScaleForId(c),n.vScale=this.getScaleForId(u)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const n=this._cachedMeta;return t===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Xm(this._data,this),t._stacked&&ta(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),s=this._data;if(st(n))this._data=q4(n);else if(s!==n){if(s){Xm(s,this);const i=this._cachedMeta;ta(i),i._parsed=[]}n&&Object.isExtensible(n)&&BB(n,this),this._syncList=[],this._data=n}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const n=this._cachedMeta,s=this.getDataset();let i=!1;this._dataCheck();const o=n._stacked;n._stacked=f_(n.vScale,n),n.stack!==s.stack&&(i=!0,ta(n),n.stack=s.stack),this._resyncElements(t),(i||o!==n._stacked)&&g_(this,n._parsed)}configure(){const t=this.chart.config,n=t.datasetScopeKeys(this._type),s=t.getOptionScopes(this.getDataset(),n,!0);this.options=t.createResolver(s,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,n){const{_cachedMeta:s,_data:i}=this,{iScale:o,_stacked:r}=s,a=o.axis;let l=t===0&&n===i.length?!0:s._sorted,c=t>0&&s._parsed[t-1],u,d,f;if(this._parsing===!1)s._parsed=i,s._sorted=!0,f=i;else{bt(i[t])?f=this.parseArrayData(s,i,t,n):st(i[t])?f=this.parseObjectData(s,i,t,n):f=this.parsePrimitiveData(s,i,t,n);const p=()=>d[a]===null||c&&d[a]_||d<_}for(f=0;f=0;--f)if(!m()){this.updateRangeFromParsed(c,t,p,l);break}}return c}getAllParsedValues(t){const n=this._cachedMeta._parsed,s=[];let i,o,r;for(i=0,o=n.length;i=0&&tthis.getContext(s,i,n),_=c.resolveNamedOptions(f,p,m,d);return _.$shared&&(_.$shared=l,o[r]=Object.freeze(m_(_,l))),_}_resolveAnimations(t,n,s){const i=this.chart,o=this._cachedDataOpts,r=`animation-${n}`,a=o[r];if(a)return a;let l;if(i.options.animation!==!1){const u=this.chart.config,d=u.datasetAnimationScopeKeys(this._type,n),f=u.getOptionScopes(this.getDataset(),d);l=u.createResolver(f,this.getContext(t,s,n))}const c=new J0(i,l&&l.animations);return l&&l._cacheable&&(o[r]=Object.freeze(c)),c}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,n){return!n||yd(t)||this.chart._animationsDisabled}_getSharedOptions(t,n){const s=this.resolveDataElementOptions(t,n),i=this._sharedOptions,o=this.getSharedOptions(s),r=this.includeOptions(n,o)||o!==i;return this.updateSharedOptions(o,n,s),{sharedOptions:o,includeOptions:r}}updateElement(t,n,s,i){yd(i)?Object.assign(t,s):this._resolveAnimations(n,i).update(t,s)}updateSharedOptions(t,n,s){t&&!yd(n)&&this._resolveAnimations(void 0,n).update(t,s)}_setStyle(t,n,s,i){t.active=i;const o=this.getStyle(n,i);this._resolveAnimations(n,s,i).update(t,{options:!i&&this.getSharedOptions(o)||o})}removeHoverStyle(t,n,s){this._setStyle(t,s,"active",!1)}setHoverStyle(t,n,s){this._setStyle(t,s,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const n=this._data,s=this._cachedMeta.data;for(const[a,l,c]of this._syncList)this[a](l,c);this._syncList=[];const i=s.length,o=n.length,r=Math.min(o,i);r&&this.parse(0,r),o>i?this._insertElements(i,o-i,t):o{for(c.length+=n,a=c.length-1;a>=r;a--)c[a]=c[a-n]};for(l(o),a=t;ai-o))}return e._cache.$bar}function nV(e){const t=e.iScale,n=tV(t,e.type);let s=t._length,i,o,r,a;const l=()=>{r===32767||r===-32768||(qa(a)&&(s=Math.min(s,Math.abs(r-a)||s)),a=r)};for(i=0,o=n.length;i0?i[e-1]:null,a=eMath.abs(a)&&(l=a,c=r),t[n.axis]=c,t._custom={barStart:l,barEnd:c,start:i,end:o,min:r,max:a}}function Q0(e,t,n,s){return bt(e)?oV(e,t,n,s):t[n.axis]=n.parse(e,s),t}function __(e,t,n,s){const i=e.iScale,o=e.vScale,r=i.getLabels(),a=i===o,l=[];let c,u,d,f;for(c=n,u=n+s;c=n?1:-1)}function aV(e){let t,n,s,i,o;return e.horizontal?(t=e.base>e.x,n="left",s="right"):(t=e.basel.controller.options.grouped),o=s.options.stacked,r=[],a=l=>{const c=l.controller.getParsed(n),u=c&&c[l.vScale.axis];if(ot(u)||isNaN(u))return!0};for(const l of i)if(!(n!==void 0&&a(l))&&((o===!1||r.indexOf(l.stack)===-1||o===void 0&&l.stack===void 0)&&r.push(l.stack),l.index===t))break;return r.length||r.push(void 0),r}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,n,s){const i=this._getStacks(t,s),o=n!==void 0?i.indexOf(n):-1;return o===-1?i.length-1:o}_getRuler(){const t=this.options,n=this._cachedMeta,s=n.iScale,i=[];let o,r;for(o=0,r=n.data.length;o=0;--s)n=Math.max(n,t[s].size(this.resolveDataElementOptions(s))/2);return n>0&&n}getLabelAndValue(t){const n=this._cachedMeta,s=this.chart.data.labels||[],{xScale:i,yScale:o}=n,r=this.getParsed(t),a=i.getLabelForValue(r.x),l=o.getLabelForValue(r.y),c=r._custom;return{label:s[t]||"",value:"("+a+", "+l+(c?", "+c:"")+")"}}update(t){const n=this._cachedMeta.data;this.updateElements(n,0,n.length,t)}updateElements(t,n,s,i){const o=i==="reset",{iScale:r,vScale:a}=this._cachedMeta,{sharedOptions:l,includeOptions:c}=this._getSharedOptions(n,i),u=r.axis,d=a.axis;for(let f=n;fGa(A,a,l,!0)?1:Math.max(T,T*n,k,k*n),m=(A,T,k)=>Ga(A,a,l,!0)?-1:Math.min(T,T*n,k,k*n),_=p(0,c,d),b=p(Lt,u,f),w=m(wt,c,d),$=m(wt+Lt,u,f);s=(_-w)/2,i=(b-$)/2,o=-(_+w)/2,r=-(b+$)/2}return{ratioX:s,ratioY:i,offsetX:o,offsetY:r}}class or extends us{constructor(t,n){super(t,n),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,n){const s=this.getDataset().data,i=this._cachedMeta;if(this._parsing===!1)i._parsed=s;else{let o=l=>+s[l];if(st(s[t])){const{key:l="value"}=this._parsing;o=c=>+Fi(s[c],l)}let r,a;for(r=t,a=t+n;r0&&!isNaN(t)?yt*(Math.abs(t)/n):0}getLabelAndValue(t){const n=this._cachedMeta,s=this.chart,i=s.data.labels||[],o=dl(n._parsed[t],s.options.locale);return{label:i[t]||"",value:o}}getMaxBorderWidth(t){let n=0;const s=this.chart;let i,o,r,a,l;if(!t){for(i=0,o=s.data.datasets.length;it!=="spacing",_indexable:t=>t!=="spacing"&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")}),le(or,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const n=t.data;if(n.labels.length&&n.datasets.length){const{labels:{pointStyle:s,color:i}}=t.legend.options;return n.labels.map((o,r)=>{const l=t.getDatasetMeta(0).controller.getStyle(r);return{text:o,fillStyle:l.backgroundColor,strokeStyle:l.borderColor,fontColor:i,lineWidth:l.borderWidth,pointStyle:s,hidden:!t.getDataVisibility(r),index:r}})}return[]}},onClick(t,n,s){s.chart.toggleDataVisibility(n.index),s.chart.update()}}}});class Ta extends us{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const n=this._cachedMeta,{dataset:s,data:i=[],_dataset:o}=n,r=this.chart._animationsDisabled;let{start:a,count:l}=I0(n,i,r);this._drawStart=a,this._drawCount=l,R0(n)&&(a=0,l=i.length),s._chart=this.chart,s._datasetIndex=this.index,s._decimated=!!o._decimated,s.points=i;const c=this.resolveDatasetElementOptions(t);this.options.showLine||(c.borderWidth=0),c.segment=this.options.segment,this.updateElement(s,void 0,{animated:!r,options:c},t),this.updateElements(i,a,l,t)}updateElements(t,n,s,i){const o=i==="reset",{iScale:r,vScale:a,_stacked:l,_dataset:c}=this._cachedMeta,{sharedOptions:u,includeOptions:d}=this._getSharedOptions(n,i),f=r.axis,p=a.axis,{spanGaps:m,segment:_}=this.options,b=Pr(m)?m:Number.POSITIVE_INFINITY,w=this.chart._animationsDisabled||o||i==="none",$=n+s,A=t.length;let T=n>0&&this.getParsed(n-1);for(let k=0;k=$){x.skip=!0;continue}const C=this.getParsed(k),P=ot(C[p]),E=x[f]=r.getPixelForValue(C[f],k),B=x[p]=o||P?a.getBasePixel():a.getPixelForValue(l?this.applyStack(a,C,l):C[p],k);x.skip=isNaN(E)||isNaN(B)||P,x.stop=k>0&&Math.abs(C[f]-T[f])>b,_&&(x.parsed=C,x.raw=c.data[k]),d&&(x.options=u||this.resolveDataElementOptions(k,y.active?"active":i)),w||this.updateElement(y,k,x,i),T=C}}getMaxOverflow(){const t=this._cachedMeta,n=t.dataset,s=n.options&&n.options.borderWidth||0,i=t.data||[];if(!i.length)return s;const o=i[0].size(this.resolveDataElementOptions(0)),r=i[i.length-1].size(this.resolveDataElementOptions(i.length-1));return Math.max(s,o,r)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}le(Ta,"id","line"),le(Ta,"defaults",{datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1}),le(Ta,"overrides",{scales:{_index_:{type:"category"},_value_:{type:"linear"}}});class gc extends us{constructor(t,n){super(t,n),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const n=this._cachedMeta,s=this.chart,i=s.data.labels||[],o=dl(n._parsed[t].r,s.options.locale);return{label:i[t]||"",value:o}}parseObjectData(t,n,s,i){return W0.bind(this)(t,n,s,i)}update(t){const n=this._cachedMeta.data;this._updateRadius(),this.updateElements(n,0,n.length,t)}getMinMax(){const t=this._cachedMeta,n={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach((s,i)=>{const o=this.getParsed(i).r;!isNaN(o)&&this.chart.getDataVisibility(i)&&(on.max&&(n.max=o))}),n}_updateRadius(){const t=this.chart,n=t.chartArea,s=t.options,i=Math.min(n.right-n.left,n.bottom-n.top),o=Math.max(i/2,0),r=Math.max(s.cutoutPercentage?o/100*s.cutoutPercentage:1,0),a=(o-r)/t.getVisibleDatasetCount();this.outerRadius=o-a*this.index,this.innerRadius=this.outerRadius-a}updateElements(t,n,s,i){const o=i==="reset",r=this.chart,l=r.options.animation,c=this._cachedMeta.rScale,u=c.xCenter,d=c.yCenter,f=c.getIndexAngle(0)-.5*wt;let p=f,m;const _=360/this.countVisibleElements();for(m=0;m{!isNaN(this.getParsed(i).r)&&this.chart.getDataVisibility(i)&&n++}),n}_computeAngle(t,n,s){return this.chart.getDataVisibility(t)?as(this.resolveDataElementOptions(t,n).angle||s):0}}le(gc,"id","polarArea"),le(gc,"defaults",{dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0}),le(gc,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const n=t.data;if(n.labels.length&&n.datasets.length){const{labels:{pointStyle:s,color:i}}=t.legend.options;return n.labels.map((o,r)=>{const l=t.getDatasetMeta(0).controller.getStyle(r);return{text:o,fillStyle:l.backgroundColor,strokeStyle:l.borderColor,fontColor:i,lineWidth:l.borderWidth,pointStyle:s,hidden:!t.getDataVisibility(r),index:r}})}return[]}},onClick(t,n,s){s.chart.toggleDataVisibility(n.index),s.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}});class hh extends or{}le(hh,"id","pie"),le(hh,"defaults",{cutout:0,rotation:0,circumference:360,radius:"100%"});class mc extends us{getLabelAndValue(t){const n=this._cachedMeta.vScale,s=this.getParsed(t);return{label:n.getLabels()[t],value:""+n.getLabelForValue(s[n.axis])}}parseObjectData(t,n,s,i){return W0.bind(this)(t,n,s,i)}update(t){const n=this._cachedMeta,s=n.dataset,i=n.data||[],o=n.iScale.getLabels();if(s.points=i,t!=="resize"){const r=this.resolveDatasetElementOptions(t);this.options.showLine||(r.borderWidth=0);const a={_loop:!0,_fullLoop:o.length===i.length,options:r};this.updateElement(s,void 0,a,t)}this.updateElements(i,0,i.length,t)}updateElements(t,n,s,i){const o=this._cachedMeta.rScale,r=i==="reset";for(let a=n;a0&&this.getParsed(n-1);for(let T=n;T0&&Math.abs(y[p]-A[p])>w,b&&(x.parsed=y,x.raw=c.data[T]),f&&(x.options=d||this.resolveDataElementOptions(T,k.active?"active":i)),$||this.updateElement(k,T,x,i),A=y}this.updateSharedOptions(d,i,u)}getMaxOverflow(){const t=this._cachedMeta,n=t.data||[];if(!this.options.showLine){let a=0;for(let l=n.length-1;l>=0;--l)a=Math.max(a,n[l].size(this.resolveDataElementOptions(l))/2);return a>0&&a}const s=t.dataset,i=s.options&&s.options.borderWidth||0;if(!n.length)return i;const o=n[0].size(this.resolveDataElementOptions(0)),r=n[n.length-1].size(this.resolveDataElementOptions(n.length-1));return Math.max(i,o,r)/2}}le(_c,"id","scatter"),le(_c,"defaults",{datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1}),le(_c,"overrides",{interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}});function co(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class sp{constructor(t){le(this,"options");this.options=t||{}}static override(t){Object.assign(sp.prototype,t)}init(){}formats(){return co()}parse(){return co()}format(){return co()}add(){return co()}diff(){return co()}startOf(){return co()}endOf(){return co()}}var hV={_date:sp};function fV(e,t,n,s){const{controller:i,data:o,_sorted:r}=e,a=i._cachedMeta.iScale;if(a&&t===a.axis&&t!=="r"&&r&&o.length){const l=a._reversePixels?NB:Gs;if(s){if(i._sharedOptions){const c=o[0],u=typeof c.getRange=="function"&&c.getRange(t);if(u){const d=l(o,t,n-u),f=l(o,t,n+u);return{lo:d.lo,hi:f.hi}}}}else return l(o,t,n)}return{lo:0,hi:o.length-1}}function hl(e,t,n,s,i){const o=e.getSortedVisibleDatasetMetas(),r=n[t];for(let a=0,l=o.length;a{l[r](t[n],i)&&(o.push({element:l,datasetIndex:c,index:u}),a=a||l.inRange(t.x,t.y,i))}),s&&!a?[]:o}var _V={evaluateInteractionItems:hl,modes:{index(e,t,n,s){const i=po(t,e),o=n.axis||"x",r=n.includeInvisible||!1,a=n.intersect?xd(e,i,o,s,r):kd(e,i,o,!1,s,r),l=[];return a.length?(e.getSortedVisibleDatasetMetas().forEach(c=>{const u=a[0].index,d=c.data[u];d&&!d.skip&&l.push({element:d,datasetIndex:c.index,index:u})}),l):[]},dataset(e,t,n,s){const i=po(t,e),o=n.axis||"xy",r=n.includeInvisible||!1;let a=n.intersect?xd(e,i,o,s,r):kd(e,i,o,!1,s,r);if(a.length>0){const l=a[0].datasetIndex,c=e.getDatasetMeta(l).data;a=[];for(let u=0;un.pos===t)}function w_(e,t){return e.filter(n=>Z0.indexOf(n.pos)===-1&&n.box.axis===t)}function sa(e,t){return e.sort((n,s)=>{const i=t?s:n,o=t?n:s;return i.weight===o.weight?i.index-o.index:i.weight-o.weight})}function vV(e){const t=[];let n,s,i,o,r,a;for(n=0,s=(e||[]).length;nc.box.fullSize),!0),s=sa(na(t,"left"),!0),i=sa(na(t,"right")),o=sa(na(t,"top"),!0),r=sa(na(t,"bottom")),a=w_(t,"x"),l=w_(t,"y");return{fullSize:n,leftAndTop:s.concat(o),rightAndBottom:i.concat(l).concat(r).concat(a),chartArea:na(t,"chartArea"),vertical:s.concat(i).concat(l),horizontal:o.concat(r).concat(a)}}function x_(e,t,n,s){return Math.max(e[n],t[n])+Math.max(e[s],t[s])}function e1(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function xV(e,t,n,s){const{pos:i,box:o}=n,r=e.maxPadding;if(!st(i)){n.size&&(e[i]-=n.size);const d=s[n.stack]||{size:0,count:1};d.size=Math.max(d.size,n.horizontal?o.height:o.width),n.size=d.size/d.count,e[i]+=n.size}o.getPadding&&e1(r,o.getPadding());const a=Math.max(0,t.outerWidth-x_(r,e,"left","right")),l=Math.max(0,t.outerHeight-x_(r,e,"top","bottom")),c=a!==e.w,u=l!==e.h;return e.w=a,e.h=l,n.horizontal?{same:c,other:u}:{same:u,other:c}}function kV(e){const t=e.maxPadding;function n(s){const i=Math.max(t[s]-e[s],0);return e[s]+=i,i}e.y+=n("top"),e.x+=n("left"),n("right"),n("bottom")}function SV(e,t){const n=t.maxPadding;function s(i){const o={left:0,top:0,right:0,bottom:0};return i.forEach(r=>{o[r]=Math.max(t[r],n[r])}),o}return s(e?["left","right"]:["top","bottom"])}function ua(e,t,n,s){const i=[];let o,r,a,l,c,u;for(o=0,r=e.length,c=0;o{typeof _.beforeLayout=="function"&&_.beforeLayout()});const u=l.reduce((_,b)=>b.box.options&&b.box.options.display===!1?_:_+1,0)||1,d=Object.freeze({outerWidth:t,outerHeight:n,padding:i,availableWidth:o,availableHeight:r,vBoxMaxWidth:o/2/u,hBoxMaxHeight:r/2}),f=Object.assign({},i);e1(f,fn(s));const p=Object.assign({maxPadding:f,w:o,h:r,x:i.left,y:i.top},i),m=yV(l.concat(c),d);ua(a.fullSize,p,d,m),ua(l,p,d,m),ua(c,p,d,m)&&ua(l,p,d,m),kV(p),k_(a.leftAndTop,p,d,m),p.x+=p.w,p.y+=p.h,k_(a.rightAndBottom,p,d,m),e.chartArea={left:p.left,top:p.top,right:p.left+p.w,bottom:p.top+p.h,height:p.h,width:p.w},ut(a.chartArea,_=>{const b=_.box;Object.assign(b,e.chartArea),b.update(p.w,p.h,{left:0,top:0,right:0,bottom:0})})}};class t1{acquireContext(t,n){}releaseContext(t){return!1}addEventListener(t,n,s){}removeEventListener(t,n,s){}getDevicePixelRatio(){return 1}getMaximumSize(t,n,s,i){return n=Math.max(0,n||t.width),s=s||t.height,{width:n,height:Math.max(0,i?Math.floor(n/i):s)}}isAttached(t){return!0}updateConfig(t){}}class $V extends t1{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const vc="$chartjs",AV={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},S_=e=>e===null||e==="";function CV(e,t){const n=e.style,s=e.getAttribute("height"),i=e.getAttribute("width");if(e[vc]={initial:{height:s,width:i,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",S_(i)){const o=r_(e,"width");o!==void 0&&(e.width=o)}if(S_(s))if(e.style.height==="")e.height=e.width/(t||2);else{const o=r_(e,"height");o!==void 0&&(e.height=o)}return e}const n1=M4?{passive:!0}:!1;function EV(e,t,n){e.addEventListener(t,n,n1)}function PV(e,t,n){e.canvas.removeEventListener(t,n,n1)}function MV(e,t){const n=AV[e.type]||e.type,{x:s,y:i}=po(e,t);return{type:n,chart:t,native:e,x:s!==void 0?s:null,y:i!==void 0?i:null}}function Vc(e,t){for(const n of e)if(n===t||n.contains(t))return!0}function TV(e,t,n){const s=e.canvas,i=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||Vc(a.addedNodes,s),r=r&&!Vc(a.removedNodes,s);r&&n()});return i.observe(document,{childList:!0,subtree:!0}),i}function DV(e,t,n){const s=e.canvas,i=new MutationObserver(o=>{let r=!1;for(const a of o)r=r||Vc(a.removedNodes,s),r=r&&!Vc(a.addedNodes,s);r&&n()});return i.observe(document,{childList:!0,subtree:!0}),i}const Xa=new Map;let $_=0;function s1(){const e=window.devicePixelRatio;e!==$_&&($_=e,Xa.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function OV(e,t){Xa.size||window.addEventListener("resize",s1),Xa.set(e,t)}function IV(e){Xa.delete(e),Xa.size||window.removeEventListener("resize",s1)}function RV(e,t,n){const s=e.canvas,i=s&&np(s);if(!i)return;const o=O0((a,l)=>{const c=i.clientWidth;n(a,l),c{const l=a[0],c=l.contentRect.width,u=l.contentRect.height;c===0&&u===0||o(c,u)});return r.observe(i),OV(e,o),r}function Sd(e,t,n){n&&n.disconnect(),t==="resize"&&IV(e)}function LV(e,t,n){const s=e.canvas,i=O0(o=>{e.ctx!==null&&n(MV(o,e))},e);return EV(s,t,i),i}class NV extends t1{acquireContext(t,n){const s=t&&t.getContext&&t.getContext("2d");return s&&s.canvas===t?(CV(t,n),s):null}releaseContext(t){const n=t.canvas;if(!n[vc])return!1;const s=n[vc].initial;["height","width"].forEach(o=>{const r=s[o];ot(r)?n.removeAttribute(o):n.setAttribute(o,r)});const i=s.style||{};return Object.keys(i).forEach(o=>{n.style[o]=i[o]}),n.width=n.width,delete n[vc],!0}addEventListener(t,n,s){this.removeEventListener(t,n);const i=t.$proxies||(t.$proxies={}),r={attach:TV,detach:DV,resize:RV}[n]||LV;i[n]=r(t,n,s)}removeEventListener(t,n){const s=t.$proxies||(t.$proxies={}),i=s[n];if(!i)return;({attach:Sd,detach:Sd,resize:Sd}[n]||PV)(t,n,i),s[n]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,s,i){return P4(t,n,s,i)}isAttached(t){const n=np(t);return!!(n&&n.isConnected)}}function FV(e){return!tp()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?$V:NV}var sc;let oi=(sc=class{constructor(){le(this,"x");le(this,"y");le(this,"active",!1);le(this,"options");le(this,"$animations")}tooltipPosition(t){const{x:n,y:s}=this.getProps(["x","y"],t);return{x:n,y:s}}hasValue(){return Pr(this.x)&&Pr(this.y)}getProps(t,n){const s=this.$animations;if(!n||!s)return this;const i={};return t.forEach(o=>{i[o]=s[o]&&s[o].active()?s[o]._to:this[o]}),i}},le(sc,"defaults",{}),le(sc,"defaultRoutes"),sc);function BV(e,t){const n=e.options.ticks,s=VV(e),i=Math.min(n.maxTicksLimit||s,s),o=n.major.enabled?jV(t):[],r=o.length,a=o[0],l=o[r-1],c=[];if(r>i)return WV(t,c,o,r/i),c;const u=HV(o,t,i);if(r>0){let d,f;const p=r>1?Math.round((l-a)/(r-1)):null;for(ql(t,c,u,ot(p)?0:a-p,a),d=0,f=r-1;di)return l}return Math.max(i,1)}function jV(e){const t=[];let n,s;for(n=0,s=e.length;ne==="left"?"right":e==="right"?"left":e,A_=(e,t,n)=>t==="top"||t==="left"?e[t]+n:e[t]-n,C_=(e,t)=>Math.min(t||e,e);function E_(e,t){const n=[],s=e.length/t,i=e.length;let o=0;for(;or+a)))return l}function UV(e,t){ut(e,n=>{const s=n.gc,i=s.length/2;let o;if(i>t){for(o=0;os?s:n,s=i&&n>s?n:s,{min:Mn(n,Mn(s,n)),max:Mn(s,Mn(n,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){pt(this.options.beforeUpdate,[this])}update(t,n,s){const{beginAtZero:i,grace:o,ticks:r}=this.options,a=r.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=n,this._margins=s=Object.assign({left:0,right:0,top:0,bottom:0},s),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+s.left+s.right:this.height+s.top+s.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=a4(this,o,i),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const l=a=o||s<=1||!this.isHorizontal()){this.labelRotation=i;return}const u=this._getLabelSizes(),d=u.widest.width,f=u.highest.height,p=en(this.chart.width-d,0,this.maxWidth);a=t.offset?this.maxWidth/s:p/(s-1),d+6>a&&(a=p/(s-(t.offset?.5:1)),l=this.maxHeight-ia(t.grid)-n.padding-P_(t.title,this.chart.options.font),c=Math.sqrt(d*d+f*f),r=Uf(Math.min(Math.asin(en((u.highest.height+6)/a,-1,1)),Math.asin(en(l/c,-1,1))-Math.asin(en(f/c,-1,1)))),r=Math.max(i,Math.min(o,r))),this.labelRotation=r}afterCalculateLabelRotation(){pt(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){pt(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:n,options:{ticks:s,title:i,grid:o}}=this,r=this._isVisible(),a=this.isHorizontal();if(r){const l=P_(i,n.options.font);if(a?(t.width=this.maxWidth,t.height=ia(o)+l):(t.height=this.maxHeight,t.width=ia(o)+l),s.display&&this.ticks.length){const{first:c,last:u,widest:d,highest:f}=this._getLabelSizes(),p=s.padding*2,m=as(this.labelRotation),_=Math.cos(m),b=Math.sin(m);if(a){const w=s.mirror?0:b*d.width+_*f.height;t.height=Math.min(this.maxHeight,t.height+w+p)}else{const w=s.mirror?0:_*d.width+b*f.height;t.width=Math.min(this.maxWidth,t.width+w+p)}this._calculatePadding(c,u,b,_)}}this._handleMargins(),a?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,n,s,i){const{ticks:{align:o,padding:r},position:a}=this.options,l=this.labelRotation!==0,c=a!=="top"&&this.axis==="x";if(this.isHorizontal()){const u=this.getPixelForTick(0)-this.left,d=this.right-this.getPixelForTick(this.ticks.length-1);let f=0,p=0;l?c?(f=i*t.width,p=s*n.height):(f=s*t.height,p=i*n.width):o==="start"?p=n.width:o==="end"?f=t.width:o!=="inner"&&(f=t.width/2,p=n.width/2),this.paddingLeft=Math.max((f-u+r)*this.width/(this.width-u),0),this.paddingRight=Math.max((p-d+r)*this.width/(this.width-d),0)}else{let u=n.height/2,d=t.height/2;o==="start"?(u=0,d=t.height):o==="end"&&(u=n.height,d=0),this.paddingTop=u+r,this.paddingBottom=d+r}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){pt(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:n}=this.options;return n==="top"||n==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let n,s;for(n=0,s=t.length;n({width:r[P]||0,height:a[P]||0});return{first:C(0),last:C(n-1),widest:C(y),highest:C(x),widths:r,heights:a}}getLabelForValue(t){return t}getPixelForValue(t,n){return NaN}getValueForPixel(t){}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const n=this._startPixel+t*this._length;return LB(this._alignToPixels?lo(this.chart,n,0):n)}getDecimalForPixel(t){const n=(t-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:n}=this;return t<0&&n<0?n:t>0&&n>0?t:0}getContext(t){const n=this.ticks||[];if(t>=0&&ta*i?a/s:l/i:l*i0}_computeGridLineItems(t){const n=this.axis,s=this.chart,i=this.options,{grid:o,position:r,border:a}=i,l=o.offset,c=this.isHorizontal(),d=this.ticks.length+(l?1:0),f=ia(o),p=[],m=a.setContext(this.getContext()),_=m.display?m.width:0,b=_/2,w=function(I){return lo(s,I,_)};let $,A,T,k,y,x,C,P,E,B,G,ae;if(r==="top")$=w(this.bottom),x=this.bottom-f,P=$-b,B=w(t.top)+b,ae=t.bottom;else if(r==="bottom")$=w(this.top),B=t.top,ae=w(t.bottom)-b,x=$+b,P=this.top+f;else if(r==="left")$=w(this.right),y=this.right-f,C=$-b,E=w(t.left)+b,G=t.right;else if(r==="right")$=w(this.left),E=t.left,G=w(t.right)-b,y=$+b,C=this.left+f;else if(n==="x"){if(r==="center")$=w((t.top+t.bottom)/2+.5);else if(st(r)){const I=Object.keys(r)[0],V=r[I];$=w(this.chart.scales[I].getPixelForValue(V))}B=t.top,ae=t.bottom,x=$+b,P=x+f}else if(n==="y"){if(r==="center")$=w((t.left+t.right)/2);else if(st(r)){const I=Object.keys(r)[0],V=r[I];$=w(this.chart.scales[I].getPixelForValue(V))}y=$-b,C=y-f,E=t.left,G=t.right}const Y=Ge(i.ticks.maxTicksLimit,d),L=Math.max(1,Math.ceil(d/Y));for(A=0;A0&&(oe-=R/2);break}we={left:oe,top:ee,width:R+K.width,height:X+K.height,color:L.backdropColor}}b.push({label:T,font:P,textOffset:G,options:{rotation:_,color:V,strokeColor:Q,strokeWidth:Z,textAlign:ce,textBaseline:ae,translation:[k,y],backdrop:we}})}return b}_getXAxisLabelAlignment(){const{position:t,ticks:n}=this.options;if(-as(this.labelRotation))return t==="top"?"left":"right";let i="center";return n.align==="start"?i="left":n.align==="end"?i="right":n.align==="inner"&&(i="inner"),i}_getYAxisLabelAlignment(t){const{position:n,ticks:{crossAlign:s,mirror:i,padding:o}}=this.options,r=this._getLabelSizes(),a=t+o,l=r.widest.width;let c,u;return n==="left"?i?(u=this.right+o,s==="near"?c="left":s==="center"?(c="center",u+=l/2):(c="right",u+=l)):(u=this.right-a,s==="near"?c="right":s==="center"?(c="center",u-=l/2):(c="left",u=this.left)):n==="right"?i?(u=this.left+o,s==="near"?c="right":s==="center"?(c="center",u-=l/2):(c="left",u-=l)):(u=this.left+a,s==="near"?c="left":s==="center"?(c="center",u+=l/2):(c="right",u=this.right)):c="right",{textAlign:c,x:u}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,n=this.options.position;if(n==="left"||n==="right")return{top:0,left:this.left,bottom:t.height,right:this.right};if(n==="top"||n==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:t.width}}drawBackground(){const{ctx:t,options:{backgroundColor:n},left:s,top:i,width:o,height:r}=this;n&&(t.save(),t.fillStyle=n,t.fillRect(s,i,o,r),t.restore())}getLineWidthForValue(t){const n=this.options.grid;if(!this._isVisible()||!n.display)return 0;const i=this.ticks.findIndex(o=>o.value===t);return i>=0?n.setContext(this.getContext(i)).lineWidth:0}drawGrid(t){const n=this.options.grid,s=this.ctx,i=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let o,r;const a=(l,c,u)=>{!u.width||!u.color||(s.save(),s.lineWidth=u.width,s.strokeStyle=u.color,s.setLineDash(u.borderDash||[]),s.lineDashOffset=u.borderDashOffset,s.beginPath(),s.moveTo(l.x,l.y),s.lineTo(c.x,c.y),s.stroke(),s.restore())};if(n.display)for(o=0,r=i.length;o{this.draw(o)}}]:[{z:s,draw:o=>{this.drawBackground(),this.drawGrid(o),this.drawTitle()}},{z:i,draw:()=>{this.drawBorder()}},{z:n,draw:o=>{this.drawLabels(o)}}]}getMatchingVisibleMetas(t){const n=this.chart.getSortedVisibleDatasetMetas(),s=this.axis+"AxisID",i=[];let o,r;for(o=0,r=n.length;o{const s=n.split("."),i=s.pop(),o=[e].concat(s).join("."),r=t[n].split("."),a=r.pop(),l=r.join(".");Pt.route(o,i,l,a)})}function e6(e){return"id"in e&&"defaults"in e}class t6{constructor(){this.controllers=new Gl(us,"datasets",!0),this.elements=new Gl(oi,"elements"),this.plugins=new Gl(Object,"plugins"),this.scales=new Gl(Fo,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,n,s){[...n].forEach(i=>{const o=s||this._getRegistryForType(i);s||o.isForType(i)||o===this.plugins&&i.id?this._exec(t,o,i):ut(i,r=>{const a=s||this._getRegistryForType(r);this._exec(t,a,r)})})}_exec(t,n,s){const i=Kf(t);pt(s["before"+i],[],s),n[t](s),pt(s["after"+i],[],s)}_getRegistryForType(t){for(let n=0;no.filter(a=>!r.some(l=>a.plugin.id===l.plugin.id));this._notify(i(n,s),t,"stop"),this._notify(i(s,n),t,"start")}}function s6(e){const t={},n=[],s=Object.keys(bs.plugins.items);for(let o=0;o1&&M_(e[0].toLowerCase());if(s)return s}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function T_(e,t,n){if(n[t+"AxisID"]===e)return{axis:t}}function u6(e,t){if(t.data&&t.data.datasets){const n=t.data.datasets.filter(s=>s.xAxisID===e||s.yAxisID===e);if(n.length)return T_(e,"x",n[0])||T_(e,"y",n[0])}return{}}function d6(e,t){const n=To[e.type]||{scales:{}},s=t.scales||{},i=fh(e.type,t),o=Object.create(null);return Object.keys(s).forEach(r=>{const a=s[r];if(!st(a))return console.error(`Invalid scale configuration for scale: ${r}`);if(a._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${r}`);const l=ph(r,a,u6(r,e),Pt.scales[a.type]),c=l6(l,i),u=n.scales||{};o[r]=Aa(Object.create(null),[{axis:l},a,u[l],u[c]])}),e.data.datasets.forEach(r=>{const a=r.type||e.type,l=r.indexAxis||fh(a,t),u=(To[a]||{}).scales||{};Object.keys(u).forEach(d=>{const f=a6(d,l),p=r[f+"AxisID"]||f;o[p]=o[p]||Object.create(null),Aa(o[p],[{axis:f},s[p],u[d]])})}),Object.keys(o).forEach(r=>{const a=o[r];Aa(a,[Pt.scales[a.type],Pt.scale])}),o}function i1(e){const t=e.options||(e.options={});t.plugins=Ge(t.plugins,{}),t.scales=d6(e,t)}function o1(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function h6(e){return e=e||{},e.data=o1(e.data),i1(e),e}const D_=new Map,r1=new Set;function Jl(e,t){let n=D_.get(e);return n||(n=t(),D_.set(e,n),r1.add(n)),n}const oa=(e,t,n)=>{const s=Fi(t,n);s!==void 0&&e.add(s)};let f6=class{constructor(t){this._config=h6(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=o1(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),i1(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Jl(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,n){return Jl(`${t}.transition.${n}`,()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,n){return Jl(`${t}-${n}`,()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]])}pluginScopeKeys(t){const n=t.id,s=this.type;return Jl(`${s}-plugin-${n}`,()=>[[`plugins.${n}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,n){const s=this._scopeCache;let i=s.get(t);return(!i||n)&&(i=new Map,s.set(t,i)),i}getOptionScopes(t,n,s){const{options:i,type:o}=this,r=this._cachedScopes(t,s),a=r.get(n);if(a)return a;const l=new Set;n.forEach(u=>{t&&(l.add(t),u.forEach(d=>oa(l,t,d))),u.forEach(d=>oa(l,i,d)),u.forEach(d=>oa(l,To[o]||{},d)),u.forEach(d=>oa(l,Pt,d)),u.forEach(d=>oa(l,uh,d))});const c=Array.from(l);return c.length===0&&c.push(Object.create(null)),r1.has(n)&&r.set(n,c),c}chartOptionScopes(){const{options:t,type:n}=this;return[t,To[n]||{},Pt.datasets[n]||{},{type:n},Pt,uh]}resolveNamedOptions(t,n,s,i=[""]){const o={$shared:!0},{resolver:r,subPrefixes:a}=O_(this._resolverCache,t,i);let l=r;if(g6(r,n)){o.$shared=!1,s=Bi(s)?s():s;const c=this.createResolver(t,s,a);l=Mr(r,s,c)}for(const c of n)o[c]=l[c];return o}createResolver(t,n,s=[""],i){const{resolver:o}=O_(this._resolverCache,t,s);return st(n)?Mr(o,n,void 0,i):o}};function O_(e,t,n){let s=e.get(t);s||(s=new Map,e.set(t,s));const i=n.join();let o=s.get(i);return o||(o={resolver:Qf(t,n),subPrefixes:n.filter(a=>!a.toLowerCase().includes("hover"))},s.set(i,o)),o}const p6=e=>st(e)&&Object.getOwnPropertyNames(e).some(t=>Bi(e[t]));function g6(e,t){const{isScriptable:n,isIndexable:s}=B0(e);for(const i of t){const o=n(i),r=s(i),a=(r||o)&&e[i];if(o&&(Bi(a)||p6(a))||r&&bt(a))return!0}return!1}var m6="4.4.1";const _6=["top","bottom","left","right","chartArea"];function I_(e,t){return e==="top"||e==="bottom"||_6.indexOf(e)===-1&&t==="x"}function R_(e,t){return function(n,s){return n[e]===s[e]?n[t]-s[t]:n[e]-s[e]}}function L_(e){const t=e.chart,n=t.options.animation;t.notifyPlugins("afterRender"),pt(n&&n.onComplete,[e],t)}function v6(e){const t=e.chart,n=t.options.animation;pt(n&&n.onProgress,[e],t)}function a1(e){return tp()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const bc={},N_=e=>{const t=a1(e);return Object.values(bc).filter(n=>n.canvas===t).pop()};function b6(e,t,n){const s=Object.keys(e);for(const i of s){const o=+i;if(o>=t){const r=e[i];delete e[i],(n>0||o>t)&&(e[o+n]=r)}}}function y6(e,t,n,s){return!n||e.type==="mouseout"?null:s?t:e}function Xl(e,t,n){return e.options.clip?e[n]:t[n]}function w6(e,t){const{xScale:n,yScale:s}=e;return n&&s?{left:Xl(n,t,"left"),right:Xl(n,t,"right"),top:Xl(s,t,"top"),bottom:Xl(s,t,"bottom")}:t}var pi;let xu=(pi=class{static register(...t){bs.add(...t),F_()}static unregister(...t){bs.remove(...t),F_()}constructor(t,n){const s=this.config=new f6(n),i=a1(t),o=N_(i);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const r=s.createResolver(s.chartOptionScopes(),this.getContext());this.platform=new(s.platform||FV(i)),this.platform.updateConfig(s);const a=this.platform.acquireContext(i,r.aspectRatio),l=a&&a.canvas,c=l&&l.height,u=l&&l.width;if(this.id=SB(),this.ctx=a,this.canvas=l,this.width=u,this.height=c,this._options=r,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new n6,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=VB(d=>this.update(d),r.resizeDelay||0),this._dataChanges=[],bc[this.id]=this,!a||!l){console.error("Failed to create chart: can't acquire context from the given item");return}Hs.listen(this,"complete",L_),Hs.listen(this,"progress",v6),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:n},width:s,height:i,_aspectRatio:o}=this;return ot(t)?n&&o?o:i?s/i:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return bs}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():o_(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return n_(this.canvas,this.ctx),this}stop(){return Hs.stop(this),this}resize(t,n){Hs.running(this)?this._resizeBeforeDraw={width:t,height:n}:this._resize(t,n)}_resize(t,n){const s=this.options,i=this.canvas,o=s.maintainAspectRatio&&this.aspectRatio,r=this.platform.getMaximumSize(i,t,n,o),a=s.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=r.width,this.height=r.height,this._aspectRatio=this.aspectRatio,o_(this,a,!0)&&(this.notifyPlugins("resize",{size:r}),pt(s.onResize,[this,r],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){const n=this.options.scales||{};ut(n,(s,i)=>{s.id=i})}buildOrUpdateScales(){const t=this.options,n=t.scales,s=this.scales,i=Object.keys(s).reduce((r,a)=>(r[a]=!1,r),{});let o=[];n&&(o=o.concat(Object.keys(n).map(r=>{const a=n[r],l=ph(r,a),c=l==="r",u=l==="x";return{options:a,dposition:c?"chartArea":u?"bottom":"left",dtype:c?"radialLinear":u?"category":"linear"}}))),ut(o,r=>{const a=r.options,l=a.id,c=ph(l,a),u=Ge(a.type,r.dtype);(a.position===void 0||I_(a.position,c)!==I_(r.dposition))&&(a.position=r.dposition),i[l]=!0;let d=null;if(l in s&&s[l].type===u)d=s[l];else{const f=bs.getScale(u);d=new f({id:l,type:u,ctx:this.ctx,chart:this}),s[d.id]=d}d.init(a,t)}),ut(i,(r,a)=>{r||delete s[a]}),ut(s,r=>{Gn.configure(this,r,r.options),Gn.addBox(this,r)})}_updateMetasets(){const t=this._metasets,n=this.data.datasets.length,s=t.length;if(t.sort((i,o)=>i.index-o.index),s>n){for(let i=n;in.length&&delete this._stacks,t.forEach((s,i)=>{n.filter(o=>o===s._dataset).length===0&&this._destroyDatasetMeta(i)})}buildOrUpdateControllers(){const t=[],n=this.data.datasets;let s,i;for(this._removeUnreferencedMetasets(),s=0,i=n.length;s{this.getDatasetMeta(n).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const n=this.config;n.update();const s=this._options=n.createResolver(n.chartOptionScopes(),this.getContext()),i=this._animationsDisabled=!s.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const o=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let r=0;for(let c=0,u=this.data.datasets.length;c{c.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(R_("z","_idx"));const{_active:a,_lastEvent:l}=this;l?this._eventHandler(l,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){ut(this.scales,t=>{Gn.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,n=new Set(Object.keys(this._listeners)),s=new Set(t.events);(!Um(n,s)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,n=this._getUniformDataChanges()||[];for(const{method:s,start:i,count:o}of n){const r=s==="_removeElements"?-o:o;b6(t,i,r)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const n=this.data.datasets.length,s=o=>new Set(t.filter(r=>r[0]===o).map((r,a)=>a+","+r.splice(1).join(","))),i=s(0);for(let o=1;oo.split(",")).map(o=>({method:o[1],start:+o[2],count:+o[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;Gn.update(this,this.width,this.height,t);const n=this.chartArea,s=n.width<=0||n.height<=0;this._layers=[],ut(this.boxes,i=>{s&&i.position==="chartArea"||(i.configure&&i.configure(),this._layers.push(...i._layers()))},this),this._layers.forEach((i,o)=>{i._idx=o}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let n=0,s=this.data.datasets.length;n=0;--n)this._drawDataset(t[n]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const n=this.ctx,s=t._clip,i=!s.disabled,o=w6(t,this.chartArea),r={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",r)!==!1&&(i&&bu(n,{left:s.left===!1?0:o.left-s.left,right:s.right===!1?this.width:o.right+s.right,top:s.top===!1?0:o.top-s.top,bottom:s.bottom===!1?this.height:o.bottom+s.bottom}),t.controller.draw(),i&&yu(n),r.cancelable=!1,this.notifyPlugins("afterDatasetDraw",r))}isPointInArea(t){return Js(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,n,s,i){const o=_V.modes[n];return typeof o=="function"?o(this,t,s,i):[]}getDatasetMeta(t){const n=this.data.datasets[t],s=this._metasets;let i=s.filter(o=>o&&o._dataset===n).pop();return i||(i={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n&&n.order||0,index:t,_dataset:n,_parsed:[],_sorted:!1},s.push(i)),i}getContext(){return this.$context||(this.$context=Ui(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const n=this.data.datasets[t];if(!n)return!1;const s=this.getDatasetMeta(t);return typeof s.hidden=="boolean"?!s.hidden:!n.hidden}setDatasetVisibility(t,n){const s=this.getDatasetMeta(t);s.hidden=!n}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,n,s){const i=s?"show":"hide",o=this.getDatasetMeta(t),r=o.controller._resolveAnimations(void 0,i);qa(n)?(o.data[n].hidden=!s,this.update()):(this.setDatasetVisibility(t,s),r.update(o,{visible:s}),this.update(a=>a.datasetIndex===t?i:void 0))}hide(t,n){this._updateVisibility(t,n,!1)}show(t,n){this._updateVisibility(t,n,!0)}_destroyDatasetMeta(t){const n=this._metasets[t];n&&n.controller&&n.controller._destroy(),delete this._metasets[t]}_stop(){let t,n;for(this.stop(),Hs.remove(this),t=0,n=this.data.datasets.length;t{n.addEventListener(this,o,r),t[o]=r},i=(o,r,a)=>{o.offsetX=r,o.offsetY=a,this._eventHandler(o)};ut(this.options.events,o=>s(o,i))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,n=this.platform,s=(l,c)=>{n.addEventListener(this,l,c),t[l]=c},i=(l,c)=>{t[l]&&(n.removeEventListener(this,l,c),delete t[l])},o=(l,c)=>{this.canvas&&this.resize(l,c)};let r;const a=()=>{i("attach",a),this.attached=!0,this.resize(),s("resize",o),s("detach",r)};r=()=>{this.attached=!1,i("resize",o),this._stop(),this._resize(0,0),s("attach",a)},n.isAttached(this.canvas)?a():r()}unbindEvents(){ut(this._listeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._listeners={},ut(this._responsiveListeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,n,s){const i=s?"set":"remove";let o,r,a,l;for(n==="dataset"&&(o=this.getDatasetMeta(t[0].datasetIndex),o.controller["_"+i+"DatasetHoverStyle"]()),a=0,l=t.length;a{const a=this.getDatasetMeta(o);if(!a)throw new Error("No dataset found at index "+o);return{datasetIndex:o,element:a.data[r],index:r}});!Rc(s,n)&&(this._active=s,this._lastEvent=null,this._updateHoverStyles(s,n))}notifyPlugins(t,n,s){return this._plugins.notify(this,t,n,s)}isPluginEnabled(t){return this._plugins._cache.filter(n=>n.plugin.id===t).length===1}_updateHoverStyles(t,n,s){const i=this.options.hover,o=(l,c)=>l.filter(u=>!c.some(d=>u.datasetIndex===d.datasetIndex&&u.index===d.index)),r=o(n,t),a=s?t:o(t,n);r.length&&this.updateHoverStyle(r,i.mode,!1),a.length&&i.mode&&this.updateHoverStyle(a,i.mode,!0)}_eventHandler(t,n){const s={event:t,replay:n,cancelable:!0,inChartArea:this.isPointInArea(t)},i=r=>(r.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",s,i)===!1)return;const o=this._handleEvent(t,n,s.inChartArea);return s.cancelable=!1,this.notifyPlugins("afterEvent",s,i),(o||s.changed)&&this.render(),this}_handleEvent(t,n,s){const{_active:i=[],options:o}=this,r=n,a=this._getActiveElements(t,i,s,r),l=MB(t),c=y6(t,this._lastEvent,s,l);s&&(this._lastEvent=null,pt(o.onHover,[t,a,this],this),l&&pt(o.onClick,[t,a,this],this));const u=!Rc(a,i);return(u||n)&&(this._active=a,this._updateHoverStyles(a,i,n)),this._lastEvent=c,u}_getActiveElements(t,n,s,i){if(t.type==="mouseout")return[];if(!s)return n;const o=this.options.hover;return this.getElementsAtEventForMode(t,o.mode,o,i)}},le(pi,"defaults",Pt),le(pi,"instances",bc),le(pi,"overrides",To),le(pi,"registry",bs),le(pi,"version",m6),le(pi,"getChart",N_),pi);function F_(){return ut(xu.instances,e=>e._plugins.invalidate())}function x6(e,t,n){const{startAngle:s,pixelMargin:i,x:o,y:r,outerRadius:a,innerRadius:l}=t;let c=i/a;e.beginPath(),e.arc(o,r,a,s-c,n+c),l>i?(c=i/l,e.arc(o,r,l,n+c,s-c,!0)):e.arc(o,r,i,n+Lt,s-Lt),e.closePath(),e.clip()}function k6(e){return Xf(e,["outerStart","outerEnd","innerStart","innerEnd"])}function S6(e,t,n,s){const i=k6(e.options.borderRadius),o=(n-t)/2,r=Math.min(o,s*t/2),a=l=>{const c=(n-Math.min(o,l))*s/2;return en(l,0,Math.min(o,c))};return{outerStart:a(i.outerStart),outerEnd:a(i.outerEnd),innerStart:en(i.innerStart,0,r),innerEnd:en(i.innerEnd,0,r)}}function Zo(e,t,n,s){return{x:n+e*Math.cos(t),y:s+e*Math.sin(t)}}function Hc(e,t,n,s,i,o){const{x:r,y:a,startAngle:l,pixelMargin:c,innerRadius:u}=t,d=Math.max(t.outerRadius+s+n-c,0),f=u>0?u+s+n+c:0;let p=0;const m=i-l;if(s){const L=u>0?u-s:0,I=d>0?d-s:0,V=(L+I)/2,Q=V!==0?m*V/(V+s):m;p=(m-Q)/2}const _=Math.max(.001,m*d-n/wt)/d,b=(m-_)/2,w=l+b+p,$=i-b-p,{outerStart:A,outerEnd:T,innerStart:k,innerEnd:y}=S6(t,f,d,$-w),x=d-A,C=d-T,P=w+A/x,E=$-T/C,B=f+k,G=f+y,ae=w+k/B,Y=$-y/G;if(e.beginPath(),o){const L=(P+E)/2;if(e.arc(r,a,d,P,L),e.arc(r,a,d,L,E),T>0){const Z=Zo(C,E,r,a);e.arc(Z.x,Z.y,T,E,$+Lt)}const I=Zo(G,$,r,a);if(e.lineTo(I.x,I.y),y>0){const Z=Zo(G,Y,r,a);e.arc(Z.x,Z.y,y,$+Lt,Y+Math.PI)}const V=($-y/f+(w+k/f))/2;if(e.arc(r,a,f,$-y/f,V,!0),e.arc(r,a,f,V,w+k/f,!0),k>0){const Z=Zo(B,ae,r,a);e.arc(Z.x,Z.y,k,ae+Math.PI,w-Lt)}const Q=Zo(x,w,r,a);if(e.lineTo(Q.x,Q.y),A>0){const Z=Zo(x,P,r,a);e.arc(Z.x,Z.y,A,w-Lt,P)}}else{e.moveTo(r,a);const L=Math.cos(P)*d+r,I=Math.sin(P)*d+a;e.lineTo(L,I);const V=Math.cos(E)*d+r,Q=Math.sin(E)*d+a;e.lineTo(V,Q)}e.closePath()}function $6(e,t,n,s,i){const{fullCircles:o,startAngle:r,circumference:a}=t;let l=t.endAngle;if(o){Hc(e,t,n,s,l,i);for(let c=0;c=yt||Ga(r,l,c),b=qs(a,u+p,d+p);return _&&b}getCenterPoint(n){const{x:s,y:i,startAngle:o,endAngle:r,innerRadius:a,outerRadius:l}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],n),{offset:c,spacing:u}=this.options,d=(o+r)/2,f=(a+l+u+c)/2;return{x:s+Math.cos(d)*f,y:i+Math.sin(d)*f}}tooltipPosition(n){return this.getCenterPoint(n)}draw(n){const{options:s,circumference:i}=this,o=(s.offset||0)/4,r=(s.spacing||0)/2,a=s.circular;if(this.pixelMargin=s.borderAlign==="inner"?.33:0,this.fullCircles=i>yt?Math.floor(i/yt):0,i===0||this.innerRadius<0||this.outerRadius<0)return;n.save();const l=(this.startAngle+this.endAngle)/2;n.translate(Math.cos(l)*o,Math.sin(l)*o);const c=1-Math.sin(Math.min(wt,i||0)),u=o*c;n.fillStyle=s.backgroundColor,n.strokeStyle=s.borderColor,$6(n,this,u,r,a),A6(n,this,u,r,a),n.restore()}}le(da,"id","arc"),le(da,"defaults",{borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0}),le(da,"defaultRoutes",{backgroundColor:"backgroundColor"}),le(da,"descriptors",{_scriptable:!0,_indexable:n=>n!=="borderDash"});function l1(e,t,n=t){e.lineCap=Ge(n.borderCapStyle,t.borderCapStyle),e.setLineDash(Ge(n.borderDash,t.borderDash)),e.lineDashOffset=Ge(n.borderDashOffset,t.borderDashOffset),e.lineJoin=Ge(n.borderJoinStyle,t.borderJoinStyle),e.lineWidth=Ge(n.borderWidth,t.borderWidth),e.strokeStyle=Ge(n.borderColor,t.borderColor)}function C6(e,t,n){e.lineTo(n.x,n.y)}function E6(e){return e.stepped?QB:e.tension||e.cubicInterpolationMode==="monotone"?ZB:C6}function c1(e,t,n={}){const s=e.length,{start:i=0,end:o=s-1}=n,{start:r,end:a}=t,l=Math.max(i,r),c=Math.min(o,a),u=ia&&o>a;return{count:s,start:l,loop:t.loop,ilen:c(r+(c?a-T:T))%o,A=()=>{_!==b&&(e.lineTo(u,b),e.lineTo(u,_),e.lineTo(u,w))};for(l&&(p=i[$(0)],e.moveTo(p.x,p.y)),f=0;f<=a;++f){if(p=i[$(f)],p.skip)continue;const T=p.x,k=p.y,y=T|0;y===m?(k<_?_=k:k>b&&(b=k),u=(d*u+T)/++d):(A(),e.lineTo(T,k),m=y,d=0,_=b=k),w=k}A()}function gh(e){const t=e.options,n=t.borderDash&&t.borderDash.length;return!e._decimated&&!e._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!n?M6:P6}function T6(e){return e.stepped?T4:e.tension||e.cubicInterpolationMode==="monotone"?D4:go}function D6(e,t,n,s){let i=t._path;i||(i=t._path=new Path2D,t.path(i,n,s)&&i.closePath()),l1(e,t.options),e.stroke(i)}function O6(e,t,n,s){const{segments:i,options:o}=t,r=gh(t);for(const a of i)l1(e,o,a.style),e.beginPath(),r(e,t,a,{start:n,end:n+s-1})&&e.closePath(),e.stroke()}const I6=typeof Path2D=="function";function R6(e,t,n,s){I6&&!t.options.segment?D6(e,t,n,s):O6(e,t,n,s)}class Ai extends oi{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,n){const s=this.options;if((s.tension||s.cubicInterpolationMode==="monotone")&&!s.stepped&&!this._pointsUpdated){const i=s.spanGaps?this._loop:this._fullLoop;k4(this._points,s,t,i,n),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=F4(this,this.options.segment))}first(){const t=this.segments,n=this.points;return t.length&&n[t[0].start]}last(){const t=this.segments,n=this.points,s=t.length;return s&&n[t[s-1].end]}interpolate(t,n){const s=this.options,i=t[n],o=this.points,r=G0(this,{property:n,start:i,end:i});if(!r.length)return;const a=[],l=T6(s);let c,u;for(c=0,u=r.length;ct!=="borderDash"&&t!=="fill"});function B_(e,t,n,s){const i=e.options,{[n]:o}=e.getProps([n],s);return Math.abs(t-o)=n)return e.slice(t,t+n);const r=[],a=(n-2)/(o-2);let l=0;const c=t+n-1;let u=t,d,f,p,m,_;for(r[l++]=e[u],d=0;dp&&(p=m,f=e[$],_=$);r[l++]=f,u=_}return r[l++]=e[c],r}function j6(e,t,n,s){let i=0,o=0,r,a,l,c,u,d,f,p,m,_;const b=[],w=t+n-1,$=e[t].x,T=e[w].x-$;for(r=t;r_&&(_=c,f=r),i=(o*i+a.x)/++o;else{const y=r-1;if(!ot(d)&&!ot(f)){const x=Math.min(d,f),C=Math.max(d,f);x!==p&&x!==y&&b.push({...e[x],x:i}),C!==p&&C!==y&&b.push({...e[C],x:i})}r>0&&y!==p&&b.push(e[y]),b.push(a),u=k,o=0,m=_=c,d=f=p=r}}return b}function d1(e){if(e._decimated){const t=e._data;delete e._decimated,delete e._data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,writable:!0,value:t})}}function V_(e){e.data.datasets.forEach(t=>{d1(t)})}function W6(e,t){const n=t.length;let s=0,i;const{iScale:o}=e,{min:r,max:a,minDefined:l,maxDefined:c}=o.getUserBounds();return l&&(s=en(Gs(t,o.axis,r).lo,0,n-1)),c?i=en(Gs(t,o.axis,a).hi+1,s,n)-s:i=n-s,{start:s,count:i}}var z6={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(e,t,n)=>{if(!n.enabled){V_(e);return}const s=e.width;e.data.datasets.forEach((i,o)=>{const{_data:r,indexAxis:a}=i,l=e.getDatasetMeta(o),c=r||i.data;if(ca([a,e.options.indexAxis])==="y"||!l.controller.supportsDecimation)return;const u=e.scales[l.xAxisID];if(u.type!=="linear"&&u.type!=="time"||e.options.parsing)return;let{start:d,count:f}=W6(l,c);const p=n.threshold||4*s;if(f<=p){d1(i);return}ot(r)&&(i._data=c,delete i.data,Object.defineProperty(i,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(_){this._data=_}}));let m;switch(n.algorithm){case"lttb":m=H6(c,d,f,s,n);break;case"min-max":m=j6(c,d,f,s);break;default:throw new Error(`Unsupported decimation algorithm '${n.algorithm}'`)}i._decimated=m})},destroy(e){V_(e)}};function Y6(e,t,n){const s=e.segments,i=e.points,o=t.points,r=[];for(const a of s){let{start:l,end:c}=a;c=ip(l,c,i);const u=mh(n,i[l],i[c],a.loop);if(!t.segments){r.push({source:a,target:u,start:i[l],end:i[c]});continue}const d=G0(t,u);for(const f of d){const p=mh(n,o[f.start],o[f.end],f.loop),m=q0(a,i,p);for(const _ of m)r.push({source:_,target:f,start:{[n]:H_(u,p,"start",Math.max)},end:{[n]:H_(u,p,"end",Math.min)}})}}return r}function mh(e,t,n,s){if(s)return;let i=t[e],o=n[e];return e==="angle"&&(i=Dn(i),o=Dn(o)),{property:e,start:i,end:o}}function K6(e,t){const{x:n=null,y:s=null}=e||{},i=t.points,o=[];return t.segments.forEach(({start:r,end:a})=>{a=ip(r,a,i);const l=i[r],c=i[a];s!==null?(o.push({x:l.x,y:s}),o.push({x:c.x,y:s})):n!==null&&(o.push({x:n,y:l.y}),o.push({x:n,y:c.y}))}),o}function ip(e,t,n){for(;t>e;t--){const s=n[t];if(!isNaN(s.x)&&!isNaN(s.y))break}return t}function H_(e,t,n,s){return e&&t?s(e[n],t[n]):e?e[n]:t?t[n]:0}function h1(e,t){let n=[],s=!1;return bt(e)?(s=!0,n=e):n=K6(e,t),n.length?new Ai({points:n,options:{tension:0},_loop:s,_fullLoop:s}):null}function j_(e){return e&&e.fill!==!1}function U6(e,t,n){let i=e[t].fill;const o=[t];let r;if(!n)return i;for(;i!==!1&&o.indexOf(i)===-1;){if(!Et(i))return i;if(r=e[i],!r)return!1;if(r.visible)return i;o.push(i),i=r.fill}return!1}function q6(e,t,n){const s=Q6(e);if(st(s))return isNaN(s.value)?!1:s;let i=parseFloat(s);return Et(i)&&Math.floor(i)===i?G6(s[0],t,i,n):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}function G6(e,t,n,s){return(e==="-"||e==="+")&&(n=t+n),n===t||n<0||n>=s?!1:n}function J6(e,t){let n=null;return e==="start"?n=t.bottom:e==="end"?n=t.top:st(e)?n=t.getPixelForValue(e.value):t.getBasePixel&&(n=t.getBasePixel()),n}function X6(e,t,n){let s;return e==="start"?s=n:e==="end"?s=t.options.reverse?t.min:t.max:st(e)?s=e.value:s=t.getBaseValue(),s}function Q6(e){const t=e.options,n=t.fill;let s=Ge(n&&n.target,n);return s===void 0&&(s=!!t.backgroundColor),s===!1||s===null?!1:s===!0?"origin":s}function Z6(e){const{scale:t,index:n,line:s}=e,i=[],o=s.segments,r=s.points,a=eH(t,n);a.push(h1({x:null,y:t.bottom},s));for(let l=0;l=0;--r){const a=i[r].$filler;a&&(a.line.updateControlPoints(o,a.axis),s&&a.fill&&Cd(e.ctx,a,o))}},beforeDatasetsDraw(e,t,n){if(n.drawTime!=="beforeDatasetsDraw")return;const s=e.getSortedVisibleDatasetMetas();for(let i=s.length-1;i>=0;--i){const o=s[i].$filler;j_(o)&&Cd(e.ctx,o,e.chartArea)}},beforeDatasetDraw(e,t,n){const s=t.meta.$filler;!j_(s)||n.drawTime!=="beforeDatasetDraw"||Cd(e.ctx,s,e.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const K_=(e,t)=>{let{boxHeight:n=t,boxWidth:s=t}=e;return e.usePointStyle&&(n=Math.min(n,t),s=e.pointStyleWidth||Math.min(s,t)),{boxWidth:s,boxHeight:n,itemHeight:Math.max(t,n)}},dH=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class U_ extends oi{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n,s){this.maxWidth=t,this.maxHeight=n,this._margins=s,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let n=pt(t.generateLabels,[this.chart],this)||[];t.filter&&(n=n.filter(s=>t.filter(s,this.chart.data))),t.sort&&(n=n.sort((s,i)=>t.sort(s,i,this.chart.data))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:t,ctx:n}=this;if(!t.display){this.width=this.height=0;return}const s=t.labels,i=Kt(s.font),o=i.size,r=this._computeTitleHeight(),{boxWidth:a,itemHeight:l}=K_(s,o);let c,u;n.font=i.string,this.isHorizontal()?(c=this.maxWidth,u=this._fitRows(r,o,a,l)+10):(u=this.maxHeight,c=this._fitCols(r,i,a,l)+10),this.width=Math.min(c,t.maxWidth||this.maxWidth),this.height=Math.min(u,t.maxHeight||this.maxHeight)}_fitRows(t,n,s,i){const{ctx:o,maxWidth:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.lineWidths=[0],u=i+a;let d=t;o.textAlign="left",o.textBaseline="middle";let f=-1,p=-u;return this.legendItems.forEach((m,_)=>{const b=s+n/2+o.measureText(m.text).width;(_===0||c[c.length-1]+b+2*a>r)&&(d+=u,c[c.length-(_>0?0:1)]=0,p+=u,f++),l[_]={left:0,top:p,row:f,width:b,height:i},c[c.length-1]+=b+a}),d}_fitCols(t,n,s,i){const{ctx:o,maxHeight:r,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.columnSizes=[],u=r-t;let d=a,f=0,p=0,m=0,_=0;return this.legendItems.forEach((b,w)=>{const{itemWidth:$,itemHeight:A}=hH(s,n,o,b,i);w>0&&p+A+2*a>u&&(d+=f+a,c.push({width:f,height:p}),m+=f+a,_++,f=p=0),l[w]={left:m,top:p,col:_,width:$,height:A},f=Math.max(f,$),p+=A+a}),d+=f,c.push({width:f,height:p}),d}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:s,labels:{padding:i},rtl:o}}=this,r=dr(o,this.left,this.width);if(this.isHorizontal()){let a=0,l=ln(s,this.left+i,this.right-this.lineWidths[a]);for(const c of n)a!==c.row&&(a=c.row,l=ln(s,this.left+i,this.right-this.lineWidths[a])),c.top+=this.top+t+i,c.left=r.leftForLtr(r.x(l),c.width),l+=c.width+i}else{let a=0,l=ln(s,this.top+t+i,this.bottom-this.columnSizes[a].height);for(const c of n)c.col!==a&&(a=c.col,l=ln(s,this.top+t+i,this.bottom-this.columnSizes[a].height)),c.top=l,c.left+=this.left+i,c.left=r.leftForLtr(r.x(c.left),c.width),l+=c.height+i}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;bu(t,this),this._draw(),yu(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:s,ctx:i}=this,{align:o,labels:r}=t,a=Pt.color,l=dr(t.rtl,this.left,this.width),c=Kt(r.font),{padding:u}=r,d=c.size,f=d/2;let p;this.drawTitle(),i.textAlign=l.textAlign("left"),i.textBaseline="middle",i.lineWidth=.5,i.font=c.string;const{boxWidth:m,boxHeight:_,itemHeight:b}=K_(r,d),w=function(y,x,C){if(isNaN(m)||m<=0||isNaN(_)||_<0)return;i.save();const P=Ge(C.lineWidth,1);if(i.fillStyle=Ge(C.fillStyle,a),i.lineCap=Ge(C.lineCap,"butt"),i.lineDashOffset=Ge(C.lineDashOffset,0),i.lineJoin=Ge(C.lineJoin,"miter"),i.lineWidth=P,i.strokeStyle=Ge(C.strokeStyle,a),i.setLineDash(Ge(C.lineDash,[])),r.usePointStyle){const E={radius:_*Math.SQRT2/2,pointStyle:C.pointStyle,rotation:C.rotation,borderWidth:P},B=l.xPlus(y,m/2),G=x+f;N0(i,E,B,G,r.pointStyleWidth&&m)}else{const E=x+Math.max((d-_)/2,0),B=l.leftForLtr(y,m),G=$o(C.borderRadius);i.beginPath(),Object.values(G).some(ae=>ae!==0)?Ja(i,{x:B,y:E,w:m,h:_,radius:G}):i.rect(B,E,m,_),i.fill(),P!==0&&i.stroke()}i.restore()},$=function(y,x,C){Do(i,C.text,y,x+b/2,c,{strikethrough:C.hidden,textAlign:l.textAlign(C.textAlign)})},A=this.isHorizontal(),T=this._computeTitleHeight();A?p={x:ln(o,this.left+u,this.right-s[0]),y:this.top+u+T,line:0}:p={x:this.left+u,y:ln(o,this.top+T+u,this.bottom-n[0].height),line:0},Y0(this.ctx,t.textDirection);const k=b+u;this.legendItems.forEach((y,x)=>{i.strokeStyle=y.fontColor,i.fillStyle=y.fontColor;const C=i.measureText(y.text).width,P=l.textAlign(y.textAlign||(y.textAlign=r.textAlign)),E=m+f+C;let B=p.x,G=p.y;l.setWidth(this.width),A?x>0&&B+E+u>this.right&&(G=p.y+=k,p.line++,B=p.x=ln(o,this.left+u,this.right-s[p.line])):x>0&&G+k>this.bottom&&(B=p.x=B+n[p.line].width+u,p.line++,G=p.y=ln(o,this.top+T+u,this.bottom-n[p.line].height));const ae=l.x(B);if(w(ae,G,y),B=HB(P,B+m+f,A?B+E:this.right,t.rtl),$(l.x(B),G,y),A)p.x+=E+u;else if(typeof y.text!="string"){const Y=c.lineHeight;p.y+=p1(y,Y)+u}else p.y+=k}),K0(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,s=Kt(n.font),i=fn(n.padding);if(!n.display)return;const o=dr(t.rtl,this.left,this.width),r=this.ctx,a=n.position,l=s.size/2,c=i.top+l;let u,d=this.left,f=this.width;if(this.isHorizontal())f=Math.max(...this.lineWidths),u=this.top+c,d=ln(t.align,d,this.right-f);else{const m=this.columnSizes.reduce((_,b)=>Math.max(_,b.height),0);u=c+ln(t.align,this.top,this.bottom-m-t.labels.padding-this._computeTitleHeight())}const p=ln(a,d,d+f);r.textAlign=o.textAlign(Gf(a)),r.textBaseline="middle",r.strokeStyle=n.color,r.fillStyle=n.color,r.font=s.string,Do(r,n.text,p,u,s)}_computeTitleHeight(){const t=this.options.title,n=Kt(t.font),s=fn(t.padding);return t.display?n.lineHeight+s.height:0}_getLegendItemAt(t,n){let s,i,o;if(qs(t,this.left,this.right)&&qs(n,this.top,this.bottom)){for(o=this.legendHitBoxes,s=0;so.length>r.length?o:r)),t+n.size/2+s.measureText(i).width}function pH(e,t,n){let s=e;return typeof t.text!="string"&&(s=p1(t,n)),s}function p1(e,t){const n=e.text?e.text.length:0;return t*n}function gH(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var mH={id:"legend",_element:U_,start(e,t,n){const s=e.legend=new U_({ctx:e.ctx,options:n,chart:e});Gn.configure(e,s,n),Gn.addBox(e,s)},stop(e){Gn.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){const s=e.legend;Gn.configure(e,s,n),s.options=n},afterUpdate(e){const t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){const s=t.datasetIndex,i=n.chart;i.isDatasetVisible(s)?(i.hide(s),t.hidden=!0):(i.show(s),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:s,textAlign:i,color:o,useBorderRadius:r,borderRadius:a}}=e.legend.options;return e._getSortedDatasetMetas().map(l=>{const c=l.controller.getStyle(n?0:void 0),u=fn(c.borderWidth);return{text:t[l.index].label,fillStyle:c.backgroundColor,fontColor:o,hidden:!l.visible,lineCap:c.borderCapStyle,lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:(u.width+u.height)/4,strokeStyle:c.borderColor,pointStyle:s||c.pointStyle,rotation:c.rotation,textAlign:i||c.textAlign,borderRadius:r&&(a||c.borderRadius),datasetIndex:l.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};class g1 extends oi{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n){const s=this.options;if(this.left=0,this.top=0,!s.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=n;const i=bt(s.text)?s.text.length:1;this._padding=fn(s.padding);const o=i*Kt(s.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:n,left:s,bottom:i,right:o,options:r}=this,a=r.align;let l=0,c,u,d;return this.isHorizontal()?(u=ln(a,s,o),d=n+t,c=o-s):(r.position==="left"?(u=s+t,d=ln(a,i,n),l=wt*-.5):(u=o-t,d=ln(a,n,i),l=wt*.5),c=i-n),{titleX:u,titleY:d,maxWidth:c,rotation:l}}draw(){const t=this.ctx,n=this.options;if(!n.display)return;const s=Kt(n.font),o=s.lineHeight/2+this._padding.top,{titleX:r,titleY:a,maxWidth:l,rotation:c}=this._drawArgs(o);Do(t,n.text,0,0,s,{color:n.color,maxWidth:l,rotation:c,textAlign:Gf(n.align),textBaseline:"middle",translation:[r,a]})}}function _H(e,t){const n=new g1({ctx:e.ctx,options:t,chart:e});Gn.configure(e,n,t),Gn.addBox(e,n),e.titleBlock=n}var vH={id:"title",_element:g1,start(e,t,n){_H(e,n)},stop(e){const t=e.titleBlock;Gn.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){const s=e.titleBlock;Gn.configure(e,s,n),s.options=n},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const ha={average(e){if(!e.length)return!1;let t,n,s=0,i=0,o=0;for(t=0,n=e.length;t-1?e.split(` -`):e}function bH(e,t){const{element:n,datasetIndex:s,index:i}=t,o=e.getDatasetMeta(s).controller,{label:r,value:a}=o.getLabelAndValue(i);return{chart:e,label:r,parsed:o.getParsed(i),raw:e.data.datasets[s].data[i],formattedValue:a,dataset:o.getDataset(),dataIndex:i,datasetIndex:s,element:n}}function q_(e,t){const n=e.chart.ctx,{body:s,footer:i,title:o}=e,{boxWidth:r,boxHeight:a}=t,l=Ut(t.bodyFont),c=Ut(t.titleFont),u=Ut(t.footerFont),d=o.length,f=i.length,p=s.length,g=fn(t.padding);let _=g.height,b=0,w=s.reduce((T,k)=>T+k.before.length+k.lines.length+k.after.length,0);if(w+=e.beforeBody.length+e.afterBody.length,d&&(_+=d*c.lineHeight+(d-1)*t.titleSpacing+t.titleMarginBottom),w){const T=t.displayColors?Math.max(a,l.lineHeight):l.lineHeight;_+=p*T+(w-p)*l.lineHeight+(w-1)*t.bodySpacing}f&&(_+=t.footerMarginTop+f*u.lineHeight+(f-1)*t.footerSpacing);let $=0;const A=function(T){b=Math.max(b,n.measureText(T).width+$)};return n.save(),n.font=c.string,ut(e.title,A),n.font=l.string,ut(e.beforeBody.concat(e.afterBody),A),$=t.displayColors?r+2+t.boxPadding:0,ut(s,T=>{ut(T.before,A),ut(T.lines,A),ut(T.after,A)}),$=0,n.font=u.string,ut(e.footer,A),n.restore(),b+=g.width,{width:b,height:_}}function yH(e,t){const{y:n,height:s}=t;return ne.height-s/2?"bottom":"center"}function wH(e,t,n,s){const{x:i,width:o}=s,r=n.caretSize+n.caretPadding;if(e==="left"&&i+o+r>t.width||e==="right"&&i-o-r<0)return!0}function xH(e,t,n,s){const{x:i,width:o}=n,{width:r,chartArea:{left:a,right:l}}=e;let c="center";return s==="center"?c=i<=(a+l)/2?"left":"right":i<=o/2?c="left":i>=r-o/2&&(c="right"),wH(c,e,t,n)&&(c="center"),c}function G_(e,t,n){const s=n.yAlign||t.yAlign||yH(e,n);return{xAlign:n.xAlign||t.xAlign||xH(e,t,n,s),yAlign:s}}function kH(e,t){let{x:n,width:s}=e;return t==="right"?n-=s:t==="center"&&(n-=s/2),n}function SH(e,t,n){let{y:s,height:i}=e;return t==="top"?s+=n:t==="bottom"?s-=i+n:s-=i/2,s}function J_(e,t,n,s){const{caretSize:i,caretPadding:o,cornerRadius:r}=e,{xAlign:a,yAlign:l}=n,c=i+o,{topLeft:u,topRight:d,bottomLeft:f,bottomRight:p}=$o(r);let g=kH(t,a);const _=SH(t,l,c);return l==="center"?a==="left"?g+=c:a==="right"&&(g-=c):a==="left"?g-=Math.max(u,f)+i:a==="right"&&(g+=Math.max(d,p)+i),{x:en(g,0,s.width-t.width),y:en(_,0,s.height-t.height)}}function Ql(e,t,n){const s=fn(n.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-s.right:e.x+s.left}function X_(e){return vs([],js(e))}function $H(e,t,n){return Ki(e,{tooltip:t,tooltipItems:n,type:"tooltip"})}function Q_(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const g1={beforeTitle:Bs,title(e){if(e.length>0){const t=e[0],n=t.chart.data.labels,s=n?n.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(s>0&&t.dataIndex"u"?g1[t].call(n,s):i}class _h extends oi{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const n=this.chart,s=this.options.setContext(this.getContext()),i=s.enabled&&n.options.animation&&s.animations,o=new J0(this.chart,i);return i._cacheable&&(this._cachedAnimations=Object.freeze(o)),o}getContext(){return this.$context||(this.$context=$H(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,n){const{callbacks:s}=n,i=Sn(s,"beforeTitle",this,t),o=Sn(s,"title",this,t),r=Sn(s,"afterTitle",this,t);let a=[];return a=vs(a,js(i)),a=vs(a,js(o)),a=vs(a,js(r)),a}getBeforeBody(t,n){return X_(Sn(n.callbacks,"beforeBody",this,t))}getBody(t,n){const{callbacks:s}=n,i=[];return ut(t,o=>{const r={before:[],lines:[],after:[]},a=Q_(s,o);vs(r.before,js(Sn(a,"beforeLabel",this,o))),vs(r.lines,Sn(a,"label",this,o)),vs(r.after,js(Sn(a,"afterLabel",this,o))),i.push(r)}),i}getAfterBody(t,n){return X_(Sn(n.callbacks,"afterBody",this,t))}getFooter(t,n){const{callbacks:s}=n,i=Sn(s,"beforeFooter",this,t),o=Sn(s,"footer",this,t),r=Sn(s,"afterFooter",this,t);let a=[];return a=vs(a,js(i)),a=vs(a,js(o)),a=vs(a,js(r)),a}_createItems(t){const n=this._active,s=this.chart.data,i=[],o=[],r=[];let a=[],l,c;for(l=0,c=n.length;lt.filter(u,d,f,s))),t.itemSort&&(a=a.sort((u,d)=>t.itemSort(u,d,s))),ut(a,u=>{const d=Q_(t.callbacks,u);i.push(Sn(d,"labelColor",this,u)),o.push(Sn(d,"labelPointStyle",this,u)),r.push(Sn(d,"labelTextColor",this,u))}),this.labelColors=i,this.labelPointStyles=o,this.labelTextColors=r,this.dataPoints=a,a}update(t,n){const s=this.options.setContext(this.getContext()),i=this._active;let o,r=[];if(!i.length)this.opacity!==0&&(o={opacity:0});else{const a=ha[s.position].call(this,i,this._eventPosition);r=this._createItems(s),this.title=this.getTitle(r,s),this.beforeBody=this.getBeforeBody(r,s),this.body=this.getBody(r,s),this.afterBody=this.getAfterBody(r,s),this.footer=this.getFooter(r,s);const l=this._size=q_(this,s),c=Object.assign({},a,l),u=G_(this.chart,s,c),d=J_(s,c,u,this.chart);this.xAlign=u.xAlign,this.yAlign=u.yAlign,o={opacity:1,x:d.x,y:d.y,width:l.width,height:l.height,caretX:a.x,caretY:a.y}}this._tooltipItems=r,this.$context=void 0,o&&this._resolveAnimations().update(this,o),t&&s.external&&s.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,s,i){const o=this.getCaretPosition(t,s,i);n.lineTo(o.x1,o.y1),n.lineTo(o.x2,o.y2),n.lineTo(o.x3,o.y3)}getCaretPosition(t,n,s){const{xAlign:i,yAlign:o}=this,{caretSize:r,cornerRadius:a}=s,{topLeft:l,topRight:c,bottomLeft:u,bottomRight:d}=$o(a),{x:f,y:p}=t,{width:g,height:_}=n;let b,w,$,A,T,k;return o==="center"?(T=p+_/2,i==="left"?(b=f,w=b-r,A=T+r,k=T-r):(b=f+g,w=b+r,A=T-r,k=T+r),$=b):(i==="left"?w=f+Math.max(l,u)+r:i==="right"?w=f+g-Math.max(c,d)-r:w=this.caretX,o==="top"?(A=p,T=A-r,b=w-r,$=w+r):(A=p+_,T=A+r,b=w+r,$=w-r),k=A),{x1:b,x2:w,x3:$,y1:A,y2:T,y3:k}}drawTitle(t,n,s){const i=this.title,o=i.length;let r,a,l;if(o){const c=dr(s.rtl,this.x,this.width);for(t.x=Ql(this,s.titleAlign,s),n.textAlign=c.textAlign(s.titleAlign),n.textBaseline="middle",r=Ut(s.titleFont),a=s.titleSpacing,n.fillStyle=s.titleColor,n.font=r.string,l=0;l$!==0)?(t.beginPath(),t.fillStyle=o.multiKeyBackground,Ja(t,{x:_,y:g,w:c,h:l,radius:w}),t.fill(),t.stroke(),t.fillStyle=r.backgroundColor,t.beginPath(),Ja(t,{x:b,y:g+1,w:c-2,h:l-2,radius:w}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(_,g,c,l),t.strokeRect(_,g,c,l),t.fillStyle=r.backgroundColor,t.fillRect(b,g+1,c-2,l-2))}t.fillStyle=this.labelTextColors[s]}drawBody(t,n,s){const{body:i}=this,{bodySpacing:o,bodyAlign:r,displayColors:a,boxHeight:l,boxWidth:c,boxPadding:u}=s,d=Ut(s.bodyFont);let f=d.lineHeight,p=0;const g=dr(s.rtl,this.x,this.width),_=function(C){n.fillText(C,g.x(t.x+p),t.y+f/2),t.y+=f+o},b=g.textAlign(r);let w,$,A,T,k,y,x;for(n.textAlign=r,n.textBaseline="middle",n.font=d.string,t.x=Ql(this,b,s),n.fillStyle=s.bodyColor,ut(this.beforeBody,_),p=a&&b!=="right"?r==="center"?c/2+u:c+2+u:0,T=0,y=i.length;T0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,s=this.$animations,i=s&&s.x,o=s&&s.y;if(i||o){const r=ha[t.position].call(this,this._active,this._eventPosition);if(!r)return;const a=this._size=q_(this,t),l=Object.assign({},r,this._size),c=G_(n,t,l),u=J_(t,l,c,n);(i._to!==u.x||o._to!==u.y)&&(this.xAlign=c.xAlign,this.yAlign=c.yAlign,this.width=a.width,this.height=a.height,this.caretX=r.x,this.caretY=r.y,this._resolveAnimations().update(this,u))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let s=this.opacity;if(!s)return;this._updateAnimationTarget(n);const i={width:this.width,height:this.height},o={x:this.x,y:this.y};s=Math.abs(s)<.001?0:s;const r=fn(n.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&a&&(t.save(),t.globalAlpha=s,this.drawBackground(o,t,i,n),Y0(t,n.textDirection),o.y+=r.top,this.drawTitle(o,t,n),this.drawBody(o,t,n),this.drawFooter(o,t,n),U0(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const s=this._active,i=t.map(({datasetIndex:a,index:l})=>{const c=this.chart.getDatasetMeta(a);if(!c)throw new Error("Cannot find a dataset at index "+a);return{datasetIndex:a,element:c.data[l],index:l}}),o=!Rc(s,i),r=this._positionChanged(i,n);(o||r)&&(this._active=i,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,s=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const i=this.options,o=this._active||[],r=this._getActiveElements(t,o,n,s),a=this._positionChanged(r,t),l=n||!Rc(r,o)||a;return l&&(this._active=r,(i.enabled||i.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),l}_getActiveElements(t,n,s,i){const o=this.options;if(t.type==="mouseout")return[];if(!i)return n.filter(a=>this.chart.data.datasets[a.datasetIndex]&&this.chart.getDatasetMeta(a.datasetIndex).controller.getParsed(a.index)!==void 0);const r=this.chart.getElementsAtEventForMode(t,o.mode,o,s);return o.reverse&&r.reverse(),r}_positionChanged(t,n){const{caretX:s,caretY:i,options:o}=this,r=ha[o.position].call(this,t,n);return r!==!1&&(s!==r.x||i!==r.y)}}le(_h,"positioners",ha);var AH={id:"tooltip",_element:_h,positioners:ha,afterInit(e,t,n){n&&(e.tooltip=new _h({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const n={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",n)}},afterEvent(e,t){if(e.tooltip){const n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:g1},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const CH=(e,t,n,s)=>(typeof t=="string"?(n=e.push(t)-1,s.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function EH(e,t,n,s){const i=e.indexOf(t);if(i===-1)return CH(e,t,n,s);const o=e.lastIndexOf(t);return i!==o?n:i}const PH=(e,t)=>e===null?null:en(Math.round(e),0,t);function Z_(e){const t=this.getLabels();return e>=0&&en.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}le(vh,"id","category"),le(vh,"defaults",{ticks:{callback:Z_}});function MH(e,t){const n=[],{bounds:i,step:o,min:r,max:a,precision:l,count:c,maxTicks:u,maxDigits:d,includeBounds:f}=e,p=o||1,g=u-1,{min:_,max:b}=t,w=!ot(r),$=!ot(a),A=!ot(c),T=(b-_)/(d+1);let k=Gg((b-_)/g/p)*p,y,x,C,P;if(k<1e-14&&!w&&!$)return[{value:_},{value:b}];P=Math.ceil(b/k)-Math.floor(_/k),P>g&&(k=Gg(P*k/g/p)*p),ot(l)||(y=Math.pow(10,l),k=Math.ceil(k*y)/y),i==="ticks"?(x=Math.floor(_/k)*k,C=Math.ceil(b/k)*k):(x=_,C=b),w&&$&&o&&IB((a-r)/o,k/1e3)?(P=Math.round(Math.min((a-r)/k,u)),k=(a-r)/P,x=r,C=a):A?(x=w?r:x,C=$?a:C,P=c-1,k=(C-x)/P):(P=(C-x)/k,Ca(P,Math.round(P),k/1e3)?P=Math.round(P):P=Math.ceil(P));const E=Math.max(Jg(k),Jg(x));y=Math.pow(10,ot(l)?E:l),x=Math.round(x*y)/y,C=Math.round(C*y)/y;let B=0;for(w&&(f&&x!==r?(n.push({value:r}),xa)break;n.push({value:G})}return $&&f&&C!==a?n.length&&Ca(n[n.length-1].value,a,ev(a,T,e))?n[n.length-1].value=a:n.push({value:a}):(!$||C===a)&&n.push({value:C}),n}function ev(e,t,{horizontal:n,minRotation:s}){const i=as(s),o=(n?Math.sin(i):Math.cos(i))||.001,r=.75*t*(""+e).length;return Math.min(t/o,r)}class jc extends Fo{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,n){return ot(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:s}=this.getUserBounds();let{min:i,max:o}=this;const r=l=>i=n?i:l,a=l=>o=s?o:l;if(t){const l=Es(i),c=Es(o);l<0&&c<0?a(0):l>0&&c>0&&r(0)}if(i===o){let l=o===0?1:Math.abs(o*.05);a(o+l),t||r(i-l)}this.min=i,this.max=o}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:n,stepSize:s}=t,i;return s?(i=Math.ceil(this.max/s)-Math.floor(this.min/s)+1,i>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${i} ticks. Limiting to 1000.`),i=1e3)):(i=this.computeTickLimit(),n=n||11),n&&(i=Math.min(n,i)),i}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let s=this.getTickLimit();s=Math.max(2,s);const i={maxTicks:s,bounds:t.bounds,min:t.min,max:t.max,precision:n.precision,step:n.stepSize,count:n.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:n.minRotation||0,includeBounds:n.includeBounds!==!1},o=this._range||this,r=MH(i,o);return t.bounds==="ticks"&&E0(r,this,"value"),t.reverse?(r.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),r}configure(){const t=this.ticks;let n=this.min,s=this.max;if(super.configure(),this.options.offset&&t.length){const i=(s-n)/Math.max(t.length-1,1)/2;n-=i,s+=i}this._startValue=n,this._endValue=s,this._valueRange=s-n}getLabelForValue(t){return dl(t,this.chart.options.locale,this.options.ticks.format)}}class bh extends jc{determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=Et(t)?t:0,this.max=Et(n)?n:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),n=t?this.width:this.height,s=as(this.options.ticks.minRotation),i=(t?Math.sin(s):Math.cos(s))||.001,o=this._resolveTickFontOptions(0);return Math.ceil(n/Math.min(40,o.lineHeight/i))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}le(bh,"id","linear"),le(bh,"defaults",{ticks:{callback:vu.formatters.numeric}});const Qa=e=>Math.floor($i(e)),uo=(e,t)=>Math.pow(10,Qa(e)+t);function tv(e){return e/Math.pow(10,Qa(e))===1}function nv(e,t,n){const s=Math.pow(10,n),i=Math.floor(e/s);return Math.ceil(t/s)-i}function TH(e,t){const n=t-e;let s=Qa(n);for(;nv(e,t,s)>10;)s++;for(;nv(e,t,s)<10;)s--;return Math.min(s,Qa(e))}function DH(e,{min:t,max:n}){t=Mn(e.min,t);const s=[],i=Qa(t);let o=TH(t,n),r=o<0?Math.pow(10,Math.abs(o)):1;const a=Math.pow(10,o),l=i>o?Math.pow(10,i):0,c=Math.round((t-l)*r)/r,u=Math.floor((t-l)/a/10)*a*10;let d=Math.floor((c-u)/Math.pow(10,o)),f=Mn(e.min,Math.round((l+u+d*Math.pow(10,o))*r)/r);for(;f=10?d=d<15?15:20:d++,d>=20&&(o++,d=2,r=o>=0?1:r),f=Math.round((l+u+d*Math.pow(10,o))*r)/r;const p=Mn(e.max,f);return s.push({value:p,major:tv(p),significand:d}),s}class yh extends Fo{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,n){const s=jc.prototype.parse.apply(this,[t,n]);if(s===0){this._zero=!0;return}return Et(s)&&s>0?s:null}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=Et(t)?Math.max(0,t):null,this.max=Et(n)?Math.max(0,n):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!Et(this._userMin)&&(this.min=t===uo(this.min,0)?uo(this.min,-1):uo(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let s=this.min,i=this.max;const o=a=>s=t?s:a,r=a=>i=n?i:a;s===i&&(s<=0?(o(1),r(10)):(o(uo(s,-1)),r(uo(i,1)))),s<=0&&o(uo(i,-1)),i<=0&&r(uo(s,1)),this.min=s,this.max=i}buildTicks(){const t=this.options,n={min:this._userMin,max:this._userMax},s=DH(n,this);return t.bounds==="ticks"&&E0(s,this,"value"),t.reverse?(s.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),s}getLabelForValue(t){return t===void 0?"0":dl(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=$i(t),this._valueRange=$i(this.max)-$i(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:($i(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const n=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+n*this._valueRange)}}le(yh,"id","logarithmic"),le(yh,"defaults",{ticks:{callback:vu.formatters.logarithmic,major:{enabled:!0}}});function wh(e){const t=e.ticks;if(t.display&&e.display){const n=fn(t.backdropPadding);return Ge(t.font&&t.font.size,Pt.font.size)+n.height}return 0}function OH(e,t,n){return n=bt(n)?n:[n],{w:XB(e,t.string,n),h:n.length*t.lineHeight}}function sv(e,t,n,s,i){return e===s||e===i?{start:t-n/2,end:t+n/2}:ei?{start:t-n,end:t}:{start:t,end:t+n}}function IH(e){const t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),s=[],i=[],o=e._pointLabels.length,r=e.options.pointLabels,a=r.centerPointLabels?wt/o:0;for(let l=0;lt.r&&(a=(s.end-t.r)/o,e.r=Math.max(e.r,t.r+a)),i.startt.b&&(l=(i.end-t.b)/r,e.b=Math.max(e.b,t.b+l))}function LH(e,t,n){const s=e.drawingArea,{extra:i,additionalAngle:o,padding:r,size:a}=n,l=e.getPointPosition(t,s+i+r,o),c=Math.round(Kf(Dn(l.angle+Lt))),u=HH(l.y,a.h,c),d=BH(c),f=VH(l.x,a.w,d);return{visible:!0,x:l.x,y:u,textAlign:d,left:f,top:u,right:f+a.w,bottom:u+a.h}}function NH(e,t){if(!t)return!0;const{left:n,top:s,right:i,bottom:o}=e;return!(Js({x:n,y:s},t)||Js({x:n,y:o},t)||Js({x:i,y:s},t)||Js({x:i,y:o},t))}function FH(e,t,n){const s=[],i=e._pointLabels.length,o=e.options,{centerPointLabels:r,display:a}=o.pointLabels,l={extra:wh(o)/2,additionalAngle:r?wt/i:0};let c;for(let u=0;u270||n<90)&&(e-=t),e}function jH(e,t,n){const{left:s,top:i,right:o,bottom:r}=n,{backdropColor:a}=t;if(!ot(a)){const l=$o(t.borderRadius),c=fn(t.backdropPadding);e.fillStyle=a;const u=s-c.left,d=i-c.top,f=o-s+c.width,p=r-i+c.height;Object.values(l).some(g=>g!==0)?(e.beginPath(),Ja(e,{x:u,y:d,w:f,h:p,radius:l}),e.fill()):e.fillRect(u,d,f,p)}}function WH(e,t){const{ctx:n,options:{pointLabels:s}}=e;for(let i=t-1;i>=0;i--){const o=e._pointLabelItems[i];if(!o.visible)continue;const r=s.setContext(e.getPointLabelContext(i));jH(n,r,o);const a=Ut(r.font),{x:l,y:c,textAlign:u}=o;Do(n,e._pointLabels[i],l,c+a.lineHeight/2,a,{color:r.color,textAlign:u,textBaseline:"middle"})}}function _1(e,t,n,s){const{ctx:i}=e;if(n)i.arc(e.xCenter,e.yCenter,t,0,yt);else{let o=e.getPointPosition(0,t);i.moveTo(o.x,o.y);for(let r=1;r{const i=pt(this.options.pointLabels.callback,[n,s],this);return i||i===0?i:""}).filter((n,s)=>this.chart.getDataVisibility(s))}fit(){const t=this.options;t.display&&t.pointLabels.display?IH(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,n,s,i){this.xCenter+=Math.floor((t-n)/2),this.yCenter+=Math.floor((s-i)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,n,s,i))}getIndexAngle(t){const n=yt/(this._pointLabels.length||1),s=this.options.startAngle||0;return Dn(t*n+as(s))}getDistanceFromCenterForValue(t){if(ot(t))return NaN;const n=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*n:(t-this.min)*n}getValueForDistanceFromCenter(t){if(ot(t))return NaN;const n=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-n:this.min+n}getPointLabelContext(t){const n=this._pointLabels||[];if(t>=0&&t{if(d!==0){l=this.getDistanceFromCenterForValue(u.value);const f=this.getContext(d),p=i.setContext(f),g=o.setContext(f);zH(this,p,l,r,g)}}),s.display){for(t.save(),a=r-1;a>=0;a--){const u=s.setContext(this.getPointLabelContext(a)),{color:d,lineWidth:f}=u;!f||!d||(t.lineWidth=f,t.strokeStyle=d,t.setLineDash(u.borderDash),t.lineDashOffset=u.borderDashOffset,l=this.getDistanceFromCenterForValue(n.ticks.reverse?this.min:this.max),c=this.getPointPosition(a,l),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(c.x,c.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,n=this.options,s=n.ticks;if(!s.display)return;const i=this.getIndexAngle(0);let o,r;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(i),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((a,l)=>{if(l===0&&!n.reverse)return;const c=s.setContext(this.getContext(l)),u=Ut(c.font);if(o=this.getDistanceFromCenterForValue(this.ticks[l].value),c.showLabelBackdrop){t.font=u.string,r=t.measureText(a.label).width,t.fillStyle=c.backdropColor;const d=fn(c.backdropPadding);t.fillRect(-r/2-d.left,-o-u.size/2-d.top,r+d.width,u.size+d.height)}Do(t,a.label,0,-o,u,{color:c.color,strokeColor:c.textStrokeColor,strokeWidth:c.textStrokeWidth})}),t.restore()}drawTitle(){}}le(fa,"id","radialLinear"),le(fa,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:vu.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),le(fa,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),le(fa,"descriptors",{angleLines:{_fallback:"grid"}});const ku={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},An=Object.keys(ku);function iv(e,t){return e-t}function ov(e,t){if(ot(t))return null;const n=e._adapter,{parser:s,round:i,isoWeekday:o}=e._parseOpts;let r=t;return typeof s=="function"&&(r=s(r)),Et(r)||(r=typeof s=="string"?n.parse(r,s):n.parse(r)),r===null?null:(i&&(r=i==="week"&&(Pr(o)||o===!0)?n.startOf(r,"isoWeek",o):n.startOf(r,i)),+r)}function rv(e,t,n,s){const i=An.length;for(let o=An.indexOf(e);o=An.indexOf(n);o--){const r=An[o];if(ku[r].common&&e._adapter.diff(i,s,r)>=t-1)return r}return An[n?An.indexOf(n):0]}function KH(e){for(let t=An.indexOf(e)+1,n=An.length;t=t?n[s]:n[i];e[o]=!0}}function qH(e,t,n,s){const i=e._adapter,o=+i.startOf(t[0].value,s),r=t[t.length-1].value;let a,l;for(a=o;a<=r;a=+i.add(a,1,s))l=n[a],l>=0&&(t[l].major=!0);return t}function lv(e,t,n){const s=[],i={},o=t.length;let r,a;for(r=0;r+t.value))}initOffsets(t=[]){let n=0,s=0,i,o;this.options.offset&&t.length&&(i=this.getDecimalForValue(t[0]),t.length===1?n=1-i:n=(this.getDecimalForValue(t[1])-i)/2,o=this.getDecimalForValue(t[t.length-1]),t.length===1?s=o:s=(o-this.getDecimalForValue(t[t.length-2]))/2);const r=t.length<3?.5:.25;n=en(n,0,r),s=en(s,0,r),this._offsets={start:n,end:s,factor:1/(n+1+s)}}_generate(){const t=this._adapter,n=this.min,s=this.max,i=this.options,o=i.time,r=o.unit||rv(o.minUnit,n,s,this._getLabelCapacity(n)),a=Ge(i.ticks.stepSize,1),l=r==="week"?o.isoWeekday:!1,c=Pr(l)||l===!0,u={};let d=n,f,p;if(c&&(d=+t.startOf(d,"isoWeek",l)),d=+t.startOf(d,c?"day":r),t.diff(s,n,r)>1e5*a)throw new Error(n+" and "+s+" are too far apart with stepSize of "+a+" "+r);const g=i.ticks.source==="data"&&this.getDataTimestamps();for(f=d,p=0;f+_)}getLabelForValue(t){const n=this._adapter,s=this.options.time;return s.tooltipFormat?n.format(t,s.tooltipFormat):n.format(t,s.displayFormats.datetime)}format(t,n){const i=this.options.time.displayFormats,o=this._unit,r=n||i[o];return this._adapter.format(t,r)}_tickFormatFunction(t,n,s,i){const o=this.options,r=o.ticks.callback;if(r)return pt(r,[t,n,s],this);const a=o.time.displayFormats,l=this._unit,c=this._majorUnit,u=l&&a[l],d=c&&a[c],f=s[n],p=c&&d&&f&&f.major;return this._adapter.format(t,i||(p?d:u))}generateTickLabels(t){let n,s,i;for(n=0,s=t.length;n0?a:1}getDataTimestamps(){let t=this._cache.data||[],n,s;if(t.length)return t;const i=this.getMatchingVisibleMetas();if(this._normalized&&i.length)return this._cache.data=i[0].controller.getAllParsedValues(this);for(n=0,s=i.length;n=e[s].pos&&t<=e[i].pos&&({lo:s,hi:i}=Gs(e,"pos",t)),{pos:o,time:a}=e[s],{pos:r,time:l}=e[i]):(t>=e[s].time&&t<=e[i].time&&({lo:s,hi:i}=Gs(e,"time",t)),{time:o,pos:a}=e[s],{time:r,pos:l}=e[i]);const c=r-o;return c?a+(l-a)*(t-o)/c:a}class xh extends Za{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=Zl(n,this.min),this._tableRange=Zl(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:s}=this,i=[],o=[];let r,a,l,c,u;for(r=0,a=t.length;r=n&&c<=s&&i.push(c);if(i.length<2)return[{time:n,pos:0},{time:s,pos:1}];for(r=0,a=i.length;ri-o)}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const n=this.getDataTimestamps(),s=this.getLabelTimestamps();return n.length&&s.length?t=this.normalize(n.concat(s)):t=n.length?n:s,t=this._cache.all=t,t}getDecimalForValue(t){return(Zl(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const n=this._offsets,s=this.getDecimalForPixel(t)/n.factor-n.end;return Zl(this._table,s*this._tableRange+this._minPos,!0)}}le(xh,"id","timeseries"),le(xh,"defaults",Za.defaults);const v1={data:{type:Object,required:!0},options:{type:Object,default:()=>({})},plugins:{type:Array,default:()=>[]},datasetIdKey:{type:String,default:"label"},updateMode:{type:String,default:void 0}},GH={ariaLabel:{type:String},ariaDescribedby:{type:String}},JH={type:{type:String,required:!0},...v1,...GH},XH=Qb[0]==="2"?(e,t)=>Object.assign(e,{attrs:t}):(e,t)=>Object.assign(e,t);function er(e){return eu(e)?Ze(e):e}function QH(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e;return eu(t)?new Proxy(e,{}):e}function ZH(e,t){const n=e.options;n&&t&&Object.assign(n,t)}function b1(e,t){e.labels=t}function y1(e,t,n){const s=[];e.datasets=t.map(i=>{const o=e.datasets.find(r=>r[n]===i[n]);return!o||!i.data||s.includes(o)?{...i}:(s.push(o),Object.assign(o,i),o)})}function e8(e,t){const n={labels:[],datasets:[]};return b1(n,e.labels),y1(n,e.datasets,t),n}const t8=Ft({props:JH,setup(e,t){let{expose:n,slots:s}=t;const i=be(null),o=of(null);n({chart:o});const r=()=>{if(!i.value)return;const{type:c,data:u,options:d,plugins:f,datasetIdKey:p}=e,g=e8(u,p),_=QH(g,u);o.value=new xu(i.value,{type:c,data:_,options:{...d},plugins:f})},a=()=>{const c=Ze(o.value);c&&(c.destroy(),o.value=null)},l=c=>{c.update(e.updateMode)};return Gt(r),hf(a),Vt([()=>e.options,()=>e.data],(c,u)=>{let[d,f]=c,[p,g]=u;const _=Ze(o.value);if(!_)return;let b=!1;if(d){const w=er(d),$=er(p);w&&w!==$&&(ZH(_,w),b=!0)}if(f){const w=er(f.labels),$=er(g.labels),A=er(f.datasets),T=er(g.datasets);w!==$&&(b1(_.config.data,w),b=!0),A&&A!==T&&(y1(_.config.data,A,e.datasetIdKey),b=!0)}b&&tn(()=>{l(_)})},{deep:!0}),()=>Mo("canvas",{role:"img",ariaLabel:e.ariaLabel,ariaDescribedby:e.ariaDescribedby,ref:i},[Mo("p",{},[s.default?s.default():""])])}});function w1(e,t){return xu.register(t),Ft({props:v1,setup(n,s){let{expose:i}=s;const o=of(null),r=a=>{o.value=a==null?void 0:a.chart};return i({chart:o}),()=>Mo(t8,XH({ref:r},{type:e,...n}))}})}const n8=w1("bar",Ma),s8=w1("line",Ta);function ti(e){return Array.isArray?Array.isArray(e):S1(e)==="[object Array]"}const i8=1/0;function o8(e){if(typeof e=="string")return e;let t=e+"";return t=="0"&&1/e==-i8?"-0":t}function r8(e){return e==null?"":o8(e)}function $s(e){return typeof e=="string"}function x1(e){return typeof e=="number"}function a8(e){return e===!0||e===!1||l8(e)&&S1(e)=="[object Boolean]"}function k1(e){return typeof e=="object"}function l8(e){return k1(e)&&e!==null}function On(e){return e!=null}function Ed(e){return!e.trim().length}function S1(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const c8="Incorrect 'index' type",u8=e=>`Invalid value for key ${e}`,d8=e=>`Pattern length exceeds max of ${e}.`,h8=e=>`Missing ${e} property in key`,f8=e=>`Property 'weight' in key '${e}' must be a positive integer`,cv=Object.prototype.hasOwnProperty;class p8{constructor(t){this._keys=[],this._keyMap={};let n=0;t.forEach(s=>{let i=$1(s);this._keys.push(i),this._keyMap[i.id]=i,n+=i.weight}),this._keys.forEach(s=>{s.weight/=n})}get(t){return this._keyMap[t]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function $1(e){let t=null,n=null,s=null,i=1,o=null;if($s(e)||ti(e))s=e,t=uv(e),n=kh(e);else{if(!cv.call(e,"name"))throw new Error(h8("name"));const r=e.name;if(s=r,cv.call(e,"weight")&&(i=e.weight,i<=0))throw new Error(f8(r));t=uv(r),n=kh(r),o=e.getFn}return{path:t,id:n,weight:i,src:s,getFn:o}}function uv(e){return ti(e)?e:e.split(".")}function kh(e){return ti(e)?e.join("."):e}function m8(e,t){let n=[],s=!1;const i=(o,r,a)=>{if(On(o))if(!r[a])n.push(o);else{let l=r[a];const c=o[l];if(!On(c))return;if(a===r.length-1&&($s(c)||x1(c)||a8(c)))n.push(r8(c));else if(ti(c)){s=!0;for(let u=0,d=c.length;ue.score===t.score?e.idx{this._keysMap[n.id]=s})}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,$s(this.docs[0])?this.docs.forEach((t,n)=>{this._addString(t,n)}):this.docs.forEach((t,n)=>{this._addObject(t,n)}),this.norm.clear())}add(t){const n=this.size();$s(t)?this._addString(t,n):this._addObject(t,n)}removeAt(t){this.records.splice(t,1);for(let n=t,s=this.size();n{let r=i.getFn?i.getFn(t):this.getFn(t,i.path);if(On(r)){if(ti(r)){let a=[];const l=[{nestedArrIndex:-1,value:r}];for(;l.length;){const{nestedArrIndex:c,value:u}=l.pop();if(On(u))if($s(u)&&!Ed(u)){let d={v:u,i:c,n:this.norm.get(u)};a.push(d)}else ti(u)&&u.forEach((d,f)=>{l.push({nestedArrIndex:f,value:d})})}s.$[o]=a}else if($s(r)&&!Ed(r)){let a={v:r,n:this.norm.get(r)};s.$[o]=a}}}),this.records.push(s)}toJSON(){return{keys:this.keys,records:this.records}}}function A1(e,t,{getFn:n=qe.getFn,fieldNormWeight:s=qe.fieldNormWeight}={}){const i=new op({getFn:n,fieldNormWeight:s});return i.setKeys(e.map($1)),i.setSources(t),i.create(),i}function x8(e,{getFn:t=qe.getFn,fieldNormWeight:n=qe.fieldNormWeight}={}){const{keys:s,records:i}=e,o=new op({getFn:t,fieldNormWeight:n});return o.setKeys(s),o.setIndexRecords(i),o}function ec(e,{errors:t=0,currentLocation:n=0,expectedLocation:s=0,distance:i=qe.distance,ignoreLocation:o=qe.ignoreLocation}={}){const r=t/e.length;if(o)return r;const a=Math.abs(s-n);return i?r+a/i:a?1:r}function k8(e=[],t=qe.minMatchCharLength){let n=[],s=-1,i=-1,o=0;for(let r=e.length;o=t&&n.push([s,i]),s=-1)}return e[o-1]&&o-s>=t&&n.push([s,o-1]),n}const _o=32;function S8(e,t,n,{location:s=qe.location,distance:i=qe.distance,threshold:o=qe.threshold,findAllMatches:r=qe.findAllMatches,minMatchCharLength:a=qe.minMatchCharLength,includeMatches:l=qe.includeMatches,ignoreLocation:c=qe.ignoreLocation}={}){if(t.length>_o)throw new Error(d8(_o));const u=t.length,d=e.length,f=Math.max(0,Math.min(s,d));let p=o,g=f;const _=a>1||l,b=_?Array(d):[];let w;for(;(w=e.indexOf(t,g))>-1;){let x=ec(t,{currentLocation:w,expectedLocation:f,distance:i,ignoreLocation:c});if(p=Math.min(x,p),g=w+u,_){let C=0;for(;C=E;Y-=1){let L=Y-1,I=n[e.charAt(L)];if(_&&(b[L]=+!!I),G[Y]=(G[Y+1]<<1|1)&I,x&&(G[Y]|=($[Y+1]|$[Y])<<1|1|$[Y+1]),G[Y]&k&&(A=ec(t,{errors:x,currentLocation:L,expectedLocation:f,distance:i,ignoreLocation:c}),A<=p)){if(p=A,g=L,g<=f)break;E=Math.max(1,2*f-g)}}if(ec(t,{errors:x+1,currentLocation:f,expectedLocation:f,distance:i,ignoreLocation:c})>p)break;$=G}const y={isMatch:g>=0,score:Math.max(.001,A)};if(_){const x=k8(b,a);x.length?l&&(y.indices=x):y.isMatch=!1}return y}function $8(e){let t={};for(let n=0,s=e.length;n{this.chunks.push({pattern:f,alphabet:$8(f),startIndex:p})},d=this.pattern.length;if(d>_o){let f=0;const p=d%_o,g=d-p;for(;f{const{isMatch:w,score:$,indices:A}=S8(t,g,_,{location:i+b,distance:o,threshold:r,findAllMatches:a,minMatchCharLength:l,includeMatches:s,ignoreLocation:c});w&&(f=!0),d+=$,w&&A&&(u=[...u,...A])});let p={isMatch:f,score:f?d/this.chunks.length:1};return f&&s&&(p.indices=u),p}}class qi{constructor(t){this.pattern=t}static isMultiMatch(t){return dv(t,this.multiRegex)}static isSingleMatch(t){return dv(t,this.singleRegex)}search(){}}function dv(e,t){const n=e.match(t);return n?n[1]:null}class A8 extends qi{constructor(t){super(t)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(t){const n=t===this.pattern;return{isMatch:n,score:n?0:1,indices:[0,this.pattern.length-1]}}}class C8 extends qi{constructor(t){super(t)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(t){const s=t.indexOf(this.pattern)===-1;return{isMatch:s,score:s?0:1,indices:[0,t.length-1]}}}class E8 extends qi{constructor(t){super(t)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(t){const n=t.startsWith(this.pattern);return{isMatch:n,score:n?0:1,indices:[0,this.pattern.length-1]}}}class P8 extends qi{constructor(t){super(t)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(t){const n=!t.startsWith(this.pattern);return{isMatch:n,score:n?0:1,indices:[0,t.length-1]}}}class M8 extends qi{constructor(t){super(t)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(t){const n=t.endsWith(this.pattern);return{isMatch:n,score:n?0:1,indices:[t.length-this.pattern.length,t.length-1]}}}class T8 extends qi{constructor(t){super(t)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(t){const n=!t.endsWith(this.pattern);return{isMatch:n,score:n?0:1,indices:[0,t.length-1]}}}class E1 extends qi{constructor(t,{location:n=qe.location,threshold:s=qe.threshold,distance:i=qe.distance,includeMatches:o=qe.includeMatches,findAllMatches:r=qe.findAllMatches,minMatchCharLength:a=qe.minMatchCharLength,isCaseSensitive:l=qe.isCaseSensitive,ignoreLocation:c=qe.ignoreLocation}={}){super(t),this._bitapSearch=new C1(t,{location:n,threshold:s,distance:i,includeMatches:o,findAllMatches:r,minMatchCharLength:a,isCaseSensitive:l,ignoreLocation:c})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(t){return this._bitapSearch.searchIn(t)}}class P1 extends qi{constructor(t){super(t)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(t){let n=0,s;const i=[],o=this.pattern.length;for(;(s=t.indexOf(this.pattern,n))>-1;)n=s+o,i.push([s,n-1]);const r=!!i.length;return{isMatch:r,score:r?0:1,indices:i}}}const Sh=[A8,P1,E8,P8,T8,M8,C8,E1],hv=Sh.length,D8=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,O8="|";function I8(e,t={}){return e.split(O8).map(n=>{let s=n.trim().split(D8).filter(o=>o&&!!o.trim()),i=[];for(let o=0,r=s.length;o!!(e[Wc.AND]||e[Wc.OR]),F8=e=>!!e[Ch.PATH],B8=e=>!ti(e)&&k1(e)&&!Eh(e),fv=e=>({[Wc.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function M1(e,t,{auto:n=!0}={}){const s=i=>{let o=Object.keys(i);const r=F8(i);if(!r&&o.length>1&&!Eh(i))return s(fv(i));if(B8(i)){const l=r?i[Ch.PATH]:o[0],c=r?i[Ch.PATTERN]:i[l];if(!$s(c))throw new Error(u8(l));const u={keyId:kh(l),pattern:c};return n&&(u.searcher=Ah(c,t)),u}let a={children:[],operator:o[0]};return o.forEach(l=>{const c=i[l];ti(c)&&c.forEach(u=>{a.children.push(s(u))})}),a};return Eh(e)||(e=fv(e)),s(e)}function V8(e,{ignoreFieldNorm:t=qe.ignoreFieldNorm}){e.forEach(n=>{let s=1;n.matches.forEach(({key:i,norm:o,score:r})=>{const a=i?i.weight:null;s*=Math.pow(r===0&&a?Number.EPSILON:r,(a||1)*(t?1:o))}),n.score=s})}function H8(e,t){const n=e.matches;t.matches=[],On(n)&&n.forEach(s=>{if(!On(s.indices)||!s.indices.length)return;const{indices:i,value:o}=s;let r={indices:i,value:o};s.key&&(r.key=s.key.src),s.idx>-1&&(r.refIndex=s.idx),t.matches.push(r)})}function j8(e,t){t.score=e.score}function W8(e,t,{includeMatches:n=qe.includeMatches,includeScore:s=qe.includeScore}={}){const i=[];return n&&i.push(H8),s&&i.push(j8),e.map(o=>{const{idx:r}=o,a={item:t[r],refIndex:r};return i.length&&i.forEach(l=>{l(o,a)}),a})}class Hr{constructor(t,n={},s){this.options={...qe,...n},this.options.useExtendedSearch,this._keyStore=new p8(this.options.keys),this.setCollection(t,s)}setCollection(t,n){if(this._docs=t,n&&!(n instanceof op))throw new Error(c8);this._myIndex=n||A1(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(t){On(t)&&(this._docs.push(t),this._myIndex.add(t))}remove(t=()=>!1){const n=[];for(let s=0,i=this._docs.length;s-1&&(l=l.slice(0,n)),W8(l,this._docs,{includeMatches:s,includeScore:i})}_searchStringList(t){const n=Ah(t,this.options),{records:s}=this._myIndex,i=[];return s.forEach(({v:o,i:r,n:a})=>{if(!On(o))return;const{isMatch:l,score:c,indices:u}=n.searchIn(o);l&&i.push({item:o,idx:r,matches:[{score:c,value:o,norm:a,indices:u}]})}),i}_searchLogical(t){const n=M1(t,this.options),s=(a,l,c)=>{if(!a.children){const{keyId:d,searcher:f}=a,p=this._findMatches({key:this._keyStore.get(d),value:this._myIndex.getValueForItemAtKeyId(l,d),searcher:f});return p&&p.length?[{idx:c,item:l,matches:p}]:[]}const u=[];for(let d=0,f=a.children.length;d{if(On(a)){let c=s(n,a,l);c.length&&(o[l]||(o[l]={idx:l,item:a,matches:[]},r.push(o[l])),c.forEach(({matches:u})=>{o[l].matches.push(...u)}))}}),r}_searchObjectList(t){const n=Ah(t,this.options),{keys:s,records:i}=this._myIndex,o=[];return i.forEach(({$:r,i:a})=>{if(!On(r))return;let l=[];s.forEach((c,u)=>{l.push(...this._findMatches({key:c,value:r[u],searcher:n}))}),l.length&&o.push({idx:a,item:r,matches:l})}),o}_findMatches({key:t,value:n,searcher:s}){if(!On(n))return[];let i=[];if(ti(n))n.forEach(({v:o,i:r,n:a})=>{if(!On(o))return;const{isMatch:l,score:c,indices:u}=s.searchIn(o);l&&i.push({score:c,key:t,value:o,idx:r,norm:a,indices:u})});else{const{v:o,n:r}=n,{isMatch:a,score:l,indices:c}=s.searchIn(o);a&&i.push({score:l,key:t,value:o,norm:r,indices:c})}return i}}Hr.version="7.0.0";Hr.createIndex=A1;Hr.parseIndex=x8;Hr.config=qe;Hr.parseQuery=M1;N8(L8);const z8={name:"peerSettings",props:{selectedPeer:Object},data(){return{data:void 0,dataChanged:!1,showKey:!1,saving:!1}},setup(){return{dashboardConfigurationStore:et()}},methods:{reset(){this.selectedPeer&&(this.data=JSON.parse(JSON.stringify(this.selectedPeer)),this.dataChanged=!1)},savePeer(){this.saving=!0,ft(`/api/updatePeerSettings/${this.$route.params.id}`,this.data,e=>{this.saving=!1,e.status?this.dashboardConfigurationStore.newMessage("Server","Peer Updated!","success"):this.dashboardConfigurationStore.newMessage("Server",e.message,"danger"),this.$emit("refresh")})},resetPeerData(e){this.saving=!0,ft(`/api/resetPeerData/${this.$route.params.id}`,{id:this.data.id,type:e},t=>{this.saving=!1,t.status?this.dashboardConfigurationStore.newMessage("Server","Peer data usage reset successfully.","success"):this.dashboardConfigurationStore.newMessage("Server",t.message,"danger"),this.$emit("refresh")})}},beforeMount(){this.reset()},mounted(){this.$el.querySelectorAll("input").forEach(e=>{e.addEventListener("keyup",()=>{this.dataChanged=!0})})}},nn=e=>(Kt("data-v-5c34b056"),e=e(),qt(),e),Y8={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},U8={class:"container d-flex h-100 w-100"},K8={class:"m-auto modal-dialog-centered dashboardModal"},q8={class:"card rounded-3 shadow flex-grow-1"},G8={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},J8=nn(()=>h("h4",{class:"mb-0"},"Peer Settings",-1)),X8={key:0,class:"card-body px-4 pb-4"},Q8={class:"d-flex flex-column gap-2 mb-4"},Z8={class:"d-flex align-items-center"},ej=nn(()=>h("small",{class:"text-muted"},"Public Key",-1)),tj={class:"ms-auto"},nj=nn(()=>h("label",{for:"peer_name_textbox",class:"form-label"},[h("small",{class:"text-muted"},"Name")],-1)),sj=["disabled"],ij={class:"d-flex position-relative"},oj=nn(()=>h("label",{for:"peer_private_key_textbox",class:"form-label"},[h("small",{class:"text-muted"},[ye("Private Key "),h("code",null,"(Required for QR Code and Download)")])],-1)),rj=["type","disabled"],aj=nn(()=>h("label",{for:"peer_allowed_ip_textbox",class:"form-label"},[h("small",{class:"text-muted"},[ye("Allowed IPs "),h("code",null,"(Required)")])],-1)),lj=["disabled"],cj=nn(()=>h("label",{for:"peer_endpoint_allowed_ips",class:"form-label"},[h("small",{class:"text-muted"},[ye("Endpoint Allowed IPs "),h("code",null,"(Required)")])],-1)),uj=["disabled"],dj=nn(()=>h("label",{for:"peer_DNS_textbox",class:"form-label"},[h("small",{class:"text-muted"},"DNS")],-1)),hj=["disabled"],fj={class:"accordion mt-3",id:"peerSettingsAccordion"},pj={class:"accordion-item"},mj=nn(()=>h("h2",{class:"accordion-header"},[h("button",{class:"accordion-button rounded-3 collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#peerSettingsAccordionOptional"}," Optional Settings ")],-1)),gj={id:"peerSettingsAccordionOptional",class:"accordion-collapse collapse","data-bs-parent":"#peerSettingsAccordion"},_j={class:"accordion-body d-flex flex-column gap-2 mb-2"},vj=nn(()=>h("label",{for:"peer_preshared_key_textbox",class:"form-label"},[h("small",{class:"text-muted"},"Pre-Shared Key")],-1)),bj=["disabled"],yj=nn(()=>h("label",{for:"peer_mtu",class:"form-label"},[h("small",{class:"text-muted"},"MTU")],-1)),wj=["disabled"],xj=nn(()=>h("label",{for:"peer_keep_alive",class:"form-label"},[h("small",{class:"text-muted"},"Persistent Keepalive")],-1)),kj=["disabled"],Sj=nn(()=>h("hr",null,null,-1)),$j={class:"d-flex gap-2 align-items-center"},Aj=nn(()=>h("strong",null,"Reset Data Usage",-1)),Cj={class:"d-flex gap-2 ms-auto"},Ej=nn(()=>h("i",{class:"bi bi-arrow-down-up me-2"},null,-1)),Pj=nn(()=>h("i",{class:"bi bi-arrow-down me-2"},null,-1)),Mj=nn(()=>h("i",{class:"bi bi-arrow-up me-2"},null,-1)),Tj={class:"d-flex align-items-center gap-2"},Dj=["disabled"],Oj=nn(()=>h("i",{class:"bi bi-arrow-clockwise ms-2"},null,-1)),Ij=["disabled"],Rj=nn(()=>h("i",{class:"bi bi-save-fill ms-2"},null,-1));function Lj(e,t,n,s,i,o){return D(),F("div",Y8,[h("div",U8,[h("div",K8,[h("div",q8,[h("div",G8,[J8,h("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=r=>this.$emit("close"))})]),this.data?(D(),F("div",X8,[h("div",Q8,[h("div",Z8,[ej,h("small",tj,[h("samp",null,_e(this.data.id),1)])]),h("div",null,[nj,Re(h("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[1]||(t[1]=r=>this.data.name=r),id:"peer_name_textbox",placeholder:""},null,8,sj),[[We,this.data.name]])]),h("div",null,[h("div",ij,[oj,h("a",{role:"button",class:"ms-auto text-decoration-none toggleShowKey",onClick:t[2]||(t[2]=r=>this.showKey=!this.showKey)},[h("i",{class:Ee(["bi",[this.showKey?"bi-eye-slash-fill":"bi-eye-fill"]])},null,2)])]),Re(h("input",{type:[this.showKey?"text":"password"],class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[3]||(t[3]=r=>this.data.private_key=r),id:"peer_private_key_textbox",style:{"padding-right":"40px"}},null,8,rj),[[RC,this.data.private_key]])]),h("div",null,[aj,Re(h("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[4]||(t[4]=r=>this.data.allowed_ip=r),id:"peer_allowed_ip_textbox"},null,8,lj),[[We,this.data.allowed_ip]])]),h("div",null,[cj,Re(h("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[5]||(t[5]=r=>this.data.endpoint_allowed_ip=r),id:"peer_endpoint_allowed_ips"},null,8,uj),[[We,this.data.endpoint_allowed_ip]])]),h("div",null,[dj,Re(h("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[6]||(t[6]=r=>this.data.DNS=r),id:"peer_DNS_textbox"},null,8,hj),[[We,this.data.DNS]])]),h("div",fj,[h("div",pj,[mj,h("div",gj,[h("div",_j,[h("div",null,[vj,Re(h("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[7]||(t[7]=r=>this.data.preshared_key=r),id:"peer_preshared_key_textbox"},null,8,bj),[[We,this.data.preshared_key]])]),h("div",null,[yj,Re(h("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[8]||(t[8]=r=>this.data.mtu=r),id:"peer_mtu"},null,8,wj),[[We,this.data.mtu]])]),h("div",null,[xj,Re(h("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[9]||(t[9]=r=>this.data.keepalive=r),id:"peer_keep_alive"},null,8,kj),[[We,this.data.keepalive]])])])])])]),Sj,h("div",$j,[Aj,h("div",Cj,[h("button",{class:"btn bg-primary-subtle text-primary-emphasis rounded-3 flex-grow-1 shadow-sm",onClick:t[10]||(t[10]=r=>this.resetPeerData("total"))},[Ej,ye(" Total ")]),h("button",{class:"btn bg-primary-subtle text-primary-emphasis rounded-3 flex-grow-1 shadow-sm",onClick:t[11]||(t[11]=r=>this.resetPeerData("receive"))},[Pj,ye(" Received ")]),h("button",{class:"btn bg-primary-subtle text-primary-emphasis rounded-3 flex-grow-1 shadow-sm",onClick:t[12]||(t[12]=r=>this.resetPeerData("sent"))},[Mj,ye(" Sent ")])])])]),h("div",Tj,[h("button",{class:"btn btn-secondary rounded-3 shadow",onClick:t[13]||(t[13]=r=>this.reset()),disabled:!this.dataChanged||this.saving},[ye(" Revert "),Oj],8,Dj),h("button",{class:"ms-auto btn btn-dark btn-brand rounded-3 px-3 py-2 shadow",disabled:!this.dataChanged||this.saving,onClick:t[14]||(t[14]=r=>this.savePeer())},[ye(" Save Peer"),Rj],8,Ij)])])):re("",!0)])])])])}const Nj=ze(z8,[["render",Lj],["__scopeId","data-v-5c34b056"]]);var Bo={},Fj=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then},T1={},Vn={};let rp;const Bj=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];Vn.getSymbolSize=function(t){if(!t)throw new Error('"version" cannot be null or undefined');if(t<1||t>40)throw new Error('"version" should be in range from 1 to 40');return t*4+17};Vn.getSymbolTotalCodewords=function(t){return Bj[t]};Vn.getBCHDigit=function(e){let t=0;for(;e!==0;)t++,e>>>=1;return t};Vn.setToSJISFunction=function(t){if(typeof t!="function")throw new Error('"toSJISFunc" is not a valid function.');rp=t};Vn.isKanjiModeEnabled=function(){return typeof rp<"u"};Vn.toSJIS=function(t){return rp(t)};var Su={};(function(e){e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(n){if(typeof n!="string")throw new Error("Param is not a string");switch(n.toLowerCase()){case"l":case"low":return e.L;case"m":case"medium":return e.M;case"q":case"quartile":return e.Q;case"h":case"high":return e.H;default:throw new Error("Unknown EC Level: "+n)}}e.isValid=function(s){return s&&typeof s.bit<"u"&&s.bit>=0&&s.bit<4},e.from=function(s,i){if(e.isValid(s))return s;try{return t(s)}catch{return i}}})(Su);function D1(){this.buffer=[],this.length=0}D1.prototype={get:function(e){const t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)===1},put:function(e,t){for(let n=0;n>>t-n-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(e){const t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}};var Vj=D1;function fl(e){if(!e||e<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}fl.prototype.set=function(e,t,n,s){const i=e*this.size+t;this.data[i]=n,s&&(this.reservedBit[i]=!0)};fl.prototype.get=function(e,t){return this.data[e*this.size+t]};fl.prototype.xor=function(e,t,n){this.data[e*this.size+t]^=n};fl.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]};var Hj=fl,O1={};(function(e){const t=Vn.getSymbolSize;e.getRowColCoords=function(s){if(s===1)return[];const i=Math.floor(s/7)+2,o=t(s),r=o===145?26:Math.ceil((o-13)/(2*i-2))*2,a=[o-7];for(let l=1;l=0&&i<=7},e.from=function(i){return e.isValid(i)?parseInt(i,10):void 0},e.getPenaltyN1=function(i){const o=i.size;let r=0,a=0,l=0,c=null,u=null;for(let d=0;d=5&&(r+=t.N1+(a-5)),c=p,a=1),p=i.get(f,d),p===u?l++:(l>=5&&(r+=t.N1+(l-5)),u=p,l=1)}a>=5&&(r+=t.N1+(a-5)),l>=5&&(r+=t.N1+(l-5))}return r},e.getPenaltyN2=function(i){const o=i.size;let r=0;for(let a=0;a=10&&(a===1488||a===93)&&r++,l=l<<1&2047|i.get(u,c),u>=10&&(l===1488||l===93)&&r++}return r*t.N3},e.getPenaltyN4=function(i){let o=0;const r=i.data.length;for(let l=0;l=0;){const r=o[0];for(let l=0;l0){const o=new Uint8Array(this.degree);return o.set(s,i),o}return s};var Wj=ap,F1={},Gi={},lp={};lp.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40};var Os={};const B1="[0-9]+",zj="[A-Z $%*+\\-./:]+";let el="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";el=el.replace(/u/g,"\\u");const Yj="(?:(?![A-Z0-9 $%*+\\-./:]|"+el+`)(?:.|[\r -]))+`;Os.KANJI=new RegExp(el,"g");Os.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g");Os.BYTE=new RegExp(Yj,"g");Os.NUMERIC=new RegExp(B1,"g");Os.ALPHANUMERIC=new RegExp(zj,"g");const Uj=new RegExp("^"+el+"$"),Kj=new RegExp("^"+B1+"$"),qj=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");Os.testKanji=function(t){return Uj.test(t)};Os.testNumeric=function(t){return Kj.test(t)};Os.testAlphanumeric=function(t){return qj.test(t)};(function(e){const t=lp,n=Os;e.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},e.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},e.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(o,r){if(!o.ccBits)throw new Error("Invalid mode: "+o);if(!t.isValid(r))throw new Error("Invalid version: "+r);return r>=1&&r<10?o.ccBits[0]:r<27?o.ccBits[1]:o.ccBits[2]},e.getBestModeForData=function(o){return n.testNumeric(o)?e.NUMERIC:n.testAlphanumeric(o)?e.ALPHANUMERIC:n.testKanji(o)?e.KANJI:e.BYTE},e.toString=function(o){if(o&&o.id)return o.id;throw new Error("Invalid mode")},e.isValid=function(o){return o&&o.bit&&o.ccBits};function s(i){if(typeof i!="string")throw new Error("Param is not a string");switch(i.toLowerCase()){case"numeric":return e.NUMERIC;case"alphanumeric":return e.ALPHANUMERIC;case"kanji":return e.KANJI;case"byte":return e.BYTE;default:throw new Error("Unknown mode: "+i)}}e.from=function(o,r){if(e.isValid(o))return o;try{return s(o)}catch{return r}}})(Gi);(function(e){const t=Vn,n=$u,s=Su,i=Gi,o=lp,r=7973,a=t.getBCHDigit(r);function l(f,p,g){for(let _=1;_<=40;_++)if(p<=e.getCapacity(_,g,f))return _}function c(f,p){return i.getCharCountIndicator(f,p)+4}function u(f,p){let g=0;return f.forEach(function(_){const b=c(_.mode,p);g+=b+_.getBitsLength()}),g}function d(f,p){for(let g=1;g<=40;g++)if(u(f,g)<=e.getCapacity(g,p,i.MIXED))return g}e.from=function(p,g){return o.isValid(p)?parseInt(p,10):g},e.getCapacity=function(p,g,_){if(!o.isValid(p))throw new Error("Invalid QR Code version");typeof _>"u"&&(_=i.BYTE);const b=t.getSymbolTotalCodewords(p),w=n.getTotalCodewordsCount(p,g),$=(b-w)*8;if(_===i.MIXED)return $;const A=$-c(_,p);switch(_){case i.NUMERIC:return Math.floor(A/10*3);case i.ALPHANUMERIC:return Math.floor(A/11*2);case i.KANJI:return Math.floor(A/13);case i.BYTE:default:return Math.floor(A/8)}},e.getBestVersionForData=function(p,g){let _;const b=s.from(g,s.M);if(Array.isArray(p)){if(p.length>1)return d(p,b);if(p.length===0)return 1;_=p[0]}else _=p;return l(_.mode,_.getLength(),b)},e.getEncodedBits=function(p){if(!o.isValid(p)||p<7)throw new Error("Invalid QR Code version");let g=p<<12;for(;t.getBCHDigit(g)-a>=0;)g^=r<=0;)i^=H1<0&&(s=this.data.substr(n),i=parseInt(s,10),t.put(i,o*3+1))};var Xj=Dr;const Qj=Gi,Pd=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function Or(e){this.mode=Qj.ALPHANUMERIC,this.data=e}Or.getBitsLength=function(t){return 11*Math.floor(t/2)+6*(t%2)};Or.prototype.getLength=function(){return this.data.length};Or.prototype.getBitsLength=function(){return Or.getBitsLength(this.data.length)};Or.prototype.write=function(t){let n;for(n=0;n+2<=this.data.length;n+=2){let s=Pd.indexOf(this.data[n])*45;s+=Pd.indexOf(this.data[n+1]),t.put(s,11)}this.data.length%2&&t.put(Pd.indexOf(this.data[n]),6)};var Zj=Or,eW=function(t){for(var n=[],s=t.length,i=0;i=55296&&o<=56319&&s>i+1){var r=t.charCodeAt(i+1);r>=56320&&r<=57343&&(o=(o-55296)*1024+r-56320+65536,i+=1)}if(o<128){n.push(o);continue}if(o<2048){n.push(o>>6|192),n.push(o&63|128);continue}if(o<55296||o>=57344&&o<65536){n.push(o>>12|224),n.push(o>>6&63|128),n.push(o&63|128);continue}if(o>=65536&&o<=1114111){n.push(o>>18|240),n.push(o>>12&63|128),n.push(o>>6&63|128),n.push(o&63|128);continue}n.push(239,191,189)}return new Uint8Array(n).buffer};const tW=eW,nW=Gi;function Ir(e){this.mode=nW.BYTE,typeof e=="string"&&(e=tW(e)),this.data=new Uint8Array(e)}Ir.getBitsLength=function(t){return t*8};Ir.prototype.getLength=function(){return this.data.length};Ir.prototype.getBitsLength=function(){return Ir.getBitsLength(this.data.length)};Ir.prototype.write=function(e){for(let t=0,n=this.data.length;t=33088&&n<=40956)n-=33088;else if(n>=57408&&n<=60351)n-=49472;else throw new Error("Invalid SJIS character: "+this.data[t]+` -Make sure your charset is UTF-8`);n=(n>>>8&255)*192+(n&255),e.put(n,13)}};var rW=Rr,W1={exports:{}};(function(e){var t={single_source_shortest_paths:function(n,s,i){var o={},r={};r[s]=0;var a=t.PriorityQueue.make();a.push(s,0);for(var l,c,u,d,f,p,g,_,b;!a.empty();){l=a.pop(),c=l.value,d=l.cost,f=n[c]||{};for(u in f)f.hasOwnProperty(u)&&(p=f[u],g=d+p,_=r[u],b=typeof r[u]>"u",(b||_>g)&&(r[u]=g,a.push(u,g),o[u]=c))}if(typeof i<"u"&&typeof r[i]>"u"){var w=["Could not find a path from ",s," to ",i,"."].join("");throw new Error(w)}return o},extract_shortest_path_from_predecessor_list:function(n,s){for(var i=[],o=s;o;)i.push(o),n[o],o=n[o];return i.reverse(),i},find_path:function(n,s,i){var o=t.single_source_shortest_paths(n,s,i);return t.extract_shortest_path_from_predecessor_list(o,i)},PriorityQueue:{make:function(n){var s=t.PriorityQueue,i={},o;n=n||{};for(o in s)s.hasOwnProperty(o)&&(i[o]=s[o]);return i.queue=[],i.sorter=n.sorter||s.default_sorter,i},default_sorter:function(n,s){return n.cost-s.cost},push:function(n,s){var i={value:n,cost:s};this.queue.push(i),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};e.exports=t})(W1);var aW=W1.exports;(function(e){const t=Gi,n=Xj,s=Zj,i=sW,o=rW,r=Os,a=Vn,l=aW;function c(w){return unescape(encodeURIComponent(w)).length}function u(w,$,A){const T=[];let k;for(;(k=w.exec(A))!==null;)T.push({data:k[0],index:k.index,mode:$,length:k[0].length});return T}function d(w){const $=u(r.NUMERIC,t.NUMERIC,w),A=u(r.ALPHANUMERIC,t.ALPHANUMERIC,w);let T,k;return a.isKanjiModeEnabled()?(T=u(r.BYTE,t.BYTE,w),k=u(r.KANJI,t.KANJI,w)):(T=u(r.BYTE_KANJI,t.BYTE,w),k=[]),$.concat(A,T,k).sort(function(x,C){return x.index-C.index}).map(function(x){return{data:x.data,mode:x.mode,length:x.length}})}function f(w,$){switch($){case t.NUMERIC:return n.getBitsLength(w);case t.ALPHANUMERIC:return s.getBitsLength(w);case t.KANJI:return o.getBitsLength(w);case t.BYTE:return i.getBitsLength(w)}}function p(w){return w.reduce(function($,A){const T=$.length-1>=0?$[$.length-1]:null;return T&&T.mode===A.mode?($[$.length-1].data+=A.data,$):($.push(A),$)},[])}function g(w){const $=[];for(let A=0;A=0&&a<=6&&(l===0||l===6)||l>=0&&l<=6&&(a===0||a===6)||a>=2&&a<=4&&l>=2&&l<=4?e.set(o+a,r+l,!0,!0):e.set(o+a,r+l,!1,!0))}}function gW(e){const t=e.size;for(let n=8;n>a&1)===1,e.set(i,o,r,!0),e.set(o,i,r,!0)}function Dd(e,t,n){const s=e.size,i=fW.getEncodedBits(t,n);let o,r;for(o=0;o<15;o++)r=(i>>o&1)===1,o<6?e.set(o,8,r,!0):o<8?e.set(o+1,8,r,!0):e.set(s-15+o,8,r,!0),o<8?e.set(8,s-o-1,r,!0):o<9?e.set(8,15-o-1+1,r,!0):e.set(8,15-o-1,r,!0);e.set(s-8,8,1,!0)}function bW(e,t){const n=e.size;let s=-1,i=n-1,o=7,r=0;for(let a=n-1;a>0;a-=2)for(a===6&&a--;;){for(let l=0;l<2;l++)if(!e.isReserved(i,a-l)){let c=!1;r>>o&1)===1),e.set(i,a-l,c),o--,o===-1&&(r++,o=7)}if(i+=s,i<0||n<=i){i-=s,s=-s;break}}}function yW(e,t,n){const s=new lW;n.forEach(function(l){s.put(l.mode.bit,4),s.put(l.getLength(),pW.getCharCountIndicator(l.mode,e)),l.write(s)});const i=Cu.getSymbolTotalCodewords(e),o=Th.getTotalCodewordsCount(e,t),r=(i-o)*8;for(s.getLengthInBits()+4<=r&&s.put(0,4);s.getLengthInBits()%8!==0;)s.putBit(0);const a=(r-s.getLengthInBits())/8;for(let l=0;lT+k.before.length+k.lines.length+k.after.length,0);if(w+=e.beforeBody.length+e.afterBody.length,d&&(_+=d*c.lineHeight+(d-1)*t.titleSpacing+t.titleMarginBottom),w){const T=t.displayColors?Math.max(a,l.lineHeight):l.lineHeight;_+=p*T+(w-p)*l.lineHeight+(w-1)*t.bodySpacing}f&&(_+=t.footerMarginTop+f*u.lineHeight+(f-1)*t.footerSpacing);let $=0;const A=function(T){b=Math.max(b,n.measureText(T).width+$)};return n.save(),n.font=c.string,ut(e.title,A),n.font=l.string,ut(e.beforeBody.concat(e.afterBody),A),$=t.displayColors?r+2+t.boxPadding:0,ut(s,T=>{ut(T.before,A),ut(T.lines,A),ut(T.after,A)}),$=0,n.font=u.string,ut(e.footer,A),n.restore(),b+=m.width,{width:b,height:_}}function yH(e,t){const{y:n,height:s}=t;return ne.height-s/2?"bottom":"center"}function wH(e,t,n,s){const{x:i,width:o}=s,r=n.caretSize+n.caretPadding;if(e==="left"&&i+o+r>t.width||e==="right"&&i-o-r<0)return!0}function xH(e,t,n,s){const{x:i,width:o}=n,{width:r,chartArea:{left:a,right:l}}=e;let c="center";return s==="center"?c=i<=(a+l)/2?"left":"right":i<=o/2?c="left":i>=r-o/2&&(c="right"),wH(c,e,t,n)&&(c="center"),c}function G_(e,t,n){const s=n.yAlign||t.yAlign||yH(e,n);return{xAlign:n.xAlign||t.xAlign||xH(e,t,n,s),yAlign:s}}function kH(e,t){let{x:n,width:s}=e;return t==="right"?n-=s:t==="center"&&(n-=s/2),n}function SH(e,t,n){let{y:s,height:i}=e;return t==="top"?s+=n:t==="bottom"?s-=i+n:s-=i/2,s}function J_(e,t,n,s){const{caretSize:i,caretPadding:o,cornerRadius:r}=e,{xAlign:a,yAlign:l}=n,c=i+o,{topLeft:u,topRight:d,bottomLeft:f,bottomRight:p}=$o(r);let m=kH(t,a);const _=SH(t,l,c);return l==="center"?a==="left"?m+=c:a==="right"&&(m-=c):a==="left"?m-=Math.max(u,f)+i:a==="right"&&(m+=Math.max(d,p)+i),{x:en(m,0,s.width-t.width),y:en(_,0,s.height-t.height)}}function Ql(e,t,n){const s=fn(n.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-s.right:e.x+s.left}function X_(e){return vs([],js(e))}function $H(e,t,n){return Ui(e,{tooltip:t,tooltipItems:n,type:"tooltip"})}function Q_(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const m1={beforeTitle:Bs,title(e){if(e.length>0){const t=e[0],n=t.chart.data.labels,s=n?n.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(s>0&&t.dataIndex"u"?m1[t].call(n,s):i}class _h extends oi{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const n=this.chart,s=this.options.setContext(this.getContext()),i=s.enabled&&n.options.animation&&s.animations,o=new J0(this.chart,i);return i._cacheable&&(this._cachedAnimations=Object.freeze(o)),o}getContext(){return this.$context||(this.$context=$H(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,n){const{callbacks:s}=n,i=Sn(s,"beforeTitle",this,t),o=Sn(s,"title",this,t),r=Sn(s,"afterTitle",this,t);let a=[];return a=vs(a,js(i)),a=vs(a,js(o)),a=vs(a,js(r)),a}getBeforeBody(t,n){return X_(Sn(n.callbacks,"beforeBody",this,t))}getBody(t,n){const{callbacks:s}=n,i=[];return ut(t,o=>{const r={before:[],lines:[],after:[]},a=Q_(s,o);vs(r.before,js(Sn(a,"beforeLabel",this,o))),vs(r.lines,Sn(a,"label",this,o)),vs(r.after,js(Sn(a,"afterLabel",this,o))),i.push(r)}),i}getAfterBody(t,n){return X_(Sn(n.callbacks,"afterBody",this,t))}getFooter(t,n){const{callbacks:s}=n,i=Sn(s,"beforeFooter",this,t),o=Sn(s,"footer",this,t),r=Sn(s,"afterFooter",this,t);let a=[];return a=vs(a,js(i)),a=vs(a,js(o)),a=vs(a,js(r)),a}_createItems(t){const n=this._active,s=this.chart.data,i=[],o=[],r=[];let a=[],l,c;for(l=0,c=n.length;lt.filter(u,d,f,s))),t.itemSort&&(a=a.sort((u,d)=>t.itemSort(u,d,s))),ut(a,u=>{const d=Q_(t.callbacks,u);i.push(Sn(d,"labelColor",this,u)),o.push(Sn(d,"labelPointStyle",this,u)),r.push(Sn(d,"labelTextColor",this,u))}),this.labelColors=i,this.labelPointStyles=o,this.labelTextColors=r,this.dataPoints=a,a}update(t,n){const s=this.options.setContext(this.getContext()),i=this._active;let o,r=[];if(!i.length)this.opacity!==0&&(o={opacity:0});else{const a=ha[s.position].call(this,i,this._eventPosition);r=this._createItems(s),this.title=this.getTitle(r,s),this.beforeBody=this.getBeforeBody(r,s),this.body=this.getBody(r,s),this.afterBody=this.getAfterBody(r,s),this.footer=this.getFooter(r,s);const l=this._size=q_(this,s),c=Object.assign({},a,l),u=G_(this.chart,s,c),d=J_(s,c,u,this.chart);this.xAlign=u.xAlign,this.yAlign=u.yAlign,o={opacity:1,x:d.x,y:d.y,width:l.width,height:l.height,caretX:a.x,caretY:a.y}}this._tooltipItems=r,this.$context=void 0,o&&this._resolveAnimations().update(this,o),t&&s.external&&s.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,s,i){const o=this.getCaretPosition(t,s,i);n.lineTo(o.x1,o.y1),n.lineTo(o.x2,o.y2),n.lineTo(o.x3,o.y3)}getCaretPosition(t,n,s){const{xAlign:i,yAlign:o}=this,{caretSize:r,cornerRadius:a}=s,{topLeft:l,topRight:c,bottomLeft:u,bottomRight:d}=$o(a),{x:f,y:p}=t,{width:m,height:_}=n;let b,w,$,A,T,k;return o==="center"?(T=p+_/2,i==="left"?(b=f,w=b-r,A=T+r,k=T-r):(b=f+m,w=b+r,A=T-r,k=T+r),$=b):(i==="left"?w=f+Math.max(l,u)+r:i==="right"?w=f+m-Math.max(c,d)-r:w=this.caretX,o==="top"?(A=p,T=A-r,b=w-r,$=w+r):(A=p+_,T=A+r,b=w+r,$=w-r),k=A),{x1:b,x2:w,x3:$,y1:A,y2:T,y3:k}}drawTitle(t,n,s){const i=this.title,o=i.length;let r,a,l;if(o){const c=dr(s.rtl,this.x,this.width);for(t.x=Ql(this,s.titleAlign,s),n.textAlign=c.textAlign(s.titleAlign),n.textBaseline="middle",r=Kt(s.titleFont),a=s.titleSpacing,n.fillStyle=s.titleColor,n.font=r.string,l=0;l$!==0)?(t.beginPath(),t.fillStyle=o.multiKeyBackground,Ja(t,{x:_,y:m,w:c,h:l,radius:w}),t.fill(),t.stroke(),t.fillStyle=r.backgroundColor,t.beginPath(),Ja(t,{x:b,y:m+1,w:c-2,h:l-2,radius:w}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(_,m,c,l),t.strokeRect(_,m,c,l),t.fillStyle=r.backgroundColor,t.fillRect(b,m+1,c-2,l-2))}t.fillStyle=this.labelTextColors[s]}drawBody(t,n,s){const{body:i}=this,{bodySpacing:o,bodyAlign:r,displayColors:a,boxHeight:l,boxWidth:c,boxPadding:u}=s,d=Kt(s.bodyFont);let f=d.lineHeight,p=0;const m=dr(s.rtl,this.x,this.width),_=function(C){n.fillText(C,m.x(t.x+p),t.y+f/2),t.y+=f+o},b=m.textAlign(r);let w,$,A,T,k,y,x;for(n.textAlign=r,n.textBaseline="middle",n.font=d.string,t.x=Ql(this,b,s),n.fillStyle=s.bodyColor,ut(this.beforeBody,_),p=a&&b!=="right"?r==="center"?c/2+u:c+2+u:0,T=0,y=i.length;T0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,s=this.$animations,i=s&&s.x,o=s&&s.y;if(i||o){const r=ha[t.position].call(this,this._active,this._eventPosition);if(!r)return;const a=this._size=q_(this,t),l=Object.assign({},r,this._size),c=G_(n,t,l),u=J_(t,l,c,n);(i._to!==u.x||o._to!==u.y)&&(this.xAlign=c.xAlign,this.yAlign=c.yAlign,this.width=a.width,this.height=a.height,this.caretX=r.x,this.caretY=r.y,this._resolveAnimations().update(this,u))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let s=this.opacity;if(!s)return;this._updateAnimationTarget(n);const i={width:this.width,height:this.height},o={x:this.x,y:this.y};s=Math.abs(s)<.001?0:s;const r=fn(n.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&a&&(t.save(),t.globalAlpha=s,this.drawBackground(o,t,i,n),Y0(t,n.textDirection),o.y+=r.top,this.drawTitle(o,t,n),this.drawBody(o,t,n),this.drawFooter(o,t,n),K0(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const s=this._active,i=t.map(({datasetIndex:a,index:l})=>{const c=this.chart.getDatasetMeta(a);if(!c)throw new Error("Cannot find a dataset at index "+a);return{datasetIndex:a,element:c.data[l],index:l}}),o=!Rc(s,i),r=this._positionChanged(i,n);(o||r)&&(this._active=i,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,s=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const i=this.options,o=this._active||[],r=this._getActiveElements(t,o,n,s),a=this._positionChanged(r,t),l=n||!Rc(r,o)||a;return l&&(this._active=r,(i.enabled||i.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),l}_getActiveElements(t,n,s,i){const o=this.options;if(t.type==="mouseout")return[];if(!i)return n.filter(a=>this.chart.data.datasets[a.datasetIndex]&&this.chart.getDatasetMeta(a.datasetIndex).controller.getParsed(a.index)!==void 0);const r=this.chart.getElementsAtEventForMode(t,o.mode,o,s);return o.reverse&&r.reverse(),r}_positionChanged(t,n){const{caretX:s,caretY:i,options:o}=this,r=ha[o.position].call(this,t,n);return r!==!1&&(s!==r.x||i!==r.y)}}le(_h,"positioners",ha);var AH={id:"tooltip",_element:_h,positioners:ha,afterInit(e,t,n){n&&(e.tooltip=new _h({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const n={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",n)}},afterEvent(e,t){if(e.tooltip){const n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:m1},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const CH=(e,t,n,s)=>(typeof t=="string"?(n=e.push(t)-1,s.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function EH(e,t,n,s){const i=e.indexOf(t);if(i===-1)return CH(e,t,n,s);const o=e.lastIndexOf(t);return i!==o?n:i}const PH=(e,t)=>e===null?null:en(Math.round(e),0,t);function Z_(e){const t=this.getLabels();return e>=0&&en.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}le(vh,"id","category"),le(vh,"defaults",{ticks:{callback:Z_}});function MH(e,t){const n=[],{bounds:i,step:o,min:r,max:a,precision:l,count:c,maxTicks:u,maxDigits:d,includeBounds:f}=e,p=o||1,m=u-1,{min:_,max:b}=t,w=!ot(r),$=!ot(a),A=!ot(c),T=(b-_)/(d+1);let k=Gm((b-_)/m/p)*p,y,x,C,P;if(k<1e-14&&!w&&!$)return[{value:_},{value:b}];P=Math.ceil(b/k)-Math.floor(_/k),P>m&&(k=Gm(P*k/m/p)*p),ot(l)||(y=Math.pow(10,l),k=Math.ceil(k*y)/y),i==="ticks"?(x=Math.floor(_/k)*k,C=Math.ceil(b/k)*k):(x=_,C=b),w&&$&&o&&IB((a-r)/o,k/1e3)?(P=Math.round(Math.min((a-r)/k,u)),k=(a-r)/P,x=r,C=a):A?(x=w?r:x,C=$?a:C,P=c-1,k=(C-x)/P):(P=(C-x)/k,Ca(P,Math.round(P),k/1e3)?P=Math.round(P):P=Math.ceil(P));const E=Math.max(Jm(k),Jm(x));y=Math.pow(10,ot(l)?E:l),x=Math.round(x*y)/y,C=Math.round(C*y)/y;let B=0;for(w&&(f&&x!==r?(n.push({value:r}),xa)break;n.push({value:G})}return $&&f&&C!==a?n.length&&Ca(n[n.length-1].value,a,ev(a,T,e))?n[n.length-1].value=a:n.push({value:a}):(!$||C===a)&&n.push({value:C}),n}function ev(e,t,{horizontal:n,minRotation:s}){const i=as(s),o=(n?Math.sin(i):Math.cos(i))||.001,r=.75*t*(""+e).length;return Math.min(t/o,r)}class jc extends Fo{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,n){return ot(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:s}=this.getUserBounds();let{min:i,max:o}=this;const r=l=>i=n?i:l,a=l=>o=s?o:l;if(t){const l=Es(i),c=Es(o);l<0&&c<0?a(0):l>0&&c>0&&r(0)}if(i===o){let l=o===0?1:Math.abs(o*.05);a(o+l),t||r(i-l)}this.min=i,this.max=o}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:n,stepSize:s}=t,i;return s?(i=Math.ceil(this.max/s)-Math.floor(this.min/s)+1,i>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${i} ticks. Limiting to 1000.`),i=1e3)):(i=this.computeTickLimit(),n=n||11),n&&(i=Math.min(n,i)),i}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let s=this.getTickLimit();s=Math.max(2,s);const i={maxTicks:s,bounds:t.bounds,min:t.min,max:t.max,precision:n.precision,step:n.stepSize,count:n.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:n.minRotation||0,includeBounds:n.includeBounds!==!1},o=this._range||this,r=MH(i,o);return t.bounds==="ticks"&&E0(r,this,"value"),t.reverse?(r.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),r}configure(){const t=this.ticks;let n=this.min,s=this.max;if(super.configure(),this.options.offset&&t.length){const i=(s-n)/Math.max(t.length-1,1)/2;n-=i,s+=i}this._startValue=n,this._endValue=s,this._valueRange=s-n}getLabelForValue(t){return dl(t,this.chart.options.locale,this.options.ticks.format)}}class bh extends jc{determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=Et(t)?t:0,this.max=Et(n)?n:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),n=t?this.width:this.height,s=as(this.options.ticks.minRotation),i=(t?Math.sin(s):Math.cos(s))||.001,o=this._resolveTickFontOptions(0);return Math.ceil(n/Math.min(40,o.lineHeight/i))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}le(bh,"id","linear"),le(bh,"defaults",{ticks:{callback:vu.formatters.numeric}});const Qa=e=>Math.floor($i(e)),uo=(e,t)=>Math.pow(10,Qa(e)+t);function tv(e){return e/Math.pow(10,Qa(e))===1}function nv(e,t,n){const s=Math.pow(10,n),i=Math.floor(e/s);return Math.ceil(t/s)-i}function TH(e,t){const n=t-e;let s=Qa(n);for(;nv(e,t,s)>10;)s++;for(;nv(e,t,s)<10;)s--;return Math.min(s,Qa(e))}function DH(e,{min:t,max:n}){t=Mn(e.min,t);const s=[],i=Qa(t);let o=TH(t,n),r=o<0?Math.pow(10,Math.abs(o)):1;const a=Math.pow(10,o),l=i>o?Math.pow(10,i):0,c=Math.round((t-l)*r)/r,u=Math.floor((t-l)/a/10)*a*10;let d=Math.floor((c-u)/Math.pow(10,o)),f=Mn(e.min,Math.round((l+u+d*Math.pow(10,o))*r)/r);for(;f=10?d=d<15?15:20:d++,d>=20&&(o++,d=2,r=o>=0?1:r),f=Math.round((l+u+d*Math.pow(10,o))*r)/r;const p=Mn(e.max,f);return s.push({value:p,major:tv(p),significand:d}),s}class yh extends Fo{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,n){const s=jc.prototype.parse.apply(this,[t,n]);if(s===0){this._zero=!0;return}return Et(s)&&s>0?s:null}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=Et(t)?Math.max(0,t):null,this.max=Et(n)?Math.max(0,n):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!Et(this._userMin)&&(this.min=t===uo(this.min,0)?uo(this.min,-1):uo(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let s=this.min,i=this.max;const o=a=>s=t?s:a,r=a=>i=n?i:a;s===i&&(s<=0?(o(1),r(10)):(o(uo(s,-1)),r(uo(i,1)))),s<=0&&o(uo(i,-1)),i<=0&&r(uo(s,1)),this.min=s,this.max=i}buildTicks(){const t=this.options,n={min:this._userMin,max:this._userMax},s=DH(n,this);return t.bounds==="ticks"&&E0(s,this,"value"),t.reverse?(s.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),s}getLabelForValue(t){return t===void 0?"0":dl(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=$i(t),this._valueRange=$i(this.max)-$i(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:($i(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const n=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+n*this._valueRange)}}le(yh,"id","logarithmic"),le(yh,"defaults",{ticks:{callback:vu.formatters.logarithmic,major:{enabled:!0}}});function wh(e){const t=e.ticks;if(t.display&&e.display){const n=fn(t.backdropPadding);return Ge(t.font&&t.font.size,Pt.font.size)+n.height}return 0}function OH(e,t,n){return n=bt(n)?n:[n],{w:XB(e,t.string,n),h:n.length*t.lineHeight}}function sv(e,t,n,s,i){return e===s||e===i?{start:t-n/2,end:t+n/2}:ei?{start:t-n,end:t}:{start:t,end:t+n}}function IH(e){const t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),s=[],i=[],o=e._pointLabels.length,r=e.options.pointLabels,a=r.centerPointLabels?wt/o:0;for(let l=0;lt.r&&(a=(s.end-t.r)/o,e.r=Math.max(e.r,t.r+a)),i.startt.b&&(l=(i.end-t.b)/r,e.b=Math.max(e.b,t.b+l))}function LH(e,t,n){const s=e.drawingArea,{extra:i,additionalAngle:o,padding:r,size:a}=n,l=e.getPointPosition(t,s+i+r,o),c=Math.round(Uf(Dn(l.angle+Lt))),u=HH(l.y,a.h,c),d=BH(c),f=VH(l.x,a.w,d);return{visible:!0,x:l.x,y:u,textAlign:d,left:f,top:u,right:f+a.w,bottom:u+a.h}}function NH(e,t){if(!t)return!0;const{left:n,top:s,right:i,bottom:o}=e;return!(Js({x:n,y:s},t)||Js({x:n,y:o},t)||Js({x:i,y:s},t)||Js({x:i,y:o},t))}function FH(e,t,n){const s=[],i=e._pointLabels.length,o=e.options,{centerPointLabels:r,display:a}=o.pointLabels,l={extra:wh(o)/2,additionalAngle:r?wt/i:0};let c;for(let u=0;u270||n<90)&&(e-=t),e}function jH(e,t,n){const{left:s,top:i,right:o,bottom:r}=n,{backdropColor:a}=t;if(!ot(a)){const l=$o(t.borderRadius),c=fn(t.backdropPadding);e.fillStyle=a;const u=s-c.left,d=i-c.top,f=o-s+c.width,p=r-i+c.height;Object.values(l).some(m=>m!==0)?(e.beginPath(),Ja(e,{x:u,y:d,w:f,h:p,radius:l}),e.fill()):e.fillRect(u,d,f,p)}}function WH(e,t){const{ctx:n,options:{pointLabels:s}}=e;for(let i=t-1;i>=0;i--){const o=e._pointLabelItems[i];if(!o.visible)continue;const r=s.setContext(e.getPointLabelContext(i));jH(n,r,o);const a=Kt(r.font),{x:l,y:c,textAlign:u}=o;Do(n,e._pointLabels[i],l,c+a.lineHeight/2,a,{color:r.color,textAlign:u,textBaseline:"middle"})}}function _1(e,t,n,s){const{ctx:i}=e;if(n)i.arc(e.xCenter,e.yCenter,t,0,yt);else{let o=e.getPointPosition(0,t);i.moveTo(o.x,o.y);for(let r=1;r{const i=pt(this.options.pointLabels.callback,[n,s],this);return i||i===0?i:""}).filter((n,s)=>this.chart.getDataVisibility(s))}fit(){const t=this.options;t.display&&t.pointLabels.display?IH(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,n,s,i){this.xCenter+=Math.floor((t-n)/2),this.yCenter+=Math.floor((s-i)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,n,s,i))}getIndexAngle(t){const n=yt/(this._pointLabels.length||1),s=this.options.startAngle||0;return Dn(t*n+as(s))}getDistanceFromCenterForValue(t){if(ot(t))return NaN;const n=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*n:(t-this.min)*n}getValueForDistanceFromCenter(t){if(ot(t))return NaN;const n=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-n:this.min+n}getPointLabelContext(t){const n=this._pointLabels||[];if(t>=0&&t{if(d!==0){l=this.getDistanceFromCenterForValue(u.value);const f=this.getContext(d),p=i.setContext(f),m=o.setContext(f);zH(this,p,l,r,m)}}),s.display){for(t.save(),a=r-1;a>=0;a--){const u=s.setContext(this.getPointLabelContext(a)),{color:d,lineWidth:f}=u;!f||!d||(t.lineWidth=f,t.strokeStyle=d,t.setLineDash(u.borderDash),t.lineDashOffset=u.borderDashOffset,l=this.getDistanceFromCenterForValue(n.ticks.reverse?this.min:this.max),c=this.getPointPosition(a,l),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(c.x,c.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,n=this.options,s=n.ticks;if(!s.display)return;const i=this.getIndexAngle(0);let o,r;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(i),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((a,l)=>{if(l===0&&!n.reverse)return;const c=s.setContext(this.getContext(l)),u=Kt(c.font);if(o=this.getDistanceFromCenterForValue(this.ticks[l].value),c.showLabelBackdrop){t.font=u.string,r=t.measureText(a.label).width,t.fillStyle=c.backdropColor;const d=fn(c.backdropPadding);t.fillRect(-r/2-d.left,-o-u.size/2-d.top,r+d.width,u.size+d.height)}Do(t,a.label,0,-o,u,{color:c.color,strokeColor:c.textStrokeColor,strokeWidth:c.textStrokeWidth})}),t.restore()}drawTitle(){}}le(fa,"id","radialLinear"),le(fa,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:vu.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),le(fa,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),le(fa,"descriptors",{angleLines:{_fallback:"grid"}});const ku={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},An=Object.keys(ku);function iv(e,t){return e-t}function ov(e,t){if(ot(t))return null;const n=e._adapter,{parser:s,round:i,isoWeekday:o}=e._parseOpts;let r=t;return typeof s=="function"&&(r=s(r)),Et(r)||(r=typeof s=="string"?n.parse(r,s):n.parse(r)),r===null?null:(i&&(r=i==="week"&&(Pr(o)||o===!0)?n.startOf(r,"isoWeek",o):n.startOf(r,i)),+r)}function rv(e,t,n,s){const i=An.length;for(let o=An.indexOf(e);o=An.indexOf(n);o--){const r=An[o];if(ku[r].common&&e._adapter.diff(i,s,r)>=t-1)return r}return An[n?An.indexOf(n):0]}function UH(e){for(let t=An.indexOf(e)+1,n=An.length;t=t?n[s]:n[i];e[o]=!0}}function qH(e,t,n,s){const i=e._adapter,o=+i.startOf(t[0].value,s),r=t[t.length-1].value;let a,l;for(a=o;a<=r;a=+i.add(a,1,s))l=n[a],l>=0&&(t[l].major=!0);return t}function lv(e,t,n){const s=[],i={},o=t.length;let r,a;for(r=0;r+t.value))}initOffsets(t=[]){let n=0,s=0,i,o;this.options.offset&&t.length&&(i=this.getDecimalForValue(t[0]),t.length===1?n=1-i:n=(this.getDecimalForValue(t[1])-i)/2,o=this.getDecimalForValue(t[t.length-1]),t.length===1?s=o:s=(o-this.getDecimalForValue(t[t.length-2]))/2);const r=t.length<3?.5:.25;n=en(n,0,r),s=en(s,0,r),this._offsets={start:n,end:s,factor:1/(n+1+s)}}_generate(){const t=this._adapter,n=this.min,s=this.max,i=this.options,o=i.time,r=o.unit||rv(o.minUnit,n,s,this._getLabelCapacity(n)),a=Ge(i.ticks.stepSize,1),l=r==="week"?o.isoWeekday:!1,c=Pr(l)||l===!0,u={};let d=n,f,p;if(c&&(d=+t.startOf(d,"isoWeek",l)),d=+t.startOf(d,c?"day":r),t.diff(s,n,r)>1e5*a)throw new Error(n+" and "+s+" are too far apart with stepSize of "+a+" "+r);const m=i.ticks.source==="data"&&this.getDataTimestamps();for(f=d,p=0;f+_)}getLabelForValue(t){const n=this._adapter,s=this.options.time;return s.tooltipFormat?n.format(t,s.tooltipFormat):n.format(t,s.displayFormats.datetime)}format(t,n){const i=this.options.time.displayFormats,o=this._unit,r=n||i[o];return this._adapter.format(t,r)}_tickFormatFunction(t,n,s,i){const o=this.options,r=o.ticks.callback;if(r)return pt(r,[t,n,s],this);const a=o.time.displayFormats,l=this._unit,c=this._majorUnit,u=l&&a[l],d=c&&a[c],f=s[n],p=c&&d&&f&&f.major;return this._adapter.format(t,i||(p?d:u))}generateTickLabels(t){let n,s,i;for(n=0,s=t.length;n0?a:1}getDataTimestamps(){let t=this._cache.data||[],n,s;if(t.length)return t;const i=this.getMatchingVisibleMetas();if(this._normalized&&i.length)return this._cache.data=i[0].controller.getAllParsedValues(this);for(n=0,s=i.length;n=e[s].pos&&t<=e[i].pos&&({lo:s,hi:i}=Gs(e,"pos",t)),{pos:o,time:a}=e[s],{pos:r,time:l}=e[i]):(t>=e[s].time&&t<=e[i].time&&({lo:s,hi:i}=Gs(e,"time",t)),{time:o,pos:a}=e[s],{time:r,pos:l}=e[i]);const c=r-o;return c?a+(l-a)*(t-o)/c:a}class xh extends Za{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=Zl(n,this.min),this._tableRange=Zl(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:s}=this,i=[],o=[];let r,a,l,c,u;for(r=0,a=t.length;r=n&&c<=s&&i.push(c);if(i.length<2)return[{time:n,pos:0},{time:s,pos:1}];for(r=0,a=i.length;ri-o)}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const n=this.getDataTimestamps(),s=this.getLabelTimestamps();return n.length&&s.length?t=this.normalize(n.concat(s)):t=n.length?n:s,t=this._cache.all=t,t}getDecimalForValue(t){return(Zl(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const n=this._offsets,s=this.getDecimalForPixel(t)/n.factor-n.end;return Zl(this._table,s*this._tableRange+this._minPos,!0)}}le(xh,"id","timeseries"),le(xh,"defaults",Za.defaults);const v1={data:{type:Object,required:!0},options:{type:Object,default:()=>({})},plugins:{type:Array,default:()=>[]},datasetIdKey:{type:String,default:"label"},updateMode:{type:String,default:void 0}},GH={ariaLabel:{type:String},ariaDescribedby:{type:String}},JH={type:{type:String,required:!0},...v1,...GH},XH=Qb[0]==="2"?(e,t)=>Object.assign(e,{attrs:t}):(e,t)=>Object.assign(e,t);function er(e){return eu(e)?Ze(e):e}function QH(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e;return eu(t)?new Proxy(e,{}):e}function ZH(e,t){const n=e.options;n&&t&&Object.assign(n,t)}function b1(e,t){e.labels=t}function y1(e,t,n){const s=[];e.datasets=t.map(i=>{const o=e.datasets.find(r=>r[n]===i[n]);return!o||!i.data||s.includes(o)?{...i}:(s.push(o),Object.assign(o,i),o)})}function e8(e,t){const n={labels:[],datasets:[]};return b1(n,e.labels),y1(n,e.datasets,t),n}const t8=Ft({props:JH,setup(e,t){let{expose:n,slots:s}=t;const i=be(null),o=of(null);n({chart:o});const r=()=>{if(!i.value)return;const{type:c,data:u,options:d,plugins:f,datasetIdKey:p}=e,m=e8(u,p),_=QH(m,u);o.value=new xu(i.value,{type:c,data:_,options:{...d},plugins:f})},a=()=>{const c=Ze(o.value);c&&(c.destroy(),o.value=null)},l=c=>{c.update(e.updateMode)};return Gt(r),hf(a),Vt([()=>e.options,()=>e.data],(c,u)=>{let[d,f]=c,[p,m]=u;const _=Ze(o.value);if(!_)return;let b=!1;if(d){const w=er(d),$=er(p);w&&w!==$&&(ZH(_,w),b=!0)}if(f){const w=er(f.labels),$=er(m.labels),A=er(f.datasets),T=er(m.datasets);w!==$&&(b1(_.config.data,w),b=!0),A&&A!==T&&(y1(_.config.data,A,e.datasetIdKey),b=!0)}b&&tn(()=>{l(_)})},{deep:!0}),()=>Mo("canvas",{role:"img",ariaLabel:e.ariaLabel,ariaDescribedby:e.ariaDescribedby,ref:i},[Mo("p",{},[s.default?s.default():""])])}});function w1(e,t){return xu.register(t),Ft({props:v1,setup(n,s){let{expose:i}=s;const o=of(null),r=a=>{o.value=a==null?void 0:a.chart};return i({chart:o}),()=>Mo(t8,XH({ref:r},{type:e,...n}))}})}const n8=w1("bar",Ma),s8=w1("line",Ta);function ti(e){return Array.isArray?Array.isArray(e):S1(e)==="[object Array]"}const i8=1/0;function o8(e){if(typeof e=="string")return e;let t=e+"";return t=="0"&&1/e==-i8?"-0":t}function r8(e){return e==null?"":o8(e)}function $s(e){return typeof e=="string"}function x1(e){return typeof e=="number"}function a8(e){return e===!0||e===!1||l8(e)&&S1(e)=="[object Boolean]"}function k1(e){return typeof e=="object"}function l8(e){return k1(e)&&e!==null}function On(e){return e!=null}function Ed(e){return!e.trim().length}function S1(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const c8="Incorrect 'index' type",u8=e=>`Invalid value for key ${e}`,d8=e=>`Pattern length exceeds max of ${e}.`,h8=e=>`Missing ${e} property in key`,f8=e=>`Property 'weight' in key '${e}' must be a positive integer`,cv=Object.prototype.hasOwnProperty;class p8{constructor(t){this._keys=[],this._keyMap={};let n=0;t.forEach(s=>{let i=$1(s);this._keys.push(i),this._keyMap[i.id]=i,n+=i.weight}),this._keys.forEach(s=>{s.weight/=n})}get(t){return this._keyMap[t]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function $1(e){let t=null,n=null,s=null,i=1,o=null;if($s(e)||ti(e))s=e,t=uv(e),n=kh(e);else{if(!cv.call(e,"name"))throw new Error(h8("name"));const r=e.name;if(s=r,cv.call(e,"weight")&&(i=e.weight,i<=0))throw new Error(f8(r));t=uv(r),n=kh(r),o=e.getFn}return{path:t,id:n,weight:i,src:s,getFn:o}}function uv(e){return ti(e)?e:e.split(".")}function kh(e){return ti(e)?e.join("."):e}function g8(e,t){let n=[],s=!1;const i=(o,r,a)=>{if(On(o))if(!r[a])n.push(o);else{let l=r[a];const c=o[l];if(!On(c))return;if(a===r.length-1&&($s(c)||x1(c)||a8(c)))n.push(r8(c));else if(ti(c)){s=!0;for(let u=0,d=c.length;ue.score===t.score?e.idx{this._keysMap[n.id]=s})}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,$s(this.docs[0])?this.docs.forEach((t,n)=>{this._addString(t,n)}):this.docs.forEach((t,n)=>{this._addObject(t,n)}),this.norm.clear())}add(t){const n=this.size();$s(t)?this._addString(t,n):this._addObject(t,n)}removeAt(t){this.records.splice(t,1);for(let n=t,s=this.size();n{let r=i.getFn?i.getFn(t):this.getFn(t,i.path);if(On(r)){if(ti(r)){let a=[];const l=[{nestedArrIndex:-1,value:r}];for(;l.length;){const{nestedArrIndex:c,value:u}=l.pop();if(On(u))if($s(u)&&!Ed(u)){let d={v:u,i:c,n:this.norm.get(u)};a.push(d)}else ti(u)&&u.forEach((d,f)=>{l.push({nestedArrIndex:f,value:d})})}s.$[o]=a}else if($s(r)&&!Ed(r)){let a={v:r,n:this.norm.get(r)};s.$[o]=a}}}),this.records.push(s)}toJSON(){return{keys:this.keys,records:this.records}}}function A1(e,t,{getFn:n=qe.getFn,fieldNormWeight:s=qe.fieldNormWeight}={}){const i=new op({getFn:n,fieldNormWeight:s});return i.setKeys(e.map($1)),i.setSources(t),i.create(),i}function x8(e,{getFn:t=qe.getFn,fieldNormWeight:n=qe.fieldNormWeight}={}){const{keys:s,records:i}=e,o=new op({getFn:t,fieldNormWeight:n});return o.setKeys(s),o.setIndexRecords(i),o}function ec(e,{errors:t=0,currentLocation:n=0,expectedLocation:s=0,distance:i=qe.distance,ignoreLocation:o=qe.ignoreLocation}={}){const r=t/e.length;if(o)return r;const a=Math.abs(s-n);return i?r+a/i:a?1:r}function k8(e=[],t=qe.minMatchCharLength){let n=[],s=-1,i=-1,o=0;for(let r=e.length;o=t&&n.push([s,i]),s=-1)}return e[o-1]&&o-s>=t&&n.push([s,o-1]),n}const _o=32;function S8(e,t,n,{location:s=qe.location,distance:i=qe.distance,threshold:o=qe.threshold,findAllMatches:r=qe.findAllMatches,minMatchCharLength:a=qe.minMatchCharLength,includeMatches:l=qe.includeMatches,ignoreLocation:c=qe.ignoreLocation}={}){if(t.length>_o)throw new Error(d8(_o));const u=t.length,d=e.length,f=Math.max(0,Math.min(s,d));let p=o,m=f;const _=a>1||l,b=_?Array(d):[];let w;for(;(w=e.indexOf(t,m))>-1;){let x=ec(t,{currentLocation:w,expectedLocation:f,distance:i,ignoreLocation:c});if(p=Math.min(x,p),m=w+u,_){let C=0;for(;C=E;Y-=1){let L=Y-1,I=n[e.charAt(L)];if(_&&(b[L]=+!!I),G[Y]=(G[Y+1]<<1|1)&I,x&&(G[Y]|=($[Y+1]|$[Y])<<1|1|$[Y+1]),G[Y]&k&&(A=ec(t,{errors:x,currentLocation:L,expectedLocation:f,distance:i,ignoreLocation:c}),A<=p)){if(p=A,m=L,m<=f)break;E=Math.max(1,2*f-m)}}if(ec(t,{errors:x+1,currentLocation:f,expectedLocation:f,distance:i,ignoreLocation:c})>p)break;$=G}const y={isMatch:m>=0,score:Math.max(.001,A)};if(_){const x=k8(b,a);x.length?l&&(y.indices=x):y.isMatch=!1}return y}function $8(e){let t={};for(let n=0,s=e.length;n{this.chunks.push({pattern:f,alphabet:$8(f),startIndex:p})},d=this.pattern.length;if(d>_o){let f=0;const p=d%_o,m=d-p;for(;f{const{isMatch:w,score:$,indices:A}=S8(t,m,_,{location:i+b,distance:o,threshold:r,findAllMatches:a,minMatchCharLength:l,includeMatches:s,ignoreLocation:c});w&&(f=!0),d+=$,w&&A&&(u=[...u,...A])});let p={isMatch:f,score:f?d/this.chunks.length:1};return f&&s&&(p.indices=u),p}}class qi{constructor(t){this.pattern=t}static isMultiMatch(t){return dv(t,this.multiRegex)}static isSingleMatch(t){return dv(t,this.singleRegex)}search(){}}function dv(e,t){const n=e.match(t);return n?n[1]:null}class A8 extends qi{constructor(t){super(t)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(t){const n=t===this.pattern;return{isMatch:n,score:n?0:1,indices:[0,this.pattern.length-1]}}}class C8 extends qi{constructor(t){super(t)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(t){const s=t.indexOf(this.pattern)===-1;return{isMatch:s,score:s?0:1,indices:[0,t.length-1]}}}class E8 extends qi{constructor(t){super(t)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(t){const n=t.startsWith(this.pattern);return{isMatch:n,score:n?0:1,indices:[0,this.pattern.length-1]}}}class P8 extends qi{constructor(t){super(t)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(t){const n=!t.startsWith(this.pattern);return{isMatch:n,score:n?0:1,indices:[0,t.length-1]}}}class M8 extends qi{constructor(t){super(t)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(t){const n=t.endsWith(this.pattern);return{isMatch:n,score:n?0:1,indices:[t.length-this.pattern.length,t.length-1]}}}class T8 extends qi{constructor(t){super(t)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(t){const n=!t.endsWith(this.pattern);return{isMatch:n,score:n?0:1,indices:[0,t.length-1]}}}class E1 extends qi{constructor(t,{location:n=qe.location,threshold:s=qe.threshold,distance:i=qe.distance,includeMatches:o=qe.includeMatches,findAllMatches:r=qe.findAllMatches,minMatchCharLength:a=qe.minMatchCharLength,isCaseSensitive:l=qe.isCaseSensitive,ignoreLocation:c=qe.ignoreLocation}={}){super(t),this._bitapSearch=new C1(t,{location:n,threshold:s,distance:i,includeMatches:o,findAllMatches:r,minMatchCharLength:a,isCaseSensitive:l,ignoreLocation:c})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(t){return this._bitapSearch.searchIn(t)}}class P1 extends qi{constructor(t){super(t)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(t){let n=0,s;const i=[],o=this.pattern.length;for(;(s=t.indexOf(this.pattern,n))>-1;)n=s+o,i.push([s,n-1]);const r=!!i.length;return{isMatch:r,score:r?0:1,indices:i}}}const Sh=[A8,P1,E8,P8,T8,M8,C8,E1],hv=Sh.length,D8=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,O8="|";function I8(e,t={}){return e.split(O8).map(n=>{let s=n.trim().split(D8).filter(o=>o&&!!o.trim()),i=[];for(let o=0,r=s.length;o!!(e[Wc.AND]||e[Wc.OR]),F8=e=>!!e[Ch.PATH],B8=e=>!ti(e)&&k1(e)&&!Eh(e),fv=e=>({[Wc.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function M1(e,t,{auto:n=!0}={}){const s=i=>{let o=Object.keys(i);const r=F8(i);if(!r&&o.length>1&&!Eh(i))return s(fv(i));if(B8(i)){const l=r?i[Ch.PATH]:o[0],c=r?i[Ch.PATTERN]:i[l];if(!$s(c))throw new Error(u8(l));const u={keyId:kh(l),pattern:c};return n&&(u.searcher=Ah(c,t)),u}let a={children:[],operator:o[0]};return o.forEach(l=>{const c=i[l];ti(c)&&c.forEach(u=>{a.children.push(s(u))})}),a};return Eh(e)||(e=fv(e)),s(e)}function V8(e,{ignoreFieldNorm:t=qe.ignoreFieldNorm}){e.forEach(n=>{let s=1;n.matches.forEach(({key:i,norm:o,score:r})=>{const a=i?i.weight:null;s*=Math.pow(r===0&&a?Number.EPSILON:r,(a||1)*(t?1:o))}),n.score=s})}function H8(e,t){const n=e.matches;t.matches=[],On(n)&&n.forEach(s=>{if(!On(s.indices)||!s.indices.length)return;const{indices:i,value:o}=s;let r={indices:i,value:o};s.key&&(r.key=s.key.src),s.idx>-1&&(r.refIndex=s.idx),t.matches.push(r)})}function j8(e,t){t.score=e.score}function W8(e,t,{includeMatches:n=qe.includeMatches,includeScore:s=qe.includeScore}={}){const i=[];return n&&i.push(H8),s&&i.push(j8),e.map(o=>{const{idx:r}=o,a={item:t[r],refIndex:r};return i.length&&i.forEach(l=>{l(o,a)}),a})}class Hr{constructor(t,n={},s){this.options={...qe,...n},this.options.useExtendedSearch,this._keyStore=new p8(this.options.keys),this.setCollection(t,s)}setCollection(t,n){if(this._docs=t,n&&!(n instanceof op))throw new Error(c8);this._myIndex=n||A1(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(t){On(t)&&(this._docs.push(t),this._myIndex.add(t))}remove(t=()=>!1){const n=[];for(let s=0,i=this._docs.length;s-1&&(l=l.slice(0,n)),W8(l,this._docs,{includeMatches:s,includeScore:i})}_searchStringList(t){const n=Ah(t,this.options),{records:s}=this._myIndex,i=[];return s.forEach(({v:o,i:r,n:a})=>{if(!On(o))return;const{isMatch:l,score:c,indices:u}=n.searchIn(o);l&&i.push({item:o,idx:r,matches:[{score:c,value:o,norm:a,indices:u}]})}),i}_searchLogical(t){const n=M1(t,this.options),s=(a,l,c)=>{if(!a.children){const{keyId:d,searcher:f}=a,p=this._findMatches({key:this._keyStore.get(d),value:this._myIndex.getValueForItemAtKeyId(l,d),searcher:f});return p&&p.length?[{idx:c,item:l,matches:p}]:[]}const u=[];for(let d=0,f=a.children.length;d{if(On(a)){let c=s(n,a,l);c.length&&(o[l]||(o[l]={idx:l,item:a,matches:[]},r.push(o[l])),c.forEach(({matches:u})=>{o[l].matches.push(...u)}))}}),r}_searchObjectList(t){const n=Ah(t,this.options),{keys:s,records:i}=this._myIndex,o=[];return i.forEach(({$:r,i:a})=>{if(!On(r))return;let l=[];s.forEach((c,u)=>{l.push(...this._findMatches({key:c,value:r[u],searcher:n}))}),l.length&&o.push({idx:a,item:r,matches:l})}),o}_findMatches({key:t,value:n,searcher:s}){if(!On(n))return[];let i=[];if(ti(n))n.forEach(({v:o,i:r,n:a})=>{if(!On(o))return;const{isMatch:l,score:c,indices:u}=s.searchIn(o);l&&i.push({score:c,key:t,value:o,idx:r,norm:a,indices:u})});else{const{v:o,n:r}=n,{isMatch:a,score:l,indices:c}=s.searchIn(o);a&&i.push({score:l,key:t,value:o,norm:r,indices:c})}return i}}Hr.version="7.0.0";Hr.createIndex=A1;Hr.parseIndex=x8;Hr.config=qe;Hr.parseQuery=M1;N8(L8);const z8={name:"peerSettings",props:{selectedPeer:Object},data(){return{data:void 0,dataChanged:!1,showKey:!1,saving:!1}},setup(){return{dashboardConfigurationStore:et()}},methods:{reset(){this.selectedPeer&&(this.data=JSON.parse(JSON.stringify(this.selectedPeer)),this.dataChanged=!1)},savePeer(){this.saving=!0,ft(`/api/updatePeerSettings/${this.$route.params.id}`,this.data,e=>{this.saving=!1,e.status?this.dashboardConfigurationStore.newMessage("Server","Peer Updated!","success"):this.dashboardConfigurationStore.newMessage("Server",e.message,"danger"),this.$emit("refresh")})},resetPeerData(e){this.saving=!0,ft(`/api/resetPeerData/${this.$route.params.id}`,{id:this.data.id,type:e},t=>{this.saving=!1,t.status?this.dashboardConfigurationStore.newMessage("Server","Peer data usage reset successfully.","success"):this.dashboardConfigurationStore.newMessage("Server",t.message,"danger"),this.$emit("refresh")})}},beforeMount(){this.reset()},mounted(){this.$el.querySelectorAll("input").forEach(e=>{e.addEventListener("keyup",()=>{this.dataChanged=!0})})}},nn=e=>(Ut("data-v-5c34b056"),e=e(),qt(),e),Y8={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},K8={class:"container d-flex h-100 w-100"},U8={class:"m-auto modal-dialog-centered dashboardModal"},q8={class:"card rounded-3 shadow flex-grow-1"},G8={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},J8=nn(()=>h("h4",{class:"mb-0"},"Peer Settings",-1)),X8={key:0,class:"card-body px-4 pb-4"},Q8={class:"d-flex flex-column gap-2 mb-4"},Z8={class:"d-flex align-items-center"},ej=nn(()=>h("small",{class:"text-muted"},"Public Key",-1)),tj={class:"ms-auto"},nj=nn(()=>h("label",{for:"peer_name_textbox",class:"form-label"},[h("small",{class:"text-muted"},"Name")],-1)),sj=["disabled"],ij={class:"d-flex position-relative"},oj=nn(()=>h("label",{for:"peer_private_key_textbox",class:"form-label"},[h("small",{class:"text-muted"},[ye("Private Key "),h("code",null,"(Required for QR Code and Download)")])],-1)),rj=["type","disabled"],aj=nn(()=>h("label",{for:"peer_allowed_ip_textbox",class:"form-label"},[h("small",{class:"text-muted"},[ye("Allowed IPs "),h("code",null,"(Required)")])],-1)),lj=["disabled"],cj=nn(()=>h("label",{for:"peer_endpoint_allowed_ips",class:"form-label"},[h("small",{class:"text-muted"},[ye("Endpoint Allowed IPs "),h("code",null,"(Required)")])],-1)),uj=["disabled"],dj=nn(()=>h("label",{for:"peer_DNS_textbox",class:"form-label"},[h("small",{class:"text-muted"},"DNS")],-1)),hj=["disabled"],fj={class:"accordion mt-3",id:"peerSettingsAccordion"},pj={class:"accordion-item"},gj=nn(()=>h("h2",{class:"accordion-header"},[h("button",{class:"accordion-button rounded-3 collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#peerSettingsAccordionOptional"}," Optional Settings ")],-1)),mj={id:"peerSettingsAccordionOptional",class:"accordion-collapse collapse","data-bs-parent":"#peerSettingsAccordion"},_j={class:"accordion-body d-flex flex-column gap-2 mb-2"},vj=nn(()=>h("label",{for:"peer_preshared_key_textbox",class:"form-label"},[h("small",{class:"text-muted"},"Pre-Shared Key")],-1)),bj=["disabled"],yj=nn(()=>h("label",{for:"peer_mtu",class:"form-label"},[h("small",{class:"text-muted"},"MTU")],-1)),wj=["disabled"],xj=nn(()=>h("label",{for:"peer_keep_alive",class:"form-label"},[h("small",{class:"text-muted"},"Persistent Keepalive")],-1)),kj=["disabled"],Sj=nn(()=>h("hr",null,null,-1)),$j={class:"d-flex gap-2 align-items-center"},Aj=nn(()=>h("strong",null,"Reset Data Usage",-1)),Cj={class:"d-flex gap-2 ms-auto"},Ej=nn(()=>h("i",{class:"bi bi-arrow-down-up me-2"},null,-1)),Pj=nn(()=>h("i",{class:"bi bi-arrow-down me-2"},null,-1)),Mj=nn(()=>h("i",{class:"bi bi-arrow-up me-2"},null,-1)),Tj={class:"d-flex align-items-center gap-2"},Dj=["disabled"],Oj=nn(()=>h("i",{class:"bi bi-arrow-clockwise ms-2"},null,-1)),Ij=["disabled"],Rj=nn(()=>h("i",{class:"bi bi-save-fill ms-2"},null,-1));function Lj(e,t,n,s,i,o){return D(),F("div",Y8,[h("div",K8,[h("div",U8,[h("div",q8,[h("div",G8,[J8,h("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=r=>this.$emit("close"))})]),this.data?(D(),F("div",X8,[h("div",Q8,[h("div",Z8,[ej,h("small",tj,[h("samp",null,_e(this.data.id),1)])]),h("div",null,[nj,Re(h("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[1]||(t[1]=r=>this.data.name=r),id:"peer_name_textbox",placeholder:""},null,8,sj),[[We,this.data.name]])]),h("div",null,[h("div",ij,[oj,h("a",{role:"button",class:"ms-auto text-decoration-none toggleShowKey",onClick:t[2]||(t[2]=r=>this.showKey=!this.showKey)},[h("i",{class:Ee(["bi",[this.showKey?"bi-eye-slash-fill":"bi-eye-fill"]])},null,2)])]),Re(h("input",{type:[this.showKey?"text":"password"],class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[3]||(t[3]=r=>this.data.private_key=r),id:"peer_private_key_textbox",style:{"padding-right":"40px"}},null,8,rj),[[RC,this.data.private_key]])]),h("div",null,[aj,Re(h("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[4]||(t[4]=r=>this.data.allowed_ip=r),id:"peer_allowed_ip_textbox"},null,8,lj),[[We,this.data.allowed_ip]])]),h("div",null,[cj,Re(h("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[5]||(t[5]=r=>this.data.endpoint_allowed_ip=r),id:"peer_endpoint_allowed_ips"},null,8,uj),[[We,this.data.endpoint_allowed_ip]])]),h("div",null,[dj,Re(h("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[6]||(t[6]=r=>this.data.DNS=r),id:"peer_DNS_textbox"},null,8,hj),[[We,this.data.DNS]])]),h("div",fj,[h("div",pj,[gj,h("div",mj,[h("div",_j,[h("div",null,[vj,Re(h("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[7]||(t[7]=r=>this.data.preshared_key=r),id:"peer_preshared_key_textbox"},null,8,bj),[[We,this.data.preshared_key]])]),h("div",null,[yj,Re(h("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[8]||(t[8]=r=>this.data.mtu=r),id:"peer_mtu"},null,8,wj),[[We,this.data.mtu]])]),h("div",null,[xj,Re(h("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[9]||(t[9]=r=>this.data.keepalive=r),id:"peer_keep_alive"},null,8,kj),[[We,this.data.keepalive]])])])])])]),Sj,h("div",$j,[Aj,h("div",Cj,[h("button",{class:"btn bg-primary-subtle text-primary-emphasis rounded-3 flex-grow-1 shadow-sm",onClick:t[10]||(t[10]=r=>this.resetPeerData("total"))},[Ej,ye(" Total ")]),h("button",{class:"btn bg-primary-subtle text-primary-emphasis rounded-3 flex-grow-1 shadow-sm",onClick:t[11]||(t[11]=r=>this.resetPeerData("receive"))},[Pj,ye(" Received ")]),h("button",{class:"btn bg-primary-subtle text-primary-emphasis rounded-3 flex-grow-1 shadow-sm",onClick:t[12]||(t[12]=r=>this.resetPeerData("sent"))},[Mj,ye(" Sent ")])])])]),h("div",Tj,[h("button",{class:"btn btn-secondary rounded-3 shadow",onClick:t[13]||(t[13]=r=>this.reset()),disabled:!this.dataChanged||this.saving},[ye(" Revert "),Oj],8,Dj),h("button",{class:"ms-auto btn btn-dark btn-brand rounded-3 px-3 py-2 shadow",disabled:!this.dataChanged||this.saving,onClick:t[14]||(t[14]=r=>this.savePeer())},[ye(" Save Peer"),Rj],8,Ij)])])):re("",!0)])])])])}const Nj=ze(z8,[["render",Lj],["__scopeId","data-v-5c34b056"]]);var Bo={},Fj=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then},T1={},Vn={};let rp;const Bj=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];Vn.getSymbolSize=function(t){if(!t)throw new Error('"version" cannot be null or undefined');if(t<1||t>40)throw new Error('"version" should be in range from 1 to 40');return t*4+17};Vn.getSymbolTotalCodewords=function(t){return Bj[t]};Vn.getBCHDigit=function(e){let t=0;for(;e!==0;)t++,e>>>=1;return t};Vn.setToSJISFunction=function(t){if(typeof t!="function")throw new Error('"toSJISFunc" is not a valid function.');rp=t};Vn.isKanjiModeEnabled=function(){return typeof rp<"u"};Vn.toSJIS=function(t){return rp(t)};var Su={};(function(e){e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(n){if(typeof n!="string")throw new Error("Param is not a string");switch(n.toLowerCase()){case"l":case"low":return e.L;case"m":case"medium":return e.M;case"q":case"quartile":return e.Q;case"h":case"high":return e.H;default:throw new Error("Unknown EC Level: "+n)}}e.isValid=function(s){return s&&typeof s.bit<"u"&&s.bit>=0&&s.bit<4},e.from=function(s,i){if(e.isValid(s))return s;try{return t(s)}catch{return i}}})(Su);function D1(){this.buffer=[],this.length=0}D1.prototype={get:function(e){const t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)===1},put:function(e,t){for(let n=0;n>>t-n-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(e){const t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}};var Vj=D1;function fl(e){if(!e||e<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}fl.prototype.set=function(e,t,n,s){const i=e*this.size+t;this.data[i]=n,s&&(this.reservedBit[i]=!0)};fl.prototype.get=function(e,t){return this.data[e*this.size+t]};fl.prototype.xor=function(e,t,n){this.data[e*this.size+t]^=n};fl.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]};var Hj=fl,O1={};(function(e){const t=Vn.getSymbolSize;e.getRowColCoords=function(s){if(s===1)return[];const i=Math.floor(s/7)+2,o=t(s),r=o===145?26:Math.ceil((o-13)/(2*i-2))*2,a=[o-7];for(let l=1;l=0&&i<=7},e.from=function(i){return e.isValid(i)?parseInt(i,10):void 0},e.getPenaltyN1=function(i){const o=i.size;let r=0,a=0,l=0,c=null,u=null;for(let d=0;d=5&&(r+=t.N1+(a-5)),c=p,a=1),p=i.get(f,d),p===u?l++:(l>=5&&(r+=t.N1+(l-5)),u=p,l=1)}a>=5&&(r+=t.N1+(a-5)),l>=5&&(r+=t.N1+(l-5))}return r},e.getPenaltyN2=function(i){const o=i.size;let r=0;for(let a=0;a=10&&(a===1488||a===93)&&r++,l=l<<1&2047|i.get(u,c),u>=10&&(l===1488||l===93)&&r++}return r*t.N3},e.getPenaltyN4=function(i){let o=0;const r=i.data.length;for(let l=0;l=0;){const r=o[0];for(let l=0;l0){const o=new Uint8Array(this.degree);return o.set(s,i),o}return s};var Wj=ap,F1={},Gi={},lp={};lp.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40};var Os={};const B1="[0-9]+",zj="[A-Z $%*+\\-./:]+";let el="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";el=el.replace(/u/g,"\\u");const Yj="(?:(?![A-Z0-9 $%*+\\-./:]|"+el+`)(?:.|[\r +]))+`;Os.KANJI=new RegExp(el,"g");Os.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g");Os.BYTE=new RegExp(Yj,"g");Os.NUMERIC=new RegExp(B1,"g");Os.ALPHANUMERIC=new RegExp(zj,"g");const Kj=new RegExp("^"+el+"$"),Uj=new RegExp("^"+B1+"$"),qj=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");Os.testKanji=function(t){return Kj.test(t)};Os.testNumeric=function(t){return Uj.test(t)};Os.testAlphanumeric=function(t){return qj.test(t)};(function(e){const t=lp,n=Os;e.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},e.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},e.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(o,r){if(!o.ccBits)throw new Error("Invalid mode: "+o);if(!t.isValid(r))throw new Error("Invalid version: "+r);return r>=1&&r<10?o.ccBits[0]:r<27?o.ccBits[1]:o.ccBits[2]},e.getBestModeForData=function(o){return n.testNumeric(o)?e.NUMERIC:n.testAlphanumeric(o)?e.ALPHANUMERIC:n.testKanji(o)?e.KANJI:e.BYTE},e.toString=function(o){if(o&&o.id)return o.id;throw new Error("Invalid mode")},e.isValid=function(o){return o&&o.bit&&o.ccBits};function s(i){if(typeof i!="string")throw new Error("Param is not a string");switch(i.toLowerCase()){case"numeric":return e.NUMERIC;case"alphanumeric":return e.ALPHANUMERIC;case"kanji":return e.KANJI;case"byte":return e.BYTE;default:throw new Error("Unknown mode: "+i)}}e.from=function(o,r){if(e.isValid(o))return o;try{return s(o)}catch{return r}}})(Gi);(function(e){const t=Vn,n=$u,s=Su,i=Gi,o=lp,r=7973,a=t.getBCHDigit(r);function l(f,p,m){for(let _=1;_<=40;_++)if(p<=e.getCapacity(_,m,f))return _}function c(f,p){return i.getCharCountIndicator(f,p)+4}function u(f,p){let m=0;return f.forEach(function(_){const b=c(_.mode,p);m+=b+_.getBitsLength()}),m}function d(f,p){for(let m=1;m<=40;m++)if(u(f,m)<=e.getCapacity(m,p,i.MIXED))return m}e.from=function(p,m){return o.isValid(p)?parseInt(p,10):m},e.getCapacity=function(p,m,_){if(!o.isValid(p))throw new Error("Invalid QR Code version");typeof _>"u"&&(_=i.BYTE);const b=t.getSymbolTotalCodewords(p),w=n.getTotalCodewordsCount(p,m),$=(b-w)*8;if(_===i.MIXED)return $;const A=$-c(_,p);switch(_){case i.NUMERIC:return Math.floor(A/10*3);case i.ALPHANUMERIC:return Math.floor(A/11*2);case i.KANJI:return Math.floor(A/13);case i.BYTE:default:return Math.floor(A/8)}},e.getBestVersionForData=function(p,m){let _;const b=s.from(m,s.M);if(Array.isArray(p)){if(p.length>1)return d(p,b);if(p.length===0)return 1;_=p[0]}else _=p;return l(_.mode,_.getLength(),b)},e.getEncodedBits=function(p){if(!o.isValid(p)||p<7)throw new Error("Invalid QR Code version");let m=p<<12;for(;t.getBCHDigit(m)-a>=0;)m^=r<=0;)i^=H1<0&&(s=this.data.substr(n),i=parseInt(s,10),t.put(i,o*3+1))};var Xj=Dr;const Qj=Gi,Pd=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function Or(e){this.mode=Qj.ALPHANUMERIC,this.data=e}Or.getBitsLength=function(t){return 11*Math.floor(t/2)+6*(t%2)};Or.prototype.getLength=function(){return this.data.length};Or.prototype.getBitsLength=function(){return Or.getBitsLength(this.data.length)};Or.prototype.write=function(t){let n;for(n=0;n+2<=this.data.length;n+=2){let s=Pd.indexOf(this.data[n])*45;s+=Pd.indexOf(this.data[n+1]),t.put(s,11)}this.data.length%2&&t.put(Pd.indexOf(this.data[n]),6)};var Zj=Or,eW=function(t){for(var n=[],s=t.length,i=0;i=55296&&o<=56319&&s>i+1){var r=t.charCodeAt(i+1);r>=56320&&r<=57343&&(o=(o-55296)*1024+r-56320+65536,i+=1)}if(o<128){n.push(o);continue}if(o<2048){n.push(o>>6|192),n.push(o&63|128);continue}if(o<55296||o>=57344&&o<65536){n.push(o>>12|224),n.push(o>>6&63|128),n.push(o&63|128);continue}if(o>=65536&&o<=1114111){n.push(o>>18|240),n.push(o>>12&63|128),n.push(o>>6&63|128),n.push(o&63|128);continue}n.push(239,191,189)}return new Uint8Array(n).buffer};const tW=eW,nW=Gi;function Ir(e){this.mode=nW.BYTE,typeof e=="string"&&(e=tW(e)),this.data=new Uint8Array(e)}Ir.getBitsLength=function(t){return t*8};Ir.prototype.getLength=function(){return this.data.length};Ir.prototype.getBitsLength=function(){return Ir.getBitsLength(this.data.length)};Ir.prototype.write=function(e){for(let t=0,n=this.data.length;t=33088&&n<=40956)n-=33088;else if(n>=57408&&n<=60351)n-=49472;else throw new Error("Invalid SJIS character: "+this.data[t]+` +Make sure your charset is UTF-8`);n=(n>>>8&255)*192+(n&255),e.put(n,13)}};var rW=Rr,W1={exports:{}};(function(e){var t={single_source_shortest_paths:function(n,s,i){var o={},r={};r[s]=0;var a=t.PriorityQueue.make();a.push(s,0);for(var l,c,u,d,f,p,m,_,b;!a.empty();){l=a.pop(),c=l.value,d=l.cost,f=n[c]||{};for(u in f)f.hasOwnProperty(u)&&(p=f[u],m=d+p,_=r[u],b=typeof r[u]>"u",(b||_>m)&&(r[u]=m,a.push(u,m),o[u]=c))}if(typeof i<"u"&&typeof r[i]>"u"){var w=["Could not find a path from ",s," to ",i,"."].join("");throw new Error(w)}return o},extract_shortest_path_from_predecessor_list:function(n,s){for(var i=[],o=s;o;)i.push(o),n[o],o=n[o];return i.reverse(),i},find_path:function(n,s,i){var o=t.single_source_shortest_paths(n,s,i);return t.extract_shortest_path_from_predecessor_list(o,i)},PriorityQueue:{make:function(n){var s=t.PriorityQueue,i={},o;n=n||{};for(o in s)s.hasOwnProperty(o)&&(i[o]=s[o]);return i.queue=[],i.sorter=n.sorter||s.default_sorter,i},default_sorter:function(n,s){return n.cost-s.cost},push:function(n,s){var i={value:n,cost:s};this.queue.push(i),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};e.exports=t})(W1);var aW=W1.exports;(function(e){const t=Gi,n=Xj,s=Zj,i=sW,o=rW,r=Os,a=Vn,l=aW;function c(w){return unescape(encodeURIComponent(w)).length}function u(w,$,A){const T=[];let k;for(;(k=w.exec(A))!==null;)T.push({data:k[0],index:k.index,mode:$,length:k[0].length});return T}function d(w){const $=u(r.NUMERIC,t.NUMERIC,w),A=u(r.ALPHANUMERIC,t.ALPHANUMERIC,w);let T,k;return a.isKanjiModeEnabled()?(T=u(r.BYTE,t.BYTE,w),k=u(r.KANJI,t.KANJI,w)):(T=u(r.BYTE_KANJI,t.BYTE,w),k=[]),$.concat(A,T,k).sort(function(x,C){return x.index-C.index}).map(function(x){return{data:x.data,mode:x.mode,length:x.length}})}function f(w,$){switch($){case t.NUMERIC:return n.getBitsLength(w);case t.ALPHANUMERIC:return s.getBitsLength(w);case t.KANJI:return o.getBitsLength(w);case t.BYTE:return i.getBitsLength(w)}}function p(w){return w.reduce(function($,A){const T=$.length-1>=0?$[$.length-1]:null;return T&&T.mode===A.mode?($[$.length-1].data+=A.data,$):($.push(A),$)},[])}function m(w){const $=[];for(let A=0;A=0&&a<=6&&(l===0||l===6)||l>=0&&l<=6&&(a===0||a===6)||a>=2&&a<=4&&l>=2&&l<=4?e.set(o+a,r+l,!0,!0):e.set(o+a,r+l,!1,!0))}}function mW(e){const t=e.size;for(let n=8;n>a&1)===1,e.set(i,o,r,!0),e.set(o,i,r,!0)}function Dd(e,t,n){const s=e.size,i=fW.getEncodedBits(t,n);let o,r;for(o=0;o<15;o++)r=(i>>o&1)===1,o<6?e.set(o,8,r,!0):o<8?e.set(o+1,8,r,!0):e.set(s-15+o,8,r,!0),o<8?e.set(8,s-o-1,r,!0):o<9?e.set(8,15-o-1+1,r,!0):e.set(8,15-o-1,r,!0);e.set(s-8,8,1,!0)}function bW(e,t){const n=e.size;let s=-1,i=n-1,o=7,r=0;for(let a=n-1;a>0;a-=2)for(a===6&&a--;;){for(let l=0;l<2;l++)if(!e.isReserved(i,a-l)){let c=!1;r>>o&1)===1),e.set(i,a-l,c),o--,o===-1&&(r++,o=7)}if(i+=s,i<0||n<=i){i-=s,s=-s;break}}}function yW(e,t,n){const s=new lW;n.forEach(function(l){s.put(l.mode.bit,4),s.put(l.getLength(),pW.getCharCountIndicator(l.mode,e)),l.write(s)});const i=Cu.getSymbolTotalCodewords(e),o=Th.getTotalCodewordsCount(e,t),r=(i-o)*8;for(s.getLengthInBits()+4<=r&&s.put(0,4);s.getLengthInBits()%8!==0;)s.putBit(0);const a=(r-s.getLengthInBits())/8;for(let l=0;l=7&&vW(l,t),bW(l,r),isNaN(s)&&(s=Mh.getBestMask(l,Dd.bind(null,l,n))),Mh.applyMask(s,l),Dd(l,n,s),{modules:l,version:t,errorCorrectionLevel:n,maskPattern:s,segments:i}}T1.create=function(t,n){if(typeof t>"u"||t==="")throw new Error("No input text");let s=Md.M,i,o;return typeof n<"u"&&(s=Md.from(n.errorCorrectionLevel,Md.M),i=Yc.from(n.version),o=Mh.from(n.maskPattern),n.toSJISFunc&&Cu.setToSJISFunction(n.toSJISFunc)),xW(t,i,s,o)};var z1={},cp={};(function(e){function t(n){if(typeof n=="number"&&(n=n.toString()),typeof n!="string")throw new Error("Color should be defined as hex string");let s=n.slice().replace("#","").split("");if(s.length<3||s.length===5||s.length>8)throw new Error("Invalid hex color: "+n);(s.length===3||s.length===4)&&(s=Array.prototype.concat.apply([],s.map(function(o){return[o,o]}))),s.length===6&&s.push("F","F");const i=parseInt(s.join(""),16);return{r:i>>24&255,g:i>>16&255,b:i>>8&255,a:i&255,hex:"#"+s.slice(0,6).join("")}}e.getOptions=function(s){s||(s={}),s.color||(s.color={});const i=typeof s.margin>"u"||s.margin===null||s.margin<0?4:s.margin,o=s.width&&s.width>=21?s.width:void 0,r=s.scale||4;return{width:o,scale:o?4:r,margin:i,color:{dark:t(s.color.dark||"#000000ff"),light:t(s.color.light||"#ffffffff")},type:s.type,rendererOpts:s.rendererOpts||{}}},e.getScale=function(s,i){return i.width&&i.width>=s+i.margin*2?i.width/(s+i.margin*2):i.scale},e.getImageWidth=function(s,i){const o=e.getScale(s,i);return Math.floor((s+i.margin*2)*o)},e.qrToImageData=function(s,i,o){const r=i.modules.size,a=i.modules.data,l=e.getScale(r,o),c=Math.floor((r+o.margin*2)*l),u=o.margin*l,d=[o.color.light,o.color.dark];for(let f=0;f=u&&p>=u&&f"u"&&(!r||!r.getContext)&&(l=r,r=void 0),r||(c=s()),l=t.getOptions(l);const u=t.getImageWidth(o.modules.size,l),d=c.getContext("2d"),f=d.createImageData(u,u);return t.qrToImageData(f.data,o,l),n(d,c,u),d.putImageData(f,0,0),c},e.renderToDataURL=function(o,r,a){let l=a;typeof l>"u"&&(!r||!r.getContext)&&(l=r,r=void 0),l||(l={});const c=e.render(o,r,l),u=l.type||"image/png",d=l.rendererOpts||{};return c.toDataURL(u,d.quality)}})(z1);var Y1={};const kW=cp;function gv(e,t){const n=e.a/255,s=t+'="'+e.hex+'"';return n<1?s+" "+t+'-opacity="'+n.toFixed(2).slice(1)+'"':s}function Od(e,t,n){let s=e+t;return typeof n<"u"&&(s+=" "+n),s}function SW(e,t,n){let s="",i=0,o=!1,r=0;for(let a=0;a0&&l>0&&e[a-1]||(s+=o?Od("M",l+n,.5+c+n):Od("m",i,0),i=0,o=!1),l+1':"",c="',u='viewBox="0 0 '+a+" "+a+'"',f=''+l+c+` -`;return typeof s=="function"&&s(null,f),f};const $W=Fj,Dh=T1,U1=z1,AW=Y1;function up(e,t,n,s,i){const o=[].slice.call(arguments,1),r=o.length,a=typeof o[r-1]=="function";if(!a&&!$W())throw new Error("Callback required as last argument");if(a){if(r<2)throw new Error("Too few arguments provided");r===2?(i=n,n=t,t=s=void 0):r===3&&(t.getContext&&typeof i>"u"?(i=s,s=void 0):(i=s,s=n,n=t,t=void 0))}else{if(r<1)throw new Error("Too few arguments provided");return r===1?(n=t,t=s=void 0):r===2&&!t.getContext&&(s=n,n=t,t=void 0),new Promise(function(l,c){try{const u=Dh.create(n,s);l(e(u,t,s))}catch(u){c(u)}})}try{const l=Dh.create(n,s);i(null,e(l,t,s))}catch(l){i(l)}}Bo.create=Dh.create;Bo.toCanvas=up.bind(null,U1.render);Bo.toDataURL=up.bind(null,U1.renderToDataURL);Bo.toString=up.bind(null,function(e,t,n){return AW.render(e,n)});const CW={name:"peerQRCode",props:{peerConfigData:String},mounted(){Bo.toCanvas(document.querySelector("#qrcode"),this.peerConfigData,e=>{e&&console.error(e)})}},EW={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0"},PW={class:"container d-flex h-100 w-100"},MW={class:"m-auto modal-dialog-centered dashboardModal justify-content-center"},TW={class:"card rounded-3 shadow"},DW={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},OW=h("h4",{class:"mb-0"},"QR Code",-1),IW={class:"card-body"},RW={id:"qrcode",class:"rounded-3 shadow",ref:"qrcode"};function LW(e,t,n,s,i,o){return D(),F("div",EW,[h("div",PW,[h("div",MW,[h("div",TW,[h("div",DW,[OW,h("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=r=>this.$emit("close"))})]),h("div",IW,[h("canvas",RW,null,512)])])])])])}const NW=ze(CW,[["render",LW]]),FW={name:"nameInput",props:{bulk:Boolean,data:Object,saving:Boolean}},BW=h("label",{for:"peer_name_textbox",class:"form-label"},[h("small",{class:"text-muted"},"Name")],-1),VW=["disabled"];function HW(e,t,n,s,i,o){return D(),F("div",{class:Ee({inactiveField:this.bulk})},[BW,Re(h("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving||this.bulk,"onUpdate:modelValue":t[0]||(t[0]=r=>this.data.name=r),id:"peer_name_textbox",placeholder:""},null,8,VW),[[We,this.data.name]])],2)}const jW=ze(FW,[["render",HW]]),WW={name:"privatePublicKeyInput",props:{data:Object,saving:Boolean,bulk:Boolean},setup(){return{dashboardStore:et()}},data(){return{keypair:{publicKey:"",privateKey:"",presharedKey:""},editKey:!1,error:!1}},methods:{genKeyPair(){this.editKey=!1,this.keypair=window.wireguard.generateKeypair(),this.data.private_key=this.keypair.privateKey,this.data.public_key=this.keypair.publicKey},checkMatching(){try{window.wireguard.generatePublicKey(this.keypair.privateKey)!==this.keypair.publicKey&&(this.error=!0,this.dashboardStore.newMessage("WGDashboard","Private Key and Public Key does not match.","danger"))}catch{this.error=!0,this.data.private_key="",this.data.public_key=""}}},mounted(){this.genKeyPair()},watch:{keypair:{deep:!0,handler(){this.error=!1,this.checkMatching()}}}},zW=h("label",{for:"peer_private_key_textbox",class:"form-label"},[h("small",{class:"text-muted"},[ye("Private Key "),h("code",null,"(Required for QR Code and Download)")])],-1),YW={class:"input-group"},UW=["disabled"],KW=["disabled"],qW=h("i",{class:"bi bi-arrow-repeat"},null,-1),GW=[qW],JW={class:"d-flex"},XW=h("label",{for:"public_key",class:"form-label"},[h("small",{class:"text-muted"},[ye("Public Key "),h("code",null,"(Required)")])],-1),QW={class:"form-check form-switch ms-auto"},ZW=["disabled"],ez=h("label",{class:"form-check-label",for:"enablePublicKeyEdit"},[h("small",null,"Edit")],-1),tz=["disabled"];function nz(e,t,n,s,i,o){return D(),F("div",{class:Ee(["d-flex gap-2 flex-column",{inactiveField:this.bulk}])},[h("div",null,[zW,h("div",YW,[Re(h("input",{type:"text",class:Ee(["form-control form-control-sm rounded-start-3",{"is-invalid":this.error}]),"onUpdate:modelValue":t[0]||(t[0]=r=>this.keypair.privateKey=r),disabled:!this.editKey||this.bulk,onBlur:t[1]||(t[1]=r=>this.checkMatching()),id:"peer_private_key_textbox"},null,42,UW),[[We,this.keypair.privateKey]]),h("button",{class:"btn btn-outline-info btn-sm rounded-end-3",onClick:t[2]||(t[2]=r=>this.genKeyPair()),disabled:this.bulk,type:"button",id:"button-addon2"},GW,8,KW)])]),h("div",null,[h("div",JW,[XW,h("div",QW,[Re(h("input",{class:"form-check-input",type:"checkbox",role:"switch",disabled:this.bulk,id:"enablePublicKeyEdit","onUpdate:modelValue":t[3]||(t[3]=r=>this.editKey=r)},null,8,ZW),[[In,this.editKey]]),ez])]),Re(h("input",{class:Ee(["form-control-sm form-control rounded-3",{"is-invalid":this.error}]),"onUpdate:modelValue":t[4]||(t[4]=r=>this.keypair.publicKey=r),onBlur:t[5]||(t[5]=r=>this.checkMatching()),disabled:!this.editKey||this.bulk,type:"text",id:"public_key"},null,42,tz),[[We,this.keypair.publicKey]])])],2)}const sz=ze(WW,[["render",nz]]),iz={name:"allowedIPsInput",props:{data:Object,saving:Boolean,bulk:Boolean,availableIp:void 0},data(){return{allowedIp:[],availableIpSearchString:"",customAvailableIp:"",allowedIpFormatError:!1}},setup(){const e=Bn(),t=et();return{store:e,dashboardStore:t}},computed:{searchAvailableIps(){return this.availableIpSearchString?this.availableIp.filter(e=>e.includes(this.availableIpSearchString)&&!this.data.allowed_ips.includes(e)):this.availableIp.filter(e=>!this.data.allowed_ips.includes(e))}},methods:{addAllowedIp(e){return this.store.checkCIDR(e)?(this.data.allowed_ips.push(e),this.customAvailableIp="",!0):(this.allowedIpFormatError=!0,this.dashboardStore.newMessage("WGDashboard","Allowed IP is invalid","danger"),!1)}},watch:{customAvailableIp(){this.allowedIpFormatError=!1},availableIp(){this.availableIp!==void 0&&this.availableIp.length>0&&this.addAllowedIp(this.availableIp[0])}},mounted(){}},pl=e=>(Kt("data-v-f69c864a"),e=e(),qt(),e),oz=pl(()=>h("label",{for:"peer_allowed_ip_textbox",class:"form-label"},[h("small",{class:"text-muted"},[ye("Allowed IPs "),h("code",null,"(Required)")])],-1)),rz=["onClick"],az=pl(()=>h("i",{class:"bi bi-x-circle-fill ms-1"},null,-1)),lz=[az],cz={class:"d-flex gap-2 align-items-center"},uz={class:"input-group"},dz=["disabled"],hz=["disabled"],fz=pl(()=>h("i",{class:"bi bi-plus-lg"},null,-1)),pz=[fz],mz=pl(()=>h("small",{class:"text-muted"},"or",-1)),gz={class:"dropdown flex-grow-1"},_z=["disabled"],vz=pl(()=>h("i",{class:"bi bi-filter-circle me-2"},null,-1)),bz={key:0,class:"dropdown-menu mt-2 shadow w-100 dropdown-menu-end rounded-3",style:{"overflow-y":"scroll","max-height":"270px",width:"300px !important"}},yz={class:"px-3 pb-2 pt-1"},wz=["onClick"],xz={class:"me-auto"},kz={key:0},Sz={class:"px-3 text-muted"};function $z(e,t,n,s,i,o){return D(),F("div",{class:Ee({inactiveField:this.bulk})},[oz,h("div",{class:Ee(["d-flex gap-2 flex-wrap",{"mb-2":this.data.allowed_ips.length>0}])},[$e(Wi,{name:"list"},{default:Me(()=>[(D(!0),F(Te,null,Ke(this.data.allowed_ips,(r,a)=>(D(),F("span",{class:"badge rounded-pill text-bg-success",key:r},[ye(_e(r)+" ",1),h("a",{role:"button",onClick:l=>this.data.allowed_ips.splice(a,1)},lz,8,rz)]))),128))]),_:1})],2),h("div",cz,[h("div",uz,[Re(h("input",{type:"text",class:Ee(["form-control form-control-sm rounded-start-3",{"is-invalid":this.allowedIpFormatError}]),placeholder:"Enter IP Address/CIDR","onUpdate:modelValue":t[0]||(t[0]=r=>i.customAvailableIp=r),disabled:n.bulk},null,10,dz),[[We,i.customAvailableIp]]),h("button",{class:"btn btn-outline-success btn-sm rounded-end-3",disabled:n.bulk||!this.customAvailableIp,onClick:t[1]||(t[1]=r=>this.addAllowedIp(this.customAvailableIp)),type:"button",id:"button-addon2"},pz,8,hz)]),mz,h("div",gz,[h("button",{class:"btn btn-outline-secondary btn-sm dropdown-toggle rounded-3 w-100",disabled:!n.availableIp||n.bulk,"data-bs-auto-close":"outside",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[vz,ye(" Pick Available IP ")],8,_z),this.availableIp?(D(),F("ul",bz,[h("li",null,[h("div",yz,[Re(h("input",{class:"form-control form-control-sm rounded-3","onUpdate:modelValue":t[2]||(t[2]=r=>this.availableIpSearchString=r),placeholder:"Search..."},null,512),[[We,this.availableIpSearchString]])])]),(D(!0),F(Te,null,Ke(this.searchAvailableIps,r=>(D(),F("li",null,[h("a",{class:"dropdown-item d-flex",role:"button",onClick:a=>this.addAllowedIp(r)},[h("span",xz,[h("small",null,_e(r),1)])],8,wz)]))),256)),this.searchAvailableIps.length===0?(D(),F("li",kz,[h("small",Sz,'No available IP containing "'+_e(this.availableIpSearchString)+'"',1)])):re("",!0)])):re("",!0)])])],2)}const Az=ze(iz,[["render",$z],["__scopeId","data-v-f69c864a"]]),Cz={name:"dnsInput",props:{data:Object,saving:Boolean},data(){return{error:!1,dns:JSON.parse(JSON.stringify(this.data.DNS))}},setup(){const e=Bn(),t=et();return{store:e,dashboardStore:t}},methods:{checkDNS(){if(this.dns){let e=this.dns.split(",").map(t=>t.replaceAll(" ",""));for(let t in e)if(!this.store.regexCheckIP(e[t])){this.error||this.dashboardStore.newMessage("WGDashboard","DNS is invalid","danger"),this.error=!0,this.data.DNS="";return}this.error=!1,this.data.DNS=this.dns}}},watch:{dns(){this.checkDNS()}}},Ez=h("label",{for:"peer_DNS_textbox",class:"form-label"},[h("small",{class:"text-muted"},"DNS")],-1),Pz=["disabled"];function Mz(e,t,n,s,i,o){return D(),F("div",null,[Ez,Re(h("input",{type:"text",class:Ee(["form-control form-control-sm rounded-3",{"is-invalid":this.error}]),disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=r=>this.dns=r),id:"peer_DNS_textbox"},null,10,Pz),[[We,this.dns]])])}const Tz=ze(Cz,[["render",Mz]]),Dz={name:"endpointAllowedIps",props:{data:Object,saving:Boolean},setup(){const e=Bn(),t=et();return{store:e,dashboardStore:t}},data(){return{endpointAllowedIps:JSON.parse(JSON.stringify(this.data.endpoint_allowed_ip)),error:!1}},methods:{checkAllowedIP(){let e=this.endpointAllowedIps.split(",").map(t=>t.replaceAll(" ",""));for(let t in e)if(!this.store.checkCIDR(e[t])){this.error||this.dashboardStore.newMessage("WGDashboard","Endpoint Allowed IP is invalid.","danger"),this.data.endpoint_allowed_ip="",this.error=!0;return}this.error=!1,this.data.endpoint_allowed_ip=this.endpointAllowedIps}},watch:{endpointAllowedIps(){this.checkAllowedIP()}}},Oz=h("label",{for:"peer_endpoint_allowed_ips",class:"form-label"},[h("small",{class:"text-muted"},[ye("Endpoint Allowed IPs "),h("code",null,"(Required)")])],-1),Iz=["disabled"];function Rz(e,t,n,s,i,o){return D(),F("div",null,[Oz,Re(h("input",{type:"text",class:Ee(["form-control form-control-sm rounded-3",{"is-invalid":i.error}]),disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=r=>this.endpointAllowedIps=r),onBlur:t[1]||(t[1]=r=>this.checkAllowedIP()),id:"peer_endpoint_allowed_ips"},null,42,Iz),[[We,this.endpointAllowedIps]])])}const Lz=ze(Dz,[["render",Rz]]),Nz={name:"presharedKeyInput",props:{data:Object,saving:Boolean}},Fz=h("label",{for:"peer_preshared_key_textbox",class:"form-label"},[h("small",{class:"text-muted"},"Pre-Shared Key")],-1),Bz=["disabled"];function Vz(e,t,n,s,i,o){return D(),F("div",null,[Fz,Re(h("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=r=>this.data.preshared_key=r),id:"peer_preshared_key_textbox"},null,8,Bz),[[We,this.data.preshared_key]])])}const Hz=ze(Nz,[["render",Vz]]),jz={name:"mtuInput",props:{data:Object,saving:Boolean}},Wz=h("label",{for:"peer_mtu",class:"form-label"},[h("small",{class:"text-muted"},"MTU")],-1),zz=["disabled"];function Yz(e,t,n,s,i,o){return D(),F("div",null,[Wz,Re(h("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=r=>this.data.mtu=r),id:"peer_mtu"},null,8,zz),[[We,this.data.mtu]])])}const Uz=ze(jz,[["render",Yz]]),Kz={name:"persistentKeepAliveInput",props:{data:Object,saving:Boolean}},qz=h("label",{for:"peer_keep_alive",class:"form-label"},[h("small",{class:"text-muted"},"Persistent Keepalive")],-1),Gz=["disabled"];function Jz(e,t,n,s,i,o){return D(),F("div",null,[qz,Re(h("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=r=>this.data.keepalive=r),id:"peer_keep_alive"},null,8,Gz),[[We,this.data.keepalive]])])}const Xz=ze(Kz,[["render",Jz]]),Qz={name:"bulkAdd",props:{saving:Boolean,data:Object,availableIp:void 0}},Zz={class:"form-check form-switch"},eY=["disabled"],tY=h("label",{class:"form-check-label me-2",for:"bulk_add"},[h("small",null,[h("strong",null,"Bulk Add")])],-1),nY=h("small",{class:"text-muted d-block"}," By adding peers by bulk, each peer's name will be auto generated, and Allowed IP will be assign to the next available IP. ",-1),sY=[nY],iY={key:0,class:"form-group"},oY=["max"],rY={class:"text-muted"};function aY(e,t,n,s,i,o){return D(),F("div",null,[h("div",Zz,[Re(h("input",{class:"form-check-input",type:"checkbox",role:"switch",disabled:!this.availableIp,id:"bulk_add","onUpdate:modelValue":t[0]||(t[0]=r=>this.data.bulkAdd=r)},null,8,eY),[[In,this.data.bulkAdd]]),tY]),h("p",{class:Ee({"mb-0":!this.data.bulkAdd})},sY,2),this.data.bulkAdd?(D(),F("div",iY,[Re(h("input",{class:"form-control form-control-sm rounded-3 mb-1",type:"number",min:"1",max:this.availableIp.length,"onUpdate:modelValue":t[1]||(t[1]=r=>this.data.bulkAddAmount=r),placeholder:"How many peers you want to add?"},null,8,oY),[[We,this.data.bulkAddAmount]]),h("small",rY,[ye(" You can add up to "),h("strong",null,_e(this.availableIp.length),1),ye(" peers ")])])):re("",!0)])}const lY=ze(Qz,[["render",aY]]),cY={name:"peerCreate",components:{BulkAdd:lY,PersistentKeepAliveInput:Xz,MtuInput:Uz,PresharedKeyInput:Hz,EndpointAllowedIps:Lz,DnsInput:Tz,AllowedIPsInput:Az,PrivatePublicKeyInput:sz,NameInput:jW},data(){return{data:{bulkAdd:!1,bulkAddAmount:"",name:"",allowed_ips:[],private_key:"",public_key:"",DNS:this.dashboardStore.Configuration.Peers.peer_global_dns,endpoint_allowed_ip:this.dashboardStore.Configuration.Peers.peer_endpoint_allowed_ip,keepalive:parseInt(this.dashboardStore.Configuration.Peers.peer_keep_alive),mtu:parseInt(this.dashboardStore.Configuration.Peers.peer_mtu),preshared_key:""},availableIp:void 0,availableIpSearchString:"",saving:!1,allowedIpDropdown:void 0}},mounted(){xt("/api/getAvailableIPs/"+this.$route.params.id,{},e=>{e.status&&(this.availableIp=e.data)})},setup(){const e=Bn(),t=et();return{store:e,dashboardStore:t}},methods:{peerCreate(){this.saving=!0,ft("/api/addPeers/"+this.$route.params.id,this.data,e=>{e.status?(this.$router.push(`/configuration/${this.$route.params.id}/peers`),this.dashboardStore.newMessage("Server","Peer create successfully","success")):this.dashboardStore.newMessage("Server",e.message,"danger"),this.saving=!1})}},computed:{allRequireFieldsFilled(){let e=!0;return this.data.bulkAdd?(this.data.bulkAddAmount.length===0||this.data.bulkAddAmount>this.availableIp.length)&&(e=!1):["allowed_ips","private_key","public_key","endpoint_allowed_ip","keepalive","mtu"].forEach(n=>{this.data[n].length===0&&(e=!1)}),e}},watch:{bulkAdd(e){e||(this.data.bulkAddAmount="")},"data.bulkAddAmount"(){this.data.bulkAddAmount>this.availableIp.length&&(this.data.bulkAddAmount=this.availableIp.length)}}},Eu=e=>(Kt("data-v-68bb9bc5"),e=e(),qt(),e),uY={class:"container"},dY={class:"mb-4"},hY=Eu(()=>h("h3",{class:"mb-0 text-body"},[h("i",{class:"bi bi-chevron-left"})],-1)),fY=Eu(()=>h("h3",{class:"text-body mb-0"},"Add Peers",-1)),pY={class:"d-flex flex-column gap-2"},mY=Eu(()=>h("hr",{class:"mb-0 mt-2"},null,-1)),gY=Eu(()=>h("hr",{class:"mb-0 mt-2"},null,-1)),_Y={class:"row"},vY={key:0,class:"col-sm"},bY={class:"col-sm"},yY={class:"col-sm"},wY={class:"d-flex mt-2"},xY=["disabled"],kY={key:0,class:"bi bi-plus-circle-fill me-2"};function SY(e,t,n,s,i,o){const r=je("RouterLink"),a=je("BulkAdd"),l=je("NameInput"),c=je("PrivatePublicKeyInput"),u=je("AllowedIPsInput"),d=je("EndpointAllowedIps"),f=je("DnsInput"),p=je("PresharedKeyInput"),g=je("MtuInput"),_=je("PersistentKeepAliveInput");return D(),F("div",uY,[h("div",dY,[$e(r,{to:"peers",is:"div",class:"d-flex align-items-center gap-4 text-decoration-none"},{default:Me(()=>[hY,fY]),_:1})]),h("div",pY,[$e(a,{saving:i.saving,data:this.data,availableIp:this.availableIp},null,8,["saving","data","availableIp"]),mY,this.data.bulkAdd?re("",!0):(D(),Ne(l,{key:0,saving:i.saving,data:this.data},null,8,["saving","data"])),this.data.bulkAdd?re("",!0):(D(),Ne(c,{key:1,saving:i.saving,data:i.data},null,8,["saving","data"])),this.data.bulkAdd?re("",!0):(D(),Ne(u,{key:2,availableIp:this.availableIp,saving:i.saving,data:i.data},null,8,["availableIp","saving","data"])),$e(d,{saving:i.saving,data:i.data},null,8,["saving","data"]),$e(f,{saving:i.saving,data:i.data},null,8,["saving","data"]),gY,h("div",_Y,[this.data.bulkAdd?re("",!0):(D(),F("div",vY,[$e(p,{saving:i.saving,data:i.data,bulk:this.data.bulkAdd},null,8,["saving","data","bulk"])])),h("div",bY,[$e(g,{saving:i.saving,data:i.data},null,8,["saving","data"])]),h("div",yY,[$e(_,{saving:i.saving,data:i.data},null,8,["saving","data"])])]),h("div",wY,[h("button",{class:"ms-auto btn btn-dark btn-brand rounded-3 px-3 py-2 shadow",disabled:!this.allRequireFieldsFilled||this.saving,onClick:t[0]||(t[0]=b=>this.peerCreate())},[this.saving?re("",!0):(D(),F("i",kY)),ye(" "+_e(this.saving?"Saving...":"Add"),1)],8,xY)])])])}const K1=ze(cY,[["render",SY],["__scopeId","data-v-68bb9bc5"]]),$Y={name:"scheduleDropdown",props:{options:Array,data:String,edit:!1},setup(e){e.data===void 0&&this.$emit("update",this.options[0].value)},computed:{currentSelection(){return this.options.find(e=>e.value===this.data)}}},AY={class:"dropdown scheduleDropdown"},CY={class:"dropdown-menu rounded-3 shadow",style:{"font-size":"0.875rem",width:"200px"}},EY=["onClick"],PY={key:0,class:"bi bi-check ms-auto"};function MY(e,t,n,s,i,o){return D(),F("div",AY,[h("button",{class:Ee(["btn btn-sm btn-outline-primary rounded-3",{"disabled border-transparent":!n.edit}]),type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[h("samp",null,_e(this.currentSelection.display),1)],2),h("ul",CY,[n.edit?(D(!0),F(Te,{key:0},Ke(this.options,r=>(D(),F("li",null,[h("a",{class:"dropdown-item d-flex align-items-center",role:"button",onClick:a=>e.$emit("update",r.value)},[h("samp",null,_e(r.display),1),r.value===this.currentSelection.value?(D(),F("i",PY)):re("",!0)],8,EY)]))),256)):re("",!0)])])}const q1=ze($Y,[["render",MY],["__scopeId","data-v-6a5aba2a"]]),TY={name:"schedulePeerJob",components:{VueDatePicker:ll,ScheduleDropdown:q1},props:{dropdowns:Array[Object],pjob:Object,viewOnly:!1},setup(e){const t=be({}),n=be(!1),s=be(!1);t.value=JSON.parse(JSON.stringify(e.pjob)),t.value.CreationDate||(n.value=!0,s.value=!0);const i=et();return{job:t,edit:n,newJob:s,store:i}},data(){return{inputType:void 0}},watch:{pjob:{deep:!0,immediate:!0,handler(e){this.edit||(this.job=JSON.parse(JSON.stringify(e)))}}},methods:{save(){this.job.Field&&this.job.Operator&&this.job.Action&&this.job.Value?ft("/api/savePeerScheduleJob/",{Job:this.job},e=>{e.status?(this.edit=!1,this.store.newMessage("Server","Job Saved!","success"),console.log(e.data),this.$emit("refresh",e.data[0]),this.newJob=!1):this.store.newMessage("Server",e.message,"danger")}):this.alert()},alert(){let e="animate__flash",t=this.$el.querySelectorAll(".scheduleDropdown"),n=this.$el.querySelectorAll("input");t.forEach(s=>s.classList.add("animate__animated",e)),n.forEach(s=>s.classList.add("animate__animated",e)),setTimeout(()=>{t.forEach(s=>s.classList.remove("animate__animated",e)),n.forEach(s=>s.classList.remove("animate__animated",e))},2e3)},reset(){this.job.CreationDate?(this.job=JSON.parse(JSON.stringify(this.pjob)),this.edit=!1):this.$emit("delete")},delete(){this.job.CreationDate&&ft("/api/deletePeerScheduleJob/",{Job:this.job},e=>{e.status?this.store.newMessage("Server","Job Deleted!","success"):(this.store.newMessage("Server",e.message,"danger"),this.$emit("delete"))}),this.$emit("delete")},parseTime(e){e&&(this.job.Value=Cn(e).format("YYYY-MM-DD HH:mm:ss"))}}},jr=e=>(Kt("data-v-811b149e"),e=e(),qt(),e),DY={class:"card-header bg-transparent text-muted border-0"},OY={key:0,class:"d-flex"},IY=jr(()=>h("strong",{class:"me-auto"},"Job ID",-1)),RY={key:1},LY=jr(()=>h("span",{class:"badge text-bg-warning"},"Unsaved Job",-1)),NY=[LY],FY={class:"card-body pt-1",style:{"font-family":"var(--bs-font-monospace)"}},BY={class:"d-flex gap-2 align-items-center mb-2"},VY=jr(()=>h("samp",null," if ",-1)),HY=jr(()=>h("samp",null," is ",-1)),jY=["disabled"],WY={class:"px-5 d-flex gap-2 align-items-center"},zY=jr(()=>h("samp",null,"then",-1)),YY={class:"d-flex gap-3"},UY=jr(()=>h("samp",null,"}",-1)),KY={key:0,class:"ms-auto d-flex gap-3"},qY={key:1,class:"ms-auto d-flex gap-3"};function GY(e,t,n,s,i,o){var l;const r=je("ScheduleDropdown"),a=je("VueDatePicker");return D(),F("div",{class:Ee(["card shadow-sm rounded-3 mb-2",{"border-warning-subtle":this.newJob}])},[h("div",DY,[this.newJob?(D(),F("small",RY,NY)):(D(),F("small",OY,[IY,h("samp",null,_e(this.job.JobID),1)]))]),h("div",FY,[h("div",BY,[VY,$e(r,{edit:s.edit,options:this.dropdowns.Field,data:this.job.Field,onUpdate:t[0]||(t[0]=c=>{this.job.Field=c})},null,8,["edit","options","data"]),HY,$e(r,{edit:s.edit,options:this.dropdowns.Operator,data:this.job.Operator,onUpdate:t[1]||(t[1]=c=>this.job.Operator=c)},null,8,["edit","options","data"]),this.job.Field==="date"?(D(),Ne(a,{key:0,is24:!0,"min-date":new Date,"model-value":this.job.Value,"onUpdate:modelValue":this.parseTime,"time-picker-inline":"",format:"yyyy-MM-dd HH:mm:ss","preview-format":"yyyy-MM-dd HH:mm:ss",clearable:!1,disabled:!s.edit,dark:this.store.Configuration.Server.dashboard_theme==="dark"},null,8,["min-date","model-value","onUpdate:modelValue","disabled","dark"])):Re((D(),F("input",{key:1,class:"form-control form-control-sm form-control-dark rounded-3 flex-grow-1",disabled:!s.edit,"onUpdate:modelValue":t[2]||(t[2]=c=>this.job.Value=c),style:{width:"auto"}},null,8,jY)),[[We,this.job.Value]]),h("samp",null,_e((l=this.dropdowns.Field.find(c=>c.value===this.job.Field))==null?void 0:l.unit)+" { ",1)]),h("div",WY,[zY,$e(r,{edit:s.edit,options:this.dropdowns.Action,data:this.job.Action,onUpdate:t[3]||(t[3]=c=>this.job.Action=c)},null,8,["edit","options","data"])]),h("div",YY,[UY,this.edit?(D(),F("div",qY,[h("a",{role:"button",class:"text-secondary text-decoration-none",onClick:t[6]||(t[6]=c=>this.reset())},"[C] Cancel"),h("a",{role:"button",class:"text-primary ms-auto text-decoration-none",onClick:t[7]||(t[7]=c=>this.save())},"[S] Save")])):(D(),F("div",KY,[h("a",{role:"button",class:"ms-auto text-decoration-none",onClick:t[4]||(t[4]=c=>this.edit=!0)},"[E] Edit"),h("a",{role:"button",onClick:t[5]||(t[5]=c=>this.delete()),class:"text-danger text-decoration-none"},"[D] Delete")]))])])],2)}const G1=ze(TY,[["render",GY],["__scopeId","data-v-811b149e"]]),JY={name:"peerJobs",setup(){return{store:Bn()}},props:{selectedPeer:Object},components:{SchedulePeerJob:G1,ScheduleDropdown:q1},data(){return{}},methods:{deleteJob(e){this.selectedPeer.jobs=this.selectedPeer.jobs.filter(t=>t.JobID!==e.JobID)},addJob(){this.selectedPeer.jobs.unshift(JSON.parse(JSON.stringify({JobID:Ts().toString(),Configuration:this.selectedPeer.configuration.Name,Peer:this.selectedPeer.id,Field:this.store.PeerScheduleJobs.dropdowns.Field[0].value,Operator:this.store.PeerScheduleJobs.dropdowns.Operator[0].value,Value:"",CreationDate:"",ExpireDate:"",Action:this.store.PeerScheduleJobs.dropdowns.Action[0].value})))}}},dp=e=>(Kt("data-v-31a1606a"),e=e(),qt(),e),XY={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},QY={class:"container d-flex h-100 w-100"},ZY={class:"m-auto modal-dialog-centered dashboardModal"},eU={class:"card rounded-3 shadow",style:{width:"700px"}},tU={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},nU=dp(()=>h("h4",{class:"mb-0 fw-normal"},[ye("Schedule Jobs "),h("strong")],-1)),sU={class:"card-body px-4 pb-4 pt-2 position-relative"},iU={class:"d-flex align-items-center mb-3"},oU=dp(()=>h("i",{class:"bi bi-plus-lg me-2"},null,-1)),rU={class:"card shadow-sm",key:"none",style:{height:"153px"}},aU=dp(()=>h("div",{class:"card-body text-muted text-center d-flex"},[h("h6",{class:"m-auto"},"This peer does not have any job yet.")],-1)),lU=[aU];function cU(e,t,n,s,i,o){const r=je("SchedulePeerJob");return D(),F("div",XY,[h("div",QY,[h("div",ZY,[h("div",eU,[h("div",tU,[nU,h("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=a=>this.$emit("close"))})]),h("div",sU,[h("div",iU,[h("button",{class:"btn bg-primary-subtle border-1 border-primary-subtle text-primary-emphasis rounded-3 shadow",onClick:t[1]||(t[1]=a=>this.addJob())},[oU,ye(" Job ")])]),$e(Wi,{name:"schedulePeerJobTransition",tag:"div",class:"position-relative"},{default:Me(()=>[(D(!0),F(Te,null,Ke(this.selectedPeer.jobs,(a,l)=>(D(),Ne(r,{onRefresh:t[2]||(t[2]=c=>this.$emit("refresh")),onDelete:c=>this.deleteJob(a),dropdowns:this.store.PeerScheduleJobs.dropdowns,key:a.JobID,pjob:a},null,8,["onDelete","dropdowns","pjob"]))),128)),this.selectedPeer.jobs.length===0?(D(),F("div",rU,lU)):re("",!0)]),_:1})])])])])])}const uU=ze(JY,[["render",cU],["__scopeId","data-v-31a1606a"]]),dU={name:"peerJobsAllModal",setup(){return{store:Bn()}},components:{SchedulePeerJob:G1},props:{configurationPeers:Array[Object]},methods:{getuuid(){return Ts()}},computed:{getAllJobs(){return this.configurationPeers.filter(e=>e.jobs.length>0)}}},hU={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},fU={class:"container d-flex h-100 w-100"},pU={class:"m-auto modal-dialog-centered dashboardModal"},mU={class:"card rounded-3 shadow",style:{width:"700px"}},gU={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},_U=h("h4",{class:"mb-0 fw-normal"},"All Active Jobs ",-1),vU={class:"card-body px-4 pb-4 pt-2"},bU={key:0,class:"accordion",id:"peerJobsLogsModalAccordion"},yU={class:"accordion-header"},wU=["data-bs-target"],xU={key:0},kU={class:"text-muted"},SU=["id"],$U={class:"accordion-body"},AU={key:1,class:"card shadow-sm",style:{height:"153px"}},CU=h("div",{class:"card-body text-muted text-center d-flex"},[h("h6",{class:"m-auto"},"No active job at the moment.")],-1),EU=[CU];function PU(e,t,n,s,i,o){const r=je("SchedulePeerJob");return D(),F("div",hU,[h("div",fU,[h("div",pU,[h("div",mU,[h("div",gU,[_U,h("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=a=>this.$emit("close"))})]),h("div",vU,[this.getAllJobs.length>0?(D(),F("div",bU,[(D(!0),F(Te,null,Ke(this.getAllJobs,(a,l)=>(D(),F("div",{class:"accordion-item",key:a.id},[h("h2",yU,[h("button",{class:"accordion-button collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#collapse_"+l},[h("small",null,[h("strong",null,[a.name?(D(),F("span",xU,_e(a.name)+" • ",1)):re("",!0),h("samp",kU,_e(a.id),1)])])],8,wU)]),h("div",{id:"collapse_"+l,class:"accordion-collapse collapse","data-bs-parent":"#peerJobsLogsModalAccordion"},[h("div",$U,[(D(!0),F(Te,null,Ke(a.jobs,c=>(D(),Ne(r,{onDelete:t[1]||(t[1]=u=>this.$emit("refresh")),onRefresh:t[2]||(t[2]=u=>this.$emit("refresh")),dropdowns:this.store.PeerScheduleJobs.dropdowns,viewOnly:!0,key:c.JobID,pjob:c},null,8,["dropdowns","pjob"]))),128))])],8,SU)]))),128))])):(D(),F("div",AU,EU))])])])])])}const MU=ze(dU,[["render",PU]]),TU={name:"peerJobsLogsModal",props:{configurationInfo:Object},data(){return{dataLoading:!0,data:[],logFetchTime:void 0,showLogID:!1,showJobID:!0,showSuccessJob:!0,showFailedJob:!0,showLogAmount:10}},async mounted(){await this.fetchLog()},methods:{async fetchLog(){this.dataLoading=!0,await xt(`/api/getPeerScheduleJobLogs/${this.configurationInfo.Name}`,{},e=>{this.data=e.data,this.logFetchTime=Cn().format("YYYY-MM-DD HH:mm:ss"),this.dataLoading=!1})}},computed:{getLogs(){return this.data.filter(e=>this.showSuccessJob&&e.Status==="1"||this.showFailedJob&&e.Status==="0")},showLogs(){return this.getLogs.slice(0,this.showLogAmount)}}},DU={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},OU={class:"container-fluid d-flex h-100 w-100"},IU={class:"m-auto mt-0 modal-dialog-centered dashboardModal",style:{width:"100%"}},RU={class:"card rounded-3 shadow w-100"},LU={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},NU=h("h4",{class:"mb-0"},"Jobs Logs",-1),FU={class:"card-body px-4 pb-4 pt-2"},BU={key:0},VU={class:"mb-2 d-flex gap-3"},HU=h("i",{class:"bi bi-arrow-clockwise me-2"},null,-1),jU={class:"d-flex gap-3 align-items-center"},WU=h("span",{class:"text-muted"},"Filter",-1),zU={class:"form-check"},YU=h("label",{class:"form-check-label",for:"jobLogsShowSuccessCheck"},[h("span",{class:"badge text-success-emphasis bg-success-subtle"},"Success")],-1),UU={class:"form-check"},KU=h("label",{class:"form-check-label",for:"jobLogsShowFailedCheck"},[h("span",{class:"badge text-danger-emphasis bg-danger-subtle"},"Failed")],-1),qU={class:"d-flex gap-3 align-items-center ms-auto"},GU=h("span",{class:"text-muted"},"Display",-1),JU={class:"form-check"},XU=h("label",{class:"form-check-label",for:"jobLogsShowJobIDCheck"}," Job ID ",-1),QU={class:"form-check"},ZU=h("label",{class:"form-check-label",for:"jobLogsShowLogIDCheck"}," Log ID ",-1),eK={class:"table"},tK=h("th",{scope:"col"},"Date",-1),nK={key:0,scope:"col"},sK={key:1,scope:"col"},iK=h("th",{scope:"col"},"Status",-1),oK=h("th",{scope:"col"},"Message",-1),rK={style:{"font-size":"0.875rem"}},aK={scope:"row"},lK={key:0},cK={class:"text-muted"},uK={key:1},dK={class:"text-muted"},hK={class:"d-flex gap-2"},fK=h("i",{class:"bi bi-chevron-down me-2"},null,-1),pK=h("i",{class:"bi bi-chevron-up me-2"},null,-1),mK={key:1,class:"d-flex align-items-center flex-column"},gK=h("div",{class:"spinner-border text-body",role:"status"},[h("span",{class:"visually-hidden"},"Loading...")],-1),_K=[gK];function vK(e,t,n,s,i,o){return D(),F("div",DU,[h("div",OU,[h("div",IU,[h("div",RU,[h("div",LU,[NU,h("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=r=>this.$emit("close"))})]),h("div",FU,[this.dataLoading?(D(),F("div",mK,_K)):(D(),F("div",BU,[h("p",null,"Updated at: "+_e(this.logFetchTime),1),h("div",VU,[h("button",{onClick:t[1]||(t[1]=r=>this.fetchLog()),class:"btn btn-sm rounded-3 shadow-sm text-info-emphasis bg-info-subtle border-1 border-info-subtle me-1"},[HU,ye(" Refresh ")]),h("div",jU,[WU,h("div",zU,[Re(h("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[2]||(t[2]=r=>this.showSuccessJob=r),id:"jobLogsShowSuccessCheck"},null,512),[[In,this.showSuccessJob]]),YU]),h("div",UU,[Re(h("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[3]||(t[3]=r=>this.showFailedJob=r),id:"jobLogsShowFailedCheck"},null,512),[[In,this.showFailedJob]]),KU])]),h("div",qU,[GU,h("div",JU,[Re(h("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[4]||(t[4]=r=>i.showJobID=r),id:"jobLogsShowJobIDCheck"},null,512),[[In,i.showJobID]]),XU]),h("div",QU,[Re(h("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[5]||(t[5]=r=>i.showLogID=r),id:"jobLogsShowLogIDCheck"},null,512),[[In,i.showLogID]]),ZU])])]),h("table",eK,[h("thead",null,[h("tr",null,[tK,i.showLogID?(D(),F("th",nK,"Log ID")):re("",!0),i.showJobID?(D(),F("th",sK,"Job ID")):re("",!0),iK,oK])]),h("tbody",null,[(D(!0),F(Te,null,Ke(this.showLogs,r=>(D(),F("tr",rK,[h("th",aK,_e(r.LogDate),1),i.showLogID?(D(),F("td",lK,[h("samp",cK,_e(r.LogID),1)])):re("",!0),i.showJobID?(D(),F("td",uK,[h("samp",dK,_e(r.JobID),1)])):re("",!0),h("td",null,[h("span",{class:Ee(["badge",[r.Status==="1"?"text-success-emphasis bg-success-subtle":"text-danger-emphasis bg-danger-subtle"]])},_e(r.Status==="1"?"Success":"Failed"),3)]),h("td",null,_e(r.Message),1)]))),256))])]),h("div",hK,[this.getLogs.length>this.showLogAmount?(D(),F("button",{key:0,onClick:t[6]||(t[6]=r=>this.showLogAmount+=20),class:"btn btn-sm rounded-3 shadow-sm text-primary-emphasis bg-primary-subtle border-1 border-primary-subtle"},[fK,ye(" Show More ")])):re("",!0),this.showLogAmount>20?(D(),F("button",{key:1,onClick:t[7]||(t[7]=r=>this.showLogAmount=20),class:"btn btn-sm rounded-3 shadow-sm text-primary-emphasis bg-primary-subtle border-1 border-primary-subtle"},[pK,ye(" Collapse ")])):re("",!0)])]))])])])])])}const bK=ze(TU,[["render",vK]]),yK={name:"peerShareLinkModal",props:{peer:Object},components:{VueDatePicker:ll},data(){return{dataCopy:void 0,loading:!1}},setup(){return{store:et()}},mounted(){this.dataCopy=JSON.parse(JSON.stringify(this.peer.ShareLink)).at(0)},watch:{"peer.ShareLink":{deep:!0,handler(e,t){t.length!==e.length&&(this.dataCopy=JSON.parse(JSON.stringify(this.peer.ShareLink)).at(0))}}},methods:{startSharing(){this.loading=!0,ft("/api/sharePeer/create",{Configuration:this.peer.configuration.Name,Peer:this.peer.id,ExpireDate:Cn().add(7,"d").format("YYYY-MM-DD HH:mm:ss")},e=>{e.status?(this.peer.ShareLink=e.data,this.dataCopy=e.data.at(0),this.store.newMessage("Server","Share link created successfully","success")):this.store.newMessage("Server","Share link failed to create. Reason: "+e.message,"danger"),this.loading=!1})},updateLinkExpireDate(){ft("/api/sharePeer/update",this.dataCopy,e=>{e.status?(this.dataCopy=e.data.at(0),this.peer.ShareLink=e.data,this.store.newMessage("Server","Link expire date updated","success")):this.store.newMessage("Server","Link expire date failed to update. Reason: "+e.message,"danger"),this.loading=!1})},stopSharing(){this.loading=!0,this.dataCopy.ExpireDate=Cn().format("YYYY-MM-DD HH:mm:ss"),this.updateLinkExpireDate()},parseTime(e){e?this.dataCopy.ExpireDate=Cn(e).format("YYYY-MM-DD HH:mm:ss"):this.dataCopy.ExpireDate=void 0,this.updateLinkExpireDate()}},computed:{getUrl(){const e=this.store.getActiveCrossServer();return e?`${e.host}/${this.$router.resolve({path:"/share",query:{ShareID:this.dataCopy.ShareID}}).href}`:window.location.origin+window.location.pathname+this.$router.resolve({path:"/share",query:{ShareID:this.dataCopy.ShareID}}).href}}},wK={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},xK={class:"container d-flex h-100 w-100"},kK={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"500px"}},SK={class:"card rounded-3 shadow flex-grow-1"},$K={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},AK=h("h4",{class:"mb-0"},"Share Peer",-1),CK={key:0,class:"card-body px-4 pb-4"},EK={key:0},PK=h("h6",{class:"mb-3 text-muted"}," Currently the peer is not sharing ",-1),MK=["disabled"],TK=h("i",{class:"bi bi-send-fill me-2"},null,-1),DK=[TK],OK={key:1},IK={class:"d-flex gap-2 mb-4"},RK=h("i",{class:"bi bi-link-45deg"},null,-1),LK=["href"],NK={class:"d-flex flex-column gap-2 mb-3"},FK=h("small",null,[h("i",{class:"bi bi-calendar me-2"}),ye(" Expire Date ")],-1),BK=["disabled"],VK=h("i",{class:"bi bi-send-slash-fill me-2"},null,-1),HK=[VK];function jK(e,t,n,s,i,o){const r=je("VueDatePicker");return D(),F("div",wK,[h("div",xK,[h("div",kK,[h("div",SK,[h("div",$K,[AK,h("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=a=>this.$emit("close"))})]),this.peer.ShareLink?(D(),F("div",CK,[this.dataCopy?(D(),F("div",OK,[h("div",IK,[RK,h("a",{href:this.getUrl,class:"text-decoration-none",target:"_blank"},_e(o.getUrl),9,LK)]),h("div",NK,[FK,$e(r,{is24:!0,"min-date":new Date,"model-value":this.dataCopy.ExpireDate,"onUpdate:modelValue":this.parseTime,"time-picker-inline":"",format:"yyyy-MM-dd HH:mm:ss","preview-format":"yyyy-MM-dd HH:mm:ss",dark:this.store.Configuration.Server.dashboard_theme==="dark"},null,8,["min-date","model-value","onUpdate:modelValue","dark"])]),h("button",{onClick:t[2]||(t[2]=a=>this.stopSharing()),disabled:this.loading,class:"w-100 btn bg-danger-subtle text-danger-emphasis border-1 border-danger-subtle rounded-3 shadow-sm"},[h("span",{class:Ee({"animate__animated animate__flash animate__infinite animate__slower":this.loading})},HK,2),ye(" "+_e(this.loading?"Stop Sharing...":"Stop Sharing"),1)],8,BK)])):(D(),F("div",EK,[PK,h("button",{onClick:t[1]||(t[1]=a=>this.startSharing()),disabled:this.loading,class:"w-100 btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm"},[h("span",{class:Ee({"animate__animated animate__flash animate__infinite animate__slower":this.loading})},DK,2),ye(" "+_e(this.loading?"Sharing...":"Start Sharing"),1)],8,MK)]))])):re("",!0)])])])])}const WK=ze(yK,[["render",jK]]);xu.register(da,Ai,wc,yc,Ma,pc,or,Ta,hh,mc,gc,_c,vh,bh,yh,fa,Za,xh,z6,uH,gH,vH,AH);const zK={name:"peerList",components:{PeerShareLinkModal:WK,PeerJobsLogsModal:bK,PeerJobsAllModal:MU,PeerJobs:uU,PeerCreate:K1,PeerQRCode:NW,PeerSettings:Nj,PeerSearch:oF,Peer:tB,Line:s8,Bar:n8},setup(){const e=et(),t=Bn(),n=be(void 0);return{dashboardConfigurationStore:e,wireguardConfigurationStore:t,interval:n}},data(){return{configurationToggling:!1,loading:!1,error:null,configurationInfo:[],configurationPeers:[],historyDataSentDifference:[],historyDataReceivedDifference:[],historySentData:{labels:[],datasets:[{label:"Data Sent",data:[],fill:!1,borderColor:"#198754",tension:0}]},historyReceiveData:{labels:[],datasets:[{label:"Data Received",data:[],fill:!1,borderColor:"#0d6efd",tension:0}]},peerSetting:{modalOpen:!1,selectedPeer:void 0},peerScheduleJobs:{modalOpen:!1,selectedPeer:void 0},peerQRCode:{modalOpen:!1,peerConfigData:void 0},peerCreate:{modalOpen:!1},peerScheduleJobsAll:{modalOpen:!1},peerScheduleJobsLogs:{modalOpen:!1},peerShare:{modalOpen:!1,selectedPeer:void 0}}},mounted(){},watch:{$route:{immediate:!0,handler(){clearInterval(this.dashboardConfigurationStore.Peers.RefreshInterval),this.loading=!0;let e=this.$route.params.id;this.configurationInfo=[],this.configurationPeers=[],e&&(this.getPeers(e),this.setPeerInterval())}},"dashboardConfigurationStore.Configuration.Server.dashboard_refresh_interval"(){clearInterval(this.dashboardConfigurationStore.Peers.RefreshInterval),this.setPeerInterval()}},beforeRouteLeave(){clearInterval(this.dashboardConfigurationStore.Peers.RefreshInterval)},methods:{toggle(){this.configurationToggling=!0,xt("/api/toggleWireguardConfiguration/",{configurationName:this.configurationInfo.Name},e=>{e.status?this.dashboardConfigurationStore.newMessage("Server",`${this.configurationInfo.Name} is - ${e.data?"is on":"is off"}`,"Success"):this.dashboardConfigurationStore.newMessage("Server",e.message,"danger"),this.configurationInfo.Status=e.data,this.configurationToggling=!1})},getPeers(e=this.$route.params.id){xt("/api/getWireguardConfigurationInfo",{configurationName:e},t=>{if(this.configurationInfo=t.data.configurationInfo,this.configurationPeers=t.data.configurationPeers,this.configurationPeers.forEach(n=>{n.restricted=!1}),t.data.configurationRestrictedPeers.forEach(n=>{n.restricted=!0,this.configurationPeers.push(n)}),this.loading=!1,this.configurationPeers.length>0){const n=this.configurationPeers.map(i=>i.total_sent+i.cumu_sent).reduce((i,o)=>i+o).toFixed(4),s=this.configurationPeers.map(i=>i.total_receive+i.cumu_receive).reduce((i,o)=>i+o).toFixed(4);this.historyDataSentDifference[this.historyDataSentDifference.length-1]!==n&&(this.historyDataSentDifference.length>0&&(this.historySentData={labels:[...this.historySentData.labels,Cn().format("HH:mm:ss A")],datasets:[{label:"Data Sent",data:[...this.historySentData.datasets[0].data,((n-this.historyDataSentDifference[this.historyDataSentDifference.length-1])*1e3).toFixed(4)],fill:!1,borderColor:"#198754",tension:0}]}),this.historyDataSentDifference.push(n)),this.historyDataReceivedDifference[this.historyDataReceivedDifference.length-1]!==s&&(this.historyDataReceivedDifference.length>0&&(this.historyReceiveData={labels:[...this.historyReceiveData.labels,Cn().format("HH:mm:ss A")],datasets:[{label:"Data Received",data:[...this.historyReceiveData.datasets[0].data,((s-this.historyDataReceivedDifference[this.historyDataReceivedDifference.length-1])*1e3).toFixed(4)],fill:!1,borderColor:"#0d6efd",tension:0}]}),this.historyDataReceivedDifference.push(s))}})},setPeerInterval(){this.dashboardConfigurationStore.Peers.RefreshInterval=setInterval(()=>{this.getPeers()},parseInt(this.dashboardConfigurationStore.Configuration.Server.dashboard_refresh_interval))}},computed:{configurationSummary(){return{connectedPeers:this.configurationPeers.filter(t=>t.status==="running").length,totalUsage:this.configurationPeers.length>0?this.configurationPeers.filter(t=>!t.restricted).map(t=>t.total_data+t.cumu_data).reduce((t,n)=>t+n,0).toFixed(4):0,totalReceive:this.configurationPeers.length>0?this.configurationPeers.filter(t=>!t.restricted).map(t=>t.total_receive+t.cumu_receive).reduce((t,n)=>t+n,0).toFixed(4):0,totalSent:this.configurationPeers.length>0?this.configurationPeers.filter(t=>!t.restricted).map(t=>t.total_sent+t.cumu_sent).reduce((t,n)=>t+n,0).toFixed(4):0}},receiveData(){return this.historyReceiveData},sentData(){return this.historySentData},individualDataUsage(){return{labels:this.configurationPeers.map(e=>e.name?e.name:`Untitled Peer - ${e.id}`),datasets:[{label:"Total Data Usage",data:this.configurationPeers.map(e=>e.cumu_data+e.total_data),backgroundColor:this.configurationPeers.map(e=>"#0dcaf0"),tooltip:{callbacks:{label:e=>`${e.formattedValue} GB`}}}]}},individualDataUsageChartOption(){return{responsive:!0,plugins:{legend:{display:!1}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(e,t)=>`${e} GB`},grid:{display:!1}}}}},chartOptions(){return{responsive:!0,plugins:{legend:{display:!1},tooltip:{callbacks:{label:e=>`${e.formattedValue} MB/s`}}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(e,t)=>`${e} MB/s`},grid:{display:!1}}}}},searchPeers(){const e=new Hr(this.configurationPeers,{keys:["name","id","allowed_ip"]}),t=this.wireguardConfigurationStore.searchString?e.search(this.wireguardConfigurationStore.searchString).map(n=>n.item):this.configurationPeers;return this.dashboardConfigurationStore.Configuration.Server.dashboard_sort==="restricted"?t.slice().sort((n,s)=>n[this.dashboardConfigurationStore.Configuration.Server.dashboard_sort]s[this.dashboardConfigurationStore.Configuration.Server.dashboard_sort]?-1:0):t.slice().sort((n,s)=>n[this.dashboardConfigurationStore.Configuration.Server.dashboard_sort]s[this.dashboardConfigurationStore.Configuration.Server.dashboard_sort]?1:0)}}},pn=e=>(Kt("data-v-6d78ad0a"),e=e(),qt(),e),YK={key:0,class:"container-md"},UK={class:"d-flex align-items-center"},KK=pn(()=>h("small",{CLASS:"text-muted"},"CONFIGURATION",-1)),qK={class:"d-flex align-items-center gap-3"},GK={class:"mb-0"},JK={class:"card rounded-3 bg-transparent shadow-sm ms-auto"},XK={class:"card-body py-2 d-flex align-items-center"},QK=pn(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Status")],-1)),ZK={class:"form-check form-switch ms-auto"},e7=["for"],t7={key:0,class:"spinner-border spinner-border-sm","aria-hidden":"true"},n7=["disabled","id"],s7={class:"row mt-3 gy-2 gx-2 mb-2"},i7={class:"col-6 col-lg-3"},o7={class:"card rounded-3 bg-transparent shadow-sm"},r7={class:"card-body py-2"},a7=pn(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Address")],-1)),l7={class:"col-6 col-lg-3"},c7={class:"card rounded-3 bg-transparent shadow-sm"},u7={class:"card-body py-2"},d7=pn(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Listen Port")],-1)),h7={style:{"word-break":"break-all"},class:"col-12 col-lg-6"},f7={class:"card rounded-3 bg-transparent shadow-sm"},p7={class:"card-body py-2"},m7=pn(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Public Key")],-1)),g7={class:"row gx-2 gy-2 mb-2"},_7={class:"col-6 col-lg-3"},v7={class:"card rounded-3 bg-transparent shadow-sm"},b7={class:"card-body d-flex"},y7=pn(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Connected Peers")],-1)),w7={class:"h4"},x7=pn(()=>h("i",{class:"bi bi-ethernet ms-auto h2 text-muted"},null,-1)),k7={class:"col-6 col-lg-3"},S7={class:"card rounded-3 bg-transparent shadow-sm"},$7={class:"card-body d-flex"},A7=pn(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Total Usage")],-1)),C7={class:"h4"},E7=pn(()=>h("i",{class:"bi bi-arrow-down-up ms-auto h2 text-muted"},null,-1)),P7={class:"col-6 col-lg-3"},M7={class:"card rounded-3 bg-transparent shadow-sm"},T7={class:"card-body d-flex"},D7=pn(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Total Received")],-1)),O7={class:"h4 text-primary"},I7=pn(()=>h("i",{class:"bi bi-arrow-down ms-auto h2 text-muted"},null,-1)),R7={class:"col-6 col-lg-3"},L7={class:"card rounded-3 bg-transparent shadow-sm"},N7={class:"card-body d-flex"},F7=pn(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Total Sent")],-1)),B7={class:"h4 text-success"},V7=pn(()=>h("i",{class:"bi bi-arrow-up ms-auto h2 text-muted"},null,-1)),H7={class:"row gx-2 gy-2 mb-3"},j7={class:"col-12 col-lg-6"},W7={class:"card rounded-3 bg-transparent shadow-sm",style:{height:"270px"}},z7=pn(()=>h("div",{class:"card-header bg-transparent border-0"},[h("small",{class:"text-muted"},"Peers Total Data Usage")],-1)),Y7={class:"card-body pt-1"},U7={class:"col-sm col-lg-3"},K7={class:"card rounded-3 bg-transparent shadow-sm",style:{height:"270px"}},q7=pn(()=>h("div",{class:"card-header bg-transparent border-0"},[h("small",{class:"text-muted"},"Real Time Received Data Usage")],-1)),G7={class:"card-body pt-1"},J7={class:"col-sm col-lg-3"},X7={class:"card rounded-3 bg-transparent shadow-sm",style:{height:"270px"}},Q7=pn(()=>h("div",{class:"card-header bg-transparent border-0"},[h("small",{class:"text-muted"},"Real Time Sent Data Usage")],-1)),Z7={class:"card-body pt-1"},e9={class:"mb-3"};function t9(e,t,n,s,i,o){const r=je("Bar"),a=je("Line"),l=je("PeerSearch"),c=je("Peer"),u=je("PeerSettings"),d=je("PeerQRCode"),f=je("PeerJobs"),p=je("PeerJobsAllModal"),g=je("PeerJobsLogsModal"),_=je("PeerShareLinkModal");return this.loading?re("",!0):(D(),F("div",YK,[h("div",UK,[h("div",null,[KK,h("div",qK,[h("h1",GK,[h("samp",null,_e(this.configurationInfo.Name),1)])])]),h("div",JK,[h("div",XK,[h("div",null,[QK,h("div",ZK,[h("label",{class:"form-check-label",style:{cursor:"pointer"},for:"switch"+this.configurationInfo.id},[ye(_e(this.configurationToggling?"Turning ":"")+" "+_e(this.configurationInfo.Status?"On":"Off")+" ",1),this.configurationToggling?(D(),F("span",t7)):re("",!0)],8,e7),Re(h("input",{class:"form-check-input",style:{cursor:"pointer"},disabled:this.configurationToggling,type:"checkbox",role:"switch",id:"switch"+this.configurationInfo.id,onChange:t[0]||(t[0]=b=>this.toggle()),"onUpdate:modelValue":t[1]||(t[1]=b=>this.configurationInfo.Status=b)},null,40,n7),[[In,this.configurationInfo.Status]])])]),h("div",{class:Ee(["dot ms-5",{active:this.configurationInfo.Status}])},null,2)])])]),h("div",s7,[h("div",i7,[h("div",o7,[h("div",r7,[a7,ye(" "+_e(this.configurationInfo.Address),1)])])]),h("div",l7,[h("div",c7,[h("div",u7,[d7,ye(" "+_e(this.configurationInfo.ListenPort),1)])])]),h("div",h7,[h("div",f7,[h("div",p7,[m7,h("samp",null,_e(this.configurationInfo.PublicKey),1)])])])]),h("div",g7,[h("div",_7,[h("div",v7,[h("div",b7,[h("div",null,[y7,h("strong",w7,_e(o.configurationSummary.connectedPeers),1)]),x7])])]),h("div",k7,[h("div",S7,[h("div",$7,[h("div",null,[A7,h("strong",C7,_e(o.configurationSummary.totalUsage)+" GB",1)]),E7])])]),h("div",P7,[h("div",M7,[h("div",T7,[h("div",null,[D7,h("strong",O7,_e(o.configurationSummary.totalReceive)+" GB",1)]),I7])])]),h("div",R7,[h("div",L7,[h("div",N7,[h("div",null,[F7,h("strong",B7,_e(o.configurationSummary.totalSent)+" GB",1)]),V7])])])]),h("div",H7,[h("div",j7,[h("div",W7,[z7,h("div",Y7,[$e(r,{data:o.individualDataUsage,options:o.individualDataUsageChartOption,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["data","options"])])])]),h("div",U7,[h("div",K7,[q7,h("div",G7,[$e(a,{options:o.chartOptions,data:o.receiveData,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"])])])]),h("div",J7,[h("div",X7,[Q7,h("div",Z7,[$e(a,{options:o.chartOptions,data:o.sentData,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"])])])])]),h("div",e9,[$e(l,{onJobsAll:t[2]||(t[2]=b=>this.peerScheduleJobsAll.modalOpen=!0),onJobLogs:t[3]||(t[3]=b=>this.peerScheduleJobsLogs.modalOpen=!0),configuration:this.configurationInfo},null,8,["configuration"]),$e(Wi,{name:"list",tag:"div",class:"row gx-2 gy-2 z-0"},{default:Me(()=>[(D(!0),F(Te,null,Ke(this.searchPeers,b=>(D(),F("div",{class:"col-12 col-lg-6 col-xl-4",key:b.id},[$e(c,{Peer:b,onShare:w=>{this.peerShare.selectedPeer=b.id,this.peerShare.modalOpen=!0},onRefresh:t[4]||(t[4]=w=>this.getPeers()),onJobs:w=>{i.peerScheduleJobs.modalOpen=!0,i.peerScheduleJobs.selectedPeer=this.configurationPeers.find($=>$.id===b.id)},onSetting:w=>{i.peerSetting.modalOpen=!0,i.peerSetting.selectedPeer=this.configurationPeers.find($=>$.id===b.id)},onQrcode:t[5]||(t[5]=w=>{this.peerQRCode.peerConfigData=w,this.peerQRCode.modalOpen=!0})},null,8,["Peer","onShare","onJobs","onSetting"])]))),128))]),_:1})]),$e(Ct,{name:"zoom"},{default:Me(()=>[this.peerSetting.modalOpen?(D(),Ne(u,{key:"settings",selectedPeer:this.peerSetting.selectedPeer,onRefresh:t[6]||(t[6]=b=>this.getPeers()),onClose:t[7]||(t[7]=b=>this.peerSetting.modalOpen=!1)},null,8,["selectedPeer"])):re("",!0)]),_:1}),$e(Ct,{name:"zoom"},{default:Me(()=>[i.peerQRCode.modalOpen?(D(),Ne(d,{peerConfigData:this.peerQRCode.peerConfigData,key:"qrcode",onClose:t[8]||(t[8]=b=>this.peerQRCode.modalOpen=!1)},null,8,["peerConfigData"])):re("",!0)]),_:1}),$e(Ct,{name:"zoom"},{default:Me(()=>[this.peerScheduleJobs.modalOpen?(D(),Ne(f,{key:0,onRefresh:t[9]||(t[9]=b=>this.getPeers()),selectedPeer:this.peerScheduleJobs.selectedPeer,onClose:t[10]||(t[10]=b=>this.peerScheduleJobs.modalOpen=!1)},null,8,["selectedPeer"])):re("",!0)]),_:1}),$e(Ct,{name:"zoom"},{default:Me(()=>[this.peerScheduleJobsAll.modalOpen?(D(),Ne(p,{key:0,onRefresh:t[11]||(t[11]=b=>this.getPeers()),onClose:t[12]||(t[12]=b=>this.peerScheduleJobsAll.modalOpen=!1),configurationPeers:this.configurationPeers},null,8,["configurationPeers"])):re("",!0)]),_:1}),$e(Ct,{name:"zoom"},{default:Me(()=>[this.peerScheduleJobsLogs.modalOpen?(D(),Ne(g,{key:0,onClose:t[13]||(t[13]=b=>this.peerScheduleJobsLogs.modalOpen=!1),configurationInfo:this.configurationInfo},null,8,["configurationInfo"])):re("",!0)]),_:1}),$e(Ct,{name:"zoom"},{default:Me(()=>[this.peerShare.modalOpen?(D(),Ne(_,{key:0,onClose:t[14]||(t[14]=b=>{this.peerShare.modalOpen=!1,this.peerShare.selectedPeer=void 0}),peer:this.configurationPeers.find(b=>b.id===this.peerShare.selectedPeer)},null,8,["peer"])):re("",!0)]),_:1})]))}const n9=ze(zK,[["render",t9],["__scopeId","data-v-6d78ad0a"]]),s9={name:"ping",data(){return{loading:!1,cips:{},selectedConfiguration:void 0,selectedPeer:void 0,selectedIp:void 0,count:4,pingResult:void 0,pinging:!1}},setup(){return{store:et()}},mounted(){xt("/api/ping/getAllPeersIpAddress",{},e=>{e.status&&(this.loading=!0,this.cips=e.data,console.log(this.cips))})},methods:{execute(){this.selectedIp&&(this.pinging=!0,this.pingResult=void 0,xt("/api/ping/execute",{ipAddress:this.selectedIp,count:this.count},e=>{e.status?this.pingResult=e.data:this.store.newMessage("Server",e.message,"danger")}))}},watch:{selectedConfiguration(){this.selectedPeer=void 0,this.selectedIp=void 0},selectedPeer(){this.selectedIp=void 0}}},Hn=e=>(Kt("data-v-7b32cdf7"),e=e(),qt(),e),i9={class:"mt-md-5 mt-3 text-body"},o9={class:"container"},r9=Hn(()=>h("h3",{class:"mb-3 text-body"},"Ping",-1)),a9={class:"row"},l9={class:"col-sm-4 d-flex gap-2 flex-column"},c9=Hn(()=>h("label",{class:"mb-1 text-muted",for:"configuration"},[h("small",null,"Configuration")],-1)),u9=Hn(()=>h("option",{disabled:"",selected:"",value:void 0},"Select a Configuration...",-1)),d9=["value"],h9=Hn(()=>h("label",{class:"mb-1 text-muted",for:"peer"},[h("small",null,"Peer")],-1)),f9=["disabled"],p9=Hn(()=>h("option",{disabled:"",selected:"",value:void 0},"Select a Peer...",-1)),m9=["value"],g9=Hn(()=>h("label",{class:"mb-1 text-muted",for:"ip"},[h("small",null,"IP Address")],-1)),_9=["disabled"],v9=Hn(()=>h("option",{disabled:"",selected:"",value:void 0},"Select a IP...",-1)),b9=Hn(()=>h("label",{class:"mb-1 text-muted",for:"count"},[h("small",null,"Ping Count")],-1)),y9=["disabled"],w9=Hn(()=>h("i",{class:"bi bi-person-walking me-2"},null,-1)),x9={class:"col-sm-8"},k9={key:"pingPlaceholder"},S9={key:"pingResult",class:"d-flex flex-column gap-2 w-100"},$9={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.15s"}},A9={class:"card-body"},C9=Hn(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Address")],-1)),E9={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.3s"}},P9={class:"card-body"},M9=Hn(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Is Alive")],-1)),T9={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.45s"}},D9={class:"card-body"},O9=Hn(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Average / Min / Max Round Trip Time")],-1)),I9={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.6s"}},R9={class:"card-body"},L9=Hn(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Sent / Received / Lost Package")],-1));function N9(e,t,n,s,i,o){return D(),F("div",i9,[h("div",o9,[r9,h("div",a9,[h("div",l9,[h("div",null,[c9,Re(h("select",{class:"form-select","onUpdate:modelValue":t[0]||(t[0]=r=>this.selectedConfiguration=r)},[u9,(D(!0),F(Te,null,Ke(this.cips,(r,a)=>(D(),F("option",{value:a},_e(a),9,d9))),256))],512),[[hc,this.selectedConfiguration]])]),h("div",null,[h9,Re(h("select",{id:"peer",class:"form-select","onUpdate:modelValue":t[1]||(t[1]=r=>this.selectedPeer=r),disabled:this.selectedConfiguration===void 0},[p9,this.selectedConfiguration!==void 0?(D(!0),F(Te,{key:0},Ke(this.cips[this.selectedConfiguration],(r,a)=>(D(),F("option",{value:a},_e(a),9,m9))),256)):re("",!0)],8,f9),[[hc,this.selectedPeer]])]),h("div",null,[g9,Re(h("select",{id:"ip",class:"form-select","onUpdate:modelValue":t[2]||(t[2]=r=>this.selectedIp=r),disabled:this.selectedPeer===void 0},[v9,this.selectedPeer!==void 0?(D(!0),F(Te,{key:0},Ke(this.cips[this.selectedConfiguration][this.selectedPeer].allowed_ips,r=>(D(),F("option",null,_e(r),1))),256)):re("",!0)],8,_9),[[hc,this.selectedIp]])]),h("div",null,[b9,Re(h("input",{class:"form-control",type:"number","onUpdate:modelValue":t[3]||(t[3]=r=>this.count=r),min:"1",id:"count",placeholder:"How many times you want to ping?"},null,512),[[We,this.count]])]),h("button",{class:"btn btn-primary rounded-3 mt-3",disabled:!this.selectedIp,onClick:t[4]||(t[4]=r=>this.execute())},[w9,ye("Go! ")],8,y9)]),h("div",x9,[$e(Wi,{name:"ping"},{default:Me(()=>[this.pingResult?(D(),F("div",S9,[h("div",$9,[h("div",A9,[C9,ye(" "+_e(this.pingResult.address),1)])]),h("div",E9,[h("div",P9,[M9,h("span",{class:Ee([this.pingResult.is_alive?"text-success":"text-danger"])},[h("i",{class:Ee(["bi me-1",[this.pingResult.is_alive?"bi-check-circle-fill":"bi-x-circle-fill"]])},null,2),ye(" "+_e(this.pingResult.is_alive?"Yes":"No"),1)],2)])]),h("div",T9,[h("div",D9,[O9,h("samp",null,_e(this.pingResult.avg_rtt)+"ms / "+_e(this.pingResult.min_rtt)+"ms / "+_e(this.pingResult.max_rtt)+"ms ",1)])]),h("div",I9,[h("div",R9,[L9,h("samp",null,_e(this.pingResult.package_sent)+" / "+_e(this.pingResult.package_received)+" / "+_e(this.pingResult.package_loss),1)])])])):(D(),F("div",k9,[(D(),F(Te,null,Ke(4,r=>h("div",{class:Ee(["pingPlaceholder bg-body-secondary rounded-3 mb-3",{"animate__animated animate__flash animate__slower animate__infinite":this.pinging}]),style:Wt({"animation-delay":`${r*.15}s`})},null,6)),64))]))]),_:1})])])])])}const F9=ze(s9,[["render",N9],["__scopeId","data-v-7b32cdf7"]]),B9={name:"traceroute",data(){return{tracing:!1,ipAddress:void 0,tracerouteResult:void 0}},setup(){return{store:Bn()}},methods:{execute(){this.ipAddress&&(this.tracing=!0,this.tracerouteResult=void 0,xt("/api/traceroute/execute",{ipAddress:this.ipAddress},e=>{e.status?this.tracerouteResult=e.data:this.store.newMessage("Server",e.message,"danger"),this.tracing=!1}))}}},Pu=e=>(Kt("data-v-606c2c93"),e=e(),qt(),e),V9={class:"mt-md-5 mt-3 text-body"},H9={class:"container-md"},j9=Pu(()=>h("h3",{class:"mb-3 text-body"},"Traceroute",-1)),W9={class:"row"},z9={class:"col-sm-4 d-flex gap-2 flex-column"},Y9=Pu(()=>h("label",{class:"mb-1 text-muted",for:"ipAddress"},[h("small",null,"IP Address")],-1)),U9=["disabled"],K9=Pu(()=>h("i",{class:"bi bi-bullseye me-2"},null,-1)),q9={class:"col-sm-8 position-relative"},G9={key:"pingPlaceholder"},J9={key:"table",class:"w-100"},X9={class:"table table-borderless rounded-3 w-100"},Q9=Pu(()=>h("thead",null,[h("tr",null,[h("th",{scope:"col"},"Hop"),h("th",{scope:"col"},"IP Address"),h("th",{scope:"col"},"Average / Min / Max Round Trip Time")])],-1));function Z9(e,t,n,s,i,o){return D(),F("div",V9,[h("div",H9,[j9,h("div",W9,[h("div",z9,[h("div",null,[Y9,Re(h("input",{id:"ipAddress",class:"form-control","onUpdate:modelValue":t[0]||(t[0]=r=>this.ipAddress=r),type:"text",placeholder:"Enter an IP Address you want to trace :)"},null,512),[[We,this.ipAddress]])]),h("button",{class:"btn btn-primary rounded-3 mt-3",disabled:!this.store.regexCheckIP(this.ipAddress)||this.tracing,onClick:t[1]||(t[1]=r=>this.execute())},[K9,ye(" "+_e(this.tracing?"Tracing...":"Trace It!"),1)],8,U9)]),h("div",q9,[$e(Wi,{name:"ping"},{default:Me(()=>[this.tracerouteResult?(D(),F("div",J9,[h("table",X9,[Q9,h("tbody",null,[(D(!0),F(Te,null,Ke(this.tracerouteResult,(r,a)=>(D(),F("tr",{class:"animate__fadeInUp animate__animated",style:Wt({"animation-delay":`${a*.05}s`})},[h("td",null,_e(r.hop),1),h("td",null,_e(r.ip),1),h("td",null,_e(r.avg_rtt)+" / "+_e(r.min_rtt)+" / "+_e(r.max_rtt),1)],4))),256))])])])):(D(),F("div",G9,[(D(),F(Te,null,Ke(10,r=>h("div",{class:Ee(["pingPlaceholder bg-body-secondary rounded-3 mb-3",{"animate__animated animate__flash animate__slower animate__infinite":this.tracing}]),style:Wt({"animation-delay":`${r*.05}s`})},null,6)),64))]))]),_:1})])])])])}const eq=ze(B9,[["render",Z9],["__scopeId","data-v-606c2c93"]]),tq={name:"totp",async setup(){const e=et();let t="";return await xt("/api/Welcome_GetTotpLink",{},n=>{n.status&&(t=n.data)}),{l:t,store:e}},mounted(){this.l&&Bo.toCanvas(document.getElementById("qrcode"),this.l,function(e){})},data(){return{totp:"",totpInvalidMessage:"",verified:!1}},methods:{validateTotp(){}},watch:{totp(e){const t=document.querySelector("#totp");t.classList.remove("is-invalid","is-valid"),e.length===6&&(console.log(e),/[0-9]{6}/.test(e)?ft("/api/Welcome_VerifyTotpLink",{totp:e},n=>{n.status?(this.verified=!0,t.classList.add("is-valid"),this.$emit("verified")):(t.classList.add("is-invalid"),this.totpInvalidMessage="TOTP does not match.")}):(t.classList.add("is-invalid"),this.totpInvalidMessage="TOTP can only contain numbers"))}}},nq=["data-bs-theme"],sq={class:"m-auto text-body",style:{width:"500px"}},iq={class:"d-flex flex-column"},oq=h("h1",{class:"dashboardLogo display-4"},"Multi-Factor Authentication",-1),rq=h("p",{class:"mb-2"},[h("small",{class:"text-muted"},"1. Please scan the following QR Code to generate TOTP")],-1),aq=h("canvas",{id:"qrcode",class:"rounded-3 mb-2"},null,-1),lq={class:"p-3 bg-body-secondary rounded-3 border mb-3"},cq=h("p",{class:"text-muted mb-0"},[h("small",null,"Or you can click the link below:")],-1),uq=["href"],dq={style:{"line-break":"anywhere"}},hq=h("label",{for:"totp",class:"mb-2"},[h("small",{class:"text-muted"},"2. Enter the TOTP generated by your authenticator to verify")],-1),fq={class:"form-group mb-2"},pq=["disabled"],mq={class:"invalid-feedback"},gq=h("div",{class:"valid-feedback"}," TOTP verified! ",-1),_q=h("div",{class:"alert alert-warning rounded-3"},[h("i",{class:"bi bi-exclamation-triangle-fill me-2"}),ye(" If you ever lost your TOTP and can't login, please follow instruction on "),h("a",{href:"https://github.com/donaldzou/WGDashboard",target:"_blank"},"readme.md"),ye(" to reset. ")],-1),vq=h("hr",null,null,-1),bq={class:"d-flex gap-3 mt-5 flex-column"},yq=h("i",{class:"bi bi-chevron-right ms-auto"},null,-1),wq=h("i",{class:"bi bi-chevron-right ms-auto"},null,-1);function xq(e,t,n,s,i,o){const r=je("RouterLink");return D(),F("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.store.Configuration.Server.dashboard_theme},[h("div",sq,[h("div",iq,[h("div",null,[oq,rq,aq,h("div",lq,[cq,h("a",{href:this.l},[h("code",dq,_e(this.l),1)],8,uq)]),hq,h("div",fq,[Re(h("input",{class:"form-control text-center totp",id:"totp",maxlength:"6",type:"text",inputmode:"numeric",autocomplete:"one-time-code","onUpdate:modelValue":t[0]||(t[0]=a=>this.totp=a),disabled:this.verified},null,8,pq),[[We,this.totp]]),h("div",mq,_e(this.totpInvalidMessage),1),gq]),_q]),vq,h("div",bq,[this.verified?(D(),Ne(r,{key:1,to:"/",class:"btn btn-dark btn-lg d-flex btn-brand shadow align-items-center flex-grow-1 rounded-3"},{default:Me(()=>[ye(" Complete "),wq]),_:1})):(D(),Ne(r,{key:0,to:"/",class:"btn bg-secondary-subtle text-secondary-emphasis rounded-3 flex-grow-1 btn-lg border-1 border-secondary-subtle shadow d-flex"},{default:Me(()=>[ye(" I don't need MFA "),yq]),_:1}))])])])],8,nq)}const kq=ze(tq,[["render",xq]]),Sq={name:"share",async setup(){const e=tP(),t=be(!1),n=et(),s=be(""),i=be(""),o=be(new Blob);await xt("/api/getDashboardTheme",{},a=>{s.value=a.data});const r=e.query.ShareID;return r===void 0||r.length===0?(i.value=void 0,t.value=!0):await xt("/api/sharePeer/get",{ShareID:r},a=>{a.status?(i.value=a.data,o.value=new Blob([i.value.file],{type:"text/plain"})):i.value=void 0,t.value=!0}),{store:n,theme:s,peerConfiguration:i,blob:o}},mounted(){Bo.toCanvas(document.querySelector("#qrcode"),this.peerConfiguration.file,e=>{e&&console.error(e)})},methods:{download(){const e=new Blob([this.peerConfiguration.file],{type:"text/plain"}),t=URL.createObjectURL(e),n=`${this.peerConfiguration.fileName}.conf`,s=document.createElement("a");s.href=t,s.download=n,s.click()}},computed:{getBlob(){return URL.createObjectURL(this.blob)}}},hp=e=>(Kt("data-v-99d4b06a"),e=e(),qt(),e),$q=["data-bs-theme"],Aq={class:"m-auto text-body",style:{width:"500px"}},Cq={key:0,class:"text-center position-relative",style:{}},Eq=QA('

Oh no... This link is either expired or invalid.

',2),Pq=[Eq],Mq={key:1,class:"d-flex align-items-center flex-column gap-3"},Tq=hp(()=>h("div",{class:"h1 dashboardLogo text-center animate__animated animate__fadeInUp"},[h("h6",null,"WGDashboard"),ye(" Scan QR Code from the WireGuard App ")],-1)),Dq={id:"qrcode",class:"rounded-3 shadow animate__animated animate__fadeInUp mb-3",ref:"qrcode"},Oq=hp(()=>h("p",{class:"text-muted animate__animated animate__fadeInUp mb-1",style:{"animation-delay":"0.2s"}},[ye("or click the button below to download the "),h("samp",null,".conf"),ye(" file")],-1)),Iq=["download","href"],Rq=hp(()=>h("i",{class:"bi bi-download"},null,-1)),Lq=[Rq];function Nq(e,t,n,s,i,o){return D(),F("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.theme},[h("div",Aq,[this.peerConfiguration?(D(),F("div",Mq,[Tq,h("canvas",Dq,null,512),Oq,h("a",{download:this.peerConfiguration.fileName+".conf",href:o.getBlob,class:"btn btn-lg bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle animate__animated animate__fadeInUp shadow-sm",style:{"animation-delay":"0.25s"}},Lq,8,Iq)])):(D(),F("div",Cq,Pq))])],8,$q)}const Fq=ze(Sq,[["render",Nq],["__scopeId","data-v-99d4b06a"]]),Bq=async()=>{let e=!1;return await xt("/api/validateAuthentication",{},t=>{e=t.status}),e},ml=ZE({history:gE(),routes:[{name:"Index",path:"/",component:GP,meta:{requiresAuth:!0},children:[{name:"Configuration List",path:"",component:IT,meta:{title:"WireGuard Configurations"}},{name:"Settings",path:"/settings",component:L3,meta:{title:"Settings"}},{path:"/ping",name:"Ping",component:F9},{path:"/traceroute",name:"Traceroute",component:eq},{name:"New Configuration",path:"/new_configuration",component:v5,meta:{title:"New Configuration"}},{name:"Configuration",path:"/configuration/:id",component:x5,meta:{title:"Configuration"},children:[{name:"Peers List",path:"peers",component:n9},{name:"Peers Create",path:"create",component:K1}]}]},{path:"/signin",component:ZM,meta:{title:"Sign In"}},{path:"/welcome",component:iN,meta:{requiresAuth:!0,title:"Welcome to WGDashboard"}},{path:"/2FASetup",component:kq,meta:{requiresAuth:!0,title:"Multi-Factor Authentication Setup"}},{path:"/share",component:Fq,meta:{title:"Share"}}]});ml.beforeEach(async(e,t,n)=>{const s=Bn(),i=et();e.meta.title?e.params.id?document.title=e.params.id+" | WGDashboard":document.title=e.meta.title+" | WGDashboard":document.title="WGDashboard",i.ShowNavBar=!1,e.meta.requiresAuth?i.getActiveCrossServer()?(await i.getConfiguration(),!s.Configurations&&e.name!=="Configuration List"&&await s.getConfigurations(),n()):nP.getCookie("authToken")&&await Bq()?(await i.getConfiguration(),!s.Configurations&&e.name!=="Configuration List"&&await s.getConfigurations(),i.Redirect=void 0,n()):(i.Redirect=e,n("/signin"),i.newMessage("WGDashboard","Session Ended","warning")):n()});const J1=()=>{let e={"content-type":"application/json"};const n=et().getActiveCrossServer();return n&&(e["wg-dashboard-apikey"]=n.apiKey),e},X1=e=>{const n=et().getActiveCrossServer();return n?`${n.host}${e}`:`${window.location.protocol}//${(window.location.host+window.location.pathname+e).replace(/\/\//g,"/")}`},xt=async(e,t=void 0,n=void 0)=>{const s=new URLSearchParams(t);await fetch(`${X1(e)}?${s.toString()}`,{headers:J1()}).then(i=>{const o=et();if(i.ok)return i.json();if(i.status!==200)throw i.status===401&&o.newMessage("WGDashboard","Session Ended","warning"),new Error(i.statusText)}).then(i=>n?n(i):void 0).catch(i=>{console.log(i),ml.push({path:"/signin"})})},ft=async(e,t,n)=>{await fetch(`${X1(e)}`,{headers:J1(),method:"POST",body:JSON.stringify(t)}).then(s=>{const i=et();if(s.ok)return s.json();if(s.status!==200)throw s.status===401&&i.newMessage("WGDashboard","Session Ended","warning"),new Error(s.statusText)}).then(s=>n?n(s):void 0).catch(s=>{console.log(s),ml.push({path:"/signin"})})},et=bf("DashboardConfigurationStore",{state:()=>({Redirect:void 0,Configuration:void 0,Messages:[],Peers:{Selecting:!1,RefreshInterval:void 0},CrossServerConfiguration:{Enable:!1,ServerList:{}},ActiveServerConfiguration:void 0,IsElectronApp:!1,ShowNavBar:!1}),actions:{initCrossServerConfiguration(){const e=localStorage.getItem("CrossServerConfiguration");localStorage.getItem("ActiveCrossServerConfiguration")!==null&&(this.ActiveServerConfiguration=localStorage.getItem("ActiveCrossServerConfiguration")),e===null?window.localStorage.setItem("CrossServerConfiguration",JSON.stringify(this.CrossServerConfiguration)):this.CrossServerConfiguration=JSON.parse(e)},syncCrossServerConfiguration(){window.localStorage.setItem("CrossServerConfiguration",JSON.stringify(this.CrossServerConfiguration))},addCrossServerConfiguration(){this.CrossServerConfiguration.ServerList[Ts().toString()]={host:"",apiKey:"",active:!1}},deleteCrossServerConfiguration(e){delete this.CrossServerConfiguration.ServerList[e]},getActiveCrossServer(){const e=localStorage.getItem("ActiveCrossServerConfiguration");if(e!==null)return this.CrossServerConfiguration.ServerList[e]},setActiveCrossServer(e){this.ActiveServerConfiguration=e,localStorage.setItem("ActiveCrossServerConfiguration",e)},removeActiveCrossServer(){this.ActiveServerConfiguration=void 0,localStorage.removeItem("ActiveCrossServerConfiguration")},async getConfiguration(){await xt("/api/getDashboardConfiguration",{},e=>{e.status&&(this.Configuration=e.data)})},async signOut(){await xt("/api/signout",{},e=>{this.removeActiveCrossServer(),this.$router.go("/signin")})},newMessage(e,t,n){this.Messages.push({id:Ts(),from:e,content:t,type:n,show:!0})}}}),fp=e=>(Kt("data-v-a29399d4"),e=e(),qt(),e),Vq={class:"navbar bg-dark sticky-top","data-bs-theme":"dark"},Hq={class:"container-fluid d-flex text-body align-items-center"},jq=fp(()=>h("span",{class:"navbar-brand mb-0 h1"},"WGDashboard",-1)),Wq={key:0,class:"ms-auto text-muted"},zq=fp(()=>h("i",{class:"bi bi-server me-2"},null,-1)),Yq=fp(()=>h("i",{class:"bi bi-list"},null,-1)),Uq=[Yq],Kq={__name:"App",setup(e){const t=et();t.initCrossServerConfiguration(),window.IS_WGDASHBOARD_DESKTOP&&(t.IsElectronApp=!0,t.CrossServerConfiguration.Enable=!0),Vt(t.CrossServerConfiguration,()=>{t.syncCrossServerConfiguration()},{deep:!0});const n=ve(()=>{if(t.ActiveServerConfiguration)return t.CrossServerConfiguration.ServerList[t.ActiveServerConfiguration]});return(s,i)=>(D(),F(Te,null,[h("nav",Vq,[h("div",Hq,[jq,n.value!==void 0?(D(),F("small",Wq,[zq,ye(_e(n.value.host),1)])):re("",!0),h("a",{role:"button",class:"navbarBtn text-body",onClick:i[0]||(i[0]=o=>q(t).ShowNavBar=!q(t).ShowNavBar),style:{"line-height":"0","font-size":"2rem"}},Uq)])]),(D(),Ne(uf,null,{default:Me(()=>[$e(q(ky),null,{default:Me(({Component:o})=>[$e(Ct,{name:"app",mode:"out-in"},{default:Me(()=>[(D(),Ne(Io(o)))]),_:2},1024)]),_:1})]),_:1}))],64))}},qq=ze(Kq,[["__scopeId","data-v-a29399d4"]]),pp=jC(qq);pp.use(ml);const Q1=UC();Q1.use(({store:e})=>{e.$router=tu(ml)});pp.use(Q1);pp.mount("#app"); +`);const r=yW(t,n,i),a=Cu.getSymbolSize(t),l=new cW(a);return gW(l,t),mW(l),_W(l,t),Dd(l,n,0),t>=7&&vW(l,t),bW(l,r),isNaN(s)&&(s=Mh.getBestMask(l,Dd.bind(null,l,n))),Mh.applyMask(s,l),Dd(l,n,s),{modules:l,version:t,errorCorrectionLevel:n,maskPattern:s,segments:i}}T1.create=function(t,n){if(typeof t>"u"||t==="")throw new Error("No input text");let s=Md.M,i,o;return typeof n<"u"&&(s=Md.from(n.errorCorrectionLevel,Md.M),i=Yc.from(n.version),o=Mh.from(n.maskPattern),n.toSJISFunc&&Cu.setToSJISFunction(n.toSJISFunc)),xW(t,i,s,o)};var z1={},cp={};(function(e){function t(n){if(typeof n=="number"&&(n=n.toString()),typeof n!="string")throw new Error("Color should be defined as hex string");let s=n.slice().replace("#","").split("");if(s.length<3||s.length===5||s.length>8)throw new Error("Invalid hex color: "+n);(s.length===3||s.length===4)&&(s=Array.prototype.concat.apply([],s.map(function(o){return[o,o]}))),s.length===6&&s.push("F","F");const i=parseInt(s.join(""),16);return{r:i>>24&255,g:i>>16&255,b:i>>8&255,a:i&255,hex:"#"+s.slice(0,6).join("")}}e.getOptions=function(s){s||(s={}),s.color||(s.color={});const i=typeof s.margin>"u"||s.margin===null||s.margin<0?4:s.margin,o=s.width&&s.width>=21?s.width:void 0,r=s.scale||4;return{width:o,scale:o?4:r,margin:i,color:{dark:t(s.color.dark||"#000000ff"),light:t(s.color.light||"#ffffffff")},type:s.type,rendererOpts:s.rendererOpts||{}}},e.getScale=function(s,i){return i.width&&i.width>=s+i.margin*2?i.width/(s+i.margin*2):i.scale},e.getImageWidth=function(s,i){const o=e.getScale(s,i);return Math.floor((s+i.margin*2)*o)},e.qrToImageData=function(s,i,o){const r=i.modules.size,a=i.modules.data,l=e.getScale(r,o),c=Math.floor((r+o.margin*2)*l),u=o.margin*l,d=[o.color.light,o.color.dark];for(let f=0;f=u&&p>=u&&f"u"&&(!r||!r.getContext)&&(l=r,r=void 0),r||(c=s()),l=t.getOptions(l);const u=t.getImageWidth(o.modules.size,l),d=c.getContext("2d"),f=d.createImageData(u,u);return t.qrToImageData(f.data,o,l),n(d,c,u),d.putImageData(f,0,0),c},e.renderToDataURL=function(o,r,a){let l=a;typeof l>"u"&&(!r||!r.getContext)&&(l=r,r=void 0),l||(l={});const c=e.render(o,r,l),u=l.type||"image/png",d=l.rendererOpts||{};return c.toDataURL(u,d.quality)}})(z1);var Y1={};const kW=cp;function mv(e,t){const n=e.a/255,s=t+'="'+e.hex+'"';return n<1?s+" "+t+'-opacity="'+n.toFixed(2).slice(1)+'"':s}function Od(e,t,n){let s=e+t;return typeof n<"u"&&(s+=" "+n),s}function SW(e,t,n){let s="",i=0,o=!1,r=0;for(let a=0;a0&&l>0&&e[a-1]||(s+=o?Od("M",l+n,.5+c+n):Od("m",i,0),i=0,o=!1),l+1':"",c="',u='viewBox="0 0 '+a+" "+a+'"',f=''+l+c+` +`;return typeof s=="function"&&s(null,f),f};const $W=Fj,Dh=T1,K1=z1,AW=Y1;function up(e,t,n,s,i){const o=[].slice.call(arguments,1),r=o.length,a=typeof o[r-1]=="function";if(!a&&!$W())throw new Error("Callback required as last argument");if(a){if(r<2)throw new Error("Too few arguments provided");r===2?(i=n,n=t,t=s=void 0):r===3&&(t.getContext&&typeof i>"u"?(i=s,s=void 0):(i=s,s=n,n=t,t=void 0))}else{if(r<1)throw new Error("Too few arguments provided");return r===1?(n=t,t=s=void 0):r===2&&!t.getContext&&(s=n,n=t,t=void 0),new Promise(function(l,c){try{const u=Dh.create(n,s);l(e(u,t,s))}catch(u){c(u)}})}try{const l=Dh.create(n,s);i(null,e(l,t,s))}catch(l){i(l)}}Bo.create=Dh.create;Bo.toCanvas=up.bind(null,K1.render);Bo.toDataURL=up.bind(null,K1.renderToDataURL);Bo.toString=up.bind(null,function(e,t,n){return AW.render(e,n)});const CW={name:"peerQRCode",props:{peerConfigData:String},mounted(){Bo.toCanvas(document.querySelector("#qrcode"),this.peerConfigData,e=>{e&&console.error(e)})}},EW={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0"},PW={class:"container d-flex h-100 w-100"},MW={class:"m-auto modal-dialog-centered dashboardModal justify-content-center"},TW={class:"card rounded-3 shadow"},DW={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},OW=h("h4",{class:"mb-0"},"QR Code",-1),IW={class:"card-body"},RW={id:"qrcode",class:"rounded-3 shadow",ref:"qrcode"};function LW(e,t,n,s,i,o){return D(),F("div",EW,[h("div",PW,[h("div",MW,[h("div",TW,[h("div",DW,[OW,h("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=r=>this.$emit("close"))})]),h("div",IW,[h("canvas",RW,null,512)])])])])])}const NW=ze(CW,[["render",LW]]),FW={name:"nameInput",props:{bulk:Boolean,data:Object,saving:Boolean}},BW=h("label",{for:"peer_name_textbox",class:"form-label"},[h("small",{class:"text-muted"},"Name")],-1),VW=["disabled"];function HW(e,t,n,s,i,o){return D(),F("div",{class:Ee({inactiveField:this.bulk})},[BW,Re(h("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving||this.bulk,"onUpdate:modelValue":t[0]||(t[0]=r=>this.data.name=r),id:"peer_name_textbox",placeholder:""},null,8,VW),[[We,this.data.name]])],2)}const jW=ze(FW,[["render",HW]]),WW={name:"privatePublicKeyInput",props:{data:Object,saving:Boolean,bulk:Boolean},setup(){return{dashboardStore:et()}},data(){return{keypair:{publicKey:"",privateKey:"",presharedKey:""},editKey:!1,error:!1}},methods:{genKeyPair(){this.editKey=!1,this.keypair=window.wireguard.generateKeypair(),this.data.private_key=this.keypair.privateKey,this.data.public_key=this.keypair.publicKey},testKey(e){return/^[A-Za-z0-9+/]{43}=?=?$/.test(e)},checkMatching(){try{this.keypair.privateKey&&this.testKey(this.keypair.privateKey)&&(this.keypair.publicKey=window.wireguard.generatePublicKey(this.keypair.privateKey),window.wireguard.generatePublicKey(this.keypair.privateKey)!==this.keypair.publicKey?(this.error=!0,this.dashboardStore.newMessage("WGDashboard","Private Key and Public Key does not match.","danger")):(this.data.private_key=this.keypair.privateKey,this.data.public_key=this.keypair.publicKey))}catch{this.error=!0,this.data.private_key="",this.data.public_key=""}}},mounted(){this.genKeyPair()},watch:{keypair:{deep:!0,handler(){this.error=!1,this.checkMatching()}}}},zW=h("label",{for:"peer_private_key_textbox",class:"form-label"},[h("small",{class:"text-muted"},[ye("Private Key "),h("code",null,"(Required for QR Code and Download)")])],-1),YW={class:"input-group"},KW=["disabled"],UW=["disabled"],qW=h("i",{class:"bi bi-arrow-repeat"},null,-1),GW=[qW],JW={class:"d-flex"},XW=h("label",{for:"public_key",class:"form-label"},[h("small",{class:"text-muted"},[ye("Public Key "),h("code",null,"(Required)")])],-1),QW={class:"form-check form-switch ms-auto"},ZW=["disabled"],ez=h("label",{class:"form-check-label",for:"enablePublicKeyEdit"},[h("small",null,"Edit")],-1),tz=["disabled"];function nz(e,t,n,s,i,o){return D(),F("div",{class:Ee(["d-flex gap-2 flex-column",{inactiveField:this.bulk}])},[h("div",null,[zW,h("div",YW,[Re(h("input",{type:"text",class:Ee(["form-control form-control-sm rounded-start-3",{"is-invalid":this.error}]),"onUpdate:modelValue":t[0]||(t[0]=r=>this.keypair.privateKey=r),disabled:!this.editKey||this.bulk,onBlur:t[1]||(t[1]=r=>this.checkMatching()),id:"peer_private_key_textbox"},null,42,KW),[[We,this.keypair.privateKey]]),h("button",{class:"btn btn-outline-info btn-sm rounded-end-3",onClick:t[2]||(t[2]=r=>this.genKeyPair()),disabled:this.bulk,type:"button",id:"button-addon2"},GW,8,UW)])]),h("div",null,[h("div",JW,[XW,h("div",QW,[Re(h("input",{class:"form-check-input",type:"checkbox",role:"switch",disabled:this.bulk,id:"enablePublicKeyEdit","onUpdate:modelValue":t[3]||(t[3]=r=>this.editKey=r)},null,8,ZW),[[In,this.editKey]]),ez])]),Re(h("input",{class:Ee(["form-control-sm form-control rounded-3",{"is-invalid":this.error}]),"onUpdate:modelValue":t[4]||(t[4]=r=>this.keypair.publicKey=r),onBlur:t[5]||(t[5]=r=>this.checkMatching()),disabled:!this.editKey||this.bulk,type:"text",id:"public_key"},null,42,tz),[[We,this.keypair.publicKey]])])],2)}const sz=ze(WW,[["render",nz]]),iz={name:"allowedIPsInput",props:{data:Object,saving:Boolean,bulk:Boolean,availableIp:void 0},data(){return{allowedIp:[],availableIpSearchString:"",customAvailableIp:"",allowedIpFormatError:!1}},setup(){const e=Bn(),t=et();return{store:e,dashboardStore:t}},computed:{searchAvailableIps(){return this.availableIpSearchString?this.availableIp.filter(e=>e.includes(this.availableIpSearchString)&&!this.data.allowed_ips.includes(e)):this.availableIp.filter(e=>!this.data.allowed_ips.includes(e))}},methods:{addAllowedIp(e){return this.store.checkCIDR(e)?(this.data.allowed_ips.push(e),this.customAvailableIp="",!0):(this.allowedIpFormatError=!0,this.dashboardStore.newMessage("WGDashboard","Allowed IP is invalid","danger"),!1)}},watch:{customAvailableIp(){this.allowedIpFormatError=!1},availableIp(){this.availableIp!==void 0&&this.availableIp.length>0&&this.addAllowedIp(this.availableIp[0])}},mounted(){}},pl=e=>(Ut("data-v-f69c864a"),e=e(),qt(),e),oz=pl(()=>h("label",{for:"peer_allowed_ip_textbox",class:"form-label"},[h("small",{class:"text-muted"},[ye("Allowed IPs "),h("code",null,"(Required)")])],-1)),rz=["onClick"],az=pl(()=>h("i",{class:"bi bi-x-circle-fill ms-1"},null,-1)),lz=[az],cz={class:"d-flex gap-2 align-items-center"},uz={class:"input-group"},dz=["disabled"],hz=["disabled"],fz=pl(()=>h("i",{class:"bi bi-plus-lg"},null,-1)),pz=[fz],gz=pl(()=>h("small",{class:"text-muted"},"or",-1)),mz={class:"dropdown flex-grow-1"},_z=["disabled"],vz=pl(()=>h("i",{class:"bi bi-filter-circle me-2"},null,-1)),bz={key:0,class:"dropdown-menu mt-2 shadow w-100 dropdown-menu-end rounded-3",style:{"overflow-y":"scroll","max-height":"270px",width:"300px !important"}},yz={class:"px-3 pb-2 pt-1"},wz=["onClick"],xz={class:"me-auto"},kz={key:0},Sz={class:"px-3 text-muted"};function $z(e,t,n,s,i,o){return D(),F("div",{class:Ee({inactiveField:this.bulk})},[oz,h("div",{class:Ee(["d-flex gap-2 flex-wrap",{"mb-2":this.data.allowed_ips.length>0}])},[$e(Wi,{name:"list"},{default:Me(()=>[(D(!0),F(Te,null,Ue(this.data.allowed_ips,(r,a)=>(D(),F("span",{class:"badge rounded-pill text-bg-success",key:r},[ye(_e(r)+" ",1),h("a",{role:"button",onClick:l=>this.data.allowed_ips.splice(a,1)},lz,8,rz)]))),128))]),_:1})],2),h("div",cz,[h("div",uz,[Re(h("input",{type:"text",class:Ee(["form-control form-control-sm rounded-start-3",{"is-invalid":this.allowedIpFormatError}]),placeholder:"Enter IP Address/CIDR","onUpdate:modelValue":t[0]||(t[0]=r=>i.customAvailableIp=r),disabled:n.bulk},null,10,dz),[[We,i.customAvailableIp]]),h("button",{class:"btn btn-outline-success btn-sm rounded-end-3",disabled:n.bulk||!this.customAvailableIp,onClick:t[1]||(t[1]=r=>this.addAllowedIp(this.customAvailableIp)),type:"button",id:"button-addon2"},pz,8,hz)]),gz,h("div",mz,[h("button",{class:"btn btn-outline-secondary btn-sm dropdown-toggle rounded-3 w-100",disabled:!n.availableIp||n.bulk,"data-bs-auto-close":"outside",type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[vz,ye(" Pick Available IP ")],8,_z),this.availableIp?(D(),F("ul",bz,[h("li",null,[h("div",yz,[Re(h("input",{class:"form-control form-control-sm rounded-3","onUpdate:modelValue":t[2]||(t[2]=r=>this.availableIpSearchString=r),placeholder:"Search..."},null,512),[[We,this.availableIpSearchString]])])]),(D(!0),F(Te,null,Ue(this.searchAvailableIps,r=>(D(),F("li",null,[h("a",{class:"dropdown-item d-flex",role:"button",onClick:a=>this.addAllowedIp(r)},[h("span",xz,[h("small",null,_e(r),1)])],8,wz)]))),256)),this.searchAvailableIps.length===0?(D(),F("li",kz,[h("small",Sz,'No available IP containing "'+_e(this.availableIpSearchString)+'"',1)])):re("",!0)])):re("",!0)])])],2)}const Az=ze(iz,[["render",$z],["__scopeId","data-v-f69c864a"]]),Cz={name:"dnsInput",props:{data:Object,saving:Boolean},data(){return{error:!1,dns:JSON.parse(JSON.stringify(this.data.DNS))}},setup(){const e=Bn(),t=et();return{store:e,dashboardStore:t}},methods:{checkDNS(){if(this.dns){let e=this.dns.split(",").map(t=>t.replaceAll(" ",""));for(let t in e)if(!this.store.regexCheckIP(e[t])){this.error||this.dashboardStore.newMessage("WGDashboard","DNS is invalid","danger"),this.error=!0,this.data.DNS="";return}this.error=!1,this.data.DNS=this.dns}}},watch:{dns(){this.checkDNS()}}},Ez=h("label",{for:"peer_DNS_textbox",class:"form-label"},[h("small",{class:"text-muted"},"DNS")],-1),Pz=["disabled"];function Mz(e,t,n,s,i,o){return D(),F("div",null,[Ez,Re(h("input",{type:"text",class:Ee(["form-control form-control-sm rounded-3",{"is-invalid":this.error}]),disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=r=>this.dns=r),id:"peer_DNS_textbox"},null,10,Pz),[[We,this.dns]])])}const Tz=ze(Cz,[["render",Mz]]),Dz={name:"endpointAllowedIps",props:{data:Object,saving:Boolean},setup(){const e=Bn(),t=et();return{store:e,dashboardStore:t}},data(){return{endpointAllowedIps:JSON.parse(JSON.stringify(this.data.endpoint_allowed_ip)),error:!1}},methods:{checkAllowedIP(){let e=this.endpointAllowedIps.split(",").map(t=>t.replaceAll(" ",""));for(let t in e)if(!this.store.checkCIDR(e[t])){this.error||this.dashboardStore.newMessage("WGDashboard","Endpoint Allowed IP is invalid.","danger"),this.data.endpoint_allowed_ip="",this.error=!0;return}this.error=!1,this.data.endpoint_allowed_ip=this.endpointAllowedIps}},watch:{endpointAllowedIps(){this.checkAllowedIP()}}},Oz=h("label",{for:"peer_endpoint_allowed_ips",class:"form-label"},[h("small",{class:"text-muted"},[ye("Endpoint Allowed IPs "),h("code",null,"(Required)")])],-1),Iz=["disabled"];function Rz(e,t,n,s,i,o){return D(),F("div",null,[Oz,Re(h("input",{type:"text",class:Ee(["form-control form-control-sm rounded-3",{"is-invalid":i.error}]),disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=r=>this.endpointAllowedIps=r),onBlur:t[1]||(t[1]=r=>this.checkAllowedIP()),id:"peer_endpoint_allowed_ips"},null,42,Iz),[[We,this.endpointAllowedIps]])])}const Lz=ze(Dz,[["render",Rz]]),Nz={name:"presharedKeyInput",props:{data:Object,saving:Boolean}},Fz=h("label",{for:"peer_preshared_key_textbox",class:"form-label"},[h("small",{class:"text-muted"},"Pre-Shared Key")],-1),Bz=["disabled"];function Vz(e,t,n,s,i,o){return D(),F("div",null,[Fz,Re(h("input",{type:"text",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=r=>this.data.preshared_key=r),id:"peer_preshared_key_textbox"},null,8,Bz),[[We,this.data.preshared_key]])])}const Hz=ze(Nz,[["render",Vz]]),jz={name:"mtuInput",props:{data:Object,saving:Boolean}},Wz=h("label",{for:"peer_mtu",class:"form-label"},[h("small",{class:"text-muted"},"MTU")],-1),zz=["disabled"];function Yz(e,t,n,s,i,o){return D(),F("div",null,[Wz,Re(h("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=r=>this.data.mtu=r),id:"peer_mtu"},null,8,zz),[[We,this.data.mtu]])])}const Kz=ze(jz,[["render",Yz]]),Uz={name:"persistentKeepAliveInput",props:{data:Object,saving:Boolean}},qz=h("label",{for:"peer_keep_alive",class:"form-label"},[h("small",{class:"text-muted"},"Persistent Keepalive")],-1),Gz=["disabled"];function Jz(e,t,n,s,i,o){return D(),F("div",null,[qz,Re(h("input",{type:"number",class:"form-control form-control-sm rounded-3",disabled:this.saving,"onUpdate:modelValue":t[0]||(t[0]=r=>this.data.keepalive=r),id:"peer_keep_alive"},null,8,Gz),[[We,this.data.keepalive]])])}const Xz=ze(Uz,[["render",Jz]]),Qz={name:"bulkAdd",props:{saving:Boolean,data:Object,availableIp:void 0}},Zz={class:"form-check form-switch"},eY=["disabled"],tY=h("label",{class:"form-check-label me-2",for:"bulk_add"},[h("small",null,[h("strong",null,"Bulk Add")])],-1),nY=h("small",{class:"text-muted d-block"}," By adding peers by bulk, each peer's name will be auto generated, and Allowed IP will be assign to the next available IP. ",-1),sY=[nY],iY={key:0,class:"form-group"},oY=["max"],rY={class:"text-muted"};function aY(e,t,n,s,i,o){return D(),F("div",null,[h("div",Zz,[Re(h("input",{class:"form-check-input",type:"checkbox",role:"switch",disabled:!this.availableIp,id:"bulk_add","onUpdate:modelValue":t[0]||(t[0]=r=>this.data.bulkAdd=r)},null,8,eY),[[In,this.data.bulkAdd]]),tY]),h("p",{class:Ee({"mb-0":!this.data.bulkAdd})},sY,2),this.data.bulkAdd?(D(),F("div",iY,[Re(h("input",{class:"form-control form-control-sm rounded-3 mb-1",type:"number",min:"1",max:this.availableIp.length,"onUpdate:modelValue":t[1]||(t[1]=r=>this.data.bulkAddAmount=r),placeholder:"How many peers you want to add?"},null,8,oY),[[We,this.data.bulkAddAmount]]),h("small",rY,[ye(" You can add up to "),h("strong",null,_e(this.availableIp.length),1),ye(" peers ")])])):re("",!0)])}const lY=ze(Qz,[["render",aY]]),cY={name:"peerCreate",components:{BulkAdd:lY,PersistentKeepAliveInput:Xz,MtuInput:Kz,PresharedKeyInput:Hz,EndpointAllowedIps:Lz,DnsInput:Tz,AllowedIPsInput:Az,PrivatePublicKeyInput:sz,NameInput:jW},data(){return{data:{bulkAdd:!1,bulkAddAmount:"",name:"",allowed_ips:[],private_key:"",public_key:"",DNS:this.dashboardStore.Configuration.Peers.peer_global_dns,endpoint_allowed_ip:this.dashboardStore.Configuration.Peers.peer_endpoint_allowed_ip,keepalive:parseInt(this.dashboardStore.Configuration.Peers.peer_keep_alive),mtu:parseInt(this.dashboardStore.Configuration.Peers.peer_mtu),preshared_key:""},availableIp:void 0,availableIpSearchString:"",saving:!1,allowedIpDropdown:void 0}},mounted(){xt("/api/getAvailableIPs/"+this.$route.params.id,{},e=>{e.status&&(this.availableIp=e.data)})},setup(){const e=Bn(),t=et();return{store:e,dashboardStore:t}},methods:{peerCreate(){this.saving=!0,ft("/api/addPeers/"+this.$route.params.id,this.data,e=>{e.status?(this.$router.push(`/configuration/${this.$route.params.id}/peers`),this.dashboardStore.newMessage("Server","Peer create successfully","success")):this.dashboardStore.newMessage("Server",e.message,"danger"),this.saving=!1})}},computed:{allRequireFieldsFilled(){let e=!0;return this.data.bulkAdd?(this.data.bulkAddAmount.length===0||this.data.bulkAddAmount>this.availableIp.length)&&(e=!1):["allowed_ips","private_key","public_key","endpoint_allowed_ip","keepalive","mtu"].forEach(n=>{this.data[n].length===0&&(e=!1)}),e}},watch:{bulkAdd(e){e||(this.data.bulkAddAmount="")},"data.bulkAddAmount"(){this.data.bulkAddAmount>this.availableIp.length&&(this.data.bulkAddAmount=this.availableIp.length)}}},Eu=e=>(Ut("data-v-68bb9bc5"),e=e(),qt(),e),uY={class:"container"},dY={class:"mb-4"},hY=Eu(()=>h("h3",{class:"mb-0 text-body"},[h("i",{class:"bi bi-chevron-left"})],-1)),fY=Eu(()=>h("h3",{class:"text-body mb-0"},"Add Peers",-1)),pY={class:"d-flex flex-column gap-2"},gY=Eu(()=>h("hr",{class:"mb-0 mt-2"},null,-1)),mY=Eu(()=>h("hr",{class:"mb-0 mt-2"},null,-1)),_Y={class:"row"},vY={key:0,class:"col-sm"},bY={class:"col-sm"},yY={class:"col-sm"},wY={class:"d-flex mt-2"},xY=["disabled"],kY={key:0,class:"bi bi-plus-circle-fill me-2"};function SY(e,t,n,s,i,o){const r=je("RouterLink"),a=je("BulkAdd"),l=je("NameInput"),c=je("PrivatePublicKeyInput"),u=je("AllowedIPsInput"),d=je("EndpointAllowedIps"),f=je("DnsInput"),p=je("PresharedKeyInput"),m=je("MtuInput"),_=je("PersistentKeepAliveInput");return D(),F("div",uY,[h("div",dY,[$e(r,{to:"peers",is:"div",class:"d-flex align-items-center gap-4 text-decoration-none"},{default:Me(()=>[hY,fY]),_:1})]),h("div",pY,[$e(a,{saving:i.saving,data:this.data,availableIp:this.availableIp},null,8,["saving","data","availableIp"]),gY,this.data.bulkAdd?re("",!0):(D(),Ne(l,{key:0,saving:i.saving,data:this.data},null,8,["saving","data"])),this.data.bulkAdd?re("",!0):(D(),Ne(c,{key:1,saving:i.saving,data:i.data},null,8,["saving","data"])),this.data.bulkAdd?re("",!0):(D(),Ne(u,{key:2,availableIp:this.availableIp,saving:i.saving,data:i.data},null,8,["availableIp","saving","data"])),$e(d,{saving:i.saving,data:i.data},null,8,["saving","data"]),$e(f,{saving:i.saving,data:i.data},null,8,["saving","data"]),mY,h("div",_Y,[this.data.bulkAdd?re("",!0):(D(),F("div",vY,[$e(p,{saving:i.saving,data:i.data,bulk:this.data.bulkAdd},null,8,["saving","data","bulk"])])),h("div",bY,[$e(m,{saving:i.saving,data:i.data},null,8,["saving","data"])]),h("div",yY,[$e(_,{saving:i.saving,data:i.data},null,8,["saving","data"])])]),h("div",wY,[h("button",{class:"ms-auto btn btn-dark btn-brand rounded-3 px-3 py-2 shadow",disabled:!this.allRequireFieldsFilled||this.saving,onClick:t[0]||(t[0]=b=>this.peerCreate())},[this.saving?re("",!0):(D(),F("i",kY)),ye(" "+_e(this.saving?"Saving...":"Add"),1)],8,xY)])])])}const U1=ze(cY,[["render",SY],["__scopeId","data-v-68bb9bc5"]]),$Y={name:"scheduleDropdown",props:{options:Array,data:String,edit:!1},setup(e){e.data===void 0&&this.$emit("update",this.options[0].value)},computed:{currentSelection(){return this.options.find(e=>e.value===this.data)}}},AY={class:"dropdown scheduleDropdown"},CY={class:"dropdown-menu rounded-3 shadow",style:{"font-size":"0.875rem",width:"200px"}},EY=["onClick"],PY={key:0,class:"bi bi-check ms-auto"};function MY(e,t,n,s,i,o){return D(),F("div",AY,[h("button",{class:Ee(["btn btn-sm btn-outline-primary rounded-3",{"disabled border-transparent":!n.edit}]),type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[h("samp",null,_e(this.currentSelection.display),1)],2),h("ul",CY,[n.edit?(D(!0),F(Te,{key:0},Ue(this.options,r=>(D(),F("li",null,[h("a",{class:"dropdown-item d-flex align-items-center",role:"button",onClick:a=>e.$emit("update",r.value)},[h("samp",null,_e(r.display),1),r.value===this.currentSelection.value?(D(),F("i",PY)):re("",!0)],8,EY)]))),256)):re("",!0)])])}const q1=ze($Y,[["render",MY],["__scopeId","data-v-6a5aba2a"]]),TY={name:"schedulePeerJob",components:{VueDatePicker:ll,ScheduleDropdown:q1},props:{dropdowns:Array[Object],pjob:Object,viewOnly:!1},setup(e){const t=be({}),n=be(!1),s=be(!1);t.value=JSON.parse(JSON.stringify(e.pjob)),t.value.CreationDate||(n.value=!0,s.value=!0);const i=et();return{job:t,edit:n,newJob:s,store:i}},data(){return{inputType:void 0}},watch:{pjob:{deep:!0,immediate:!0,handler(e){this.edit||(this.job=JSON.parse(JSON.stringify(e)))}}},methods:{save(){this.job.Field&&this.job.Operator&&this.job.Action&&this.job.Value?ft("/api/savePeerScheduleJob/",{Job:this.job},e=>{e.status?(this.edit=!1,this.store.newMessage("Server","Job Saved!","success"),console.log(e.data),this.$emit("refresh",e.data[0]),this.newJob=!1):this.store.newMessage("Server",e.message,"danger")}):this.alert()},alert(){let e="animate__flash",t=this.$el.querySelectorAll(".scheduleDropdown"),n=this.$el.querySelectorAll("input");t.forEach(s=>s.classList.add("animate__animated",e)),n.forEach(s=>s.classList.add("animate__animated",e)),setTimeout(()=>{t.forEach(s=>s.classList.remove("animate__animated",e)),n.forEach(s=>s.classList.remove("animate__animated",e))},2e3)},reset(){this.job.CreationDate?(this.job=JSON.parse(JSON.stringify(this.pjob)),this.edit=!1):this.$emit("delete")},delete(){this.job.CreationDate&&ft("/api/deletePeerScheduleJob/",{Job:this.job},e=>{e.status?this.store.newMessage("Server","Job Deleted!","success"):(this.store.newMessage("Server",e.message,"danger"),this.$emit("delete"))}),this.$emit("delete")},parseTime(e){e&&(this.job.Value=Cn(e).format("YYYY-MM-DD HH:mm:ss"))}}},jr=e=>(Ut("data-v-811b149e"),e=e(),qt(),e),DY={class:"card-header bg-transparent text-muted border-0"},OY={key:0,class:"d-flex"},IY=jr(()=>h("strong",{class:"me-auto"},"Job ID",-1)),RY={key:1},LY=jr(()=>h("span",{class:"badge text-bg-warning"},"Unsaved Job",-1)),NY=[LY],FY={class:"card-body pt-1",style:{"font-family":"var(--bs-font-monospace)"}},BY={class:"d-flex gap-2 align-items-center mb-2"},VY=jr(()=>h("samp",null," if ",-1)),HY=jr(()=>h("samp",null," is ",-1)),jY=["disabled"],WY={class:"px-5 d-flex gap-2 align-items-center"},zY=jr(()=>h("samp",null,"then",-1)),YY={class:"d-flex gap-3"},KY=jr(()=>h("samp",null,"}",-1)),UY={key:0,class:"ms-auto d-flex gap-3"},qY={key:1,class:"ms-auto d-flex gap-3"};function GY(e,t,n,s,i,o){var l;const r=je("ScheduleDropdown"),a=je("VueDatePicker");return D(),F("div",{class:Ee(["card shadow-sm rounded-3 mb-2",{"border-warning-subtle":this.newJob}])},[h("div",DY,[this.newJob?(D(),F("small",RY,NY)):(D(),F("small",OY,[IY,h("samp",null,_e(this.job.JobID),1)]))]),h("div",FY,[h("div",BY,[VY,$e(r,{edit:s.edit,options:this.dropdowns.Field,data:this.job.Field,onUpdate:t[0]||(t[0]=c=>{this.job.Field=c})},null,8,["edit","options","data"]),HY,$e(r,{edit:s.edit,options:this.dropdowns.Operator,data:this.job.Operator,onUpdate:t[1]||(t[1]=c=>this.job.Operator=c)},null,8,["edit","options","data"]),this.job.Field==="date"?(D(),Ne(a,{key:0,is24:!0,"min-date":new Date,"model-value":this.job.Value,"onUpdate:modelValue":this.parseTime,"time-picker-inline":"",format:"yyyy-MM-dd HH:mm:ss","preview-format":"yyyy-MM-dd HH:mm:ss",clearable:!1,disabled:!s.edit,dark:this.store.Configuration.Server.dashboard_theme==="dark"},null,8,["min-date","model-value","onUpdate:modelValue","disabled","dark"])):Re((D(),F("input",{key:1,class:"form-control form-control-sm form-control-dark rounded-3 flex-grow-1",disabled:!s.edit,"onUpdate:modelValue":t[2]||(t[2]=c=>this.job.Value=c),style:{width:"auto"}},null,8,jY)),[[We,this.job.Value]]),h("samp",null,_e((l=this.dropdowns.Field.find(c=>c.value===this.job.Field))==null?void 0:l.unit)+" { ",1)]),h("div",WY,[zY,$e(r,{edit:s.edit,options:this.dropdowns.Action,data:this.job.Action,onUpdate:t[3]||(t[3]=c=>this.job.Action=c)},null,8,["edit","options","data"])]),h("div",YY,[KY,this.edit?(D(),F("div",qY,[h("a",{role:"button",class:"text-secondary text-decoration-none",onClick:t[6]||(t[6]=c=>this.reset())},"[C] Cancel"),h("a",{role:"button",class:"text-primary ms-auto text-decoration-none",onClick:t[7]||(t[7]=c=>this.save())},"[S] Save")])):(D(),F("div",UY,[h("a",{role:"button",class:"ms-auto text-decoration-none",onClick:t[4]||(t[4]=c=>this.edit=!0)},"[E] Edit"),h("a",{role:"button",onClick:t[5]||(t[5]=c=>this.delete()),class:"text-danger text-decoration-none"},"[D] Delete")]))])])],2)}const G1=ze(TY,[["render",GY],["__scopeId","data-v-811b149e"]]),JY={name:"peerJobs",setup(){return{store:Bn()}},props:{selectedPeer:Object},components:{SchedulePeerJob:G1,ScheduleDropdown:q1},data(){return{}},methods:{deleteJob(e){this.selectedPeer.jobs=this.selectedPeer.jobs.filter(t=>t.JobID!==e.JobID)},addJob(){this.selectedPeer.jobs.unshift(JSON.parse(JSON.stringify({JobID:Ts().toString(),Configuration:this.selectedPeer.configuration.Name,Peer:this.selectedPeer.id,Field:this.store.PeerScheduleJobs.dropdowns.Field[0].value,Operator:this.store.PeerScheduleJobs.dropdowns.Operator[0].value,Value:"",CreationDate:"",ExpireDate:"",Action:this.store.PeerScheduleJobs.dropdowns.Action[0].value})))}}},dp=e=>(Ut("data-v-31a1606a"),e=e(),qt(),e),XY={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},QY={class:"container d-flex h-100 w-100"},ZY={class:"m-auto modal-dialog-centered dashboardModal"},eK={class:"card rounded-3 shadow",style:{width:"700px"}},tK={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},nK=dp(()=>h("h4",{class:"mb-0 fw-normal"},[ye("Schedule Jobs "),h("strong")],-1)),sK={class:"card-body px-4 pb-4 pt-2 position-relative"},iK={class:"d-flex align-items-center mb-3"},oK=dp(()=>h("i",{class:"bi bi-plus-lg me-2"},null,-1)),rK={class:"card shadow-sm",key:"none",style:{height:"153px"}},aK=dp(()=>h("div",{class:"card-body text-muted text-center d-flex"},[h("h6",{class:"m-auto"},"This peer does not have any job yet.")],-1)),lK=[aK];function cK(e,t,n,s,i,o){const r=je("SchedulePeerJob");return D(),F("div",XY,[h("div",QY,[h("div",ZY,[h("div",eK,[h("div",tK,[nK,h("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=a=>this.$emit("close"))})]),h("div",sK,[h("div",iK,[h("button",{class:"btn bg-primary-subtle border-1 border-primary-subtle text-primary-emphasis rounded-3 shadow",onClick:t[1]||(t[1]=a=>this.addJob())},[oK,ye(" Job ")])]),$e(Wi,{name:"schedulePeerJobTransition",tag:"div",class:"position-relative"},{default:Me(()=>[(D(!0),F(Te,null,Ue(this.selectedPeer.jobs,(a,l)=>(D(),Ne(r,{onRefresh:t[2]||(t[2]=c=>this.$emit("refresh")),onDelete:c=>this.deleteJob(a),dropdowns:this.store.PeerScheduleJobs.dropdowns,key:a.JobID,pjob:a},null,8,["onDelete","dropdowns","pjob"]))),128)),this.selectedPeer.jobs.length===0?(D(),F("div",rK,lK)):re("",!0)]),_:1})])])])])])}const uK=ze(JY,[["render",cK],["__scopeId","data-v-31a1606a"]]),dK={name:"peerJobsAllModal",setup(){return{store:Bn()}},components:{SchedulePeerJob:G1},props:{configurationPeers:Array[Object]},methods:{getuuid(){return Ts()}},computed:{getAllJobs(){return this.configurationPeers.filter(e=>e.jobs.length>0)}}},hK={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},fK={class:"container d-flex h-100 w-100"},pK={class:"m-auto modal-dialog-centered dashboardModal"},gK={class:"card rounded-3 shadow",style:{width:"700px"}},mK={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-2"},_K=h("h4",{class:"mb-0 fw-normal"},"All Active Jobs ",-1),vK={class:"card-body px-4 pb-4 pt-2"},bK={key:0,class:"accordion",id:"peerJobsLogsModalAccordion"},yK={class:"accordion-header"},wK=["data-bs-target"],xK={key:0},kK={class:"text-muted"},SK=["id"],$K={class:"accordion-body"},AK={key:1,class:"card shadow-sm",style:{height:"153px"}},CK=h("div",{class:"card-body text-muted text-center d-flex"},[h("h6",{class:"m-auto"},"No active job at the moment.")],-1),EK=[CK];function PK(e,t,n,s,i,o){const r=je("SchedulePeerJob");return D(),F("div",hK,[h("div",fK,[h("div",pK,[h("div",gK,[h("div",mK,[_K,h("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=a=>this.$emit("close"))})]),h("div",vK,[this.getAllJobs.length>0?(D(),F("div",bK,[(D(!0),F(Te,null,Ue(this.getAllJobs,(a,l)=>(D(),F("div",{class:"accordion-item",key:a.id},[h("h2",yK,[h("button",{class:"accordion-button collapsed",type:"button","data-bs-toggle":"collapse","data-bs-target":"#collapse_"+l},[h("small",null,[h("strong",null,[a.name?(D(),F("span",xK,_e(a.name)+" • ",1)):re("",!0),h("samp",kK,_e(a.id),1)])])],8,wK)]),h("div",{id:"collapse_"+l,class:"accordion-collapse collapse","data-bs-parent":"#peerJobsLogsModalAccordion"},[h("div",$K,[(D(!0),F(Te,null,Ue(a.jobs,c=>(D(),Ne(r,{onDelete:t[1]||(t[1]=u=>this.$emit("refresh")),onRefresh:t[2]||(t[2]=u=>this.$emit("refresh")),dropdowns:this.store.PeerScheduleJobs.dropdowns,viewOnly:!0,key:c.JobID,pjob:c},null,8,["dropdowns","pjob"]))),128))])],8,SK)]))),128))])):(D(),F("div",AK,EK))])])])])])}const MK=ze(dK,[["render",PK]]),TK={name:"peerJobsLogsModal",props:{configurationInfo:Object},data(){return{dataLoading:!0,data:[],logFetchTime:void 0,showLogID:!1,showJobID:!0,showSuccessJob:!0,showFailedJob:!0,showLogAmount:10}},async mounted(){await this.fetchLog()},methods:{async fetchLog(){this.dataLoading=!0,await xt(`/api/getPeerScheduleJobLogs/${this.configurationInfo.Name}`,{},e=>{this.data=e.data,this.logFetchTime=Cn().format("YYYY-MM-DD HH:mm:ss"),this.dataLoading=!1})}},computed:{getLogs(){return this.data.filter(e=>this.showSuccessJob&&e.Status==="1"||this.showFailedJob&&e.Status==="0")},showLogs(){return this.getLogs.slice(0,this.showLogAmount)}}},DK={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},OK={class:"container-fluid d-flex h-100 w-100"},IK={class:"m-auto mt-0 modal-dialog-centered dashboardModal",style:{width:"100%"}},RK={class:"card rounded-3 shadow w-100"},LK={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4 pb-0"},NK=h("h4",{class:"mb-0"},"Jobs Logs",-1),FK={class:"card-body px-4 pb-4 pt-2"},BK={key:0},VK={class:"mb-2 d-flex gap-3"},HK=h("i",{class:"bi bi-arrow-clockwise me-2"},null,-1),jK={class:"d-flex gap-3 align-items-center"},WK=h("span",{class:"text-muted"},"Filter",-1),zK={class:"form-check"},YK=h("label",{class:"form-check-label",for:"jobLogsShowSuccessCheck"},[h("span",{class:"badge text-success-emphasis bg-success-subtle"},"Success")],-1),KK={class:"form-check"},UK=h("label",{class:"form-check-label",for:"jobLogsShowFailedCheck"},[h("span",{class:"badge text-danger-emphasis bg-danger-subtle"},"Failed")],-1),qK={class:"d-flex gap-3 align-items-center ms-auto"},GK=h("span",{class:"text-muted"},"Display",-1),JK={class:"form-check"},XK=h("label",{class:"form-check-label",for:"jobLogsShowJobIDCheck"}," Job ID ",-1),QK={class:"form-check"},ZK=h("label",{class:"form-check-label",for:"jobLogsShowLogIDCheck"}," Log ID ",-1),eU={class:"table"},tU=h("th",{scope:"col"},"Date",-1),nU={key:0,scope:"col"},sU={key:1,scope:"col"},iU=h("th",{scope:"col"},"Status",-1),oU=h("th",{scope:"col"},"Message",-1),rU={style:{"font-size":"0.875rem"}},aU={scope:"row"},lU={key:0},cU={class:"text-muted"},uU={key:1},dU={class:"text-muted"},hU={class:"d-flex gap-2"},fU=h("i",{class:"bi bi-chevron-down me-2"},null,-1),pU=h("i",{class:"bi bi-chevron-up me-2"},null,-1),gU={key:1,class:"d-flex align-items-center flex-column"},mU=h("div",{class:"spinner-border text-body",role:"status"},[h("span",{class:"visually-hidden"},"Loading...")],-1),_U=[mU];function vU(e,t,n,s,i,o){return D(),F("div",DK,[h("div",OK,[h("div",IK,[h("div",RK,[h("div",LK,[NK,h("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=r=>this.$emit("close"))})]),h("div",FK,[this.dataLoading?(D(),F("div",gU,_U)):(D(),F("div",BK,[h("p",null,"Updated at: "+_e(this.logFetchTime),1),h("div",VK,[h("button",{onClick:t[1]||(t[1]=r=>this.fetchLog()),class:"btn btn-sm rounded-3 shadow-sm text-info-emphasis bg-info-subtle border-1 border-info-subtle me-1"},[HK,ye(" Refresh ")]),h("div",jK,[WK,h("div",zK,[Re(h("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[2]||(t[2]=r=>this.showSuccessJob=r),id:"jobLogsShowSuccessCheck"},null,512),[[In,this.showSuccessJob]]),YK]),h("div",KK,[Re(h("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[3]||(t[3]=r=>this.showFailedJob=r),id:"jobLogsShowFailedCheck"},null,512),[[In,this.showFailedJob]]),UK])]),h("div",qK,[GK,h("div",JK,[Re(h("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[4]||(t[4]=r=>i.showJobID=r),id:"jobLogsShowJobIDCheck"},null,512),[[In,i.showJobID]]),XK]),h("div",QK,[Re(h("input",{class:"form-check-input",type:"checkbox","onUpdate:modelValue":t[5]||(t[5]=r=>i.showLogID=r),id:"jobLogsShowLogIDCheck"},null,512),[[In,i.showLogID]]),ZK])])]),h("table",eU,[h("thead",null,[h("tr",null,[tU,i.showLogID?(D(),F("th",nU,"Log ID")):re("",!0),i.showJobID?(D(),F("th",sU,"Job ID")):re("",!0),iU,oU])]),h("tbody",null,[(D(!0),F(Te,null,Ue(this.showLogs,r=>(D(),F("tr",rU,[h("th",aU,_e(r.LogDate),1),i.showLogID?(D(),F("td",lU,[h("samp",cU,_e(r.LogID),1)])):re("",!0),i.showJobID?(D(),F("td",uU,[h("samp",dU,_e(r.JobID),1)])):re("",!0),h("td",null,[h("span",{class:Ee(["badge",[r.Status==="1"?"text-success-emphasis bg-success-subtle":"text-danger-emphasis bg-danger-subtle"]])},_e(r.Status==="1"?"Success":"Failed"),3)]),h("td",null,_e(r.Message),1)]))),256))])]),h("div",hU,[this.getLogs.length>this.showLogAmount?(D(),F("button",{key:0,onClick:t[6]||(t[6]=r=>this.showLogAmount+=20),class:"btn btn-sm rounded-3 shadow-sm text-primary-emphasis bg-primary-subtle border-1 border-primary-subtle"},[fU,ye(" Show More ")])):re("",!0),this.showLogAmount>20?(D(),F("button",{key:1,onClick:t[7]||(t[7]=r=>this.showLogAmount=20),class:"btn btn-sm rounded-3 shadow-sm text-primary-emphasis bg-primary-subtle border-1 border-primary-subtle"},[pU,ye(" Collapse ")])):re("",!0)])]))])])])])])}const bU=ze(TK,[["render",vU]]),yU={name:"peerShareLinkModal",props:{peer:Object},components:{VueDatePicker:ll},data(){return{dataCopy:void 0,loading:!1}},setup(){return{store:et()}},mounted(){this.dataCopy=JSON.parse(JSON.stringify(this.peer.ShareLink)).at(0)},watch:{"peer.ShareLink":{deep:!0,handler(e,t){t.length!==e.length&&(this.dataCopy=JSON.parse(JSON.stringify(this.peer.ShareLink)).at(0))}}},methods:{startSharing(){this.loading=!0,ft("/api/sharePeer/create",{Configuration:this.peer.configuration.Name,Peer:this.peer.id,ExpireDate:Cn().add(7,"d").format("YYYY-MM-DD HH:mm:ss")},e=>{e.status?(this.peer.ShareLink=e.data,this.dataCopy=e.data.at(0),this.store.newMessage("Server","Share link created successfully","success")):this.store.newMessage("Server","Share link failed to create. Reason: "+e.message,"danger"),this.loading=!1})},updateLinkExpireDate(){ft("/api/sharePeer/update",this.dataCopy,e=>{e.status?(this.dataCopy=e.data.at(0),this.peer.ShareLink=e.data,this.store.newMessage("Server","Link expire date updated","success")):this.store.newMessage("Server","Link expire date failed to update. Reason: "+e.message,"danger"),this.loading=!1})},stopSharing(){this.loading=!0,this.dataCopy.ExpireDate=Cn().format("YYYY-MM-DD HH:mm:ss"),this.updateLinkExpireDate()},parseTime(e){e?this.dataCopy.ExpireDate=Cn(e).format("YYYY-MM-DD HH:mm:ss"):this.dataCopy.ExpireDate=void 0,this.updateLinkExpireDate()}},computed:{getUrl(){const e=this.store.getActiveCrossServer();return e?`${e.host}/${this.$router.resolve({path:"/share",query:{ShareID:this.dataCopy.ShareID}}).href}`:window.location.origin+window.location.pathname+this.$router.resolve({path:"/share",query:{ShareID:this.dataCopy.ShareID}}).href}}},wU={class:"peerSettingContainer w-100 h-100 position-absolute top-0 start-0 overflow-y-scroll"},xU={class:"container d-flex h-100 w-100"},kU={class:"m-auto modal-dialog-centered dashboardModal",style:{width:"500px"}},SU={class:"card rounded-3 shadow flex-grow-1"},$U={class:"card-header bg-transparent d-flex align-items-center gap-2 border-0 p-4"},AU=h("h4",{class:"mb-0"},"Share Peer",-1),CU={key:0,class:"card-body px-4 pb-4"},EU={key:0},PU=h("h6",{class:"mb-3 text-muted"}," Currently the peer is not sharing ",-1),MU=["disabled"],TU=h("i",{class:"bi bi-send-fill me-2"},null,-1),DU=[TU],OU={key:1},IU={class:"d-flex gap-2 mb-4"},RU=h("i",{class:"bi bi-link-45deg"},null,-1),LU=["href"],NU={class:"d-flex flex-column gap-2 mb-3"},FU=h("small",null,[h("i",{class:"bi bi-calendar me-2"}),ye(" Expire Date ")],-1),BU=["disabled"],VU=h("i",{class:"bi bi-send-slash-fill me-2"},null,-1),HU=[VU];function jU(e,t,n,s,i,o){const r=je("VueDatePicker");return D(),F("div",wU,[h("div",xU,[h("div",kU,[h("div",SU,[h("div",$U,[AU,h("button",{type:"button",class:"btn-close ms-auto",onClick:t[0]||(t[0]=a=>this.$emit("close"))})]),this.peer.ShareLink?(D(),F("div",CU,[this.dataCopy?(D(),F("div",OU,[h("div",IU,[RU,h("a",{href:this.getUrl,class:"text-decoration-none",target:"_blank"},_e(o.getUrl),9,LU)]),h("div",NU,[FU,$e(r,{is24:!0,"min-date":new Date,"model-value":this.dataCopy.ExpireDate,"onUpdate:modelValue":this.parseTime,"time-picker-inline":"",format:"yyyy-MM-dd HH:mm:ss","preview-format":"yyyy-MM-dd HH:mm:ss",dark:this.store.Configuration.Server.dashboard_theme==="dark"},null,8,["min-date","model-value","onUpdate:modelValue","dark"])]),h("button",{onClick:t[2]||(t[2]=a=>this.stopSharing()),disabled:this.loading,class:"w-100 btn bg-danger-subtle text-danger-emphasis border-1 border-danger-subtle rounded-3 shadow-sm"},[h("span",{class:Ee({"animate__animated animate__flash animate__infinite animate__slower":this.loading})},HU,2),ye(" "+_e(this.loading?"Stop Sharing...":"Stop Sharing"),1)],8,BU)])):(D(),F("div",EU,[PU,h("button",{onClick:t[1]||(t[1]=a=>this.startSharing()),disabled:this.loading,class:"w-100 btn bg-success-subtle text-success-emphasis border-1 border-success-subtle rounded-3 shadow-sm"},[h("span",{class:Ee({"animate__animated animate__flash animate__infinite animate__slower":this.loading})},DU,2),ye(" "+_e(this.loading?"Sharing...":"Start Sharing"),1)],8,MU)]))])):re("",!0)])])])])}const WU=ze(yU,[["render",jU]]);xu.register(da,Ai,wc,yc,Ma,pc,or,Ta,hh,gc,mc,_c,vh,bh,yh,fa,Za,xh,z6,uH,mH,vH,AH);const zU={name:"peerList",components:{PeerShareLinkModal:WU,PeerJobsLogsModal:bU,PeerJobsAllModal:MK,PeerJobs:uK,PeerCreate:U1,PeerQRCode:NW,PeerSettings:Nj,PeerSearch:oF,Peer:tB,Line:s8,Bar:n8},setup(){const e=et(),t=Bn(),n=be(void 0);return{dashboardConfigurationStore:e,wireguardConfigurationStore:t,interval:n}},data(){return{configurationToggling:!1,loading:!1,error:null,configurationInfo:[],configurationPeers:[],historyDataSentDifference:[],historyDataReceivedDifference:[],historySentData:{labels:[],datasets:[{label:"Data Sent",data:[],fill:!1,borderColor:"#198754",tension:0}]},historyReceiveData:{labels:[],datasets:[{label:"Data Received",data:[],fill:!1,borderColor:"#0d6efd",tension:0}]},peerSetting:{modalOpen:!1,selectedPeer:void 0},peerScheduleJobs:{modalOpen:!1,selectedPeer:void 0},peerQRCode:{modalOpen:!1,peerConfigData:void 0},peerCreate:{modalOpen:!1},peerScheduleJobsAll:{modalOpen:!1},peerScheduleJobsLogs:{modalOpen:!1},peerShare:{modalOpen:!1,selectedPeer:void 0}}},mounted(){},watch:{$route:{immediate:!0,handler(){clearInterval(this.dashboardConfigurationStore.Peers.RefreshInterval),this.loading=!0;let e=this.$route.params.id;this.configurationInfo=[],this.configurationPeers=[],e&&(this.getPeers(e),this.setPeerInterval())}},"dashboardConfigurationStore.Configuration.Server.dashboard_refresh_interval"(){clearInterval(this.dashboardConfigurationStore.Peers.RefreshInterval),this.setPeerInterval()}},beforeRouteLeave(){clearInterval(this.dashboardConfigurationStore.Peers.RefreshInterval)},methods:{toggle(){this.configurationToggling=!0,xt("/api/toggleWireguardConfiguration/",{configurationName:this.configurationInfo.Name},e=>{e.status?this.dashboardConfigurationStore.newMessage("Server",`${this.configurationInfo.Name} is + ${e.data?"is on":"is off"}`,"Success"):this.dashboardConfigurationStore.newMessage("Server",e.message,"danger"),this.configurationInfo.Status=e.data,this.configurationToggling=!1})},getPeers(e=this.$route.params.id){xt("/api/getWireguardConfigurationInfo",{configurationName:e},t=>{if(this.configurationInfo=t.data.configurationInfo,this.configurationPeers=t.data.configurationPeers,this.configurationPeers.forEach(n=>{n.restricted=!1}),t.data.configurationRestrictedPeers.forEach(n=>{n.restricted=!0,this.configurationPeers.push(n)}),this.loading=!1,this.configurationPeers.length>0){const n=this.configurationPeers.map(i=>i.total_sent+i.cumu_sent).reduce((i,o)=>i+o).toFixed(4),s=this.configurationPeers.map(i=>i.total_receive+i.cumu_receive).reduce((i,o)=>i+o).toFixed(4);this.historyDataSentDifference[this.historyDataSentDifference.length-1]!==n&&(this.historyDataSentDifference.length>0&&(this.historySentData={labels:[...this.historySentData.labels,Cn().format("HH:mm:ss A")],datasets:[{label:"Data Sent",data:[...this.historySentData.datasets[0].data,((n-this.historyDataSentDifference[this.historyDataSentDifference.length-1])*1e3).toFixed(4)],fill:!1,borderColor:"#198754",tension:0}]}),this.historyDataSentDifference.push(n)),this.historyDataReceivedDifference[this.historyDataReceivedDifference.length-1]!==s&&(this.historyDataReceivedDifference.length>0&&(this.historyReceiveData={labels:[...this.historyReceiveData.labels,Cn().format("HH:mm:ss A")],datasets:[{label:"Data Received",data:[...this.historyReceiveData.datasets[0].data,((s-this.historyDataReceivedDifference[this.historyDataReceivedDifference.length-1])*1e3).toFixed(4)],fill:!1,borderColor:"#0d6efd",tension:0}]}),this.historyDataReceivedDifference.push(s))}})},setPeerInterval(){this.dashboardConfigurationStore.Peers.RefreshInterval=setInterval(()=>{this.getPeers()},parseInt(this.dashboardConfigurationStore.Configuration.Server.dashboard_refresh_interval))}},computed:{configurationSummary(){return{connectedPeers:this.configurationPeers.filter(t=>t.status==="running").length,totalUsage:this.configurationPeers.length>0?this.configurationPeers.filter(t=>!t.restricted).map(t=>t.total_data+t.cumu_data).reduce((t,n)=>t+n,0).toFixed(4):0,totalReceive:this.configurationPeers.length>0?this.configurationPeers.filter(t=>!t.restricted).map(t=>t.total_receive+t.cumu_receive).reduce((t,n)=>t+n,0).toFixed(4):0,totalSent:this.configurationPeers.length>0?this.configurationPeers.filter(t=>!t.restricted).map(t=>t.total_sent+t.cumu_sent).reduce((t,n)=>t+n,0).toFixed(4):0}},receiveData(){return this.historyReceiveData},sentData(){return this.historySentData},individualDataUsage(){return{labels:this.configurationPeers.map(e=>e.name?e.name:`Untitled Peer - ${e.id}`),datasets:[{label:"Total Data Usage",data:this.configurationPeers.map(e=>e.cumu_data+e.total_data),backgroundColor:this.configurationPeers.map(e=>"#0dcaf0"),tooltip:{callbacks:{label:e=>`${e.formattedValue} GB`}}}]}},individualDataUsageChartOption(){return{responsive:!0,plugins:{legend:{display:!1}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(e,t)=>`${e} GB`},grid:{display:!1}}}}},chartOptions(){return{responsive:!0,plugins:{legend:{display:!1},tooltip:{callbacks:{label:e=>`${e.formattedValue} MB/s`}}},scales:{x:{ticks:{display:!1},grid:{display:!1}},y:{ticks:{callback:(e,t)=>`${e} MB/s`},grid:{display:!1}}}}},searchPeers(){const e=new Hr(this.configurationPeers,{keys:["name","id","allowed_ip"]}),t=this.wireguardConfigurationStore.searchString?e.search(this.wireguardConfigurationStore.searchString).map(n=>n.item):this.configurationPeers;return this.dashboardConfigurationStore.Configuration.Server.dashboard_sort==="restricted"?t.slice().sort((n,s)=>n[this.dashboardConfigurationStore.Configuration.Server.dashboard_sort]s[this.dashboardConfigurationStore.Configuration.Server.dashboard_sort]?-1:0):t.slice().sort((n,s)=>n[this.dashboardConfigurationStore.Configuration.Server.dashboard_sort]s[this.dashboardConfigurationStore.Configuration.Server.dashboard_sort]?1:0)}}},pn=e=>(Ut("data-v-6d78ad0a"),e=e(),qt(),e),YU={key:0,class:"container-md"},KU={class:"d-flex align-items-center"},UU=pn(()=>h("small",{CLASS:"text-muted"},"CONFIGURATION",-1)),qU={class:"d-flex align-items-center gap-3"},GU={class:"mb-0"},JU={class:"card rounded-3 bg-transparent shadow-sm ms-auto"},XU={class:"card-body py-2 d-flex align-items-center"},QU=pn(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Status")],-1)),ZU={class:"form-check form-switch ms-auto"},e7=["for"],t7={key:0,class:"spinner-border spinner-border-sm","aria-hidden":"true"},n7=["disabled","id"],s7={class:"row mt-3 gy-2 gx-2 mb-2"},i7={class:"col-6 col-lg-3"},o7={class:"card rounded-3 bg-transparent shadow-sm"},r7={class:"card-body py-2"},a7=pn(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Address")],-1)),l7={class:"col-6 col-lg-3"},c7={class:"card rounded-3 bg-transparent shadow-sm"},u7={class:"card-body py-2"},d7=pn(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Listen Port")],-1)),h7={style:{"word-break":"break-all"},class:"col-12 col-lg-6"},f7={class:"card rounded-3 bg-transparent shadow-sm"},p7={class:"card-body py-2"},g7=pn(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Public Key")],-1)),m7={class:"row gx-2 gy-2 mb-2"},_7={class:"col-6 col-lg-3"},v7={class:"card rounded-3 bg-transparent shadow-sm"},b7={class:"card-body d-flex"},y7=pn(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Connected Peers")],-1)),w7={class:"h4"},x7=pn(()=>h("i",{class:"bi bi-ethernet ms-auto h2 text-muted"},null,-1)),k7={class:"col-6 col-lg-3"},S7={class:"card rounded-3 bg-transparent shadow-sm"},$7={class:"card-body d-flex"},A7=pn(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Total Usage")],-1)),C7={class:"h4"},E7=pn(()=>h("i",{class:"bi bi-arrow-down-up ms-auto h2 text-muted"},null,-1)),P7={class:"col-6 col-lg-3"},M7={class:"card rounded-3 bg-transparent shadow-sm"},T7={class:"card-body d-flex"},D7=pn(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Total Received")],-1)),O7={class:"h4 text-primary"},I7=pn(()=>h("i",{class:"bi bi-arrow-down ms-auto h2 text-muted"},null,-1)),R7={class:"col-6 col-lg-3"},L7={class:"card rounded-3 bg-transparent shadow-sm"},N7={class:"card-body d-flex"},F7=pn(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Total Sent")],-1)),B7={class:"h4 text-success"},V7=pn(()=>h("i",{class:"bi bi-arrow-up ms-auto h2 text-muted"},null,-1)),H7={class:"row gx-2 gy-2 mb-3"},j7={class:"col-12 col-lg-6"},W7={class:"card rounded-3 bg-transparent shadow-sm",style:{height:"270px"}},z7=pn(()=>h("div",{class:"card-header bg-transparent border-0"},[h("small",{class:"text-muted"},"Peers Total Data Usage")],-1)),Y7={class:"card-body pt-1"},K7={class:"col-sm col-lg-3"},U7={class:"card rounded-3 bg-transparent shadow-sm",style:{height:"270px"}},q7=pn(()=>h("div",{class:"card-header bg-transparent border-0"},[h("small",{class:"text-muted"},"Real Time Received Data Usage")],-1)),G7={class:"card-body pt-1"},J7={class:"col-sm col-lg-3"},X7={class:"card rounded-3 bg-transparent shadow-sm",style:{height:"270px"}},Q7=pn(()=>h("div",{class:"card-header bg-transparent border-0"},[h("small",{class:"text-muted"},"Real Time Sent Data Usage")],-1)),Z7={class:"card-body pt-1"},e9={class:"mb-3"};function t9(e,t,n,s,i,o){const r=je("Bar"),a=je("Line"),l=je("PeerSearch"),c=je("Peer"),u=je("PeerSettings"),d=je("PeerQRCode"),f=je("PeerJobs"),p=je("PeerJobsAllModal"),m=je("PeerJobsLogsModal"),_=je("PeerShareLinkModal");return this.loading?re("",!0):(D(),F("div",YU,[h("div",KU,[h("div",null,[UU,h("div",qU,[h("h1",GU,[h("samp",null,_e(this.configurationInfo.Name),1)])])]),h("div",JU,[h("div",XU,[h("div",null,[QU,h("div",ZU,[h("label",{class:"form-check-label",style:{cursor:"pointer"},for:"switch"+this.configurationInfo.id},[ye(_e(this.configurationToggling?"Turning ":"")+" "+_e(this.configurationInfo.Status?"On":"Off")+" ",1),this.configurationToggling?(D(),F("span",t7)):re("",!0)],8,e7),Re(h("input",{class:"form-check-input",style:{cursor:"pointer"},disabled:this.configurationToggling,type:"checkbox",role:"switch",id:"switch"+this.configurationInfo.id,onChange:t[0]||(t[0]=b=>this.toggle()),"onUpdate:modelValue":t[1]||(t[1]=b=>this.configurationInfo.Status=b)},null,40,n7),[[In,this.configurationInfo.Status]])])]),h("div",{class:Ee(["dot ms-5",{active:this.configurationInfo.Status}])},null,2)])])]),h("div",s7,[h("div",i7,[h("div",o7,[h("div",r7,[a7,ye(" "+_e(this.configurationInfo.Address),1)])])]),h("div",l7,[h("div",c7,[h("div",u7,[d7,ye(" "+_e(this.configurationInfo.ListenPort),1)])])]),h("div",h7,[h("div",f7,[h("div",p7,[g7,h("samp",null,_e(this.configurationInfo.PublicKey),1)])])])]),h("div",m7,[h("div",_7,[h("div",v7,[h("div",b7,[h("div",null,[y7,h("strong",w7,_e(o.configurationSummary.connectedPeers),1)]),x7])])]),h("div",k7,[h("div",S7,[h("div",$7,[h("div",null,[A7,h("strong",C7,_e(o.configurationSummary.totalUsage)+" GB",1)]),E7])])]),h("div",P7,[h("div",M7,[h("div",T7,[h("div",null,[D7,h("strong",O7,_e(o.configurationSummary.totalReceive)+" GB",1)]),I7])])]),h("div",R7,[h("div",L7,[h("div",N7,[h("div",null,[F7,h("strong",B7,_e(o.configurationSummary.totalSent)+" GB",1)]),V7])])])]),h("div",H7,[h("div",j7,[h("div",W7,[z7,h("div",Y7,[$e(r,{data:o.individualDataUsage,options:o.individualDataUsageChartOption,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["data","options"])])])]),h("div",K7,[h("div",U7,[q7,h("div",G7,[$e(a,{options:o.chartOptions,data:o.receiveData,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"])])])]),h("div",J7,[h("div",X7,[Q7,h("div",Z7,[$e(a,{options:o.chartOptions,data:o.sentData,style:{width:"100%",height:"200px","max-height":"200px"}},null,8,["options","data"])])])])]),h("div",e9,[$e(l,{onJobsAll:t[2]||(t[2]=b=>this.peerScheduleJobsAll.modalOpen=!0),onJobLogs:t[3]||(t[3]=b=>this.peerScheduleJobsLogs.modalOpen=!0),configuration:this.configurationInfo},null,8,["configuration"]),$e(Wi,{name:"list",tag:"div",class:"row gx-2 gy-2 z-0"},{default:Me(()=>[(D(!0),F(Te,null,Ue(this.searchPeers,b=>(D(),F("div",{class:"col-12 col-lg-6 col-xl-4",key:b.id},[$e(c,{Peer:b,onShare:w=>{this.peerShare.selectedPeer=b.id,this.peerShare.modalOpen=!0},onRefresh:t[4]||(t[4]=w=>this.getPeers()),onJobs:w=>{i.peerScheduleJobs.modalOpen=!0,i.peerScheduleJobs.selectedPeer=this.configurationPeers.find($=>$.id===b.id)},onSetting:w=>{i.peerSetting.modalOpen=!0,i.peerSetting.selectedPeer=this.configurationPeers.find($=>$.id===b.id)},onQrcode:t[5]||(t[5]=w=>{this.peerQRCode.peerConfigData=w,this.peerQRCode.modalOpen=!0})},null,8,["Peer","onShare","onJobs","onSetting"])]))),128))]),_:1})]),$e(Ct,{name:"zoom"},{default:Me(()=>[this.peerSetting.modalOpen?(D(),Ne(u,{key:"settings",selectedPeer:this.peerSetting.selectedPeer,onRefresh:t[6]||(t[6]=b=>this.getPeers()),onClose:t[7]||(t[7]=b=>this.peerSetting.modalOpen=!1)},null,8,["selectedPeer"])):re("",!0)]),_:1}),$e(Ct,{name:"zoom"},{default:Me(()=>[i.peerQRCode.modalOpen?(D(),Ne(d,{peerConfigData:this.peerQRCode.peerConfigData,key:"qrcode",onClose:t[8]||(t[8]=b=>this.peerQRCode.modalOpen=!1)},null,8,["peerConfigData"])):re("",!0)]),_:1}),$e(Ct,{name:"zoom"},{default:Me(()=>[this.peerScheduleJobs.modalOpen?(D(),Ne(f,{key:0,onRefresh:t[9]||(t[9]=b=>this.getPeers()),selectedPeer:this.peerScheduleJobs.selectedPeer,onClose:t[10]||(t[10]=b=>this.peerScheduleJobs.modalOpen=!1)},null,8,["selectedPeer"])):re("",!0)]),_:1}),$e(Ct,{name:"zoom"},{default:Me(()=>[this.peerScheduleJobsAll.modalOpen?(D(),Ne(p,{key:0,onRefresh:t[11]||(t[11]=b=>this.getPeers()),onClose:t[12]||(t[12]=b=>this.peerScheduleJobsAll.modalOpen=!1),configurationPeers:this.configurationPeers},null,8,["configurationPeers"])):re("",!0)]),_:1}),$e(Ct,{name:"zoom"},{default:Me(()=>[this.peerScheduleJobsLogs.modalOpen?(D(),Ne(m,{key:0,onClose:t[13]||(t[13]=b=>this.peerScheduleJobsLogs.modalOpen=!1),configurationInfo:this.configurationInfo},null,8,["configurationInfo"])):re("",!0)]),_:1}),$e(Ct,{name:"zoom"},{default:Me(()=>[this.peerShare.modalOpen?(D(),Ne(_,{key:0,onClose:t[14]||(t[14]=b=>{this.peerShare.modalOpen=!1,this.peerShare.selectedPeer=void 0}),peer:this.configurationPeers.find(b=>b.id===this.peerShare.selectedPeer)},null,8,["peer"])):re("",!0)]),_:1})]))}const n9=ze(zU,[["render",t9],["__scopeId","data-v-6d78ad0a"]]),s9={name:"ping",data(){return{loading:!1,cips:{},selectedConfiguration:void 0,selectedPeer:void 0,selectedIp:void 0,count:4,pingResult:void 0,pinging:!1}},setup(){return{store:et()}},mounted(){xt("/api/ping/getAllPeersIpAddress",{},e=>{e.status&&(this.loading=!0,this.cips=e.data,console.log(this.cips))})},methods:{execute(){this.selectedIp&&(this.pinging=!0,this.pingResult=void 0,xt("/api/ping/execute",{ipAddress:this.selectedIp,count:this.count},e=>{e.status?this.pingResult=e.data:this.store.newMessage("Server",e.message,"danger")}))}},watch:{selectedConfiguration(){this.selectedPeer=void 0,this.selectedIp=void 0},selectedPeer(){this.selectedIp=void 0}}},Hn=e=>(Ut("data-v-7b32cdf7"),e=e(),qt(),e),i9={class:"mt-md-5 mt-3 text-body"},o9={class:"container"},r9=Hn(()=>h("h3",{class:"mb-3 text-body"},"Ping",-1)),a9={class:"row"},l9={class:"col-sm-4 d-flex gap-2 flex-column"},c9=Hn(()=>h("label",{class:"mb-1 text-muted",for:"configuration"},[h("small",null,"Configuration")],-1)),u9=Hn(()=>h("option",{disabled:"",selected:"",value:void 0},"Select a Configuration...",-1)),d9=["value"],h9=Hn(()=>h("label",{class:"mb-1 text-muted",for:"peer"},[h("small",null,"Peer")],-1)),f9=["disabled"],p9=Hn(()=>h("option",{disabled:"",selected:"",value:void 0},"Select a Peer...",-1)),g9=["value"],m9=Hn(()=>h("label",{class:"mb-1 text-muted",for:"ip"},[h("small",null,"IP Address")],-1)),_9=["disabled"],v9=Hn(()=>h("option",{disabled:"",selected:"",value:void 0},"Select a IP...",-1)),b9=Hn(()=>h("label",{class:"mb-1 text-muted",for:"count"},[h("small",null,"Ping Count")],-1)),y9=["disabled"],w9=Hn(()=>h("i",{class:"bi bi-person-walking me-2"},null,-1)),x9={class:"col-sm-8"},k9={key:"pingPlaceholder"},S9={key:"pingResult",class:"d-flex flex-column gap-2 w-100"},$9={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.15s"}},A9={class:"card-body"},C9=Hn(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Address")],-1)),E9={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.3s"}},P9={class:"card-body"},M9=Hn(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Is Alive")],-1)),T9={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.45s"}},D9={class:"card-body"},O9=Hn(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Average / Min / Max Round Trip Time")],-1)),I9={class:"card rounded-3 bg-transparent shadow-sm animate__animated animate__fadeIn",style:{"animation-delay":"0.6s"}},R9={class:"card-body"},L9=Hn(()=>h("p",{class:"mb-0 text-muted"},[h("small",null,"Sent / Received / Lost Package")],-1));function N9(e,t,n,s,i,o){return D(),F("div",i9,[h("div",o9,[r9,h("div",a9,[h("div",l9,[h("div",null,[c9,Re(h("select",{class:"form-select","onUpdate:modelValue":t[0]||(t[0]=r=>this.selectedConfiguration=r)},[u9,(D(!0),F(Te,null,Ue(this.cips,(r,a)=>(D(),F("option",{value:a},_e(a),9,d9))),256))],512),[[hc,this.selectedConfiguration]])]),h("div",null,[h9,Re(h("select",{id:"peer",class:"form-select","onUpdate:modelValue":t[1]||(t[1]=r=>this.selectedPeer=r),disabled:this.selectedConfiguration===void 0},[p9,this.selectedConfiguration!==void 0?(D(!0),F(Te,{key:0},Ue(this.cips[this.selectedConfiguration],(r,a)=>(D(),F("option",{value:a},_e(a),9,g9))),256)):re("",!0)],8,f9),[[hc,this.selectedPeer]])]),h("div",null,[m9,Re(h("select",{id:"ip",class:"form-select","onUpdate:modelValue":t[2]||(t[2]=r=>this.selectedIp=r),disabled:this.selectedPeer===void 0},[v9,this.selectedPeer!==void 0?(D(!0),F(Te,{key:0},Ue(this.cips[this.selectedConfiguration][this.selectedPeer].allowed_ips,r=>(D(),F("option",null,_e(r),1))),256)):re("",!0)],8,_9),[[hc,this.selectedIp]])]),h("div",null,[b9,Re(h("input",{class:"form-control",type:"number","onUpdate:modelValue":t[3]||(t[3]=r=>this.count=r),min:"1",id:"count",placeholder:"How many times you want to ping?"},null,512),[[We,this.count]])]),h("button",{class:"btn btn-primary rounded-3 mt-3",disabled:!this.selectedIp,onClick:t[4]||(t[4]=r=>this.execute())},[w9,ye("Go! ")],8,y9)]),h("div",x9,[$e(Wi,{name:"ping"},{default:Me(()=>[this.pingResult?(D(),F("div",S9,[h("div",$9,[h("div",A9,[C9,ye(" "+_e(this.pingResult.address),1)])]),h("div",E9,[h("div",P9,[M9,h("span",{class:Ee([this.pingResult.is_alive?"text-success":"text-danger"])},[h("i",{class:Ee(["bi me-1",[this.pingResult.is_alive?"bi-check-circle-fill":"bi-x-circle-fill"]])},null,2),ye(" "+_e(this.pingResult.is_alive?"Yes":"No"),1)],2)])]),h("div",T9,[h("div",D9,[O9,h("samp",null,_e(this.pingResult.avg_rtt)+"ms / "+_e(this.pingResult.min_rtt)+"ms / "+_e(this.pingResult.max_rtt)+"ms ",1)])]),h("div",I9,[h("div",R9,[L9,h("samp",null,_e(this.pingResult.package_sent)+" / "+_e(this.pingResult.package_received)+" / "+_e(this.pingResult.package_loss),1)])])])):(D(),F("div",k9,[(D(),F(Te,null,Ue(4,r=>h("div",{class:Ee(["pingPlaceholder bg-body-secondary rounded-3 mb-3",{"animate__animated animate__flash animate__slower animate__infinite":this.pinging}]),style:Wt({"animation-delay":`${r*.15}s`})},null,6)),64))]))]),_:1})])])])])}const F9=ze(s9,[["render",N9],["__scopeId","data-v-7b32cdf7"]]),B9={name:"traceroute",data(){return{tracing:!1,ipAddress:void 0,tracerouteResult:void 0}},setup(){return{store:Bn()}},methods:{execute(){this.ipAddress&&(this.tracing=!0,this.tracerouteResult=void 0,xt("/api/traceroute/execute",{ipAddress:this.ipAddress},e=>{e.status?this.tracerouteResult=e.data:this.store.newMessage("Server",e.message,"danger"),this.tracing=!1}))}}},Pu=e=>(Ut("data-v-606c2c93"),e=e(),qt(),e),V9={class:"mt-md-5 mt-3 text-body"},H9={class:"container-md"},j9=Pu(()=>h("h3",{class:"mb-3 text-body"},"Traceroute",-1)),W9={class:"row"},z9={class:"col-sm-4 d-flex gap-2 flex-column"},Y9=Pu(()=>h("label",{class:"mb-1 text-muted",for:"ipAddress"},[h("small",null,"IP Address")],-1)),K9=["disabled"],U9=Pu(()=>h("i",{class:"bi bi-bullseye me-2"},null,-1)),q9={class:"col-sm-8 position-relative"},G9={key:"pingPlaceholder"},J9={key:"table",class:"w-100"},X9={class:"table table-borderless rounded-3 w-100"},Q9=Pu(()=>h("thead",null,[h("tr",null,[h("th",{scope:"col"},"Hop"),h("th",{scope:"col"},"IP Address"),h("th",{scope:"col"},"Average / Min / Max Round Trip Time")])],-1));function Z9(e,t,n,s,i,o){return D(),F("div",V9,[h("div",H9,[j9,h("div",W9,[h("div",z9,[h("div",null,[Y9,Re(h("input",{id:"ipAddress",class:"form-control","onUpdate:modelValue":t[0]||(t[0]=r=>this.ipAddress=r),type:"text",placeholder:"Enter an IP Address you want to trace :)"},null,512),[[We,this.ipAddress]])]),h("button",{class:"btn btn-primary rounded-3 mt-3",disabled:!this.store.regexCheckIP(this.ipAddress)||this.tracing,onClick:t[1]||(t[1]=r=>this.execute())},[U9,ye(" "+_e(this.tracing?"Tracing...":"Trace It!"),1)],8,K9)]),h("div",q9,[$e(Wi,{name:"ping"},{default:Me(()=>[this.tracerouteResult?(D(),F("div",J9,[h("table",X9,[Q9,h("tbody",null,[(D(!0),F(Te,null,Ue(this.tracerouteResult,(r,a)=>(D(),F("tr",{class:"animate__fadeInUp animate__animated",style:Wt({"animation-delay":`${a*.05}s`})},[h("td",null,_e(r.hop),1),h("td",null,_e(r.ip),1),h("td",null,_e(r.avg_rtt)+" / "+_e(r.min_rtt)+" / "+_e(r.max_rtt),1)],4))),256))])])])):(D(),F("div",G9,[(D(),F(Te,null,Ue(10,r=>h("div",{class:Ee(["pingPlaceholder bg-body-secondary rounded-3 mb-3",{"animate__animated animate__flash animate__slower animate__infinite":this.tracing}]),style:Wt({"animation-delay":`${r*.05}s`})},null,6)),64))]))]),_:1})])])])])}const eq=ze(B9,[["render",Z9],["__scopeId","data-v-606c2c93"]]),tq={name:"totp",async setup(){const e=et();let t="";return await xt("/api/Welcome_GetTotpLink",{},n=>{n.status&&(t=n.data)}),{l:t,store:e}},mounted(){this.l&&Bo.toCanvas(document.getElementById("qrcode"),this.l,function(e){})},data(){return{totp:"",totpInvalidMessage:"",verified:!1}},methods:{validateTotp(){}},watch:{totp(e){const t=document.querySelector("#totp");t.classList.remove("is-invalid","is-valid"),e.length===6&&(console.log(e),/[0-9]{6}/.test(e)?ft("/api/Welcome_VerifyTotpLink",{totp:e},n=>{n.status?(this.verified=!0,t.classList.add("is-valid"),this.$emit("verified")):(t.classList.add("is-invalid"),this.totpInvalidMessage="TOTP does not match.")}):(t.classList.add("is-invalid"),this.totpInvalidMessage="TOTP can only contain numbers"))}}},nq=["data-bs-theme"],sq={class:"m-auto text-body",style:{width:"500px"}},iq={class:"d-flex flex-column"},oq=h("h1",{class:"dashboardLogo display-4"},"Multi-Factor Authentication",-1),rq=h("p",{class:"mb-2"},[h("small",{class:"text-muted"},"1. Please scan the following QR Code to generate TOTP")],-1),aq=h("canvas",{id:"qrcode",class:"rounded-3 mb-2"},null,-1),lq={class:"p-3 bg-body-secondary rounded-3 border mb-3"},cq=h("p",{class:"text-muted mb-0"},[h("small",null,"Or you can click the link below:")],-1),uq=["href"],dq={style:{"line-break":"anywhere"}},hq=h("label",{for:"totp",class:"mb-2"},[h("small",{class:"text-muted"},"2. Enter the TOTP generated by your authenticator to verify")],-1),fq={class:"form-group mb-2"},pq=["disabled"],gq={class:"invalid-feedback"},mq=h("div",{class:"valid-feedback"}," TOTP verified! ",-1),_q=h("div",{class:"alert alert-warning rounded-3"},[h("i",{class:"bi bi-exclamation-triangle-fill me-2"}),ye(" If you ever lost your TOTP and can't login, please follow instruction on "),h("a",{href:"https://github.com/donaldzou/WGDashboard",target:"_blank"},"readme.md"),ye(" to reset. ")],-1),vq=h("hr",null,null,-1),bq={class:"d-flex gap-3 mt-5 flex-column"},yq=h("i",{class:"bi bi-chevron-right ms-auto"},null,-1),wq=h("i",{class:"bi bi-chevron-right ms-auto"},null,-1);function xq(e,t,n,s,i,o){const r=je("RouterLink");return D(),F("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.store.Configuration.Server.dashboard_theme},[h("div",sq,[h("div",iq,[h("div",null,[oq,rq,aq,h("div",lq,[cq,h("a",{href:this.l},[h("code",dq,_e(this.l),1)],8,uq)]),hq,h("div",fq,[Re(h("input",{class:"form-control text-center totp",id:"totp",maxlength:"6",type:"text",inputmode:"numeric",autocomplete:"one-time-code","onUpdate:modelValue":t[0]||(t[0]=a=>this.totp=a),disabled:this.verified},null,8,pq),[[We,this.totp]]),h("div",gq,_e(this.totpInvalidMessage),1),mq]),_q]),vq,h("div",bq,[this.verified?(D(),Ne(r,{key:1,to:"/",class:"btn btn-dark btn-lg d-flex btn-brand shadow align-items-center flex-grow-1 rounded-3"},{default:Me(()=>[ye(" Complete "),wq]),_:1})):(D(),Ne(r,{key:0,to:"/",class:"btn bg-secondary-subtle text-secondary-emphasis rounded-3 flex-grow-1 btn-lg border-1 border-secondary-subtle shadow d-flex"},{default:Me(()=>[ye(" I don't need MFA "),yq]),_:1}))])])])],8,nq)}const kq=ze(tq,[["render",xq]]),Sq={name:"share",async setup(){const e=tP(),t=be(!1),n=et(),s=be(""),i=be(""),o=be(new Blob);await xt("/api/getDashboardTheme",{},a=>{s.value=a.data});const r=e.query.ShareID;return r===void 0||r.length===0?(i.value=void 0,t.value=!0):await xt("/api/sharePeer/get",{ShareID:r},a=>{a.status?(i.value=a.data,o.value=new Blob([i.value.file],{type:"text/plain"})):i.value=void 0,t.value=!0}),{store:n,theme:s,peerConfiguration:i,blob:o}},mounted(){Bo.toCanvas(document.querySelector("#qrcode"),this.peerConfiguration.file,e=>{e&&console.error(e)})},methods:{download(){const e=new Blob([this.peerConfiguration.file],{type:"text/plain"}),t=URL.createObjectURL(e),n=`${this.peerConfiguration.fileName}.conf`,s=document.createElement("a");s.href=t,s.download=n,s.click()}},computed:{getBlob(){return URL.createObjectURL(this.blob)}}},hp=e=>(Ut("data-v-99d4b06a"),e=e(),qt(),e),$q=["data-bs-theme"],Aq={class:"m-auto text-body",style:{width:"500px"}},Cq={key:0,class:"text-center position-relative",style:{}},Eq=QA('

Oh no... This link is either expired or invalid.

',2),Pq=[Eq],Mq={key:1,class:"d-flex align-items-center flex-column gap-3"},Tq=hp(()=>h("div",{class:"h1 dashboardLogo text-center animate__animated animate__fadeInUp"},[h("h6",null,"WGDashboard"),ye(" Scan QR Code from the WireGuard App ")],-1)),Dq={id:"qrcode",class:"rounded-3 shadow animate__animated animate__fadeInUp mb-3",ref:"qrcode"},Oq=hp(()=>h("p",{class:"text-muted animate__animated animate__fadeInUp mb-1",style:{"animation-delay":"0.2s"}},[ye("or click the button below to download the "),h("samp",null,".conf"),ye(" file")],-1)),Iq=["download","href"],Rq=hp(()=>h("i",{class:"bi bi-download"},null,-1)),Lq=[Rq];function Nq(e,t,n,s,i,o){return D(),F("div",{class:"container-fluid login-container-fluid d-flex main pt-5 overflow-scroll","data-bs-theme":this.theme},[h("div",Aq,[this.peerConfiguration?(D(),F("div",Mq,[Tq,h("canvas",Dq,null,512),Oq,h("a",{download:this.peerConfiguration.fileName+".conf",href:o.getBlob,class:"btn btn-lg bg-primary-subtle text-primary-emphasis border-1 border-primary-subtle animate__animated animate__fadeInUp shadow-sm",style:{"animation-delay":"0.25s"}},Lq,8,Iq)])):(D(),F("div",Cq,Pq))])],8,$q)}const Fq=ze(Sq,[["render",Nq],["__scopeId","data-v-99d4b06a"]]),Bq=async()=>{let e=!1;return await xt("/api/validateAuthentication",{},t=>{e=t.status}),e},gl=ZE({history:mE(),routes:[{name:"Index",path:"/",component:GP,meta:{requiresAuth:!0},children:[{name:"Configuration List",path:"",component:IT,meta:{title:"WireGuard Configurations"}},{name:"Settings",path:"/settings",component:L3,meta:{title:"Settings"}},{path:"/ping",name:"Ping",component:F9},{path:"/traceroute",name:"Traceroute",component:eq},{name:"New Configuration",path:"/new_configuration",component:v5,meta:{title:"New Configuration"}},{name:"Configuration",path:"/configuration/:id",component:x5,meta:{title:"Configuration"},children:[{name:"Peers List",path:"peers",component:n9},{name:"Peers Create",path:"create",component:U1}]}]},{path:"/signin",component:ZM,meta:{title:"Sign In"}},{path:"/welcome",component:iN,meta:{requiresAuth:!0,title:"Welcome to WGDashboard"}},{path:"/2FASetup",component:kq,meta:{requiresAuth:!0,title:"Multi-Factor Authentication Setup"}},{path:"/share",component:Fq,meta:{title:"Share"}}]});gl.beforeEach(async(e,t,n)=>{const s=Bn(),i=et();e.meta.title?e.params.id?document.title=e.params.id+" | WGDashboard":document.title=e.meta.title+" | WGDashboard":document.title="WGDashboard",i.ShowNavBar=!1,e.meta.requiresAuth?i.getActiveCrossServer()?(await i.getConfiguration(),!s.Configurations&&e.name!=="Configuration List"&&await s.getConfigurations(),n()):nP.getCookie("authToken")&&await Bq()?(await i.getConfiguration(),!s.Configurations&&e.name!=="Configuration List"&&await s.getConfigurations(),i.Redirect=void 0,n()):(i.Redirect=e,n("/signin"),i.newMessage("WGDashboard","Session Ended","warning")):n()});const J1=()=>{let e={"content-type":"application/json"};const n=et().getActiveCrossServer();return n&&(e["wg-dashboard-apikey"]=n.apiKey),e},X1=e=>{const n=et().getActiveCrossServer();return n?`${n.host}${e}`:`${window.location.protocol}//${(window.location.host+window.location.pathname+e).replace(/\/\//g,"/")}`},xt=async(e,t=void 0,n=void 0)=>{const s=new URLSearchParams(t);await fetch(`${X1(e)}?${s.toString()}`,{headers:J1()}).then(i=>{const o=et();if(i.ok)return i.json();if(i.status!==200)throw i.status===401&&o.newMessage("WGDashboard","Session Ended","warning"),new Error(i.statusText)}).then(i=>n?n(i):void 0).catch(i=>{console.log(i),gl.push({path:"/signin"})})},ft=async(e,t,n)=>{await fetch(`${X1(e)}`,{headers:J1(),method:"POST",body:JSON.stringify(t)}).then(s=>{const i=et();if(s.ok)return s.json();if(s.status!==200)throw s.status===401&&i.newMessage("WGDashboard","Session Ended","warning"),new Error(s.statusText)}).then(s=>n?n(s):void 0).catch(s=>{console.log(s),gl.push({path:"/signin"})})},et=bf("DashboardConfigurationStore",{state:()=>({Redirect:void 0,Configuration:void 0,Messages:[],Peers:{Selecting:!1,RefreshInterval:void 0},CrossServerConfiguration:{Enable:!1,ServerList:{}},ActiveServerConfiguration:void 0,IsElectronApp:!1,ShowNavBar:!1}),actions:{initCrossServerConfiguration(){const e=localStorage.getItem("CrossServerConfiguration");localStorage.getItem("ActiveCrossServerConfiguration")!==null&&(this.ActiveServerConfiguration=localStorage.getItem("ActiveCrossServerConfiguration")),e===null?window.localStorage.setItem("CrossServerConfiguration",JSON.stringify(this.CrossServerConfiguration)):this.CrossServerConfiguration=JSON.parse(e)},syncCrossServerConfiguration(){window.localStorage.setItem("CrossServerConfiguration",JSON.stringify(this.CrossServerConfiguration))},addCrossServerConfiguration(){this.CrossServerConfiguration.ServerList[Ts().toString()]={host:"",apiKey:"",active:!1}},deleteCrossServerConfiguration(e){delete this.CrossServerConfiguration.ServerList[e]},getActiveCrossServer(){const e=localStorage.getItem("ActiveCrossServerConfiguration");if(e!==null)return this.CrossServerConfiguration.ServerList[e]},setActiveCrossServer(e){this.ActiveServerConfiguration=e,localStorage.setItem("ActiveCrossServerConfiguration",e)},removeActiveCrossServer(){this.ActiveServerConfiguration=void 0,localStorage.removeItem("ActiveCrossServerConfiguration")},async getConfiguration(){await xt("/api/getDashboardConfiguration",{},e=>{e.status&&(this.Configuration=e.data)})},async signOut(){await xt("/api/signout",{},e=>{this.removeActiveCrossServer(),this.$router.go("/signin")})},newMessage(e,t,n){this.Messages.push({id:Ts(),from:e,content:t,type:n,show:!0})}}}),fp=e=>(Ut("data-v-a29399d4"),e=e(),qt(),e),Vq={class:"navbar bg-dark sticky-top","data-bs-theme":"dark"},Hq={class:"container-fluid d-flex text-body align-items-center"},jq=fp(()=>h("span",{class:"navbar-brand mb-0 h1"},"WGDashboard",-1)),Wq={key:0,class:"ms-auto text-muted"},zq=fp(()=>h("i",{class:"bi bi-server me-2"},null,-1)),Yq=fp(()=>h("i",{class:"bi bi-list"},null,-1)),Kq=[Yq],Uq={__name:"App",setup(e){const t=et();t.initCrossServerConfiguration(),window.IS_WGDASHBOARD_DESKTOP&&(t.IsElectronApp=!0,t.CrossServerConfiguration.Enable=!0),Vt(t.CrossServerConfiguration,()=>{t.syncCrossServerConfiguration()},{deep:!0});const n=ve(()=>{if(t.ActiveServerConfiguration)return t.CrossServerConfiguration.ServerList[t.ActiveServerConfiguration]});return(s,i)=>(D(),F(Te,null,[h("nav",Vq,[h("div",Hq,[jq,n.value!==void 0?(D(),F("small",Wq,[zq,ye(_e(n.value.host),1)])):re("",!0),h("a",{role:"button",class:"navbarBtn text-body",onClick:i[0]||(i[0]=o=>q(t).ShowNavBar=!q(t).ShowNavBar),style:{"line-height":"0","font-size":"2rem"}},Kq)])]),(D(),Ne(uf,null,{default:Me(()=>[$e(q(ky),null,{default:Me(({Component:o})=>[$e(Ct,{name:"app",mode:"out-in"},{default:Me(()=>[(D(),Ne(Io(o)))]),_:2},1024)]),_:1})]),_:1}))],64))}},qq=ze(Uq,[["__scopeId","data-v-a29399d4"]]),pp=jC(qq);pp.use(gl);const Q1=KC();Q1.use(({store:e})=>{e.$router=tu(gl)});pp.use(Q1);pp.mount("#app"); diff --git a/src/static/app/package.json b/src/static/app/package.json index 4e9de8a2..022175ed 100644 --- a/src/static/app/package.json +++ b/src/static/app/package.json @@ -1,6 +1,6 @@ { "name": "app", - "version": "4.0.2", + "version": "4.0.4", "private": true, "type": "module", "scripts": { diff --git a/src/static/app/src/components/configurationComponents/newPeersComponents/privatePublicKeyInput.vue b/src/static/app/src/components/configurationComponents/newPeersComponents/privatePublicKeyInput.vue index 315685c5..54cd58f7 100644 --- a/src/static/app/src/components/configurationComponents/newPeersComponents/privatePublicKeyInput.vue +++ b/src/static/app/src/components/configurationComponents/newPeersComponents/privatePublicKeyInput.vue @@ -30,12 +30,24 @@ export default { this.data.private_key = this.keypair.privateKey; this.data.public_key = this.keypair.publicKey; }, + testKey(key){ + const reg = /^[A-Za-z0-9+/]{43}=?=?$/; + return reg.test(key) + }, checkMatching(){ try{ - if (window.wireguard.generatePublicKey(this.keypair.privateKey) - !== this.keypair.publicKey){ - this.error = true; - this.dashboardStore.newMessage("WGDashboard", "Private Key and Public Key does not match.", "danger"); + if(this.keypair.privateKey){ + if(this.testKey(this.keypair.privateKey)){ + this.keypair.publicKey = window.wireguard.generatePublicKey(this.keypair.privateKey) + if (window.wireguard.generatePublicKey(this.keypair.privateKey) + !== this.keypair.publicKey){ + this.error = true; + this.dashboardStore.newMessage("WGDashboard", "Private Key and Public Key does not match.", "danger"); + }else{ + this.data.private_key = this.keypair.privateKey + this.data.public_key = this.keypair.publicKey + } + } } }catch (e){ this.error = true; diff --git a/src/wgd.sh b/src/wgd.sh index 9f89e0ec..d080e700 100755 --- a/src/wgd.sh +++ b/src/wgd.sh @@ -65,10 +65,6 @@ _determineOS(){ OS=$ID elif [ -f /etc/redhat-release ]; then OS="redhat" - elif [ -f /etc/alpine-release ]; then - OS="alpine" -# elif [ -f /etc/arch-release ]; then -# OS="arch" else printf "[WGDashboard] %s Sorry, your OS is not supported. Currently the install script only support Debian-based, Red Hat-based OS. With experimental support for Alpine Linux.\n" "$heavy_crossmark" printf "%s\n" "$helpMsg" @@ -131,18 +127,6 @@ _installPythonVenv(){ ubuntu|debian) { sudo apt-get update; sudo apt-get install ${pythonExecutable}-venv; } &>> ./log/install.txt ;; -# centos|fedora|redhat|rhel) -# if command -v dnf &> /dev/null; then -# { sudo dnf install -y ${pythonExecutable}-virtualenv; printf "\n\n"; } >> ./log/install.txt -# else -# { sudo yum install -y ${pythonExecutable}-virtualenv; printf "\n\n"; } >> ./log/install.txt -# fi -# ;; -# *) -# printf "[WGDashboard] %s Sorry, your OS is not supported. Currently the install script only support Debian-based, Red Hat-based OS.\n" "$heavy_crossmark" -# printf "%s\n" "$helpMsg" -# kill $TOP_PID -# ;; esac fi @@ -275,16 +259,17 @@ install_wgd(){ _checkPythonVersion _installPythonVenv _installPythonPip - _checkWireguard + _checkWireguard sudo chmod -R 755 /etc/wireguard/ if [ ! -d "db" ] - then - printf "[WGDashboard] Creating ./db folder\n" - mkdir "db" + then + printf "[WGDashboard] Creating ./db folder\n" + mkdir "db" fi _check_and_set_venv printf "[WGDashboard] Upgrading Python Package Manage (PIP)\n" + { date; python3 -m ensurepip --upgrade; printf "\n\n"; } >> ./log/install.txt { date; python3 -m pip install --upgrade pip; printf "\n\n"; } >> ./log/install.txt printf "[WGDashboard] Installing latest Python dependencies\n" { date; python3 -m pip install -r requirements.txt ; printf "\n\n"; } >> ./log/install.txt #This all works on the default installation. @@ -309,11 +294,11 @@ check_wgd_status(){ } certbot_create_ssl () { - certbot certonly --config ./certbot.ini --email "$EMAIL" --work-dir $cb_work_dir --config-dir $cb_config_dir --domain "$SERVERURL" + certbot certonly --config ./certbot.ini --email "$EMAIL" --work-dir $cb_work_dir --config-dir $cb_config_dir --domain "$SERVERURL" } certbot_renew_ssl () { - certbot renew --work-dir $cb_work_dir --config-dir $cb_config_dir + certbot renew --work-dir $cb_work_dir --config-dir $cb_config_dir } gunicorn_start () { @@ -340,7 +325,7 @@ gunicorn_start () { } gunicorn_stop () { - sudo kill $(cat ./gunicorn.pid) + sudo kill $(cat ./gunicorn.pid) } start_wgd () { @@ -349,23 +334,70 @@ start_wgd () { } stop_wgd() { - if test -f "$PID_FILE"; then - gunicorn_stop - else - kill "$(ps aux | grep "[p]ython3 $app_name" | awk '{print $2}')" - fi + if test -f "$PID_FILE"; then + gunicorn_stop + else + kill "$(ps aux | grep "[p]ython3 $app_name" | awk '{print $2}')" + fi +} + +startwgd_docker() { + _checkWireguard + printf "[WGDashboard][Docker] WireGuard configuration started\n" + { date; start_core ; printf "\n\n"; } >> ./log/install.txt + gunicorn_start +} + +start_core() { + local iptable_dir="/opt/wireguarddashboard/src/iptable-rules" + # Check if wg0.conf exists in /etc/wireguard + if [[ ! -f /etc/wireguard/wg0.conf ]]; then + echo "[WGDashboard][Docker] wg0.conf not found. Running generate configuration." + newconf_wgd + else + echo "[WGDashboard][Docker] wg0.conf already exists. Skipping WireGuard configuration generation." + fi + # Re-assign config_files to ensure it includes any newly created configurations + local config_files=$(find /etc/wireguard -type f -name "*.conf") + + # Set file permissions + find /etc/wireguard -type f -name "*.conf" -exec chmod 600 {} \; + find "$iptable_dir" -type f -name "*.sh" -exec chmod +x {} \; + + # Start WireGuard for each config file + for file in $config_files; do + config_name=$(basename "$file" ".conf") + wg-quick up "$config_name" + done +} + + + +newconf_wgd() { + local wg_port_listen=$wg_port + local wg_addr_range=$wg_net + private_key=$(wg genkey) + public_key=$(echo "$private_key" | wg pubkey) + cat <"/etc/wireguard/wg0.conf" +[Interface] +PrivateKey = $private_key +Address = $wg_addr_range +ListenPort = $wg_port_listen +SaveConfig = true +PostUp = /opt/wireguarddashboard/src/iptable-rules/postup.sh +PreDown = /opt/wireguarddashboard/src/iptable-rules/postdown.sh +EOF } start_wgd_debug() { - printf "%s\n" "$dashes" - _checkWireguard - printf "[WGDashboard] Starting WGDashboard in the foreground.\n" - sudo "$venv_python" "$app_name" - printf "%s\n" "$dashes" + printf "%s\n" "$dashes" + _checkWireguard + printf "[WGDashboard] Starting WGDashboard in the foreground.\n" + sudo "$venv_python" "$app_name" + printf "%s\n" "$dashes" } update_wgd() { - _determineOS if ! python3 --version > /dev/null 2>&1 then