diff --git a/.env.example b/.env.example index dc7938be..a6ac25e3 100644 --- a/.env.example +++ b/.env.example @@ -2,14 +2,14 @@ UVICORN_HOST = "0.0.0.0" UVICORN_PORT = 8000 -## We highly recommend add admin using `marzban cli` tool and do not use +## We highly recommend add admin using `infinity cli` tool and do not use ## the following variables which is somehow hard codded infrmation. # SUDO_USERNAME = "admin" # SUDO_PASSWORD = "admin" -# UVICORN_UDS: "/run/marzban.socket" -# UVICORN_SSL_CERTFILE = "/var/lib/marzban/certs/example.com/fullchain.pem" -# UVICORN_SSL_KEYFILE = "/var/lib/marzban/certs/example.com/key.pem" +# UVICORN_UDS: "/run/infinity.socket" +# UVICORN_SSL_CERTFILE = "/var/lib/infinity/certs/example.com/fullchain.pem" +# UVICORN_SSL_KEYFILE = "/var/lib/infinity/certs/example.com/key.pem" # XRAY_JSON = "xray_config.json" @@ -28,7 +28,7 @@ UVICORN_PORT = 8000 # DISCORD_WEBHOOK_URL = "https://discord.com/api/webhooks/xxxxxxx" -# CUSTOM_TEMPLATES_DIRECTORY="/var/lib/marzban/templates/" +# CUSTOM_TEMPLATES_DIRECTORY="/var/lib/infinity/templates/" # CLASH_SUBSCRIPTION_TEMPLATE="clash/my-custom-template.yml" # SUBSCRIPTION_PAGE_TEMPLATE="subscription/index.html" # HOME_PAGE_TEMPLATE="home/index.html" diff --git a/.github/workflows/build-dev.yml b/.github/workflows/build-dev.yml index c089bc1e..e8287a64 100644 --- a/.github/workflows/build-dev.yml +++ b/.github/workflows/build-dev.yml @@ -55,5 +55,5 @@ jobs: platforms: linux/amd64,linux/arm64 push: true tags: | - gozargah/marzban:${{github.ref_name}} - ghcr.io/gozargah/marzban:${{github.ref_name}} + Niraj-Dilshan/infinity:${{github.ref_name}} + ghcr.io/Niraj-Dilshan/infinity:${{github.ref_name}} diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ea4f2044..dc7cbe46 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -38,7 +38,7 @@ jobs: platforms: linux/amd64,linux/arm64 push: true tags: | - gozargah/marzban:latest - gozargah/marzban:${{github.ref_name}} - ghcr.io/gozargah/marzban:latest - ghcr.io/gozargah/marzban:${{github.ref_name}} + Niraj-Dilshan/infinity:latest + Niraj-Dilshan/infinity:${{github.ref_name}} + ghcr.io/Niraj-Dilshan/infinity:latest + ghcr.io/Niraj-Dilshan/infinity:${{github.ref_name}} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 79150ff2..00000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,68 +0,0 @@ -# Contribute to Marzban -Thanks for considering contributing to Marzban! - -## Questions - -Please don't ask your questions in issues. Instead, use one of the following ways to ask: -- Ask on our telegram group: [@Gozargah_Marzban](https://t.me/gozargah_marzban) -- Ask on our [GitHub Discussions](https://github.com/gozargah/marzban/discussions) for long term discussion or larger questions. - - -## Reporting issues - -Include the following information in your post: -- Describe what you expected to happen. -- Describe what actually happened. Include server logs or any error that browser shows. -- If possible, post your xray json config file and what you have set in env (by censoring critical information). -- Also tell the version of Marzban, Xray and docker (if you use docker) you are using. - - -# Submitting a Pull Request -If there is not an open issue for what you want to submit, prefer opening one for discussion before working on a PR. You can work on any issue that doesn't have an open PR linked to it or a maintainer assigned to it. These show up in the sidebar. No need to ask if you can work on an issue that interests you. - -## Branches -When starting development on this project, please make sure to create a new branch off the `dev` branch. This helps to keep the `master` branch stable and free of any development work that may not be complete or fully tested. - -## Project Structure -``` -. -├── app # Backend code (FastAPI - Python) -│ └── dashboard # Frontend code (React - Typescript) -├── cli # CLI code (Typer - Python) -└── xray_api # Client of Xray's gRPC API -``` - -## Backend -Backend is built using FastAPI and uses SQLAlchemy as the ORM for database operations. All Pydantic models can be found in the `app/models` directory, while all database-related operations and models are in the `app/db` directory. The migration scripts for the database (Alembic) can be found in the `app/db/migrations` directory. - -### Python Code Formatting -To maintain consistency in the codebase, we require all code to be formatted using -```bash -autopep8 --max-line-length 120 -``` - -## Frontend -Frontend is pre-built and served by FastAPI from the `app/dashboard/build` directory. To rebuild the frontend, first make sure you have the necessary dependencies installed by running `npm install` in the `app/dashboard` directory. Then, simply remove the `app/dashboard/build` directory and run the Python code again, and it will rebuild the frontend automatically. - -### Components Library -Frontend uses `Chakra-UI` as the component library, so please adhere to the Chakra-UI approach when contributing. Strive to create components that are cohesive and serve a single purpose. Keep in mind that readability and maintainability are more important than brevity, so prioritize those factors when writing your code. - -## Marzban CLI -Marzban CLI is built using [Typer](https://typer.tiangolo.com/), and its commands' code can be found in `cli` directory. Its documentation is generated using [Typer CLI](https://typer.tiangolo.com/typer-cli/) which can be re-generated by navigating to project's root directory and running the following command: - -```bash -$ PYTHONPATH=$(pwd) typer marzban-cli.py utils docs --name "marzban-cli" --output ./cli/README.md -``` - -## Debug Mode -To run the project in debug mode with auto-reload, you can set the environment variable `DEBUG` to `true`. then by running the `main.py`, the backend and frontend will run separately on different ports. - -Note that you must first install the necessary npm packages by running npm install inside the app/dashboard directory before running in debug mode. -```bash -cd app/dashboard -npm install -cd ../.. -``` - -If you run the project with debug mode off and delete the `app/dashboard/build` directory, the frontend will be rebuilt automatically on the next run. However, no rebuild will occur while inside debug mode." - diff --git a/Dockerfile b/Dockerfile index c5439b20..84a18424 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.10-slim +FROM python:3.13-rc-slim ENV PYTHONUNBUFFERED 1 @@ -8,7 +8,7 @@ RUN apt-get update \ && apt-get install -y curl unzip gcc python3-dev \ && rm -rf /var/lib/apt/lists/* -RUN bash -c "$(curl -L https://github.com/Gozargah/Marzban-scripts/raw/master/install_latest_xray.sh)" +RUN bash -c "$(curl -L https://github.com/Niraj-Dilshan/infinity-script/raw/master/install_latest_xray.sh)" COPY ./requirements.txt /code/ RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt @@ -17,8 +17,8 @@ COPY . /code RUN apt-get remove -y curl unzip gcc python3-dev -RUN ln -s /code/marzban-cli.py /usr/bin/marzban-cli \ - && chmod +x /usr/bin/marzban-cli \ - && marzban-cli completion install --shell bash +RUN ln -s /code/infinity-cli.py /usr/bin/infinity-cli \ + && chmod +x /usr/bin/infinity-cli \ + && infinity-cli completion install --shell bash CMD ["bash", "-c", "alembic upgrade head; python main.py"] \ No newline at end of file diff --git a/LICENSE b/LICENSE index 425d0879..5c0e71ef 100644 --- a/LICENSE +++ b/LICENSE @@ -1,7 +1,7 @@ GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 21 January 2023 - Copyright (C) 2023 Gozargah organization. + Copyright (C) 2023 Niraj-Dilshan organization. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. diff --git a/README-fa.md b/README-fa.md deleted file mode 100755 index b92fe622..00000000 --- a/README-fa.md +++ /dev/null @@ -1,370 +0,0 @@ -

- - - - - - -

- -

مرزبان

- -

- راه حل یکپارچه برای مدیریت پروتکل های مختلف. قدرت گرفته از Xray -

- -
-

- - - - - - - - - - - - - - - - - - -

- -

- - English - - / - - فارسی - - / - - 简体中文 - - / - - Русский - -

- -

- - Elk screenshots - -

- - -## فهرست مطالب -- [بررسی اجمالی](#بررسی-اجمالی) - - [چرا مرزبان؟](#چرا-مرزبان) - - [امکانات](#امکانات) -- [راهنمای نصب](#راهنمای-نصب) -- [تنظیمات](#تنظیمات) -- [استفاده از API](#استفاده-از-api) -- [پشتیبان گیری از مرزبان](#پشتیبان-گیری-از-مرزبان) -- [ربات تلگرام](#ربات-تلگرام) -- [رابط خط فرمان (CLI) مرزبان](#رابط-خط-فرمان-cli-مرزبان) -- [ارسال اعلان‌ها به آدرس وبهوک](#ارسال-اعلانها-به-آدرس-وبهوک) -- [کمک مالی](#کمک-مالی) -- [لایسنس](#لایسنس) -- [مشارکت در توسعه](#مشارکت-در-توسعه) - - -# بررسی اجمالی - -مرزبان یک نرم افزار (وب اپلیکیشن) مدیریت پروکسی است که امکان مدیریت چند صد حساب پروکسی را با قدرت و دسترسی بالا فراهم میکند. مرزبان از [Xray-core](https://github.com/XTLS/Xray-core) قدرت گرفته و با Python و React پیاده سازی شده است. - -## چرا مرزبان؟ - -مرزبان دارای یک رابط کاربری ساده است که قابلیت های زیادی دارد. مرزبان امکان ایجاد چند نوع پروکسی برای کاربر ها را فراهم میکند بدون اینکه به تنظیمات پیچیده ای نیاز داشته باشید. به کمک رابط کاربری تحت وب مرزبان، شما میتوانید کاربران را مانیتور، ویرایش و در صورت نیاز، محدود کنید. - -### امکانات - -- **رابط کاربری تحت وب** آماده -- به صورت **REST API** پیاده سازی شده -- پشتیبانی از پروتکل های **Vmess**, **VLESS**, **Trojan** و **Shadowsocks** -- امکان فعالسازی **چندین پروتکل** برای هر یوزر -- امکان ساخت **چندین کاربر** بر روی یک inbound -- پشتیبانی از **چندین inbound** بر روی **یک port** (به کمک fallbacks) -- محدودیت بر اساس مصرف **ترافیک** و **تاریخ انقضا** -- محدودیت **ترافیک دوره ای** (به عنوان مثال روزانه، هفتگی و غیره) -- پشتیبانی از **Subscription link** سازگار با **V2ray** _(مثل نرم افزار های V2RayNG, OneClick, Nekoray و...)_ و **Clash** -- ساخت **لینک اشتراک گذاری** و **QRcode** به صورت خودکار -- مانیتورینگ منابع سرور و **مصرف ترافیک** -- پشتیبانی از تنظیمات xray -- پشتیبانی از **TLS** -- **ربات تلگرام** -- **رابط خط فرمان (CLI)** داخلی -- قابلیت ایجاد **چندین مدیر** (تکمیل نشده است) - -# راهنمای نصب - -برای نصب کافیه دستور زیر رو اجرا کنید - -```bash -sudo bash -c "$(curl -sL https://github.com/Gozargah/Marzban-scripts/raw/master/marzban.sh)" @ install -``` - -وقتی نصب تمام شد: - -- شما لاگ های مرزبان رو مشاهده میکنید که می‌توانید با بستن ترمینال یا فشار دادن `Ctrl+C` از آن خارج شوید -- فایل های مرزبان در پوشه `/opt/marzban` قرار می‌گیرند -- فایل تنظیمات در مسیر `/opt/marzban/.env` قرار می‌گیرد ([تنظیمات](#تنظیمات) را مشاهده کنید) -- فایل های مهم (اطلاعات) مرزبان در مسیر `/usr/lib/marzban` قرار می‌گیرند -- شما از طریق آدرس `http://YOUR_SERVER_IP:8000/dashboard/` می‌توانید وارد داشبورد مرزبان شوید (YOUR_SERVER_IP را با آیپی سرور خود عوض کنید) - -در مرحله بعد, باید یک ادمین سودو بسازید - -```bash -marzban cli admin create --sudo -``` - -تمام! حالا با این اطلاعات می‌توانید وارد مرزبان شوید - -برای مشاهده راهنمای اسکریپت مرزبان دستور زیر را اجرا کنید - -```bash -marzban --help -``` - -اگر مشتاق هستید که مرزبان رو با پایتون و به صورت دستی اجرا کنید، مراحل زیر را مشاهده کنید -
-

نصب به صورت دستی (پیچیده)

- -لطفا xray را نصب کنید. -شما میتواند به کمک [Xray-install](https://github.com/XTLS/Xray-install) این کار را انجام دهید. - -```bash -bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install -``` - -پروژه را clone کنید و dependency ها را نصب کنید. دقت کنید که نسخه پایتون شما Python>=3.8 باشد. - -```bash -git clone https://github.com/Gozargah/Marzban.git -cd Marzban -wget -qO- https://bootstrap.pypa.io/get-pip.py | python3 - -python3 -m pip install -r requirements.txt -``` - -همچنین میتواند از , [Python Virtualenv](https://pypi.org/project/virtualenv/) هم استفاده کنید. - -سپس کامند زیر را اجرا کنید تا دیتابیس تنظیم شود. - -```bash -alembic upgrade head -``` - -اگر می خواهید از `marzban-cli` استفاده کنید، باید آن را به یک فایل در `$PATH` خود لینک و قابل اجرا (executable) کنید. سپس تکمیل خودکار (auto-completion) آن را نصب کنید: - -```bash -sudo ln -s $(pwd)/marzban-cli.py /usr/bin/marzban-cli -sudo chmod +x /usr/bin/marzban-cli -marzban-cli completion install -``` - -حالا یک کپی از `.env.example` با نام `.env` بسازید و با یک ادیتور آن را باز کنید و تنظیمات دلخواه خود را انجام دهید. یه عنوان مثال نام کاربری و رمز عبور را می توانید در این فایل تغییر دهید. - -```bash -cp .env.example .env -nano .env -``` - -> برای اطلاعات بیشتر بخش [تنظیمات](#تنظیمات) را مطالعه کنید. - -در انتها, مرزبان را به کمک دستور زیر اجرا کنید. - -```bash -python3 main.py -``` - -اجرا با استفاده از systemctl در لینوکس -``` -systemctl enable /var/lib/marzban/marzban.service -systemctl start marzban -``` - -اجرا با nginx -``` -server { - listen 443 ssl http2; - listen [::]:443 ssl http2; - server_name example.com; - - ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; - - location ~* /(dashboard|api|docs|redoc|openapi.json) { - proxy_pass http://0.0.0.0:8000; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - } -} -``` -or -``` -server { - listen 443 ssl http2; - listen [::]:443 ssl http2; - server_name marzban.example.com; - - ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; - - location / { - proxy_pass http://0.0.0.0:8000; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - } -} -``` - -به صورت پیشفرض مرزبان در آدرس `http://localhost:8000/dashboard` اجرا میشود. شما میتوانید با تغییر `UVICORN_HOST` و `UVICORN_PORT`، هاست و پورت را تغییر دهید. -
- -# تنظیمات - -> متغیر های زیر در فایل ‍`env` یا `.env` استفاده میشوند. شما می توانید با تعریف و تغییر آن ها، تنظیمات مرزبان را تغییر دهید. - -| توضیحات | متغیر | -| ----------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------: | -| نام کاربری مدیر کل | SUDO_USERNAME | -| رمز عبور مدیر کل | SUDO_PASSWORD | -| آدرس دیتابیس ([بر اساس مستندات SQLAlchemy](https://docs.sqlalchemy.org/en/20/core/engines.html#database-urls)) | SQLALCHEMY_DATABASE_URL | -| آدرس هاستی که مرزبان روی آن اجرا میشود (پیشفرض: `0.0.0.0`) | UVICORN_HOST | -| پورتی که مرزبان روی آن اجرا میشود (پیشفرض: `8000`) | UVICORN_PORT | -| اجرای مرزبان بر روی یک Unix domain socket | UVICORN_UDS | -| آدرس گواهی SSL به جهت ایمن کردن پنل مرزبان | UVICORN_SSL_CERTFILE | -| آدرس کلید گواهی SSL | UVICORN_SSL_KEYFILE | -| مسیر فایل json تنظیمات xray (پیشفرض: `xray_config.json`) | XRAY_JSON | -| مسیر باینری xray (پیشفرض: `/usr/local/bin/xray`) | XRAY_EXECUTABLE_PATH | -| مسیر asset های xray (پیشفرض: `/usr/local/share/xray`) | XRAY_ASSETS_PATH | -| پیشوند (یا هاست) آدرس های اشتراکی (زمانی کاربرد دارد که نیاز دارید دامنه subscription link ها با دامنه پنل متفاوت باشد) | XRAY_SUBSCRIPTION_URL_PREFIX | -| تگ inboundای که به عنوان fallback استفاده میشود. | XRAY_FALLBACKS_INBOUND_TAG | -| تگ های inbound ای که لازم نیست در کانفیگ های ساخته شده وجود داشته باشند. | XRAY_EXCLUDE_INBOUND_TAGS | -| آدرس محل template های شخصی سازی شده کاربر | CUSTOM_TEMPLATES_DIRECTORY | -| تمپلیت مورد استفاده برای تولید کانفیگ های Clash (پیشفرض: `clash/default.yml`) | CLASH_SUBSCRIPTION_TEMPLATE | -| تمپلیت صفحه اطلاعات اشتراک کاربر (پیشفرض `subscription/index.html`) | SUBSCRIPTION_PAGE_TEMPLATE | -| تمپلیت صفحه اول (پیشفرض: `home/index.html`) | HOME_PAGE_TEMPLATE | -| توکن ربات تلگرام (دریافت از [@botfather](https://t.me/botfather)) | TELEGRAM_API_TOKEN | -| آیدی عددی ادمین در تلگرام (دریافت از [@userinfobot](https://t.me/userinfobot)) | TELEGRAM_ADMIN_ID | -| اجرای ربات از طریق پروکسی | TELEGRAM_PROXY_URL | -| مدت زمان انقضا توکن دسترسی به پنل مرزبان, `0` به معنای بدون تاریخ انقضا است (پیشفرض: `1440`) | JWT_ACCESS_TOKEN_EXPIRE_MINUTES | -| فعال سازی داکیومنتیشن به آدرس `/docs` و `/redoc`(پیشفرض: `False`) | DOCS | -| فعالسازی حالت توسعه (development) (پیشفرض: `False`) | DEBUG | -| WEBHOOK_ADDRESS | آدرس webhook که تغییرات حالت یک کاربر به آن ارسال می‌شوند. اگر این متغیر مقدار داشته باشد، ارسال پیام‌ها انجام می‌شوند. | -| WEBHOOK_SECRET | متغیری که به عنوان `x-webhook-secret` در header ارسال می‌شود. (پیشفرض: `None`) | -| تعداد دفعاتی که برای ارسال یک پیام، در صورت تشخیص خطا در ارسال تلاش دوباره شود (پیشفرض `3`) | NUMBER_OF_RECURRENT_NOTIFICATIONS | -| مدت زمان بین هر ارسال دوباره پیام در صورت تشخیص خطا در ارسال به ثانیه (پیشفرض: `180`) | RECURRENT_NOTIFICATIONS_TIMEOUT | -| هنگام رسیدن مصرف کاربر به چه درصدی پیام اخطار به آدرس وبهوک ارسال شود (پیشفرض: `80`) | NOTIFY_REACHED_USAGE_PERCENT | -| چند روز مانده به انتهای سرویس پیام اخطار به آدرس وبهوک ارسال شود (پیشفرض: `3`) | NOTIFY_DAYS_LEFT | - - -# استفاده از API -مرزبان به توسعه دهندگانAPI REST ارائه می دهد. برای مشاهده اسناد API در قالب Swagger UI یا ReDoc، متغیر `DOCS=True` را در تنظیمات خود ست کنید و در مرورگر به مسیر `/docs` و `/redoc` بروید. - - -# پشتیبان گیری از مرزبان -بهتر است همیشه از فایل های مرزبان خود نسخه پشتیبان تهیه کنید تا در صورت خرابی سیستم یا حذف تصادفی اطلاعات از دست نروند. مراحل تهیه نسخه پشتیبان از مرزبان به شرح زیر است: - -1. به طور پیش فرض، تمام فایل های مهم مرزبان در `/var/lib/marzban` ذخیره می شوند (در نسخه داکر). کل پوشه `/var/lib/marzban` را در یک مکان پشتیبان مورد نظر خود، مانند هارد دیسک خارجی یا فضای ذخیره سازی ابری کپی کنید. -2. علاوه بر این، مطمئن شوید که از فایل env خود که حاوی متغیرهای تنظیمات شما است و همچنین فایل پیکربندی Xray خود نسخه پشتیبان تهیه کنید. - -با انجام این مراحل، می توانید اطمینان حاصل کنید که از تمام فایل ها و داده های مرزبان خود یک نسخه پشتیبان تهیه کرده اید. به خاطر داشته باشید که نسخه های پشتیبان خود را به طور مرتب به روز کنید تا آنها را به روز نگه دارید. - - -# ربات تلگرام -مرزبان دارای یک ربات تلگرام داخلی است که می تواند مدیریت سرور، ایجاد و حذف کاربر و ارسال نوتیفیکیشن را انجام دهد. این ربات را می توان با انجام چند مرحله ساده به راحتی فعال کرد - -برای فعال کردن ربات تلگرام: - -1. در تنظیمات، متغیر`TELEGRAM_API_TOKEN` را به API TOKEN ربات تلگرام خود تنظیم کنید. -2. همینطور، متغیر`TELEGRAM_ADMIN_ID` را به شناسه عددی حساب تلگرام خود تنظیم کنید. شما می‌توانید شناسه خود را از [@userinfobot](https://t.me/userinfobot) دریافت کنید. - - -# رابط خط فرمان (CLI) مرزبان -مرزبان دارای یک رابط خط فرمان (Command Line Interface / CLI) داخلی است که به مدیران اجازه می دهد با مرزبان ارتباط مستقیم داشته باشند. - -اگر از Docker برای مرزبان استفاده می کنید، بهتر است از دستور های `docker exec` یا `docker-compose exec` استفاده کنید تا به پوسته (shell) تعاملی کانتینر مرزبان دسترسی پیدا کنید. - -برای مثال، به پوشه ی `docker-compose.yml` مرزبان بروید و دستور زیر را اجرا کنید: - -```bash -$ sudo docker-compose exec -it marzban bash -``` - -رابط خط فرمان (CLI) مرزبان از طریق دستور `marzban-cli` هرکجا در دسترس خواهد بود! - -برای کسب اطلاعات بیشتر می توانید [مستندات CLI مرزبان](./cli/README.md) را مطالعه کنید. - - -# ارسال اعلان‌ها به آدرس وبهوک -شما می‌توانید آدرسی را برای مرزبان فراهم کنید تا تغییرات کاربران را به صورت اعلان برای شما ارسال کند. - -اعلان‌ها به صورت یک درخواست POST به آدرسی که در `WEBHOOK_ADDRESS` فراهم شده به همراه مقدار تعیین شده در `WEBHOOK_SECRET` به عنوان `x-webhook-secret` در header درخواست ارسال می‌شوند. - -نمونه‌ای از درخواست ارسال شده توسط مرزبان: - -``` -Headers: -Host: 0.0.0.0:9000 -User-Agent: python-requests/2.28.1 -Accept-Encoding: gzip, deflate -Accept: */* -Connection: keep-alive -x-webhook-secret: something-very-very-secret -Content-Length: 107 -Content-Type: application/json - - - -Body: -{"username": "marzban_test_user", "action": "user_updated", "enqueued_at": 1680506457.636369, "tries": 0} -``` - -انواع مختلف actionهایی که مرزبان ارسال می‌کند: `user_created`, `user_updated`, `user_deleted`, `user_limited`, `user_expired`, `user_disabled`, `user_enabled` - - -# کمک مالی -اگر مرزبان را برای شما مفید بوده و می‌خواهید از توسعه آن حمایت کنید، می‌توانید در یکی از طریق یکی از شبکه های کریپتو زیر کمک مالی کنید: - -- شبکه TRON (TRX): `TX8kJoDcowQPBFTYHAJR36GyoUKP1Xwzkb` -- شبکه ETH، BNB، MATIC: `0xFdc9ad32454FA4fc4733270FCc12ddBFb68b83F7` -- شبکه بیت کوین: `bc1qpys2nefgsjjgae3g3gqy9crsv3h3rm96tlkz0v` -- شبکه Dogecoin: `DJAocBAu8y6LwhDKUktLAyzV8xyoFeHH6R` -- شبکه TON: `EQAVf-7hAXHlF-jmrKE44oBwN7HGQFVBLAtrOsev5K4qR4P8` - - -از حمایت شما متشکرم! - - -# لایسنس - -توسعه یافته شده در [ناشناس!] و منتشر شده تحت لایسنس [AGPL-3.0](./LICENSE). - - -# مشارکت در توسعه -این ❤️‍🔥 تقدیم به همه‌ی کسایی که در توسعه مرزبان مشارکت می‌کنند! اگر می‌خواهید مشارکت داشته باشید، لطفاً [دستورالعمل‌های مشارکت](CONTRIBUTING.md) ما را بررسی کنید و در صورت تمایل Pull Request ارسال کنید یا یک Issue باز کنید. همچنین از شما برای پیوستن به گروه [تلگرام](https://t.me/gozargah_marzban) ما برای حمایت یا کمک به راهنمایی استقبال می کنیم. - -لطفا اگر امکانش رو دارید، با بررسی [لیست کار ها](https://github.com/gozargah/marzban/issues) به ما در بهبود مرزبان کمک کنید. کمک های شما با آغوش باز پذیرفته میشه. - -

-با تشکر از همه همکارانی که به بهبود مرزبان کمک کردند: -

-

- - - -

-

- ساخته شده با contrib.rocks -

- diff --git a/README-ru.md b/README-ru.md deleted file mode 100644 index bf058db0..00000000 --- a/README-ru.md +++ /dev/null @@ -1,397 +0,0 @@ -

- - - - - - -

- -

Marzban

- -

- Унифицированное решение с графическим интерфейсом, устойчивое к цензуре, на базе Xray -

- -
-

- - - - - - - - - - - - - - - - - - -

- -

- - English - - / - - فارسی - - / - - 简体中文 - - / - - Русский - -

- -

- - Marzban screenshots - -

- -## Оглавление - -- [Введение](#введение) - - [Почему Marzban](#почему-marzban) - - [Функции](#функции) -- [Руководство по установке](#руководство-по-установке) -- [Конфигурация](#конфигурация) -- [API](#api) -- [Backup](#backup) -- [Telegram бот](#telegram-bot) -- [Marzban CLI](#marzban-cli) -- [Marzban Node](#marzban-node) -- [Webhook уведомления](#webhook-уведомления) -- [Поддержка](#поддержка) -- [Лицензия](#лицензия) -- [Участники](#участники) - -# Введение - -Marzban (Персидское слово "Пограничник" - произносится /mærz'ban/) — это инструмент управления прокси-серверами, который предоставляет простой и удобный пользовательский интерфейс для управления сотнями учетных записей прокси на базе [Xray-core](https://github.com/XTLS/Xray-core) и созданный с использованием Python и ReactJS. - -## Почему Marzban? - -Marzban удобен в использовании, многофункционален и надежен. Он позволяет создавать различные прокси для пользователей без сложной настройки. С помощью встроенного веб-интерфейса можно контролировать, изменять и ограничивать пользователей. - -### Функции - -- Готовый **Web UI** -- **REST API** бэкэнд -- Поддержка [**множества узлов**](#marzban-node) (для распределения инфраструктуры и масштабируемости) -- Поддержка протоколов **Vmess**, **VLESS**, **Trojan** и **Shadowsocks** -- Возможность активации **нескольких протоколов** для каждого пользователя -- **Несколько пользователей** на одном inbound -- **Несколько inbound** на **одном порту** (поддержка fallbacks) -- Ограничения на основе **количества трафика** и **срока действия** -- Ограничение трафика по **периодам** (например выдавать трафик на день, неделю и т. д.) -- Поддержка **ссылок-подписок** совместимых с **V2ray** _(такие как V2RayNG, OneClick, Nekoray, и др.)_, **Clash** и **ClashMeta** -- Автоматическая генерация **Ссылок** и **QRcode** -- Мониторинг ресурсов сервера и **использования трафика** -- Настраиваемые конфигурации xray -- Поддержка **TLS** и **REALITY** -- Встроенный **Telegram Bot** -- Встроенный **Command Line Interface (CLI)** -- **Несколько языков** -- Поддержка **Нескольких администраторов** (WIP) - -# Руководство по установке - -Выполните быструю установку с помощью следующей команды: - -```bash -sudo bash -c "$(curl -sL https://github.com/Gozargah/Marzban-scripts/raw/master/marzban.sh)" @ install -``` - -Когда установка будет завершена: -- Вы увидите логи, которые можно остановить, нажав `Ctrl+C` или закрыв терминал. -- Файлы Marzban будут размещены по адресу `/opt/marzban`. -- Файл конфигурации будет размещен по адресу `/opt/marzban/.env` (см. [Конфигурация](#конфигурация)). -- Файлы с данными будут размещены по адресу `/var/lib/marzban`. -- Вы можете получить доступ к панели управления, введя в адресной строке `http://YOUR_SERVER_IP:8000/dashboard/` (заменив YOUR_SERVER_IP на актуальный IP адрес вашего сервера). - -Далее, Вам нужно создать главного администратора для входа в панель управления Marzban, выполнив следующую команду: - -```bash -marzban cli admin create --sudo -``` - -Готово! Теперь Вы можете войти, используя данные своей учетной записи. - -Для того, чтобы увидеть справочное сообщение от скрипта Marzban, выполните команду: - -```bash -marzban --help -``` - -Если Вы хотите запустить проект, используя его исходный код, обратитесь к разделу ниже -
-

Ручная установка

- -Установите xray на Ваш сервер. - -Вы можете сделать это, используя [Xray-install](https://github.com/XTLS/Xray-install): - -```bash -bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install -``` - -Клонируйте этот проект и установите зависимости (Вам нужен Python >= 3.8): - -```bash -git clone https://github.com/Gozargah/Marzban.git -cd Marzban -wget -qO- https://bootstrap.pypa.io/get-pip.py | python3 - -python3 -m pip install -r requirements.txt -``` - -В качестве альтернативы для создания виртуальной среды можно использовать [Python Virtualenv](https://pypi.org/project/virtualenv/). - -Затем выполните следующую команду для запуска скрипта миграции базы данных: - -```bash -alembic upgrade head -``` - -Если Вы хотите использовать `marzban-cli`, необходимо связать его с файлом в `$PATH`, сделать его исполняемым и установить: - -```bash -sudo ln -s $(pwd)/marzban-cli.py /usr/bin/marzban-cli -sudo chmod +x /usr/bin/marzban-cli -marzban-cli completion install -``` - -Теперь настало время настройки. - -Создайте копию файла `.env.example`, посмотрите его и отредактируйте с помощью текстового редактора,например `nano`. - -Возможно, вам захочется изменить учетные данные администратора. - -```bash -cp .env.example .env -nano .env -``` - -> Проверьте раздел [Конфигурации](#конфигурация) для получения большей информации. - -В завершение запустите приложение с помощью следующей команды: - -```bash -python3 main.py -``` - -Для запуска с помощью linux systemctl (скопируйте файл marzban.service в `/var/lib/marzban/marzban.service`): - -``` -systemctl enable /var/lib/marzban/marzban.service -systemctl start marzban -``` - -Для использования с nginx: - -``` -server { - listen 443 ssl http2; - listen [::]:443 ssl http2; - server_name example.com; - - ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; - - location ~* /(dashboard|api|docs|redoc|openapi.json) { - proxy_pass http://0.0.0.0:8000; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - } - - # xray-core ws-path: / - # client ws-path: /marzban/me/2087 - # - # All traffic is proxed through port 443, and send to the xray port(2087, 2088 etc.). - # The '/marzban' in location regex path can changed any characters by yourself. - # - # /${path}/${username}/${xray-port} - location ~* /marzban/.+/(.+)$ { - proxy_redirect off; - proxy_pass http://127.0.0.1:$1/; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - proxy_set_header Host $http_host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - } -} -``` - -или: - -``` -server { - listen 443 ssl http2; - listen [::]:443 ssl http2; - server_name marzban.example.com; - - ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; - - location / { - proxy_pass http://0.0.0.0:8000; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - } -} -``` - -По умолчанию приложение будет запускаться на `http://localhost:8000/dashboard`. Вы можете настроить его, изменив переменные окружения `UVICORN_HOST` и `UVICORN_PORT`. -
- -# Конфигурация - -> Ниже приведены настройки, которые можно задать с помощью переменных окружения поместив их в файл `.env`. - -| Перменная | Описание | -| --------------------------------- | ----------------------------------------------------------------------------------------------------- | -| SUDO_USERNAME | Имя пользователя главного администратора | -| SUDO_PASSWORD | Пароль главного администратора | -| SQLALCHEMY_DATABASE_URL | Путь к файлу БД ([SQLAlchemy's docs](https://docs.sqlalchemy.org/en/20/core/engines.html#database-urls)) | -| UVICORN_HOST | Привязка приложения к хосту (по умолчанию: `0.0.0.0`) | -| UVICORN_PORT | Привязка приложения к порту (по умолчанию: `8000`) | -| UVICORN_UDS | Привязка приложения к UNIX domain socket | -| UVICORN_SSL_CERTFILE | Адрес файла сертификата SSL | -| UVICORN_SSL_KEYFILE | Адрес файла ключа SSL | -| XRAY_JSON | Адрес файла JSON конфигурации Xray. (по умолчанию: `xray_config.json`) | -| XRAY_EXECUTABLE_PATH | Путь к бинарникам Xray (по умолчанию: `/usr/local/bin/xray`) | -| XRAY_ASSETS_PATH | Путь к папке с рессурсными файлами для Xray (файлы geoip.dat и geosite.dat) (по умолчанию: `/usr/local/share/xray`) | -| XRAY_SUBSCRIPTION_URL_PREFIX | Префикс адреса подписки | -| XRAY_FALLBACKS_INBOUND_TAG | Если вы используете входящее соединение с несколькими резервными вариантами, укажите здесь его тег -| XRAY_EXCLUDE_INBOUND_TAGS | Теги входящих соединений, которые не требуют управления и не должны быть включены в список прокси -| CUSTOM_TEMPLATES_DIRECTORY | Путь к папке с пользовательскими шаблонами (по умолчанию: `app/templates`) | -| CLASH_SUBSCRIPTION_TEMPLATE | Шаблон для создания конфигурации Clash (по умолчанию: `clash/default.yml`) | -| SUBSCRIPTION_PAGE_TEMPLATE | Шаблон для страницы подписки (по умолчанию: `subscription/index.html`) | -| HOME_PAGE_TEMPLATE | Шаблон главной страницы (по умолчанию: `home/index.html`) | -| TELEGRAM_API_TOKEN | Токен Telegram-бота (полученный от [@botfather](https://t.me/botfather)) | -| TELEGRAM_ADMIN_ID | Числовой идентификатор администратора в Telegram (полученный от [@userinfobot](https://t.me/userinfobot)) | -| TELEGRAM_PROXY_URL | URL прокси для запуска Telegram-бота (если серверы Telegram заблокированы на вашем сервере). | -| JWT_ACCESS_TOKEN_EXPIRE_MINUTES | Время истечения срока действия доступного токена в минутах, `0` означает "без истечения срока действия" (по умолчанию: `1440`) | -| DOCS | Активация документации API по адресам `/docs` и `/redoc`. (по умолчанию: `False`) | -| DEBUG | Активация режима разработки (development) (по умолчанию: `False`) | -| WEBHOOK_ADDRESS | Адрес Webhook для отправки уведомлений. Уведомления Webhook будут отправляться, если это значение было установлено | -| WEBHOOK_SECRET | Webhook secret будет передаваться с каждым запросом в виде `x-webhook-secret` в заголовке (по умолчанию: `None`) | -| NUMBER_OF_RECURRENT_NOTIFICATIONS | Сколько раз повторять попытку отправки уведомления при обнаружении ошибки (по умолчанию: `3`) | -| RECURRENT_NOTIFICATIONS_TIMEOUT | Тайм-аут между каждым повторным запросом при обнаружении ошибки в секундах (по умолчанию: `180`) | -| NOTIFY_REACHED_USAGE_PERCENT | При каком проценте использования отправлять предупреждение (по умолчанию: `80`) | -| NOTIFY_DAYS_LEFT | Когда отправлять предупреждение об истечении срока действия (по умолчанию: `3`) | - -# API - -Marzban предоставляет REST API, позволяющий разработчикам программно взаимодействовать с сервисами Marzban. Для просмотра документации по API в Swagger UI или ReDoc установите переменную `DOCS=True` и перейдите по ссылкам `/docs` и `/redoc`. - -# Backup - -Всегда полезно регулярно создавать резервные копии файлов Marzban, чтобы предотвратить потерю данных в случае системных сбоев или случайного удаления. Ниже приведены шаги для создания резервной копии Marzban: - -1. По умолчанию все важные файлы Marzban сохраняются в папке `/var/lib/marzban` (в версиях Docker). Скопируйте весь каталог `/var/lib/marzban` в выбранное вами место резервного копирования, например на внешний жесткий диск или в облачное хранилище. -2. Кроме того, не забудьте сделать резервную копию файла env, содержащего переменные конфигурации, а также файла конфигурации Xray. Если вы устанавливали Marzban с помощью marzban-scripts (рекомендуемый подход к установке), то env и другие конфигурации должны находиться в каталоге `/opt/marzban/`. - -Выполнив эти действия, вы сможете обеспечить резервное копирование всех файлов и данных Marzban, а также переменных конфигурации и конфигурации Xray на случай, если в будущем потребуется их восстановить. Не забывайте регулярно обновлять резервные копии, чтобы поддерживать их в актуальном состоянии. - -# Telegram Bot - -Marzban поставляется с встроенным ботом Telegram, который может управлять сервером, создавать и удалять пользователей, а также отправлять уведомления. Этот бот можно легко включить, выполнив несколько простых шагов, и он предоставляет удобный способ взаимодействия с Marzban без необходимости каждый раз заходить на сервер. - -Чтобы включить Telegram-бота, выполните следующие действия: - -1. установите `TELEGRAM_API_TOKEN` в качестве API-токена вашего бота. -2. установите `TELEGRAM_ADMIN_ID` в качестве цифрового ID вашего Telegram-аккаунта, который вы можете получить от [@userinfobot](https://t.me/userinfobot) - -# Marzban CLI - -Marzban поставляется с встроенным CLI под названием `marzban-cli`, который позволяет администраторам напрямую взаимодействовать с ним. - -Если вы установили Marzban с помощью скрипта установки, то доступ к командам cli можно получить, выполнив команду: - -```bash -marzban cli [OPTIONS] COMMAND [ARGS]... -``` - -Для получения дополнительной информации можно ознакомиться с [документацией по Marzban CLI](./cli/README.md). - -# Marzban Node - -Проект Marzban представляет [Marzban-node](https://github.com/gozargah/marzban-node), который помогает Вам в распределении инфраструктуры. С помощью Marzban-node можно распределить инфраструктуру по нескольким узлам, получив такие преимущества, как высокая доступность, масштабируемость и гибкость. Marzban-node позволяет пользователям подключаться к различным серверам, предоставляя им гибкость в выборе, а не ограничиваться только одним сервером. -Более подробная информация и инструкции по установке приведены в [официальной документации Marzban-node](https://github.com/gozargah/marzban-node). - - -# Webhook уведомления - -Вы можете задать адрес webhook, и Marzban будет отправлять уведомления на этот адрес. - -Запросы будут отправляться в виде POST-запроса на адрес, указанный в `WEBHOOK_ADDRESS`, с `WEBHOOK_SECRET` в качестве `x-webhook-secret` в заголовках. - -Пример запроса, отправленного Marzban: - -``` -Headers: -Host: 0.0.0.0:9000 -User-Agent: python-requests/2.28.1 -Accept-Encoding: gzip, deflate -Accept: */* -Connection: keep-alive -x-webhook-secret: something-very-very-secret -Content-Length: 107 -Content-Type: application/json - - - -Body: -{"username": "marzban_test_user", "action": "user_updated", "enqueued_at": 1680506457.636369, "tries": 0} -``` - -Различные типы действий: `user_created`, `user_updated`, `user_deleted`, `user_limited`, `user_expired`, `user_disabled`, `user_enabled` - -# Поддержка - -Если вы нашли Marzban полезным и хотели бы поддержать его развитие, вы можете сделать пожертвование в одной из следующих криптовалютных сетей: - -- TRON network (TRC20): `TX8kJoDcowQPBFTYHAJR36GyoUKP1Xwzkb` -- ETH, BNB, MATIC network (ERC20, BEP20): `0xFdc9ad32454FA4fc4733270FCc12ddBFb68b83F7` -- Bitcoin network: `bc1qpys2nefgsjjgae3g3gqy9crsv3h3rm96tlkz0v` -- Dogecoin network: `DJAocBAu8y6LwhDKUktLAyzV8xyoFeHH6R` -- TON network: `EQAVf-7hAXHlF-jmrKE44oBwN7HGQFVBLAtrOsev5K4qR4P8` - -Спасибо за поддержку! - -# Лицензия - -Сделано в [Unknown!] и опубликовано под [AGPL-3.0](./LICENSE). - -# Участники - -Мы ❤️‍🔥 участников проекта! Если вы хотите внести свой вклад, пожалуйста, ознакомьтесь с нашим [Contributing Guidelines](CONTRIBUTING.md) и не стесняйтесь отправлять запросы на исправление ошибок или сообщить о проблеме. Мы также приглашаем вас присоединиться к нашей группе [Telegram](https://t.me/gozargah_marzban) для получения поддержки. - -Проверьте [open issues](https://github.com/gozargah/marzban/issues), чтобы помочь развитию этого проекта. - -

-Спасибо всем участникам, благодаря которым Marzban становится лучше: -

-

- - - -

-

- Made with contrib.rocks -

diff --git a/README-zh-cn.md b/README-zh-cn.md deleted file mode 100644 index 408d7baf..00000000 --- a/README-zh-cn.md +++ /dev/null @@ -1,340 +0,0 @@ -

- - - - - - -

- -

Marzban

- -

- Unified GUI Censorship Resistant Solution Powered by Xray -

- -
-

- - - - - - - - - - - - - - - - - - -

- -

- - English - - / - - فارسی - - / - - 简体中文 - - / - - Русский - -

- -

- - Marzban screenshots - -

- - -## 目录 -- [概览](#概览) - - [为什么要使用 Marzban?](#为什么要使用-marzban) - - [特性](#特性) -- [安装指南](#安装指南) -- [配置](#配置) -- [如何使用 API](#如何使用-api) -- [如何备份 Marzban](#如何备份-marzban) -- [Telegram bot](#telegram-bot) -- [捐赠](#捐赠) -- [许可](#许可) -- [贡献者](#贡献者) - - -# 概览 - -Marzban(Marzban一词源自波斯语,意为“边境警卫”,发音为 /mærz'ban/)是一个代理管理工具,提供简单易用的用户界面,可管理数百个代理账户,由 [Xray-core](https://github.com/XTLS/Xray-core) 提供支持,使用 Python 和 Reactjs 构建。 - - - -## 为什么要使用 Marzban? - -Marzban 是一个用户友好、功能丰富且可靠的工具。它让您可以为用户创建不同的代理,无需进行任何复杂的配置。通过其内置的 Web 界面,您可以监视、修改和限制用户。 - -### 特性 - -- 内置 **Web 界面** -- 完全支持 **REST API** 的后端 -- 支持 **Vmess**、**VLESS**、**Trojan** 和 **Shadowsocks** 协议 -- 单用户的**多协议**支持 -- 单入站的**多用户**支持 -- 单端口的**多入站**支持(使用 fallbacks) -- **流量**和**过期日期**限制 -- 周期性的流量限制(例如每天、每周等) -- 兼容 **V2ray** 的**订阅链接**(例如 V2RayNG、OneClick、Nekoray 等)和 **Clash** -- 自动化的**分享链接**和**二维码**生成器 -- 系统监控和**流量统计** -- 可自定义的 xray 配置 -- **TLS** 支持 -- 集成的 **Telegram Bot** -- **多管理员**支持(WIP) - - -# 安装指南 -Run the following command - -```bash -sudo bash -c "$(curl -sL https://github.com/Gozargah/Marzban-scripts/raw/master/marzban.sh)" @ install -``` - -Once the installation is complete: - -- You will see the logs that you can stop watching them by closing the terminal or pressing `Ctrl+C` -- The Marzban files will be located at `/opt/marzban` -- The configuration file can be found at `/opt/marzban/.env` (refer to [configurations](#configuration) section to see variables) -- The data files will be placed at `/usr/lib/marzban` -- You can access the Marzban dashboard by opening a web browser and navigating to `http://YOUR_SERVER_IP:8000/dashboard/` (replace YOUR_SERVER_IP with the actual IP address of your server) - -Next, you need to create a sudo admin for logging into the Marzban dashboard by the following command - -```bash -marzban cli admin create --sudo -``` - -That's it! You can login to your dashboard using these credentials - -To see the help message of the Marzban script, run the following command - -```bash -marzban --help -``` - -If you are eager to run the project using the source code, check the section below -
-

手动安装(高级)

- -在您的机器上安装 xray - -您可以使用 [Xray-install](https://github.com/XTLS/Xray-install) 脚本进行安装: - -```bash -bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install -``` - -克隆项目并安装依赖项。 - -您需要 Python>=3.8 版本。 - -```bash -git clone https://github.com/Gozargah/Marzban.git -cd Marzban -wget -qO- https://bootstrap.pypa.io/get-pip.py | python3 - -python3 -m pip install -r requirements.txt -``` - -另外,为了拥有一个隔离的环境,您可以使用 [Python Virtualenv](https://pypi.org/project/virtualenv/)。 - -然后运行以下命令运行数据库迁移脚本: - -```bash -alembic upgrade head -``` - -现在开始配置: - -复制 `.env.example` 文件,查看并使用文本编辑器(如`nano`)进行编辑。 - -您可能想要修改管理员凭据。 - -```bash -cp .env.example .env -nano .env -``` - -> 请查看[配置](#配置)部分以获取更多信息。 - -最终,使用以下命令启动应用程序: - -```bash -python3 main.py -``` - -也可使用 linux systemctl 启动: -``` -systemctl enable /var/lib/marzban/marzban.service -systemctl start marzban -``` - -配合 nginx 使用: -``` -server { - listen 443 ssl http2; - listen [::]:443 ssl http2; - server_name example.com; - - ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; - - location ~* /(dashboard|api|docs|redoc|openapi.json) { - proxy_pass http://0.0.0.0:8000; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - } - - # xray-core ws-path: / - # client ws-path: /marzban/me/2087 - # - # 所有流量通过 443 端口进行代理,然后分发至真正的 xray 端口(2087、2088 等等)。 - # 路径中的 “/marzban” 可以改为任意合法 URL 字符. - # - # /${path}/${username}/${xray-port} - location ~* /marzban/.+/(.+)$ { - proxy_redirect off; - proxy_pass http://127.0.0.1:$1/; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - proxy_set_header Host $http_host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - } -} -``` -或 -``` -server { - listen 443 ssl http2; - listen [::]:443 ssl http2; - server_name marzban.example.com; - - ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; - - location / { - proxy_pass http://0.0.0.0:8000; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - } -} -``` - -默认情况下,应用将在 `http://localhost:8000/dashboard` 上运行。您可以通过更改 `UVICORN_HOST` 和 `UVICORN_PORT` 环境变量来进行配置。 -
- -# 配置 - -> 您可以使用环境变量或将其放置在 `env` 或 `.env` 文件中来设置以下设置。 - -| 变量 | 描述 | -| ------------------------------- | ---------------------------------------------------------------------------------------------------- | -| SUDO_USERNAME | 管理员用户名(默认: admin) | -| SUDO_PASSWORD | 管理员密码(默认: admin) | -| SQLALCHEMY_DATABASE_URL | 数据库文档([SQLAlchemy's docs](https://docs.sqlalchemy.org/en/20/core/engines.html#database-urls)) | -| UVICORN_HOST | 绑定应用程序到此主机(默认为 `0.0.0.0`) | -| UVICORN_PORT | 绑定应用程序到此端口(默认为 `8000`) | -| UVICORN_UDS | 将应用程序绑定到一个 UNIX 域套接字 | -| UVICORN_SSL_CERTFILE | SSL 证书文件路径 | -| UVICORN_SSL_KEYFILE | SSL 密钥文件路径 | -| XRAY_JSON | Xray 的 json 配置文件路径(默认: `xray_config.json`) | -| XRAY_EXECUTABLE_PATH | Xray 的执行程序路径: `/usr/local/bin/xray`) | -| XRAY_ASSETS_PATH | Xray 的资源目录: `/usr/local/share/xray`) | -| XRAY_SUBSCRIPTION_URL_PREFIX | 订阅URL的前缀 | -| XRAY_FALLBACKS_INBOUND_TAG | 包含 fallbacks 的入站标记, 在您需要使用 fallbacks 配置此项 | -| XRAY_EXCLUDE_INBOUND_TAGS | 不需要此应用程序管理或在链接中包含的入站标记 | -| CLASH_SUBSCRIPTION_TEMPLATE | 将用于生成冲突配置的模板(默认值:`clash/default.yml`) | -| SUBSCRIPTION_PAGE_TEMPLATE | 用于生成订阅信息页面的模板(默认:`subscription/index.html`) | -| HOME_PAGE_TEMPLATE | 诱饵页面模板(默认:`home/index.html`) | -| TELEGRAM_API_TOKEN | Telegram bot API 令牌(可以从 [@botfather](https://t.me/botfather) 获取) | -| TELEGRAM_ADMIN_ID | 管理员的 Telegram ID(可以使用 [@userinfobot](https://t.me/userinfobot) 查找您的 ID) | -| TELEGRAM_PROXY_URL | 在代理下运行 Telegram bot。 | -| JWT_ACCESS_TOKEN_EXPIRE_MINUTES | Access Tokens 的过期时间,以分钟为单位,`0` 表示无限期(默认为 `1440` 分钟) | -| DOCS | API 文档是否应该在 `/docs` 和 `/redoc` 上提供(默认为 `False` | -| DEBUG | 开发者调试模式(默认: `False`) | - - -# 如何使用 API -Marzban 提供了 REST API,使开发人员能够以编程方式与 Marzban 服务进行交互。要在 Swagger UI 或 ReDoc 中查看 API 文档,设置配置变量 `DOCS=True`,然后导航到 `/docs` 和 `/redoc`。 - - -# 如何备份 Marzban - -定期备份 Marzban 文件是预防系统故障或意外删除导致数据丢失的好习惯。以下是备份 Marzban 的步骤: - -1. 默认情况下,所有重要的 Marzban 文件都保存在 `/var/lib/marzban` ( Docker 版本)中。将整个 `/var/lib/marzban` 目录复制到您选择的备份位置,比如外部硬盘或云存储。 -2. 此外,请确保备份您的 `env` 文件,其中包含您的配置变量,以及您的 `Xray` 配置文件。 - -按照这些步骤,您可以确保有备份所有 Marzban 文件和数据,以及您的配置变量和 Xray 配置,以备将来恢复使用。请记得定期更新备份,以保持它们的最新性。 - - -# Telegram bot - -Marzban 配备了一个集成的 Telegram bot,可以处理服务器管理、用户创建和删除,以及发送通知。通过几个简单的步骤,您可以轻松地启用这个机器人,并提供了一种方便的方式与 Marzban 交互,而不需要每次都登录到服务器上。 - -启用 Telegram bot: - -1. 将 `TELEGRAM_API_TOKEN` 设置为您的 bot API Token。 -2. 将 `TELEGRAM_ADMIN_ID` 设置为您的 Telegram ID,您可以从 [@userinfobot](https://t.me/userinfobot) 中获取自己的 ID。 - - -# 捐赠 - -如果您认为 Marzban 有用,并想支持其发展,可以在以下加密网络之一进行捐赠: - -- TRON(TRX) 网络:`TX8kJoDcowQPBFTYHAJR36GyoUKP1Xwzkb` -- ETH、BNB、MATIC 网络:`0xFdc9ad32454FA4fc4733270FCc12ddBFb68b83F7` -- 比特币网络:`bc1qpys2nefgsjjgae3g3gqy9crsv3h3rm96tlkz0v` -- Dogecoin 网络:`DJAocBAu8y6LwhDKUktLAyzV8xyoFeHH6R` -- TON 网络:`EQAVf-7hAXHlF-jmrKE44oBwN7HGQFVBLAtrOsev5K4qR4P8` - - -感谢您的支持! - -# 许可 - -制作于 [Unknown!] 并在 [AGPL-3.0](./LICENSE) 下发布。 - -# 贡献者 - -我们热爱贡献者!如果您想做出贡献,请查看我们的[贡献指南](CONTRIBUTING.md)并随时提交拉取请求或打开问题。我们也欢迎您加入我们的 [Telegram](https://t.me/gozargah_marzban) 群组,以获得支持或贡献指导。 - -查看 [issues](https://github.com/gozargah/marzban/issues) 以帮助改进这个项目。 - - - -

-感谢所有为改善 Marzban 做出贡献的贡献者们: -

-

- - - -

-

- Made with contrib.rocks -

- diff --git a/README.md b/README.md index 08dd29ef..e6fea8d2 100755 --- a/README.md +++ b/README.md @@ -1,13 +1,13 @@

- + - - + +

-

Marzban

+

infinity

Unified GUI Censorship Resistant Solution Powered by Xray @@ -16,22 +16,22 @@

- + - - + + - + - + - +

@@ -54,23 +54,23 @@

- - Marzban screenshots + + infinity screenshots

## Table of Contents - [Overview](#overview) - - [Why using Marzban?](#why-using-marzban) + - [Why using infinity?](#why-using-infinity) - [Features](#features) - [Installation guide](#installation-guide) - [Configuration](#configuration) - [API](#api) - [Backup](#backup) - [Telegram Bot](#telegram-bot) -- [Marzban CLI](#marzban-cli) -- [Marzban Node](#marzban-node) +- [infinity CLI](#infinity-cli) +- [infinity Node](#infinity-node) - [Webhook notifications](#webhook-notifications) - [Donation](#donation) - [License](#license) @@ -78,17 +78,17 @@ # Overview -Marzban (the Persian word for "border guard" - pronounced /mærz'ban/) is a proxy management tool that provides a simple and easy-to-use user interface for managing hundreds of proxy accounts powered by [Xray-core](https://github.com/XTLS/Xray-core) and built using Python and Reactjs. +infinity (the Persian word for "border guard" - pronounced /mærz'ban/) is a proxy management tool that provides a simple and easy-to-use user interface for managing hundreds of proxy accounts powered by [Xray-core](https://github.com/XTLS/Xray-core) and built using Python and Reactjs. -## Why using Marzban? +## Why using infinity? -Marzban is user-friendly, feature-rich and reliable. It lets you to create different proxies for your users without any complicated configuration. Using its built-in web UI, you are able to monitor, modify and limit users. +infinity is user-friendly, feature-rich and reliable. It lets you to create different proxies for your users without any complicated configuration. Using its built-in web UI, you are able to monitor, modify and limit users. ### Features - Built-in **Web UI** - Fully **REST API** backend -- [**Multiple Nodes**](#marzban-node) support (for infrastructure distribution & scalability) +- [**Multiple Nodes**](#infinity-node) support (for infrastructure distribution & scalability) - Supports protocols **Vmess**, **VLESS**, **Trojan** and **Shadowsocks** - **Multi-protocol** for a single user - **Multi-user** on a single inbound @@ -110,29 +110,29 @@ Marzban is user-friendly, feature-rich and reliable. It lets you to create diffe Run the following command ```bash -sudo bash -c "$(curl -sL https://github.com/Gozargah/Marzban-scripts/raw/master/marzban.sh)" @ install +sudo bash -c "$(curl -sL https://github.com/Niraj-Dilshan/infinity-scripts/raw/master/infinity.sh)" @ install ``` Once the installation is complete: - You will see the logs that you can stop watching them by closing the terminal or pressing `Ctrl+C` -- The Marzban files will be located at `/opt/marzban` -- The configuration file can be found at `/opt/marzban/.env` (refer to [configurations](#configuration) section to see variables) -- The data files will be placed at `/var/lib/marzban` -- You can access the Marzban dashboard by opening a web browser and navigating to `http://YOUR_SERVER_IP:8000/dashboard/` (replace YOUR_SERVER_IP with the actual IP address of your server) +- The infinity files will be located at `/opt/infinity` +- The configuration file can be found at `/opt/infinity/.env` (refer to [configurations](#configuration) section to see variables) +- The data files will be placed at `/var/lib/infinity` +- You can access the infinity dashboard by opening a web browser and navigating to `http://YOUR_SERVER_IP:8000/dashboard/` (replace YOUR_SERVER_IP with the actual IP address of your server) -Next, you need to create a sudo admin for logging into the Marzban dashboard by the following command +Next, you need to create a sudo admin for logging into the infinity dashboard by the following command ```bash -marzban cli admin create --sudo +infinity cli admin create --sudo ``` That's it! You can login to your dashboard using these credentials -To see the help message of the Marzban script, run the following command +To see the help message of the infinity script, run the following command ```bash -marzban --help +infinity --help ``` If you are eager to run the project using the source code, check the section below @@ -150,8 +150,8 @@ bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release Clone this project and install the dependencies (you need Python >= 3.8) ```bash -git clone https://github.com/Gozargah/Marzban.git -cd Marzban +git clone https://github.com/Niraj-Dilshan/infinity.git +cd infinity wget -qO- https://bootstrap.pypa.io/get-pip.py | python3 - python3 -m pip install -r requirements.txt ``` @@ -164,12 +164,12 @@ Then run the following command to run the database migration scripts alembic upgrade head ``` -If you want to use `marzban-cli`, you should link it to a file in your `$PATH`, make it executable, and install the auto-completion: +If you want to use `infinity-cli`, you should link it to a file in your `$PATH`, make it executable, and install the auto-completion: ```bash -sudo ln -s $(pwd)/marzban-cli.py /usr/bin/marzban-cli -sudo chmod +x /usr/bin/marzban-cli -marzban-cli completion install +sudo ln -s $(pwd)/infinity-cli.py /usr/bin/infinity-cli +sudo chmod +x /usr/bin/infinity-cli +infinity-cli completion install ``` Now it's time to configuration @@ -191,11 +191,11 @@ Eventually, launch the application using command below python3 main.py ``` -To launch with linux systemctl (copy marzban.service file to `/var/lib/marzban/marzban.service`) +To launch with linux systemctl (copy infinity.service file to `/var/lib/infinity/infinity.service`) ``` -systemctl enable /var/lib/marzban/marzban.service -systemctl start marzban +systemctl enable /var/lib/infinity/infinity.service +systemctl start infinity ``` To use with nginx @@ -217,13 +217,13 @@ server { } # xray-core ws-path: / - # client ws-path: /marzban/me/2087 + # client ws-path: /infinity/me/2087 # # All traffic is proxed through port 443, and send to the xray port(2087, 2088 etc.). - # The '/marzban' in location regex path can changed any characters by yourself. + # The '/infinity' in location regex path can changed any characters by yourself. # # /${path}/${username}/${xray-port} - location ~* /marzban/.+/(.+)$ { + location ~* /infinity/.+/(.+)$ { proxy_redirect off; proxy_pass http://127.0.0.1:$1/; proxy_http_version 1.1; @@ -242,7 +242,7 @@ or server { listen 443 ssl http2; listen [::]:443 ssl http2; - server_name marzban.example.com; + server_name infinity.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; @@ -298,50 +298,50 @@ By default the app will be run on `http://localhost:8000/dashboard`. You can con # API -Marzban provides a REST API that enables developers to interact with Marzban services programmatically. To view the API documentation in Swagger UI or ReDoc, set the configuration variable `DOCS=True` and navigate to the `/docs` and `/redoc`. +infinity provides a REST API that enables developers to interact with infinity services programmatically. To view the API documentation in Swagger UI or ReDoc, set the configuration variable `DOCS=True` and navigate to the `/docs` and `/redoc`. # Backup -It's always a good idea to backup your Marzban files regularly to prevent data loss in case of system failures or accidental deletion. Here are the steps to backup Marzban: +It's always a good idea to backup your infinity files regularly to prevent data loss in case of system failures or accidental deletion. Here are the steps to backup infinity: -1. By default, all Marzban important files are saved in `/var/lib/marzban` (Docker versions). Copy the entire `/var/lib/marzban` directory to a backup location of your choice, such as an external hard drive or cloud storage. -2. Additionally, make sure to backup your env file, which contains your configuration variables, and also, your Xray config file. If you installed Marzban using marzban-scripts (recommended installation approach), the env and other configurations should be inside `/opt/marzban/` directory. +1. By default, all infinity important files are saved in `/var/lib/infinity` (Docker versions). Copy the entire `/var/lib/infinity` directory to a backup location of your choice, such as an external hard drive or cloud storage. +2. Additionally, make sure to backup your env file, which contains your configuration variables, and also, your Xray config file. If you installed infinity using infinity-scripts (recommended installation approach), the env and other configurations should be inside `/opt/infinity/` directory. -By following these steps, you can ensure that you have a backup of all your Marzban files and data, as well as your configuration variables and Xray configuration, in case you need to restore them in the future. Remember to update your backups regularly to keep them up-to-date. +By following these steps, you can ensure that you have a backup of all your infinity files and data, as well as your configuration variables and Xray configuration, in case you need to restore them in the future. Remember to update your backups regularly to keep them up-to-date. # Telegram Bot -Marzban comes with an integrated Telegram bot that can handle server management, user creation and removal, and send notifications. This bot can be easily enabled by following a few simple steps, and it provides a convenient way to interact with Marzban without having to log in to the server every time. +infinity comes with an integrated Telegram bot that can handle server management, user creation and removal, and send notifications. This bot can be easily enabled by following a few simple steps, and it provides a convenient way to interact with infinity without having to log in to the server every time. To enable Telegram Bot: 1. set `TELEGRAM_API_TOKEN` to your bot's API Token 2. set `TELEGRAM_ADMIN_ID` to your Telegram account's numeric ID, you can get your ID from [@userinfobot](https://t.me/userinfobot) -# Marzban CLI +# infinity CLI -Marzban comes with an integrated CLI named `marzban-cli` which allows administrators to have direct interaction with it. +infinity comes with an integrated CLI named `infinity-cli` which allows administrators to have direct interaction with it. -If you've installed Marzban using easy install script, you can access the cli commands by running +If you've installed infinity using easy install script, you can access the cli commands by running ```bash -marzban cli [OPTIONS] COMMAND [ARGS]... +infinity cli [OPTIONS] COMMAND [ARGS]... ``` -For more information, You can read [Marzban CLI's documentation](./cli/README.md). +For more information, You can read [infinity CLI's documentation](./cli/README.md). -# Marzban Node +# infinity Node -The Marzban project introduces the [Marzban-node](https://github.com/gozargah/marzban-node), which revolutionizes infrastructure distribution. With Marzban-node, you can distribute your infrastructure across multiple locations, unlocking benefits such as redundancy, high availability, scalability, flexibility. Marzban-node empowers users to connect to different servers, offering them the flexibility to choose and connect to multiple servers instead of being limited to only one server. -For more detailed information and installation instructions, please refer to the [Marzban-node official documentation](https://github.com/gozargah/marzban-node) +The infinity project introduces the [infinity-node](https://github.com/Niraj-Dilshan/infinity-node), which revolutionizes infrastructure distribution. With infinity-node, you can distribute your infrastructure across multiple locations, unlocking benefits such as redundancy, high availability, scalability, flexibility. infinity-node empowers users to connect to different servers, offering them the flexibility to choose and connect to multiple servers instead of being limited to only one server. +For more detailed information and installation instructions, please refer to the [infinity-node official documentation](https://github.com/Niraj-Dilshan/infinity-node) # Webhook notifications -You can set a webhook address and Marzban will send the notifications to that address. +You can set a webhook address and infinity will send the notifications to that address. the requests will be sent as a post request to the adress provided by `WEBHOOK_ADDRESS` with `WEBHOOK_SECRET` as `x-webhook-secret` in the headers. -Example request sent from Marzban: +Example request sent from infinity: ``` Headers: @@ -357,41 +357,16 @@ Content-Type: application/json Body: -{"username": "marzban_test_user", "action": "user_updated", "enqueued_at": 1680506457.636369, "tries": 0} +{"username": "infinity_test_user", "action": "user_updated", "enqueued_at": 1680506457.636369, "tries": 0} ``` Different action typs are: `user_created`, `user_updated`, `user_deleted`, `user_limited`, `user_expired`, `user_disabled`, `user_enabled` # Donation -If you found Marzban useful and would like to support its development, you can make a donation in one of the following crypto networks: - -- TRON network (TRC20): `TX8kJoDcowQPBFTYHAJR36GyoUKP1Xwzkb` -- ETH, BNB, MATIC network (ERC20, BEP20): `0xFdc9ad32454FA4fc4733270FCc12ddBFb68b83F7` -- Bitcoin network: `bc1qpys2nefgsjjgae3g3gqy9crsv3h3rm96tlkz0v` -- Dogecoin network: `DJAocBAu8y6LwhDKUktLAyzV8xyoFeHH6R` -- TON network: `EQAVf-7hAXHlF-jmrKE44oBwN7HGQFVBLAtrOsev5K4qR4P8` - -Thank you for your support! # License Made in [Unknown!] and Published under [AGPL-3.0](./LICENSE). # Contributors - -We ❤️‍🔥 contributors! If you'd like to contribute, please check out our [Contributing Guidelines](CONTRIBUTING.md) and feel free to submit a pull request or open an issue. We also welcome you to join our [Telegram](https://t.me/gozargah_marzban) group for either support or contributing guidance. - -Check [open issues](https://github.com/gozargah/marzban/issues) to help the progress of this project. - -

-Thanks to the all contributors who have helped improve Marzban: -

-

- - - -

-

- Made with contrib.rocks -

diff --git a/app/__init__.py b/app/__init__.py index fb3b9fea..9490715b 100755 --- a/app/__init__.py +++ b/app/__init__.py @@ -14,7 +14,7 @@ app = FastAPI( - title="MarzbanAPI", + title="infinityAPI", description="Unified GUI Censorship Resistant Solution Powered by Xray", version=__version__, docs_url='/docs' if DOCS else None, diff --git a/app/dashboard/README.md b/app/dashboard/README.md index 819e840a..c2545c70 100644 --- a/app/dashboard/README.md +++ b/app/dashboard/README.md @@ -1,4 +1,4 @@ -# Dashboard UI for marzban +# Dashboard UI for infinity ## Requirements @@ -11,7 +11,7 @@ This project has been developed on the Nodejs v16.17.0 so if you faced any issue ## Install - git clone https://github.com/gozargah/marz-manager.git + git clone https://github.com/Niraj-Dilshan/marz-manager.git cd marz-manager yarn install @@ -25,7 +25,7 @@ Copy `example.env` to `.env` then set the backend api address: | Name | Description | | ------------- | ------------------------------------------------------------------------------------ | -| VITE_BASE_API | The api url of the deployed backend ([Marzban](https://github.com/gozargah/Marzban)) | +| VITE_BASE_API | The api url of the deployed backend ([infinity](https://github.com/Niraj-Dilshan/infinity)) | ## Start development server diff --git a/app/dashboard/build/404.html b/app/dashboard/build/404.html index 00138720..b7470750 100644 --- a/app/dashboard/build/404.html +++ b/app/dashboard/build/404.html @@ -3,7 +3,7 @@ - Marzban + infinity - - + + diff --git a/app/dashboard/build/assets/index.ebbb3e66.js b/app/dashboard/build/assets/index.ebbb3e66.js index c8d66f98..7fa09c52 100644 --- a/app/dashboard/build/assets/index.ebbb3e66.js +++ b/app/dashboard/build/assets/index.ebbb3e66.js @@ -1,4 +1,4 @@ -import{i as Ct,B as to,a as ro,b as oo,j as yr,d as j,U as Dt,z as no,r as so,f as io,Q as ao,e as lo,$ as co,c as ht,g as x,h as uo,C as ho,k as pt,u as zt,l as O,m as r,H as w,n as e,T as h,o as po,p as I,s as mo,q as g,t as Qe,J as go,v as Sr,A as mt,w as fo,x as bo,M as re,y as oe,D as ne,E as se,F as ie,G as he,I as Oe,K as Cr,L as xo,N as Ge,O as ae,P as A,R as X,S as wr,V as te,W as E,X as ye,Y as $,Z as fe,_ as N,a0 as gt,a1 as He,a2 as yo,a3 as ge,a4 as ke,a5 as So,a6 as kr,a7 as _r,a8 as $e,a9 as it,aa as Co,ab as Ne,ac as at,ad as Zt,ae as wo,af as vr,ag as Ir,ah as Dr,ai as de,aj as ko,ak as _o,al as vo,am as Io,an as Do,ao as Ut,ap as zr,aq as Ur,ar as ue,as as Yt,at as zo,au as Uo,av as Eo,aw as wt,ax as Lo,ay as Ro,az as To,aA as Ao,aB as Mo,aC as No,aD as lt,aE as Fo,aF as we,aG as Po,aH as k,aI as qe,aJ as Er,aK as Xe,aL as M,aM as Et,aN as Wo,aO as Fe,aP as Pe,aQ as kt,aR as We,aS as ze,aT as Ue,aU as Ee,aV as Le,aW as Re,aX as Te,aY as Qt,aZ as Lt,a_ as Oo,a$ as jo,b0 as Ho,b1 as Lr,b2 as Bo,b3 as Ze,b4 as ct,b5 as Rr,b6 as $o,b7 as Vo,b8 as Tr,b9 as Ar,ba as Mr,bb as Se,bc as Go,bd as Zo,be as Yo,bf as Rt,bg as bt,bh as qt,bi as Nr,bj as Qo,bk as qo,bl as Xt,bm as Xo,bn as Jt,bo as Fr,bp as Jo,bq as Pr,br as Ko,bs as en,bt as Wr,bu as tn,bv as rn,bw as Or,bx as jr,by as Hr,bz as q,bA as on,bB as Br,bC as nn,bD as sn,bE as an,bF as ln,bG as cn,bH as dn,bI as un,bJ as $r,bK as hn,bL as Kt,bM as er,bN as Ae,bO as me,bP as tr,bQ as ce,bR as rr,bS as pn,bT as mn,bU as gn,bV as fn,bW as bn,bX as xn,bY as yn,bZ as Sn,b_ as Cn,b$ as wn,c0 as kn,c1 as _n,c2 as vn,c3 as In,c4 as Dn,c5 as zn,c6 as Un}from"./vendor.11357817.js";(function(){const o=document.createElement("link").relList;if(o&&o.supports&&o.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))i(s);new MutationObserver(s=>{for(const a of s)if(a.type==="childList")for(const l of a.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&i(l)}).observe(document,{childList:!0,subtree:!0});function n(s){const a={};return s.integrity&&(a.integrity=s.integrity),s.referrerpolicy&&(a.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?a.credentials="include":s.crossorigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function i(s){if(s.ep)return;s.ep=!0;const a=n(s);fetch(s.href,a)}})();Ct.use(to).use(ro).use(oo).init({debug:{}.NODE_ENV==="development",returnNull:!1,fallbackLng:"en",interpolation:{escapeValue:!1},react:{useSuspense:!1},load:"languageOnly",detection:{caches:["localStorage","sessionStorage","cookie"]},backend:{loadPath:yr(["/dashboard/","locales/{{lng}}.json"])}},function(t,o){j.locale(Ct.language)});Ct.on("languageChanged",t=>{j.locale(t)});Dt("zh-cn",no);Dt("ru",so);Dt("fa",io);const _t=new ao,Vr=t=>{const o=document.querySelector('meta[name="theme-color"]');o==null||o.setAttribute("content",t=="dark"?"#1A202C":"#3B81F6")},En=lo({shadows:{outline:"0 0 0 2px var(--chakra-colors-primary-200)"},fonts:{body:"Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif"},colors:{"light-border":"#d2d2d4",primary:{50:"#9cb7f2",100:"#88a9ef",200:"#749aec",300:"#618ce9",400:"#4d7de7",500:"#396fe4",600:"#3364cd",700:"#2e59b6",800:"#284ea0",900:"#224389"},gray:{750:"#222C3B"}},components:{Alert:{baseStyle:{container:{borderRadius:"6px",fontSize:"sm"}}},Select:{baseStyle:{field:{_dark:{borderColor:"gray.600",borderRadius:"6px"},_light:{borderRadius:"6px"}}}},FormHelperText:{baseStyle:{fontSize:"xs"}},FormLabel:{baseStyle:{fontSize:"sm",fontWeight:"medium",mb:"1",_dark:{color:"gray.300"}}},Input:{baseStyle:{addon:{_dark:{borderColor:"gray.600",_placeholder:{color:"gray.500"}}},field:{_focusVisible:{boxShadow:"none",borderColor:"primary.200",outlineColor:"primary.200"},_dark:{borderColor:"gray.600",_disabled:{color:"gray.400",borderColor:"gray.500"},_placeholder:{color:"gray.500"}}}}},Table:{baseStyle:{table:{borderCollapse:"separate",borderSpacing:0},thead:{borderBottomColor:"light-border"},th:{background:"#F9FAFB",borderColor:"light-border !important",borderBottomColor:"light-border !important",borderTop:"1px solid ",borderTopColor:"light-border !important",_first:{borderLeft:"1px solid",borderColor:"light-border !important"},_last:{borderRight:"1px solid",borderColor:"light-border !important"},_dark:{borderColor:"gray.600 !important",background:"gray.750"}},td:{transition:"all .1s ease-out",borderColor:"light-border",borderBottomColor:"light-border !important",_first:{borderLeft:"1px solid",borderColor:"light-border",_dark:{borderColor:"gray.600"}},_last:{borderRight:"1px solid",borderColor:"light-border",_dark:{borderColor:"gray.600"}},_dark:{borderColor:"gray.600",borderBottomColor:"gray.600 !important"}},tr:{"&.interactive":{cursor:"pointer",_hover:{"& > td":{bg:"gray.200"},_dark:{"& > td":{bg:"gray.750"}}}},_last:{"& > td":{_first:{borderBottomLeftRadius:"8px"},_last:{borderBottomRightRadius:"8px"}}}}}}}});const dt=()=>localStorage.getItem("token"),Ln=t=>{localStorage.setItem("token",t)},Rn=()=>{localStorage.removeItem("token")},Tn=co.create({baseURL:"/api/"}),An=(t,o={})=>(dt()&&(o.headers={...(o==null?void 0:o.headers)||{},Authorization:`Bearer ${dt()}`}),Tn(t,o)),W=An,Mn=ht(t=>({isLoading:!0,isPostLoading:!1,version:null,started:!1,logs_websocket:null,config:"",fetchCoreSettings:()=>{t({isLoading:!0}),Promise.all([W("/core").then(({version:o,started:n,logs_websocket:i})=>t({version:o,started:n,logs_websocket:i})),W("/core/config").then(o=>t({config:o}))]).finally(()=>t({isLoading:!1}))},updateConfig:o=>(t({isPostLoading:!0}),W("/core/config",{method:"PUT",body:o}).finally(()=>{t({isPostLoading:!1})})),restartCore:()=>W("/core/restart",{method:"POST"})}));function ee(t,o=2,n=!1){if(!+t)return"0 B";const i=1024,s=o<0?0:o,a=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],l=Math.floor(Math.log(t)/Math.log(i));return n?[parseFloat((t/Math.pow(i,l)).toFixed(s)),a[l]]:`${parseFloat((t/Math.pow(i,l)).toFixed(s))} ${a[l]}`}const or=t=>{if(t!==null)return t.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")},Nn=x(uo,{baseStyle:{w:5,h:5,position:"relative",zIndex:"2"}}),Fn=x(ho,{baseStyle:{w:5,h:5,position:"relative",zIndex:"2"}}),Pn=x(pt,{baseStyle:{w:5,h:5,position:"relative",zIndex:"2"}}),xt=({title:t,content:o,icon:n})=>r(po,{p:6,borderWidth:"1px",borderColor:"light-border",bg:"#F9FAFB",_dark:{borderColor:"gray.600",bg:"gray.750"},borderStyle:"solid",boxShadow:"none",borderRadius:"12px",width:"full",display:"flex",justifyContent:"space-between",flexDirection:"row",children:[r(w,{alignItems:"center",columnGap:"4",children:[e(I,{p:"2",position:"relative",color:"white",_before:{content:'""',position:"absolute",top:0,left:0,bg:"primary.400",display:"block",w:"full",h:"full",borderRadius:"5px",opacity:".5",z:"1"},_after:{content:'""',position:"absolute",top:"-5px",left:"-5px",bg:"primary.400",display:"block",w:"calc(100% + 10px)",h:"calc(100% + 10px)",borderRadius:"8px",opacity:".4",z:"1"},children:n}),e(h,{color:"gray.600",_dark:{color:"gray.300"},fontWeight:"medium",textTransform:"capitalize",fontSize:"sm",children:t})]}),e(I,{fontSize:"3xl",fontWeight:"semibold",mt:"2",children:o})]}),vt="statistics-query-key",Wn=t=>{const{version:o}=v(),{data:n}=zt({queryKey:vt,queryFn:()=>W("/system"),refetchInterval:5e3,onSuccess:({version:s})=>{o!==s&&v.setState({version:s})}}),{t:i}=O();return r(w,{justifyContent:"space-between",gap:0,columnGap:{lg:4,md:0},rowGap:{lg:0,base:4},display:"flex",flexDirection:{lg:"row",base:"column"},...t,children:[e(xt,{title:i("activeUsers"),content:n&&r(w,{alignItems:"flex-end",children:[e(h,{children:or(n.users_active)}),r(h,{fontWeight:"normal",fontSize:"lg",as:"span",display:"inline-block",pb:"5px",children:["/ ",or(n.total_user)]})]}),icon:e(Nn,{})}),e(xt,{title:i("dataUsage"),content:n&&ee(n.incoming_bandwidth+n.outgoing_bandwidth),icon:e(Fn,{})}),e(xt,{title:i("memoryUsage"),content:n&&r(w,{alignItems:"flex-end",children:[e(h,{children:ee(n.mem_used,1,!0)[0]}),r(h,{fontWeight:"normal",fontSize:"lg",as:"span",display:"inline-block",pb:"5px",children:[ee(n.mem_used,1,!0)[1]," /"," ",ee(n.mem_total,1)]})]}),icon:e(Pn,{})})]})},Gr="marzban-num-users-per-page",nr=10,On=()=>{const t=localStorage.getItem(Gr)||nr.toString();return parseInt(t)||nr},jn=t=>localStorage.setItem(Gr,t),Hn=t=>{for(const o in t)t[o]||delete t[o];return v.setState({loading:!0}),W("/users",{query:t}).then(o=>(v.setState({users:o}),o)).finally(()=>{v.setState({loading:!1})})},Bn=()=>W("/inbounds").then(t=>{v.setState({inbounds:new Map(Object.entries(t))})}).finally(()=>{v.setState({loading:!1})}),v=ht(mo((t,o)=>({version:null,editingUser:null,deletingUser:null,isCreatingNewUser:!1,QRcodeLinks:null,subscribeUrl:null,users:{users:[],total:0},loading:!0,isResetingAllUsage:!1,isEditingHosts:!1,isEditingNodes:!1,isShowingNodesUsage:!1,resetUsageUser:null,revokeSubscriptionUser:null,filters:{username:"",limit:On(),sort:"-created_at"},inbounds:new Map,isEditingCore:!1,refetchUsers:()=>{Hn(o().filters)},resetAllUsage:()=>W("/users/reset",{method:"POST"}).then(()=>{o().onResetAllUsage(!1),o().refetchUsers()}),onResetAllUsage:n=>t({isResetingAllUsage:n}),onCreateUser:n=>t({isCreatingNewUser:n}),onEditingUser:n=>{t({editingUser:n})},onDeletingUser:n=>{t({deletingUser:n})},onFilterChange:n=>{t({filters:{...o().filters,...n}}),o().refetchUsers()},setQRCode:n=>{t({QRcodeLinks:n})},deleteUser:n=>(t({editingUser:null}),W(`/user/${n.username}`,{method:"DELETE"}).then(()=>{t({deletingUser:null}),o().refetchUsers(),_t.invalidateQueries(vt)})),createUser:n=>W("/user",{method:"POST",body:n}).then(()=>{t({editingUser:null}),o().refetchUsers(),_t.invalidateQueries(vt)}),editUser:n=>W(`/user/${n.username}`,{method:"PUT",body:n}).then(()=>{o().onEditingUser(null),o().refetchUsers()}),fetchUserUsage:(n,i)=>{for(const s in i)i[s]||delete i[s];return W(`/user/${n.username}/usage`,{method:"GET",query:i})},onEditingHosts:n=>{t({isEditingHosts:n})},onEditingNodes:n=>{t({isEditingNodes:n})},onShowingNodesUsage:n=>{t({isShowingNodesUsage:n})},setSubLink:n=>{t({subscribeUrl:n})},resetDataUsage:n=>W(`/user/${n.username}/reset`,{method:"POST"}).then(()=>{t({resetUsageUser:null}),o().refetchUsers()}),revokeSubscription:n=>W(`/user/${n.username}/revoke_sub`,{method:"POST"}).then(i=>{t({revokeSubscriptionUser:null,editingUser:i}),o().refetchUsers()})}))),le=({children:t,color:o})=>e(I,{position:"relative",width:"36px",height:"36px",display:"flex",justifyContent:"center",alignItems:"center",_before:{content:'""',display:"block",position:"absolute",top:"0",left:"0",width:"calc(100%)",height:"calc(100%)",bg:`${o}.400`,opacity:".5",borderRadius:"5px",zIndex:"1",_dark:{bg:`${o}.400`}},_after:{content:'""',display:"block",position:"absolute",top:"0",left:"0",width:"calc(100% + 10px)",height:"calc(100% + 10px)",transform:"translate(-5px, -5px)",bg:`${o}.400`,opacity:".4",borderRadius:"8px",zIndex:"1",_dark:{bg:`${o}.400`}},children:e(h,{color:`${o}.500`,_dark:{color:`${o}.900`},position:"relative",zIndex:"2",children:t})});window.ace.define("ace/theme/nord_dark",["require","exports","module","ace/lib/dom"],(t,o,n)=>{o.isDark=!0,o.cssClass="ace-nord-dark",t("../lib/dom").importCssString(o.cssText,o.cssClass)});window.ace.define("ace/theme/dawn",["require","exports","module","ace/lib/dom"],(t,o,n)=>{o.isDark=!1,o.cssClass="ace-dawn",t("../lib/dom").importCssString(o.cssText,o.cssClass)});const $n=g.exports.forwardRef(({json:t,onChange:o,mode:n="code"},i)=>{const{colorMode:s}=Qe(),a={mode:n,onChangeText:o,statusBar:!1,mainMenuBar:!1,theme:s==="dark"?"ace/theme/nord_dark":"ace/theme/dawn"},l=g.exports.useRef(null),u=g.exports.useRef(null);return g.exports.useEffect(()=>(u.current=new go(l.current,a),()=>{u.current&&u.current.destroy()}),[]),g.exports.useEffect(()=>{u.current&&u.current.update(t)},[t]),e(I,{ref:i,border:"1px solid",borderColor:"gray.300",_dark:{borderColor:"gray.500"},borderRadius:5,h:"full",children:e(I,{height:"full",ref:l})})}),sr=500,Vn=x(Sr,{baseStyle:{w:5,h:5}}),Gn=x(mt,{baseStyle:{w:4,h:4}}),Zn=x(fo,{baseStyle:{w:4,h:4}}),Yn=x(bo,{baseStyle:{w:3,h:3}}),Qn=t=>({[He.ReadyState.CONNECTING]:"connecting",[He.ReadyState.OPEN]:"connected",[He.ReadyState.CLOSING]:"closed",[He.ReadyState.CLOSED]:"closed",[He.ReadyState.UNINSTANTIATED]:"closed"})[t],qn=()=>{try{let t=new URL("/api/".startsWith("/")?window.location.origin+"/api/":"/api/");return(t.protocol==="https:"?"wss://":"ws://")+yr([t.host+t.pathname,"/core/logs"])+"?interval=1&token="+dt()}catch(t){return console.error("Unable to generate websocket url"),console.error(t),null}};let xe=[];const Xn=()=>{const{isEditingCore:t}=v(),{fetchCoreSettings:o,updateConfig:n,isLoading:i,config:s,isPostLoading:a,version:l,restartCore:u}=Mn(),p=g.exports.useRef(null),[y,c]=g.exports.useState([]),{t:d}=O(),C=he(),_=Oe({defaultValues:{config:s||{}}});g.exports.useEffect(()=>{s&&_.setValue("config",s)},[s]),g.exports.useEffect(()=>{t&&o()},[t]);const b=g.exports.useRef(!0),S=g.exports.useCallback(Cr(D=>{var Z,L,Y;const F=Math.abs((((Z=p.current)==null?void 0:Z.scrollTop)||0)-(((L=p.current)==null?void 0:L.scrollHeight)||0)+(((Y=p.current)==null?void 0:Y.offsetHeight)||0))<10;p.current&&F?b.current=!0:b.current=!1,D.length<40&&c(D)},300),[]),{readyState:R}=xo(qn(),{onMessage:D=>{xe.push(D.data),xe.length>sr&&(xe=xe.splice(0,xe.length-sr)),S([...xe])},shouldReconnect:()=>!0,reconnectAttempts:10,reconnectInterval:1e3});g.exports.useEffect(()=>{var D;p.current&&b.current&&(p.current.scrollTop=(D=p.current)==null?void 0:D.scrollHeight)},[y]),g.exports.useEffect(()=>()=>{xe=[]},[]);const m=Qn(R.toString()),{mutate:f,isLoading:P}=Ge(u),H=({config:D})=>{n(D).then(()=>{C({title:d("core.successMessage"),status:"success",isClosable:!0,position:"top",duration:3e3})}).catch(F=>{let Z=d("core.generalErrorMessage");typeof F.response._data.detail=="object"&&(Z=F.response._data.detail[Object.keys(F.response._data.detail)[0]]),typeof F.response._data.detail=="string"&&(Z=F.response._data.detail),C({title:Z,status:"error",isClosable:!0,position:"top",duration:3e3})})},U=g.exports.useRef(null),[T,B]=g.exports.useState(!1),G=()=>{var D;document.fullscreenElement?(document.exitFullscreen(),B(!1)):((D=U.current)==null||D.requestFullscreen(),B(!0))};return r("form",{onSubmit:_.handleSubmit(H),children:[r(ae,{children:[r(A,{children:[r(w,{justifyContent:"space-between",alignItems:"flex-start",children:[r(X,{children:[d("core.configuration")," ",i&&e(wr,{isIndeterminate:!0,size:"15px"})]}),e(w,{gap:0,children:e(te,{label:"Xray Version",placement:"top",children:e(E,{height:"100%",textTransform:"lowercase",children:l&&`v${l}`})})})]}),r(I,{position:"relative",ref:U,minHeight:"300px",children:[e(ye,{control:_.control,name:"config",render:({field:D})=>e($n,{json:s,onChange:D.onChange})}),e($,{size:"xs","aria-label":"full screen",variant:"ghost",position:"absolute",top:"2",right:"4",onClick:G,children:T?e(Yn,{}):e(Zn,{})})]})]}),r(A,{mt:"4",children:[r(w,{justifyContent:"space-between",children:[e(X,{children:d("core.logs")}),e(h,{as:X,children:d(`core.socket.${m}`)})]}),e(I,{border:"1px solid",borderColor:"gray.300",bg:"#F9F9F9",_dark:{borderColor:"gray.500",bg:"#2e3440"},borderRadius:5,minHeight:"200px",maxHeight:"250px",p:2,overflowY:"auto",ref:p,children:y.map((D,F)=>e(h,{fontSize:"xs",opacity:.8,whiteSpace:"pre-line",children:D},F))})]})]}),e(fe,{children:r(w,{w:"full",justifyContent:"space-between",children:[e(I,{children:e(N,{size:"sm",leftIcon:e(Gn,{className:gt({"animate-spin":P})}),onClick:()=>f(),children:d(P?"core.restarting":"core.restartCore")})}),e(w,{children:e(N,{size:"sm",variant:"solid",colorScheme:"primary",px:"5",type:"submit",isDisabled:i||a,isLoading:a,children:d("core.save")})})]})})]})},Jn=()=>{const{isEditingCore:t}=v(),o=v.setState.bind(null,{isEditingCore:!1}),{t:n}=O();return r(re,{isOpen:t,onClose:o,size:"3xl",children:[e(oe,{bg:"blackAlpha.300",backdropFilter:"blur(10px)"}),r(ne,{mx:"3",w:"full",children:[e(se,{pt:6,children:r(w,{gap:2,children:[e(le,{color:"primary",children:e(Vn,{color:"white"})}),e(h,{fontWeight:"semibold",fontSize:"lg",children:n("core.title")})]})}),e(ie,{mt:3}),e(Xn,{})]})]})},Je=x(yo,{baseStyle:{w:5,h:5}}),Kn=()=>{const[t,o]=g.exports.useState(!1),{deletingUser:n,onDeletingUser:i,deleteUser:s}=v(),{t:a}=O(),l=he(),u=()=>{i(null)},p=()=>{n&&(o(!0),s(n).then(()=>{l({title:a("deleteUser.deleteSuccess",{username:n.username}),status:"success",isClosable:!0,position:"top",duration:3e3})}).then(u).finally(o.bind(null,!1)))};return r(re,{isCentered:!0,isOpen:!!n,onClose:u,size:"sm",children:[e(oe,{bg:"blackAlpha.300",backdropFilter:"blur(10px)"}),r(ne,{mx:"3",children:[e(se,{pt:6,children:e(le,{color:"red",children:e(Je,{})})}),e(ie,{mt:3}),r(ae,{children:[e(h,{fontWeight:"semibold",fontSize:"lg",children:a("deleteUser.title")}),n&&e(h,{mt:1,fontSize:"sm",_dark:{color:"gray.400"},color:"gray.600",children:e(ge,{components:{b:e("b",{})},children:a("deleteUser.prompt",{username:n.username})})})]}),r(fe,{display:"flex",children:[e(N,{size:"sm",onClick:u,mr:3,w:"full",variant:"outline",children:a("cancel")}),e(N,{size:"sm",w:"full",colorScheme:"red",onClick:p,leftIcon:t?e(ke,{size:"xs"}):void 0,children:a("delete")})]})]})]})},Tt={baseStyle:{w:4,h:4}},es=x(So,Tt),ts=x(kr,Tt),Zr=x(mt,Tt),rs=Cr(t=>{v.getState().onFilterChange({...v.getState().filters,offset:0,username:t})},300),os=({...t})=>{const{loading:o,filters:n,onFilterChange:i,refetchUsers:s,onCreateUser:a}=v(),{t:l}=O(),[u,p]=g.exports.useState(""),y=d=>{p(d.target.value),rs(d.target.value)},c=()=>{p(""),i({...n,offset:0,username:""})};return r(_r,{id:"filters",templateColumns:{lg:"repeat(3, 1fr)",md:"repeat(4, 1fr)",base:"repeat(1, 1fr)"},position:"sticky",top:0,mx:"-6",px:"6",rowGap:4,gap:{lg:4,base:0},bg:"var(--chakra-colors-chakra-body-bg)",py:4,zIndex:"docked",...t,children:[e($e,{colSpan:{base:1,md:2,lg:1},order:{base:2,md:1},children:r(it,{children:[e(Co,{pointerEvents:"none",children:e(es,{})}),e(Ne,{placeholder:l("search"),value:u,borderColor:"light-border",onChange:y}),r(at,{children:[o&&e(ke,{size:"xs"}),n.username&&n.username.length>0&&e($,{onClick:c,"aria-label":"clear",size:"xs",variant:"ghost",children:e(ts,{})})]})]})}),e($e,{colSpan:2,order:{base:1,md:2},children:r(w,{justifyContent:"flex-end",alignItems:"center",h:"full",children:[e($,{"aria-label":"refresh users",disabled:o,onClick:s,size:"sm",variant:"outline",children:e(Zr,{className:gt({"animate-spin":o})})}),e(N,{colorScheme:"primary",size:"sm",onClick:()=>a(!0),px:5,children:l("createUser")})]})})]})},Yr="https://github.com/Gozargah/Marzban",ns="https://github.com/Gozargah",ss="https://github.com/Gozargah/Marzban#donation",Qr=t=>{const{version:o}=v();return e(w,{w:"full",py:"0",position:"relative",...t,children:r(h,{display:"inline-block",flexGrow:1,textAlign:"center",color:"gray.500",fontSize:"xs",children:[e(Zt,{color:"blue.400",href:Yr,children:"Marzban"}),o?` (v${o}), `:", ","Made with \u2764\uFE0F in"," ",e(Zt,{color:"blue.400",href:ns,children:"Gozargah"})]})})},is=x(wo,{baseStyle:{w:4,h:4}}),qr=({actions:t})=>{const{i18n:o}=O();var n=i=>{o.changeLanguage(i)};return r(vr,{placement:"bottom-end",children:[e(Ir,{as:$,size:"sm",variant:"outline",icon:e(is,{}),position:"relative"}),r(Dr,{minW:"100px",zIndex:9999,children:[e(de,{maxW:"100px",fontSize:"sm",onClick:()=>n("en"),children:"English"}),e(de,{maxW:"100px",fontSize:"sm",onClick:()=>n("fa"),children:"\u0641\u0627\u0631\u0633\u06CC"}),e(de,{maxW:"100px",fontSize:"sm",onClick:()=>n("zh-cn"),children:"\u7B80\u4F53\u4E2D\u6587"}),e(de,{maxW:"100px",fontSize:"sm",onClick:()=>n("ru"),children:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439"})]})]})},pe={baseStyle:{w:4,h:4}},as=x(ko,pe),ls=x(_o,pe),cs=x(Sr,pe),ds=x(vo,pe),us=x(Io,pe),hs=x(Do,pe),ps=x(Ut,pe),ms=x(zr,pe),gs=x(pt,pe),fs=x(Ur,pe),ir=x(I,{baseStyle:{bg:"yellow.500",w:"2",h:"2",rounded:"full",position:"absolute"}}),Xr="marzban-menu-notification",bs=()=>{const t=localStorage.getItem(Xr);if(!t)return!0;try{return t&&Uo(parseInt(t))?Eo(new Date,new Date(parseInt(t)))>=7:!0}catch{return!0}},xs=({actions:t})=>{const{onEditingHosts:o,onResetAllUsage:n,onEditingNodes:i,onShowingNodesUsage:s}=v(),{t:a}=O(),{colorMode:l,toggleColorMode:u}=Qe(),[p,y]=g.exports.useState(bs()),c=l==="dark"?"dark_dimmed":l,d=()=>{localStorage.setItem(Xr,new Date().getTime().toString()),y(!1)};return r(w,{gap:2,justifyContent:"space-between",__css:{"& .menuList":{direction:"ltr"}},position:"relative",children:[e(h,{as:"h1",fontWeight:"semibold",fontSize:"2xl",children:a("users")}),p&&e(ir,{top:"0",right:"0",zIndex:9999}),e(I,{overflow:"auto",css:{direction:"rtl"},children:r(w,{alignItems:"center",children:[r(vr,{children:[e(Ir,{as:$,size:"sm",variant:"outline",icon:e(ue,{children:e(ds,{})}),position:"relative"}),r(Dr,{minW:"170px",zIndex:99999,className:"menuList",children:[e(de,{maxW:"170px",fontSize:"sm",icon:e(ps,{}),onClick:o.bind(null,!0),children:a("header.hostSettings")}),e(de,{maxW:"170px",fontSize:"sm",icon:e(ms,{}),onClick:i.bind(null,!0),children:a("header.nodeSettings")}),e(de,{maxW:"170px",fontSize:"sm",icon:e(gs,{}),onClick:s.bind(null,!0),children:a("header.nodesUsage")}),e(de,{maxW:"170px",fontSize:"sm",icon:e(fs,{}),onClick:n.bind(null,!0),children:a("resetAllUsage")}),e(Yt,{to:ss,target:"_blank",children:r(de,{maxW:"170px",fontSize:"sm",icon:e(hs,{}),position:"relative",onClick:d,children:[a("header.donation")," ",p&&e(ir,{top:"3",right:"2"})]})}),e(Yt,{to:"/login",children:e(de,{maxW:"170px",fontSize:"sm",icon:e(us,{}),children:a("header.logout")})})]})]}),e($,{size:"sm",variant:"outline","aria-label":"core settings",onClick:()=>{v.setState({isEditingCore:!0})},children:e(cs,{})}),e(qr,{}),e($,{size:"sm",variant:"outline","aria-label":"switch theme",onClick:()=>{Vr(l=="dark"?"light":"dark"),u()},children:l==="light"?e(as,{}):e(ls,{})}),e(I,{css:{direction:"ltr"},display:"flex",alignItems:"center",pr:"2",__css:{"& span":{display:"inline-flex"}},children:e(zo,{href:Yr,"data-color-scheme":`no-preference: ${c}; light: ${c}; dark: ${c};`,"data-size":"large","data-show-count":"true","aria-label":"Star Marzban on GitHub",children:"Star"})})]})})]})},ys=[{title:"Inbound's default",value:"inbound_default"},{title:"TLS",value:"tls"},{title:"None",value:"none"}],Ss=[{title:"",value:""},{title:"h2",value:"h2"},{title:"http/1.1",value:"http/1.1"},{title:"h2, http/1.1",value:"h2,http/1.1"}],Cs=[{title:"",value:""},...["chrome","firefox","safari","ios","android","edge","360","qq","random","randomized"].map(t=>({title:t,value:t}))],ws=[{title:"none",value:""},{title:"xtls-rprx-vision",value:"xtls-rprx-vision"}],ks=["aes-128-gcm","aes-256-gcm","chacha20-ietf-poly1305"],_s=ht(t=>({isLoading:!1,isPostLoading:!1,hosts:{},fetchHosts:()=>{t({isLoading:!0}),W("/hosts").then(o=>t({hosts:o})).finally(()=>t({isLoading:!1}))},setHosts:o=>(t({isPostLoading:!0}),W("/hosts",{method:"PUT",body:o}).finally(()=>{t({isPostLoading:!1})}))}));const vs=x(kr,{baseStyle:{w:4,h:4}}),Ce=wt.forwardRef(({disabled:t,step:o,label:n,className:i,startAdornment:s,endAdornment:a,type:l="text",placeholder:u,onChange:p,onBlur:y,name:c,value:d,onClick:C,error:_,clearable:b=!1,...S},R)=>{const m=()=>{p&&p({target:{value:"",name:c}})},{size:f="md"}=S,P=l=="number"?Fo:Ne,H=l=="number"?Lo:wt.Fragment,U=l=="number"?{keepWithinRange:!0,precision:5,format:T=>isNaN(parseFloat(String(T)))||Number(parseFloat(String(T)).toFixed(5))===0?T:Number(parseFloat(String(T)).toFixed(5)),min:0,step:o,name:c,type:l,placeholder:u,onChange:T=>{p&&p(T)},onBlur:y,value:d,onClick:C,disabled:t,flexGrow:1,size:f}:{};return r(A,{isInvalid:!!_,children:[n&&e(X,{children:n}),r(it,{size:f,w:"full",rounded:"md",_focusWithin:{outline:"2px solid",outlineColor:"primary.200"},bg:t?"gray.100":"transparent",_dark:{bg:t?"gray.600":"transparent"},children:[s&&e(Ro,{children:s}),r(H,{...U,children:[e(P,{name:c,ref:R,step:o,className:gt(i),type:l,placeholder:u,onChange:p,onBlur:y,value:d,onClick:C,disabled:t,flexGrow:1,_focusVisible:{outline:"none",borderTopColor:"transparent",borderRightColor:"transparent",borderBottomColor:"transparent"},_disabled:{cursor:"not-allowed"},...S,roundedLeft:s?"0":"md",roundedRight:a?"0":"md"}),l=="number"&&e(ue,{children:r(To,{children:[e(Ao,{}),e(Mo,{})]})})]}),a&&e(No,{borderLeftRadius:0,borderRightRadius:"6px",bg:"transparent",children:a}),b&&d&&d.length&&e(at,{borderLeftRadius:0,borderRightRadius:"6px",bg:"transparent",onClick:m,cursor:"pointer",children:e(vs,{})})]}),!!_&&e(lt,{children:_})]})}),yt=x(we,{baseStyle:{bg:"white",_dark:{bg:"gray.700"}}}),Be=x(Ce,{baseStyle:{bg:"white",_dark:{bg:"gray.700"}}}),Is=x(Ut,{baseStyle:{w:5,h:5}}),Me=x(Po,{baseStyle:{w:4,h:4,color:"gray.400",cursor:"pointer"}}),Ds=k.record(k.string().min(1),k.array(k.object({remark:k.string().min(1,"Remark is required"),address:k.string().min(1,"Address is required"),port:k.string().or(k.number()).nullable().transform(t=>typeof t=="number"?t:t!==null&&!isNaN(parseInt(t))?Number(parseInt(t)):null),sni:k.string().nullable(),host:k.string().nullable(),security:k.string(),alpn:k.string(),fingerprint:k.string()}))),rt=x(lt,{baseStyle:{color:"red.400",display:"block",textAlign:"left",w:"100%"}}),zs=({hostKey:t,isOpen:o,toggleAccordion:n})=>{const{inbounds:i}=v(),s=[...i.values()].flat().filter(_=>_.tag===t)[0],a=Et(),{fields:l,append:u,remove:p}=Wo({control:a.control,name:t}),{errors:y}=a.formState,{t:c}=O(),d=y[t],C=()=>{u({host:"",sni:"",port:null,address:"",remark:"",security:"inbound_default",alpn:"",fingerprint:""})};return g.exports.useEffect(()=>{d&&!o&&n()},[d]),r(Fe,{border:"1px solid",_dark:{borderColor:"gray.600"},_light:{borderColor:"gray.200"},borderRadius:"4px",p:1,w:"full",children:[r(Pe,{px:2,borderRadius:"3px",onClick:n,children:[e(h,{as:"span",fontWeight:"medium",fontSize:"sm",flex:"1",textAlign:"left",color:"gray.700",_dark:{color:"gray.300"},children:t}),e(kt,{})]}),e(We,{px:2,pb:2,children:r(M,{gap:3,children:[l.map((_,b)=>{var S,R,m,f,P,H,U,T,B,G,D,F,Z,L,Y,J,tt;return r(M,{border:"1px solid",_dark:{borderColor:"gray.600",bg:"#273142"},_light:{borderColor:"gray.200",bg:"#fcfbfb"},p:2,w:"full",borderRadius:"4px",children:[e(w,{w:"100%",alignItems:"flex-start",children:r(A,{position:"relative",zIndex:10,isInvalid:!!(d&&((S=d[b])==null?void 0:S.remark)),children:[r(it,{children:[e(Be,{...a.register(t+"."+b+".remark"),size:"sm",borderRadius:"4px",placeholder:"Remark"}),e(at,{children:r(ze,{isLazy:!0,placement:"right",children:[e(Ue,{children:e(I,{mt:"-8px",children:e(Me,{})})}),e(Ee,{children:r(Le,{children:[e(Re,{}),e(Te,{}),e(Qt,{children:r(I,{fontSize:"xs",children:[e(h,{pr:"20px",children:c("hostsDialog.desc")}),r(h,{children:[r(E,{children:["{","SERVER_IP","}"]})," ",c("hostsDialog.currentServer")]}),r(h,{mt:1,children:[r(E,{children:["{","USERNAME","}"]})," ",c("hostsDialog.username")]}),r(h,{mt:1,children:[r(E,{children:["{","DATA_USAGE","}"]})," ",c("hostsDialog.dataUsage")]}),r(h,{mt:1,children:[r(E,{children:["{","DATA_LEFT","}"]})," ",c("hostsDialog.remainingData")]}),r(h,{mt:1,children:[r(E,{children:["{","DATA_LIMIT","}"]})," ",c("hostsDialog.dataLimit")]}),r(h,{mt:1,children:[r(E,{children:["{","DAYS_LEFT","}"]})," ",c("hostsDialog.remainingDays")]}),r(h,{mt:1,children:[r(E,{children:["{","EXPIRE_DATE","}"]})," ",c("hostsDialog.expireDate")]}),r(h,{mt:1,children:[r(E,{children:["{","JALALI_EXPIRE_DATE","}"]})," ",c("hostsDialog.jalaliExpireDate")]}),r(h,{mt:1,children:[r(E,{children:["{","TIME_LEFT","}"]})," ",c("hostsDialog.remainingTime")]}),r(h,{mt:1,children:[r(E,{children:["{","STATUS_EMOJI","}"]})," ",c("hostsDialog.statusEmoji")]}),r(h,{mt:1,children:[r(E,{children:["{","PROTOCOL","}"]})," ",c("hostsDialog.proxyProtocol")]}),r(h,{mt:1,children:[r(E,{children:["{","TRANSPORT","}"]})," ",c("hostsDialog.proxyMethod")]})]})})]})})]})})]}),d&&((R=d[b])==null?void 0:R.remark)&&e(rt,{children:(f=(m=d[b])==null?void 0:m.remark)==null?void 0:f.message})]})}),r(A,{isInvalid:!!(d&&((P=d[b])==null?void 0:P.address)),children:[r(it,{children:[e(Be,{size:"sm",borderRadius:"4px",placeholder:"Address (e.g. example.com)",...a.register(t+"."+b+".address")}),e(at,{children:r(ze,{isLazy:!0,placement:"right",children:[e(Ue,{children:e(I,{mt:"-8px",children:e(Me,{})})}),e(Ee,{children:r(Le,{children:[e(Re,{}),e(Te,{}),e(Qt,{children:r(I,{fontSize:"xs",children:[e(h,{pr:"20px",children:c("hostsDialog.desc")}),r(h,{children:[r(E,{children:["{","SERVER_IP","}"]})," ",c("hostsDialog.currentServer")]}),r(h,{mt:1,children:[r(E,{children:["{","USERNAME","}"]})," ",c("hostsDialog.username")]}),r(h,{mt:1,children:[r(E,{children:["{","DATA_USAGE","}"]})," ",c("hostsDialog.dataUsage")]}),r(h,{mt:1,children:[r(E,{children:["{","DATA_LEFT","}"]})," ",c("hostsDialog.remainingData")]}),r(h,{mt:1,children:[r(E,{children:["{","DATA_LIMIT","}"]})," ",c("hostsDialog.dataLimit")]}),r(h,{mt:1,children:[r(E,{children:["{","DAYS_LEFT","}"]})," ",c("hostsDialog.remainingDays")]}),r(h,{mt:1,children:[r(E,{children:["{","EXPIRE_DATE","}"]})," ",c("hostsDialog.expireDate")]}),r(h,{mt:1,children:[r(E,{children:["{","JALALI_EXPIRE_DATE","}"]})," ",c("hostsDialog.jalaliExpireDate")]}),r(h,{mt:1,children:[r(E,{children:["{","TIME_LEFT","}"]})," ",c("hostsDialog.remainingTime")]}),r(h,{mt:1,children:[r(E,{children:["{","STATUS_EMOJI","}"]})," ",c("hostsDialog.statusEmoji")]}),r(h,{mt:1,children:[r(E,{children:["{","PROTOCOL","}"]})," ",c("hostsDialog.proxyProtocol")]}),r(h,{mt:1,children:[r(E,{children:["{","TRANSPORT","}"]})," ",c("hostsDialog.proxyMethod")]})]})})]})})]})})]}),d&&((H=d[b])==null?void 0:H.address)&&e(rt,{children:(T=(U=d[b])==null?void 0:U.address)==null?void 0:T.message})]}),e(Xe,{w:"full",allowToggle:!0,children:r(Fe,{border:"0",children:[r(Pe,{display:"flex",justifyContent:"space-between",px:0,py:1,borderRadius:3,_hover:{bg:"transparent"},children:[r(h,{fontSize:"xs",color:"gray.600",_dark:{color:"gray.500"},pl:1,children:[c("hostsDialog.advancedOptions"),e(kt,{fontSize:"sm",ml:1})]}),e(te,{label:"Delete",placement:"top",children:e($,{"aria-label":"Delete",size:"sm",colorScheme:"red",variant:"ghost",onClick:p.bind(null,b),children:e(Je,{})})})]}),e(We,{w:"full",p:1,children:r(M,{w:"full",borderRadius:"4px",children:[r(A,{isInvalid:!!(d&&((B=d[b])==null?void 0:B.port)),children:[r(X,{display:"flex",pb:1,alignItems:"center",justifyContent:"space-between",gap:1,m:"0",children:[e("span",{children:c("hostsDialog.port")}),r(ze,{isLazy:!0,placement:"right",children:[e(Ue,{children:e(Me,{})}),e(Ee,{children:r(Le,{p:2,children:[e(Re,{}),e(Te,{}),e(h,{fontSize:"xs",pr:5,children:c("hostsDialog.port.info")})]})})]})]}),e(Be,{size:"sm",borderRadius:"4px",placeholder:String(s.port||"8080"),type:"number",...a.register(t+"."+b+".port")})]}),r(A,{isInvalid:!!(d&&((G=d[b])==null?void 0:G.sni)),children:[r(X,{display:"flex",pb:1,alignItems:"center",gap:1,justifyContent:"space-between",m:"0",children:[e("span",{children:c("hostsDialog.sni")}),r(ze,{isLazy:!0,placement:"right",children:[e(Ue,{children:e(Me,{})}),e(Ee,{children:r(Le,{p:2,children:[e(Re,{}),e(Te,{}),e(h,{fontSize:"xs",pr:5,children:c("hostsDialog.sni.info")}),e(h,{fontSize:"xs",mt:"2",children:e(ge,{i18nKey:"hostsDialog.host.wildcard",components:{badge:e(E,{})}})}),e(h,{fontSize:"xs",children:e(ge,{i18nKey:"hostsDialog.host.multiHost",components:{badge:e(E,{})}})})]})})]})]}),e(Be,{size:"sm",borderRadius:"4px",placeholder:"SNI (e.g. example.com)",...a.register(t+"."+b+".sni")}),d&&((D=d[b])==null?void 0:D.sni)&&e(rt,{children:(Z=(F=d[b])==null?void 0:F.sni)==null?void 0:Z.message})]}),r(A,{isInvalid:!!(d&&((L=d[b])==null?void 0:L.host)),children:[r(X,{display:"flex",pb:1,alignItems:"center",gap:1,justifyContent:"space-between",m:"0",children:[e("span",{children:c("hostsDialog.host")}),r(ze,{isLazy:!0,placement:"right",children:[e(Ue,{children:e(Me,{})}),e(Ee,{children:r(Le,{p:2,children:[e(Re,{}),e(Te,{}),e(h,{fontSize:"xs",pr:5,children:c("hostsDialog.host.info")}),e(h,{fontSize:"xs",mt:"2",children:e(ge,{i18nKey:"hostsDialog.host.wildcard",components:{badge:e(E,{})}})}),e(h,{fontSize:"xs",children:e(ge,{i18nKey:"hostsDialog.host.multiHost",components:{badge:e(E,{})}})})]})})]})]}),e(Be,{size:"sm",borderRadius:"4px",placeholder:"Host (e.g. example.com)",...a.register(t+"."+b+".host")}),d&&((Y=d[b])==null?void 0:Y.host)&&e(rt,{children:(tt=(J=d[b])==null?void 0:J.host)==null?void 0:tt.message})]}),r(A,{height:"66px",children:[r(X,{display:"flex",pb:1,alignItems:"center",gap:1,justifyContent:"space-between",m:"0",children:[e("span",{children:c("hostsDialog.security")}),r(ze,{isLazy:!0,placement:"right",children:[e(Ue,{children:e(Me,{})}),e(Ee,{children:r(Le,{p:2,children:[e(Re,{}),e(Te,{}),e(h,{fontSize:"xs",pr:5,children:c("hostsDialog.security.info")})]})})]})]}),e(yt,{size:"sm",...a.register(t+"."+b+".security"),children:ys.map(K=>e("option",{value:K.value,children:K.title},K.value))})]}),r(A,{height:"66px",children:[e(X,{display:"flex",pb:1,alignItems:"center",gap:1,justifyContent:"space-between",m:"0",children:e("span",{children:c("hostsDialog.alpn")})}),e(yt,{size:"sm",...a.register(t+"."+b+".alpn"),children:Ss.map(K=>e("option",{value:K.value,children:K.title},K.value))})]}),r(A,{height:"66px",children:[e(X,{display:"flex",pb:1,alignItems:"center",gap:1,justifyContent:"space-between",m:"0",children:e("span",{children:c("hostsDialog.fingerprint")})}),e(yt,{size:"sm",...a.register(t+"."+b+".fingerprint"),children:Cs.map(K=>e("option",{value:K.value,children:K.title},K.value))})]})]},b)})]})})]},b)}),e(N,{variant:"outline",w:"full",size:"sm",color:"",fontWeight:"normal",onClick:C,children:c("hostsDialog.addHost")})]})})]})},Us=()=>{const{isEditingHosts:t,onEditingHosts:o,refetchUsers:n,inbounds:i}=v(),{isLoading:s,hosts:a,fetchHosts:l,isPostLoading:u,setHosts:p}=_s(),y=he(),{t:c}=O(),[d,C]=g.exports.useState({});g.exports.useEffect(()=>{t&&l()},[t]);const _=Oe({resolver:qe(Ds)});g.exports.useEffect(()=>{a&&t&&_.reset(a)},[a]);const b=()=>{C({}),o(!1)},S=m=>{p(m).then(()=>{y({title:c("hostsDialog.savedSuccess"),status:"success",isClosable:!0,position:"top",duration:3e3}),n()}).catch(f=>{var P,H,U,T,B;(((P=f==null?void 0:f.response)==null?void 0:P.status)===409||((H=f==null?void 0:f.response)==null?void 0:H.status)===400)&&y({title:(T=(U=f.response)==null?void 0:U._data)==null?void 0:T.detail,status:"error",isClosable:!0,position:"top",duration:3e3}),((B=f==null?void 0:f.response)==null?void 0:B.status)===422&&Object.keys(f.response._data.detail).forEach(G=>{y({title:f.response._data.detail[G]+" ("+G+")",status:"error",isClosable:!0,position:"top",duration:3e3})})})},R=m=>{d[String(m)]?delete d[String(m)]:d[String(m)]={},C({...d})};return r(re,{isOpen:t,onClose:b,children:[e(oe,{bg:"blackAlpha.300",backdropFilter:"blur(10px)"}),r(ne,{mx:"3",w:"fit-content",maxW:"3xl",children:[e(se,{pt:6,children:e(le,{color:"primary",children:e(Is,{color:"white"})})}),e(ie,{mt:3}),e(ae,{w:"440px",pb:3,pt:3,children:e(Er,{..._,children:r("form",{onSubmit:_.handleSubmit(S),children:[e(h,{mb:3,opacity:.8,fontSize:"sm",children:c("hostsDialog.title")}),s&&c("hostsDialog.loading"),!s&&a&&(Object.keys(a).length>0?e(Xe,{w:"full",allowToggle:!0,allowMultiple:!0,index:Object.keys(d).map(m=>parseInt(m)),children:e(M,{w:"full",children:Object.keys(a).map((m,f)=>e(zs,{toggleAccordion:()=>R(f),isOpen:d[String(f)],hostKey:m},m))})}):"No inbound found. Please check your Xray config file."),e(w,{justifyContent:"flex-end",py:2,children:e(N,{variant:"solid",mt:"2",type:"submit",colorScheme:"primary",size:"sm",px:5,isLoading:u,disabled:u,children:c("hostsDialog.apply")})})]})})})]})]})},Jr=k.object({name:k.string().min(1),address:k.string().min(1),port:k.number().min(1).or(k.string().transform(t=>parseFloat(t))),api_port:k.number().min(1).or(k.string().transform(t=>parseFloat(t))),xray_version:k.string().nullable().optional(),id:k.number().nullable().optional(),status:k.enum(["connected","connecting","error","disabled"]).nullable().optional(),message:k.string().nullable().optional(),add_as_new_host:k.boolean().optional()}),Es=()=>({name:"",address:"",port:62050,api_port:62051,xray_version:""}),Ye="fetch-nodes-query-key",Ls=()=>{const{isEditingNodes:t}=v();return zt({queryKey:Ye,queryFn:Ke.getState().fetchNodes,refetchInterval:t?3e3:void 0,refetchOnWindowFocus:!1})},Ke=ht((t,o)=>({nodes:[],addNode(n){return W("/node",{method:"POST",body:n})},fetchNodes(){return W("/nodes")},fetchNodesUsage(n){return W("/nodes/usage",{query:n})},updateNode(n){return W(`/node/${n.id}`,{method:"PUT",body:n})},setDeletingNode(n){t({deletingNode:n})},reconnectNode(n){return W(`/node/${n.id}/reconnect`,{method:"POST"})},deleteNode:()=>{var n;return W(`/node/${(n=o().deletingNode)==null?void 0:n.id}`,{method:"DELETE"})}})),At=(t,o,n)=>{if(t.response&&t.response._data){if(typeof t.response._data.detail=="string")return o({title:t.response._data.detail,status:"error",isClosable:!0,position:"top",duration:3e3});if(typeof t.response._data.detail=="object"&&n){Object.keys(t.response._data.detail).forEach(i=>n.setError(i,{message:t.response._data.detail[i]}));return}}return o({title:"Something went wrong!",status:"error",isClosable:!0,position:"top",duration:3e3})},Mt=(t,o)=>o({title:t,status:"success",isClosable:!0,position:"top",duration:3e3}),Rs=({deleteCallback:t})=>{const{deleteNode:o,deletingNode:n,setDeletingNode:i}=Ke(),{t:s}=O(),a=he(),l=Lt(),u=()=>{i(null)},{isLoading:p,mutate:y}=Ge(o,{onSuccess:()=>{Mt(s("deleteNode.deleteSuccess",{name:n&&n.name}),a),i(null),l.invalidateQueries(Ye),t&&t()},onError:c=>{At(c,a)}});return r(re,{isCentered:!0,isOpen:!!n,onClose:u,size:"sm",children:[e(oe,{bg:"blackAlpha.300",backdropFilter:"blur(10px)"}),r(ne,{mx:"3",children:[e(se,{pt:6,children:e(le,{color:"red",children:e(Je,{})})}),e(ie,{mt:3}),r(ae,{children:[e(h,{fontWeight:"semibold",fontSize:"lg",children:s("deleteNode.title")}),n&&e(h,{mt:1,fontSize:"sm",_dark:{color:"gray.400"},color:"gray.600",children:e(ge,{components:{b:e("b",{})},children:s("deleteNode.prompt",{name:n.name})})})]}),r(fe,{display:"flex",children:[e(N,{size:"sm",onClick:u,mr:3,w:"full",variant:"outline",children:s("cancel")}),e(N,{size:"sm",w:"full",colorScheme:"red",onClick:()=>y(),leftIcon:p?e(ke,{size:"xs"}):void 0,children:s("delete")})]})]})]})},et={baseStyle:{strokeWidth:"2px",w:4,h:4}},ar=x(Oo,et),Ts=x(jo,et),lr=x(Ho,et),cr=x(Lr,et),As=x(Lr,et),It=[{title:"No",value:"no_reset"},{title:"Daily",value:"day"},{title:"Weekly",value:"week"},{title:"Monthly",value:"month"},{title:"Annually",value:"year"}],Ve={active:{statusColor:"green",bandWidthColor:"primary",icon:ar},connected:{statusColor:"green",bandWidthColor:"primary",icon:ar},disabled:{statusColor:"gray",bandWidthColor:"gray",icon:Ts},expired:{statusColor:"orange",bandWidthColor:"orange",icon:cr},on_hold:{statusColor:"purple",bandWidthColor:"purple",icon:As},connecting:{statusColor:"orange",bandWidthColor:"orange",icon:cr},limited:{statusColor:"red",bandWidthColor:"red",icon:lr},error:{statusColor:"red",bandWidthColor:"red",icon:lr}},Nt=t=>{let o={status:"",time:""};if(t){j(t*1e3).utc().isAfter(j().utc())?o.status="expires":o.status="expired";const n=[],i=j.duration(j(t*1e3).utc().diff(j()));i.years()!=0&&n.push(Math.abs(i.years())+" year"+(Math.abs(i.years())!=1?"s":"")),i.months()!=0&&n.push(Math.abs(i.months())+" month"+(Math.abs(i.months())!=1?"s":"")),i.days()!=0&&n.push(Math.abs(i.days())+" day"+(Math.abs(i.days())!=1?"s":"")),n.length===0&&(i.hours()!=0&&n.push(Math.abs(i.hours())+" hour"+(Math.abs(i.hours())!=1?"s":"")),i.minutes()!=0&&n.push(Math.abs(i.minutes())+" min"+(Math.abs(i.minutes())!=1?"s":""))),o.time=n.join(", ")}return o},st=({expiryDate:t,status:o,compact:n=!1,showDetail:i=!0,extraText:s})=>{const{t:a}=O(),l=Nt(t),u=Ve[o].icon;return r(ue,{children:[r(E,{colorScheme:Ve[o].statusColor,rounded:"full",display:"inline-flex",px:3,py:1,columnGap:n?1:2,alignItems:"center",children:[e(u,{w:n?3:4}),i&&r(h,{textTransform:"capitalize",fontSize:n?".7rem":".875rem",lineHeight:n?"1rem":"1.25rem",fontWeight:"medium",letterSpacing:"tighter",children:[o,s&&`: ${s}`]})]}),i&&t&&e(h,{display:"inline-block",fontSize:"xs",fontWeight:"medium",ml:"2",color:"gray.600",_dark:{color:"gray.400"},children:a(l.status,{time:l.time})})]})},ot=x(Ce,{baseStyle:{bg:"white",_dark:{bg:"gray.700"}}}),Ms=x(zr,{baseStyle:{w:5,h:5}}),Ns=x(Bo,{baseStyle:{w:5,h:5,strokeWidth:2}}),Fs=({toggleAccordion:t,node:o})=>{const{updateNode:n,reconnectNode:i,setDeletingNode:s}=Ke(),{t:a}=O(),l=Lt(),u=he(),p=Oe({defaultValues:o,resolver:qe(Jr)}),y=s.bind(null,o),{isLoading:c,mutate:d}=Ge(n,{onSuccess:()=>{Mt("Node updated successfully",u),l.invalidateQueries(Ye)},onError:S=>{At(S,u,p)}}),{isLoading:C,mutate:_}=Ge(i.bind(null,o),{onSuccess:()=>{l.invalidateQueries(Ye)}}),b=C?"connecting":o.status?o.status:"error";return r(Fe,{border:"1px solid",_dark:{borderColor:"gray.600"},_light:{borderColor:"gray.200"},borderRadius:"4px",p:1,w:"full",children:[r(Pe,{px:2,borderRadius:"3px",onClick:t,children:[r(w,{w:"full",justifyContent:"space-between",pr:2,children:[e(h,{as:"span",fontWeight:"medium",fontSize:"sm",flex:"1",textAlign:"left",color:"gray.700",_dark:{color:"gray.300"},children:o.name}),r(w,{children:[o.xray_version&&e(E,{colorScheme:"blue",rounded:"full",display:"inline-flex",px:3,py:1,children:r(h,{textTransform:"capitalize",fontSize:"0.7rem",fontWeight:"medium",letterSpacing:"tighter",children:["Xray ",o.xray_version]})}),o.status&&e(st,{status:b,compact:!0})]})]}),e(kt,{})]}),r(We,{px:2,pb:2,children:[e(M,{pb:3,alignItems:"flex-start",children:b==="error"&&e(Ze,{status:"error",size:"xs",children:r(I,{children:[r(w,{w:"full",children:[e(ct,{w:4}),e(h,{marginInlineEnd:0,children:o.message})]}),e(w,{justifyContent:"flex-end",w:"full",children:e(N,{size:"sm","aria-label":"reconnect node",leftIcon:e(Zr,{}),onClick:()=>_(),disabled:C,children:a(C?"nodes.reconnecting":"nodes.reconnect")})})]})})}),e(Kr,{form:p,mutate:d,isLoading:c,submitBtnText:a("nodes.editNode"),btnLeftAdornment:e(te,{label:a("delete"),placement:"top",children:e($,{colorScheme:"red",variant:"ghost",size:"sm","aria-label":"delete node",onClick:y,children:e(Je,{})})})})]})]})},Ps=({toggleAccordion:t,resetAccordions:o})=>{const n=he(),{t:i}=O(),s=Lt(),{addNode:a}=Ke(),l=Oe({resolver:qe(Jr),defaultValues:{...Es(),add_as_new_host:!0}}),{isLoading:u,mutate:p}=Ge(a,{onSuccess:()=>{Mt(i("nodes.addNodeSuccess",{name:l.getValues("name")}),n),s.invalidateQueries(Ye),l.reset(),o()},onError:y=>{At(y,n,l)}});return r(Fe,{border:"1px solid",_dark:{borderColor:"gray.600"},_light:{borderColor:"gray.200"},borderRadius:"4px",p:1,w:"full",children:[e(Pe,{px:2,borderRadius:"3px",onClick:t,children:r(h,{as:"span",fontWeight:"medium",fontSize:"sm",flex:"1",textAlign:"left",color:"gray.700",_dark:{color:"gray.300"},display:"flex",gap:1,children:[e(Ns,{display:"inline-block"})," ",e("span",{children:i("nodes.addNewMarzbanNode")})]})}),e(We,{px:2,py:4,children:e(Kr,{form:l,mutate:p,isLoading:u,submitBtnText:i("nodes.addNode"),btnProps:{variant:"solid"},addAsHost:!0})})]})},Kr=({form:t,mutate:o,isLoading:n,submitBtnText:i,btnProps:s={},btnLeftAdornment:a,addAsHost:l=!1})=>{var _,b,S,R,m,f,P,H,U,T,B,G;const{t:u}=O(),[p,y]=g.exports.useState(!1),{data:c,isLoading:d}=zt({queryKey:"node-settings",queryFn:()=>W("/node/settings")});function C(D){if(document.body.createTextRange){const F=document.body.createTextRange();F.moveToElementText(D),F.select()}else if(window.getSelection){const F=window.getSelection(),Z=document.createRange();Z.selectNodeContents(D),F.removeAllRanges(),F.addRange(Z)}else console.warn("Could not select text in node: Unsupported browser.")}return e("form",{onSubmit:t.handleSubmit(D=>o(D)),children:r(M,{children:[c&&c.certificate&&e(Ze,{status:"info",alignItems:"start",children:r(Rr,{display:"flex",flexDirection:"column",overflow:"hidden",children:[e("span",{children:u("nodes.connection-hint")}),r(w,{justify:"end",py:2,children:[e(N,{as:"a",colorScheme:"primary",size:"xs",download:"ssl_client_cert.pem",href:URL.createObjectURL(new Blob([c.certificate],{type:"text/plain"})),children:u("nodes.download-certificate")}),e(te,{placement:"top",label:u("nodes.show-certificate"),children:e($,{"aria-label":u("nodes.show-certificate"),onClick:y.bind(null,!p),colorScheme:"whiteAlpha",color:"primary",size:"xs",children:p?e(Vo,{width:"15px"}):e($o,{width:"15px"})})})]}),e(Tr,{in:p,animateOpacity:!0,children:e(h,{bg:"rgba(255,255,255,.5)",_dark:{bg:"rgba(255,255,255,.2)"},rounded:"md",p:"2",lineHeight:"1.2",fontSize:"10px",fontFamily:"Courier",whiteSpace:"pre",overflow:"auto",onClick:D=>{C(D.target)},children:c.certificate})})]})}),r(w,{w:"full",children:[e(A,{children:e(ot,{label:u("nodes.nodeName"),size:"sm",placeholder:"Marzban-S2",...t.register("name"),error:(S=(b=(_=t.formState)==null?void 0:_.errors)==null?void 0:b.name)==null?void 0:S.message})}),e(w,{px:1,children:e(ye,{name:"status",control:t.control,render:({field:D})=>e(te,{placement:"top",label:`${u("usersTable.status")}: `+(D.value!=="disabled"?u("active"):u("disabled")),textTransform:"capitalize",children:e(I,{mt:"6",children:e(Ar,{colorScheme:"primary",isChecked:D.value!=="disabled",onChange:F=>{F.target.checked?D.onChange("connecting"):D.onChange("disabled")}})})},D.value)})})]}),r(w,{alignItems:"flex-start",children:[e(I,{w:"50%",children:e(ot,{label:u("nodes.nodeAddress"),size:"sm",placeholder:"51.20.12.13",...t.register("address"),error:(f=(m=(R=t.formState)==null?void 0:R.errors)==null?void 0:m.address)==null?void 0:f.message})}),e(I,{w:"25%",children:e(ot,{label:u("nodes.nodePort"),size:"sm",placeholder:"62050",...t.register("port"),error:(U=(H=(P=t.formState)==null?void 0:P.errors)==null?void 0:H.port)==null?void 0:U.message})}),e(I,{w:"25%",children:e(ot,{label:u("nodes.nodeAPIPort"),size:"sm",placeholder:"62051",...t.register("api_port"),error:(G=(B=(T=t.formState)==null?void 0:T.errors)==null?void 0:B.api_port)==null?void 0:G.message})})]}),l&&e(A,{py:1,children:e(Mr,{...t.register("add_as_new_host"),children:e(X,{m:0,children:u("nodes.addHostForEveryInbound")})})}),r(w,{w:"full",children:[a,e(N,{flexGrow:1,type:"submit",colorScheme:"primary",size:"sm",px:5,w:"full",isLoading:n,...s,children:i})]})]})})},Ws=()=>{const{isEditingNodes:t,onEditingNodes:o}=v(),{t:n}=O(),[i,s]=g.exports.useState({}),{data:a,isLoading:l}=Ls(),u=()=>{s({}),o(!1)},p=y=>{i[String(y)]?delete i[String(y)]:i[String(y)]={},s({...i})};return r(ue,{children:[r(re,{isOpen:t,onClose:u,children:[e(oe,{bg:"blackAlpha.300",backdropFilter:"blur(10px)"}),r(ne,{mx:"3",w:"fit-content",maxW:"3xl",children:[e(se,{pt:6,children:e(le,{color:"primary",children:e(Ms,{color:"white"})})}),e(ie,{mt:3}),r(ae,{w:"440px",pb:6,pt:3,children:[e(h,{mb:3,opacity:.8,fontSize:"sm",children:n("nodes.title")}),l&&"loading...",e(Xe,{w:"full",allowToggle:!0,index:Object.keys(i).map(y=>parseInt(y)),children:r(M,{w:"full",children:[!l&&a&&a.map((y,c)=>e(Fs,{toggleAccordion:()=>p(c),node:y},y.name)),e(Ps,{toggleAccordion:()=>p((a||[]).length),resetAccordions:()=>s({})})]})})]})]})]}),e(Rs,{deleteCallback:()=>s({})})]})};function Os(t){const o=360/t,n=90,i=47,s=[];for(let a=0;a(C<0&&(C+=1),C>1&&(C-=1),C<.16666666666666666?c+(d-c)*6*C:C<.5?d:C<.6666666666666666?c+(d-c)*(.6666666666666666-C)*6:c),p=n<.5?n*(1+o):n+o-n*o,y=2*n-p;i=Math.round(u(y,p,t+1/3)*255),s=Math.round(u(y,p,t)*255),a=Math.round(u(y,p,t-1/3)*255)}const l=u=>{const p=u.toString(16);return p.length===1?"0"+p:p};return`#${l(i)}${l(s)}${l(a)}`}const dr=({border:t,...o})=>{const{getInputProps:n,getRadioProps:i}=Jo(o),s=Se({base:"xs",md:"sm"});return r(I,{as:"label",children:[e("input",{...n()}),e(I,{...i(),minW:"48px",w:"full",h:"full",textAlign:"center",cursor:"pointer",fontSize:s,borderWidth:t?"1px":"0px",borderRadius:"md",_checked:{bg:"primary.500",color:"white",borderColor:"primary.500"},_focus:{boxShadow:"outline"},px:3,py:1,children:o.children})]})},eo=({onChange:t,defaultValue:o,...n})=>{const{t:i,i18n:s}=O();Qe();const a=Se({base:["7h","1d","3d","1w"],md:["7h","1d","3d","1w","1m","3m"]}),l={h:"hour",d:"day",w:"week",m:"month",y:"year"},u=Se({base:[{title:"hours",options:["1h","3h","6h","12h"]},{title:"days",options:["1d","2d","3d","4d"]},{title:"weeks",options:["1w","2w","3w","4w"]},{title:"months",options:["1m","2m","3m","6m"]}],md:[{title:"hours",options:["1h","2h","3h","6h","8h","12h"]},{title:"days",options:["1d","2d","3d","4d","5d","6d"]},{title:"weeks",options:["1w","2w","3w","4w"]},{title:"months",options:["1m","2m","3m","6m","8m"]}]}),{getRootProps:p,getRadioProps:y,setValue:c}=Go({name:"filter",defaultValue:o,onChange:L=>{if(L==="custom")return;_(),a.indexOf(L)>=0?(R(i("userDialog.custom")),f(!1)):(R(i("userDialog.custom")+` (${L})`),f(!0));const Y=Number(L.substring(0,L.length-1)),J=l[L[L.length-1]];t(L,{start:j().utc().subtract(Y,J).format("YYYY-MM-DDTHH:00:00")})}}),{isOpen:d,onOpen:C,onClose:_}=Zo(),b=g.exports.useRef(null);Yo({ref:b,handler:_});const[S,R]=g.exports.useState(i("userDialog.custom")),[m,f]=g.exports.useState(!1),[P,H]=g.exports.useState(0),U=Se({base:1,md:2}),T=Se({base:"xs",md:"sm"}),[B,G]=g.exports.useState(null),[D,F]=g.exports.useState(null),Z=L=>{const[Y,J]=L;D&&!J?(G(null),F(null)):(G(Y),F(J),Y&&J&&(_(),t("custom",{start:j(Y).format("YYYY-MM-DDT00:00:00"),end:j(J).format("YYYY-MM-DDT23:59:59")})))};return r(M,{...n,children:[P==0&&r(Rt,{...p(),gap:0,display:"flex",borderWidth:"1px",borderRadius:"md",minW:{base:"320px",md:"400px"},children:[a.map(L=>e(dr,{...y({value:L}),children:L},L)),e(I,{onClick:()=>{G(null),F(null),C()},cursor:"pointer",borderRadius:"md",w:"full",fontSize:T,px:3,py:1,bg:m?"primary.500":"unset",color:m?"white":"unset",borderColor:m?"primary.500":"unset",children:r(w,{children:[e(h,{children:S}),e(bt,{as:qt,boxSize:"18px"})]})})]}),P==1&&r(w,{onClick:C,cursor:"pointer",fontSize:T,borderRadius:"md",px:3,py:1,minW:{base:"320px",md:"400px"},borderWidth:"1px",children:[e(h,{w:"full",color:B?"unset":"gray.500",children:B?j(B).format("YYYY-MM-DD (00:00)"):i("userDialog.startDate")}),e(bt,{as:Nr,boxSize:"18px"}),e(h,{w:"full",color:D?"unset":"gray.500",children:D?j(D).format("YYYY-MM-DD (23:59)"):i("userDialog.endDate")}),e(bt,{as:qt,boxSize:"18px"})]}),e(M,{ref:b,marginTop:"40px !important",borderRadius:"md",borderWidth:"1px",position:"absolute",zIndex:"1",backgroundColor:"white",_dark:{backgroundColor:"gray.700"},display:d?"unset":"none",children:r(Qo,{onChange:L=>H(L),children:[r(qo,{children:[e(Xt,{fontSize:T,children:i("userDialog.relative")}),e(Xt,{fontSize:T,children:i("userDialog.absolute")})]}),r(Xo,{children:[e(Jt,{children:u.map(L=>e(M,{alignItems:"start",pl:2,pr:2,children:r(w,{justifyItems:"flex-start",mb:4,children:[e(h,{fontSize:T,minW:"60px",children:i("userDialog."+L.title)}),L.options.map(Y=>e(dr,{border:!0,...y({value:Y}),children:Y},Y+".custom"))]})},L.title))}),e(Jt,{className:"datepicker-panel",children:e(M,{children:e(Fr,{locale:s.language.toLocaleLowerCase(),selected:B,onChange:Z,startDate:B,endDate:D,selectsRange:!0,maxDate:new Date,monthsShown:U,peekNextMonth:!1,inline:!0})})})]})]})})]})};function ut(t,o,n=[],i=[]){const s=ee(n.reduce((a,l)=>a+=l,0));return{series:n,options:{labels:i,chart:{width:"100%",height:"100%",type:"donut",animations:{enabled:!1}},title:{text:`${o}${s}`,align:"center",style:{fontWeight:"var(--chakra-fontWeights-medium)",color:t==="dark"?"var(--chakra-colors-gray-300)":void 0}},legend:{position:"bottom",labels:{colors:t==="dark"?"#CBD5E0":void 0,useSeriesColors:!1}},stroke:{width:1,colors:void 0},dataLabels:{formatter:(a,{seriesIndex:l,w:u})=>ee(u.config.series[l],1)},tooltip:{custom:({series:a,seriesIndex:l,dataPointIndex:u,w:p})=>{const y=ee(a[l],1),c=Math.max(a.reduce((C,_)=>C+=_),1),d=Math.round(a[l]/c*1e3)/10+"%";return` +import{i as Ct,B as to,a as ro,b as oo,j as yr,d as j,U as Dt,z as no,r as so,f as io,Q as ao,e as lo,$ as co,c as ht,g as x,h as uo,C as ho,k as pt,u as zt,l as O,m as r,H as w,n as e,T as h,o as po,p as I,s as mo,q as g,t as Qe,J as go,v as Sr,A as mt,w as fo,x as bo,M as re,y as oe,D as ne,E as se,F as ie,G as he,I as Oe,K as Cr,L as xo,N as Ge,O as ae,P as A,R as X,S as wr,V as te,W as E,X as ye,Y as $,Z as fe,_ as N,a0 as gt,a1 as He,a2 as yo,a3 as ge,a4 as ke,a5 as So,a6 as kr,a7 as _r,a8 as $e,a9 as it,aa as Co,ab as Ne,ac as at,ad as Zt,ae as wo,af as vr,ag as Ir,ah as Dr,ai as de,aj as ko,ak as _o,al as vo,am as Io,an as Do,ao as Ut,ap as zr,aq as Ur,ar as ue,as as Yt,at as zo,au as Uo,av as Eo,aw as wt,ax as Lo,ay as Ro,az as To,aA as Ao,aB as Mo,aC as No,aD as lt,aE as Fo,aF as we,aG as Po,aH as k,aI as qe,aJ as Er,aK as Xe,aL as M,aM as Et,aN as Wo,aO as Fe,aP as Pe,aQ as kt,aR as We,aS as ze,aT as Ue,aU as Ee,aV as Le,aW as Re,aX as Te,aY as Qt,aZ as Lt,a_ as Oo,a$ as jo,b0 as Ho,b1 as Lr,b2 as Bo,b3 as Ze,b4 as ct,b5 as Rr,b6 as $o,b7 as Vo,b8 as Tr,b9 as Ar,ba as Mr,bb as Se,bc as Go,bd as Zo,be as Yo,bf as Rt,bg as bt,bh as qt,bi as Nr,bj as Qo,bk as qo,bl as Xt,bm as Xo,bn as Jt,bo as Fr,bp as Jo,bq as Pr,br as Ko,bs as en,bt as Wr,bu as tn,bv as rn,bw as Or,bx as jr,by as Hr,bz as q,bA as on,bB as Br,bC as nn,bD as sn,bE as an,bF as ln,bG as cn,bH as dn,bI as un,bJ as $r,bK as hn,bL as Kt,bM as er,bN as Ae,bO as me,bP as tr,bQ as ce,bR as rr,bS as pn,bT as mn,bU as gn,bV as fn,bW as bn,bX as xn,bY as yn,bZ as Sn,b_ as Cn,b$ as wn,c0 as kn,c1 as _n,c2 as vn,c3 as In,c4 as Dn,c5 as zn,c6 as Un}from"./vendor.11357817.js";(function(){const o=document.createElement("link").relList;if(o&&o.supports&&o.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))i(s);new MutationObserver(s=>{for(const a of s)if(a.type==="childList")for(const l of a.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&i(l)}).observe(document,{childList:!0,subtree:!0});function n(s){const a={};return s.integrity&&(a.integrity=s.integrity),s.referrerpolicy&&(a.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?a.credentials="include":s.crossorigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function i(s){if(s.ep)return;s.ep=!0;const a=n(s);fetch(s.href,a)}})();Ct.use(to).use(ro).use(oo).init({debug:{}.NODE_ENV==="development",returnNull:!1,fallbackLng:"en",interpolation:{escapeValue:!1},react:{useSuspense:!1},load:"languageOnly",detection:{caches:["localStorage","sessionStorage","cookie"]},backend:{loadPath:yr(["/dashboard/","locales/{{lng}}.json"])}},function(t,o){j.locale(Ct.language)});Ct.on("languageChanged",t=>{j.locale(t)});Dt("zh-cn",no);Dt("ru",so);Dt("fa",io);const _t=new ao,Vr=t=>{const o=document.querySelector('meta[name="theme-color"]');o==null||o.setAttribute("content",t=="dark"?"#1A202C":"#3B81F6")},En=lo({shadows:{outline:"0 0 0 2px var(--chakra-colors-primary-200)"},fonts:{body:"Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif"},colors:{"light-border":"#d2d2d4",primary:{50:"#9cb7f2",100:"#88a9ef",200:"#749aec",300:"#618ce9",400:"#4d7de7",500:"#396fe4",600:"#3364cd",700:"#2e59b6",800:"#284ea0",900:"#224389"},gray:{750:"#222C3B"}},components:{Alert:{baseStyle:{container:{borderRadius:"6px",fontSize:"sm"}}},Select:{baseStyle:{field:{_dark:{borderColor:"gray.600",borderRadius:"6px"},_light:{borderRadius:"6px"}}}},FormHelperText:{baseStyle:{fontSize:"xs"}},FormLabel:{baseStyle:{fontSize:"sm",fontWeight:"medium",mb:"1",_dark:{color:"gray.300"}}},Input:{baseStyle:{addon:{_dark:{borderColor:"gray.600",_placeholder:{color:"gray.500"}}},field:{_focusVisible:{boxShadow:"none",borderColor:"primary.200",outlineColor:"primary.200"},_dark:{borderColor:"gray.600",_disabled:{color:"gray.400",borderColor:"gray.500"},_placeholder:{color:"gray.500"}}}}},Table:{baseStyle:{table:{borderCollapse:"separate",borderSpacing:0},thead:{borderBottomColor:"light-border"},th:{background:"#F9FAFB",borderColor:"light-border !important",borderBottomColor:"light-border !important",borderTop:"1px solid ",borderTopColor:"light-border !important",_first:{borderLeft:"1px solid",borderColor:"light-border !important"},_last:{borderRight:"1px solid",borderColor:"light-border !important"},_dark:{borderColor:"gray.600 !important",background:"gray.750"}},td:{transition:"all .1s ease-out",borderColor:"light-border",borderBottomColor:"light-border !important",_first:{borderLeft:"1px solid",borderColor:"light-border",_dark:{borderColor:"gray.600"}},_last:{borderRight:"1px solid",borderColor:"light-border",_dark:{borderColor:"gray.600"}},_dark:{borderColor:"gray.600",borderBottomColor:"gray.600 !important"}},tr:{"&.interactive":{cursor:"pointer",_hover:{"& > td":{bg:"gray.200"},_dark:{"& > td":{bg:"gray.750"}}}},_last:{"& > td":{_first:{borderBottomLeftRadius:"8px"},_last:{borderBottomRightRadius:"8px"}}}}}}}});const dt=()=>localStorage.getItem("token"),Ln=t=>{localStorage.setItem("token",t)},Rn=()=>{localStorage.removeItem("token")},Tn=co.create({baseURL:"/api/"}),An=(t,o={})=>(dt()&&(o.headers={...(o==null?void 0:o.headers)||{},Authorization:`Bearer ${dt()}`}),Tn(t,o)),W=An,Mn=ht(t=>({isLoading:!0,isPostLoading:!1,version:null,started:!1,logs_websocket:null,config:"",fetchCoreSettings:()=>{t({isLoading:!0}),Promise.all([W("/core").then(({version:o,started:n,logs_websocket:i})=>t({version:o,started:n,logs_websocket:i})),W("/core/config").then(o=>t({config:o}))]).finally(()=>t({isLoading:!1}))},updateConfig:o=>(t({isPostLoading:!0}),W("/core/config",{method:"PUT",body:o}).finally(()=>{t({isPostLoading:!1})})),restartCore:()=>W("/core/restart",{method:"POST"})}));function ee(t,o=2,n=!1){if(!+t)return"0 B";const i=1024,s=o<0?0:o,a=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],l=Math.floor(Math.log(t)/Math.log(i));return n?[parseFloat((t/Math.pow(i,l)).toFixed(s)),a[l]]:`${parseFloat((t/Math.pow(i,l)).toFixed(s))} ${a[l]}`}const or=t=>{if(t!==null)return t.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")},Nn=x(uo,{baseStyle:{w:5,h:5,position:"relative",zIndex:"2"}}),Fn=x(ho,{baseStyle:{w:5,h:5,position:"relative",zIndex:"2"}}),Pn=x(pt,{baseStyle:{w:5,h:5,position:"relative",zIndex:"2"}}),xt=({title:t,content:o,icon:n})=>r(po,{p:6,borderWidth:"1px",borderColor:"light-border",bg:"#F9FAFB",_dark:{borderColor:"gray.600",bg:"gray.750"},borderStyle:"solid",boxShadow:"none",borderRadius:"12px",width:"full",display:"flex",justifyContent:"space-between",flexDirection:"row",children:[r(w,{alignItems:"center",columnGap:"4",children:[e(I,{p:"2",position:"relative",color:"white",_before:{content:'""',position:"absolute",top:0,left:0,bg:"primary.400",display:"block",w:"full",h:"full",borderRadius:"5px",opacity:".5",z:"1"},_after:{content:'""',position:"absolute",top:"-5px",left:"-5px",bg:"primary.400",display:"block",w:"calc(100% + 10px)",h:"calc(100% + 10px)",borderRadius:"8px",opacity:".4",z:"1"},children:n}),e(h,{color:"gray.600",_dark:{color:"gray.300"},fontWeight:"medium",textTransform:"capitalize",fontSize:"sm",children:t})]}),e(I,{fontSize:"3xl",fontWeight:"semibold",mt:"2",children:o})]}),vt="statistics-query-key",Wn=t=>{const{version:o}=v(),{data:n}=zt({queryKey:vt,queryFn:()=>W("/system"),refetchInterval:5e3,onSuccess:({version:s})=>{o!==s&&v.setState({version:s})}}),{t:i}=O();return r(w,{justifyContent:"space-between",gap:0,columnGap:{lg:4,md:0},rowGap:{lg:0,base:4},display:"flex",flexDirection:{lg:"row",base:"column"},...t,children:[e(xt,{title:i("activeUsers"),content:n&&r(w,{alignItems:"flex-end",children:[e(h,{children:or(n.users_active)}),r(h,{fontWeight:"normal",fontSize:"lg",as:"span",display:"inline-block",pb:"5px",children:["/ ",or(n.total_user)]})]}),icon:e(Nn,{})}),e(xt,{title:i("dataUsage"),content:n&&ee(n.incoming_bandwidth+n.outgoing_bandwidth),icon:e(Fn,{})}),e(xt,{title:i("memoryUsage"),content:n&&r(w,{alignItems:"flex-end",children:[e(h,{children:ee(n.mem_used,1,!0)[0]}),r(h,{fontWeight:"normal",fontSize:"lg",as:"span",display:"inline-block",pb:"5px",children:[ee(n.mem_used,1,!0)[1]," /"," ",ee(n.mem_total,1)]})]}),icon:e(Pn,{})})]})},Gr="infinity-num-users-per-page",nr=10,On=()=>{const t=localStorage.getItem(Gr)||nr.toString();return parseInt(t)||nr},jn=t=>localStorage.setItem(Gr,t),Hn=t=>{for(const o in t)t[o]||delete t[o];return v.setState({loading:!0}),W("/users",{query:t}).then(o=>(v.setState({users:o}),o)).finally(()=>{v.setState({loading:!1})})},Bn=()=>W("/inbounds").then(t=>{v.setState({inbounds:new Map(Object.entries(t))})}).finally(()=>{v.setState({loading:!1})}),v=ht(mo((t,o)=>({version:null,editingUser:null,deletingUser:null,isCreatingNewUser:!1,QRcodeLinks:null,subscribeUrl:null,users:{users:[],total:0},loading:!0,isResetingAllUsage:!1,isEditingHosts:!1,isEditingNodes:!1,isShowingNodesUsage:!1,resetUsageUser:null,revokeSubscriptionUser:null,filters:{username:"",limit:On(),sort:"-created_at"},inbounds:new Map,isEditingCore:!1,refetchUsers:()=>{Hn(o().filters)},resetAllUsage:()=>W("/users/reset",{method:"POST"}).then(()=>{o().onResetAllUsage(!1),o().refetchUsers()}),onResetAllUsage:n=>t({isResetingAllUsage:n}),onCreateUser:n=>t({isCreatingNewUser:n}),onEditingUser:n=>{t({editingUser:n})},onDeletingUser:n=>{t({deletingUser:n})},onFilterChange:n=>{t({filters:{...o().filters,...n}}),o().refetchUsers()},setQRCode:n=>{t({QRcodeLinks:n})},deleteUser:n=>(t({editingUser:null}),W(`/user/${n.username}`,{method:"DELETE"}).then(()=>{t({deletingUser:null}),o().refetchUsers(),_t.invalidateQueries(vt)})),createUser:n=>W("/user",{method:"POST",body:n}).then(()=>{t({editingUser:null}),o().refetchUsers(),_t.invalidateQueries(vt)}),editUser:n=>W(`/user/${n.username}`,{method:"PUT",body:n}).then(()=>{o().onEditingUser(null),o().refetchUsers()}),fetchUserUsage:(n,i)=>{for(const s in i)i[s]||delete i[s];return W(`/user/${n.username}/usage`,{method:"GET",query:i})},onEditingHosts:n=>{t({isEditingHosts:n})},onEditingNodes:n=>{t({isEditingNodes:n})},onShowingNodesUsage:n=>{t({isShowingNodesUsage:n})},setSubLink:n=>{t({subscribeUrl:n})},resetDataUsage:n=>W(`/user/${n.username}/reset`,{method:"POST"}).then(()=>{t({resetUsageUser:null}),o().refetchUsers()}),revokeSubscription:n=>W(`/user/${n.username}/revoke_sub`,{method:"POST"}).then(i=>{t({revokeSubscriptionUser:null,editingUser:i}),o().refetchUsers()})}))),le=({children:t,color:o})=>e(I,{position:"relative",width:"36px",height:"36px",display:"flex",justifyContent:"center",alignItems:"center",_before:{content:'""',display:"block",position:"absolute",top:"0",left:"0",width:"calc(100%)",height:"calc(100%)",bg:`${o}.400`,opacity:".5",borderRadius:"5px",zIndex:"1",_dark:{bg:`${o}.400`}},_after:{content:'""',display:"block",position:"absolute",top:"0",left:"0",width:"calc(100% + 10px)",height:"calc(100% + 10px)",transform:"translate(-5px, -5px)",bg:`${o}.400`,opacity:".4",borderRadius:"8px",zIndex:"1",_dark:{bg:`${o}.400`}},children:e(h,{color:`${o}.500`,_dark:{color:`${o}.900`},position:"relative",zIndex:"2",children:t})});window.ace.define("ace/theme/nord_dark",["require","exports","module","ace/lib/dom"],(t,o,n)=>{o.isDark=!0,o.cssClass="ace-nord-dark",t("../lib/dom").importCssString(o.cssText,o.cssClass)});window.ace.define("ace/theme/dawn",["require","exports","module","ace/lib/dom"],(t,o,n)=>{o.isDark=!1,o.cssClass="ace-dawn",t("../lib/dom").importCssString(o.cssText,o.cssClass)});const $n=g.exports.forwardRef(({json:t,onChange:o,mode:n="code"},i)=>{const{colorMode:s}=Qe(),a={mode:n,onChangeText:o,statusBar:!1,mainMenuBar:!1,theme:s==="dark"?"ace/theme/nord_dark":"ace/theme/dawn"},l=g.exports.useRef(null),u=g.exports.useRef(null);return g.exports.useEffect(()=>(u.current=new go(l.current,a),()=>{u.current&&u.current.destroy()}),[]),g.exports.useEffect(()=>{u.current&&u.current.update(t)},[t]),e(I,{ref:i,border:"1px solid",borderColor:"gray.300",_dark:{borderColor:"gray.500"},borderRadius:5,h:"full",children:e(I,{height:"full",ref:l})})}),sr=500,Vn=x(Sr,{baseStyle:{w:5,h:5}}),Gn=x(mt,{baseStyle:{w:4,h:4}}),Zn=x(fo,{baseStyle:{w:4,h:4}}),Yn=x(bo,{baseStyle:{w:3,h:3}}),Qn=t=>({[He.ReadyState.CONNECTING]:"connecting",[He.ReadyState.OPEN]:"connected",[He.ReadyState.CLOSING]:"closed",[He.ReadyState.CLOSED]:"closed",[He.ReadyState.UNINSTANTIATED]:"closed"})[t],qn=()=>{try{let t=new URL("/api/".startsWith("/")?window.location.origin+"/api/":"/api/");return(t.protocol==="https:"?"wss://":"ws://")+yr([t.host+t.pathname,"/core/logs"])+"?interval=1&token="+dt()}catch(t){return console.error("Unable to generate websocket url"),console.error(t),null}};let xe=[];const Xn=()=>{const{isEditingCore:t}=v(),{fetchCoreSettings:o,updateConfig:n,isLoading:i,config:s,isPostLoading:a,version:l,restartCore:u}=Mn(),p=g.exports.useRef(null),[y,c]=g.exports.useState([]),{t:d}=O(),C=he(),_=Oe({defaultValues:{config:s||{}}});g.exports.useEffect(()=>{s&&_.setValue("config",s)},[s]),g.exports.useEffect(()=>{t&&o()},[t]);const b=g.exports.useRef(!0),S=g.exports.useCallback(Cr(D=>{var Z,L,Y;const F=Math.abs((((Z=p.current)==null?void 0:Z.scrollTop)||0)-(((L=p.current)==null?void 0:L.scrollHeight)||0)+(((Y=p.current)==null?void 0:Y.offsetHeight)||0))<10;p.current&&F?b.current=!0:b.current=!1,D.length<40&&c(D)},300),[]),{readyState:R}=xo(qn(),{onMessage:D=>{xe.push(D.data),xe.length>sr&&(xe=xe.splice(0,xe.length-sr)),S([...xe])},shouldReconnect:()=>!0,reconnectAttempts:10,reconnectInterval:1e3});g.exports.useEffect(()=>{var D;p.current&&b.current&&(p.current.scrollTop=(D=p.current)==null?void 0:D.scrollHeight)},[y]),g.exports.useEffect(()=>()=>{xe=[]},[]);const m=Qn(R.toString()),{mutate:f,isLoading:P}=Ge(u),H=({config:D})=>{n(D).then(()=>{C({title:d("core.successMessage"),status:"success",isClosable:!0,position:"top",duration:3e3})}).catch(F=>{let Z=d("core.generalErrorMessage");typeof F.response._data.detail=="object"&&(Z=F.response._data.detail[Object.keys(F.response._data.detail)[0]]),typeof F.response._data.detail=="string"&&(Z=F.response._data.detail),C({title:Z,status:"error",isClosable:!0,position:"top",duration:3e3})})},U=g.exports.useRef(null),[T,B]=g.exports.useState(!1),G=()=>{var D;document.fullscreenElement?(document.exitFullscreen(),B(!1)):((D=U.current)==null||D.requestFullscreen(),B(!0))};return r("form",{onSubmit:_.handleSubmit(H),children:[r(ae,{children:[r(A,{children:[r(w,{justifyContent:"space-between",alignItems:"flex-start",children:[r(X,{children:[d("core.configuration")," ",i&&e(wr,{isIndeterminate:!0,size:"15px"})]}),e(w,{gap:0,children:e(te,{label:"Xray Version",placement:"top",children:e(E,{height:"100%",textTransform:"lowercase",children:l&&`v${l}`})})})]}),r(I,{position:"relative",ref:U,minHeight:"300px",children:[e(ye,{control:_.control,name:"config",render:({field:D})=>e($n,{json:s,onChange:D.onChange})}),e($,{size:"xs","aria-label":"full screen",variant:"ghost",position:"absolute",top:"2",right:"4",onClick:G,children:T?e(Yn,{}):e(Zn,{})})]})]}),r(A,{mt:"4",children:[r(w,{justifyContent:"space-between",children:[e(X,{children:d("core.logs")}),e(h,{as:X,children:d(`core.socket.${m}`)})]}),e(I,{border:"1px solid",borderColor:"gray.300",bg:"#F9F9F9",_dark:{borderColor:"gray.500",bg:"#2e3440"},borderRadius:5,minHeight:"200px",maxHeight:"250px",p:2,overflowY:"auto",ref:p,children:y.map((D,F)=>e(h,{fontSize:"xs",opacity:.8,whiteSpace:"pre-line",children:D},F))})]})]}),e(fe,{children:r(w,{w:"full",justifyContent:"space-between",children:[e(I,{children:e(N,{size:"sm",leftIcon:e(Gn,{className:gt({"animate-spin":P})}),onClick:()=>f(),children:d(P?"core.restarting":"core.restartCore")})}),e(w,{children:e(N,{size:"sm",variant:"solid",colorScheme:"primary",px:"5",type:"submit",isDisabled:i||a,isLoading:a,children:d("core.save")})})]})})]})},Jn=()=>{const{isEditingCore:t}=v(),o=v.setState.bind(null,{isEditingCore:!1}),{t:n}=O();return r(re,{isOpen:t,onClose:o,size:"3xl",children:[e(oe,{bg:"blackAlpha.300",backdropFilter:"blur(10px)"}),r(ne,{mx:"3",w:"full",children:[e(se,{pt:6,children:r(w,{gap:2,children:[e(le,{color:"primary",children:e(Vn,{color:"white"})}),e(h,{fontWeight:"semibold",fontSize:"lg",children:n("core.title")})]})}),e(ie,{mt:3}),e(Xn,{})]})]})},Je=x(yo,{baseStyle:{w:5,h:5}}),Kn=()=>{const[t,o]=g.exports.useState(!1),{deletingUser:n,onDeletingUser:i,deleteUser:s}=v(),{t:a}=O(),l=he(),u=()=>{i(null)},p=()=>{n&&(o(!0),s(n).then(()=>{l({title:a("deleteUser.deleteSuccess",{username:n.username}),status:"success",isClosable:!0,position:"top",duration:3e3})}).then(u).finally(o.bind(null,!1)))};return r(re,{isCentered:!0,isOpen:!!n,onClose:u,size:"sm",children:[e(oe,{bg:"blackAlpha.300",backdropFilter:"blur(10px)"}),r(ne,{mx:"3",children:[e(se,{pt:6,children:e(le,{color:"red",children:e(Je,{})})}),e(ie,{mt:3}),r(ae,{children:[e(h,{fontWeight:"semibold",fontSize:"lg",children:a("deleteUser.title")}),n&&e(h,{mt:1,fontSize:"sm",_dark:{color:"gray.400"},color:"gray.600",children:e(ge,{components:{b:e("b",{})},children:a("deleteUser.prompt",{username:n.username})})})]}),r(fe,{display:"flex",children:[e(N,{size:"sm",onClick:u,mr:3,w:"full",variant:"outline",children:a("cancel")}),e(N,{size:"sm",w:"full",colorScheme:"red",onClick:p,leftIcon:t?e(ke,{size:"xs"}):void 0,children:a("delete")})]})]})]})},Tt={baseStyle:{w:4,h:4}},es=x(So,Tt),ts=x(kr,Tt),Zr=x(mt,Tt),rs=Cr(t=>{v.getState().onFilterChange({...v.getState().filters,offset:0,username:t})},300),os=({...t})=>{const{loading:o,filters:n,onFilterChange:i,refetchUsers:s,onCreateUser:a}=v(),{t:l}=O(),[u,p]=g.exports.useState(""),y=d=>{p(d.target.value),rs(d.target.value)},c=()=>{p(""),i({...n,offset:0,username:""})};return r(_r,{id:"filters",templateColumns:{lg:"repeat(3, 1fr)",md:"repeat(4, 1fr)",base:"repeat(1, 1fr)"},position:"sticky",top:0,mx:"-6",px:"6",rowGap:4,gap:{lg:4,base:0},bg:"var(--chakra-colors-chakra-body-bg)",py:4,zIndex:"docked",...t,children:[e($e,{colSpan:{base:1,md:2,lg:1},order:{base:2,md:1},children:r(it,{children:[e(Co,{pointerEvents:"none",children:e(es,{})}),e(Ne,{placeholder:l("search"),value:u,borderColor:"light-border",onChange:y}),r(at,{children:[o&&e(ke,{size:"xs"}),n.username&&n.username.length>0&&e($,{onClick:c,"aria-label":"clear",size:"xs",variant:"ghost",children:e(ts,{})})]})]})}),e($e,{colSpan:2,order:{base:1,md:2},children:r(w,{justifyContent:"flex-end",alignItems:"center",h:"full",children:[e($,{"aria-label":"refresh users",disabled:o,onClick:s,size:"sm",variant:"outline",children:e(Zr,{className:gt({"animate-spin":o})})}),e(N,{colorScheme:"primary",size:"sm",onClick:()=>a(!0),px:5,children:l("createUser")})]})})]})},Yr="https://github.com/Niraj-Dilshan/infinity",ns="https://github.com/Niraj-Dilshan",ss="https://github.com/Niraj-Dilshan/infinity#donation",Qr=t=>{const{version:o}=v();return e(w,{w:"full",py:"0",position:"relative",...t,children:r(h,{display:"inline-block",flexGrow:1,textAlign:"center",color:"gray.500",fontSize:"xs",children:[e(Zt,{color:"blue.400",href:Yr,children:"infinity"}),o?` (v${o}), `:", ","Made with \u2764\uFE0F in"," ",e(Zt,{color:"blue.400",href:ns,children:"Niraj-Dilshan"})]})})},is=x(wo,{baseStyle:{w:4,h:4}}),qr=({actions:t})=>{const{i18n:o}=O();var n=i=>{o.changeLanguage(i)};return r(vr,{placement:"bottom-end",children:[e(Ir,{as:$,size:"sm",variant:"outline",icon:e(is,{}),position:"relative"}),r(Dr,{minW:"100px",zIndex:9999,children:[e(de,{maxW:"100px",fontSize:"sm",onClick:()=>n("en"),children:"English"}),e(de,{maxW:"100px",fontSize:"sm",onClick:()=>n("fa"),children:"\u0641\u0627\u0631\u0633\u06CC"}),e(de,{maxW:"100px",fontSize:"sm",onClick:()=>n("zh-cn"),children:"\u7B80\u4F53\u4E2D\u6587"}),e(de,{maxW:"100px",fontSize:"sm",onClick:()=>n("ru"),children:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439"})]})]})},pe={baseStyle:{w:4,h:4}},as=x(ko,pe),ls=x(_o,pe),cs=x(Sr,pe),ds=x(vo,pe),us=x(Io,pe),hs=x(Do,pe),ps=x(Ut,pe),ms=x(zr,pe),gs=x(pt,pe),fs=x(Ur,pe),ir=x(I,{baseStyle:{bg:"yellow.500",w:"2",h:"2",rounded:"full",position:"absolute"}}),Xr="infinity-menu-notification",bs=()=>{const t=localStorage.getItem(Xr);if(!t)return!0;try{return t&&Uo(parseInt(t))?Eo(new Date,new Date(parseInt(t)))>=7:!0}catch{return!0}},xs=({actions:t})=>{const{onEditingHosts:o,onResetAllUsage:n,onEditingNodes:i,onShowingNodesUsage:s}=v(),{t:a}=O(),{colorMode:l,toggleColorMode:u}=Qe(),[p,y]=g.exports.useState(bs()),c=l==="dark"?"dark_dimmed":l,d=()=>{localStorage.setItem(Xr,new Date().getTime().toString()),y(!1)};return r(w,{gap:2,justifyContent:"space-between",__css:{"& .menuList":{direction:"ltr"}},position:"relative",children:[e(h,{as:"h1",fontWeight:"semibold",fontSize:"2xl",children:a("users")}),p&&e(ir,{top:"0",right:"0",zIndex:9999}),e(I,{overflow:"auto",css:{direction:"rtl"},children:r(w,{alignItems:"center",children:[r(vr,{children:[e(Ir,{as:$,size:"sm",variant:"outline",icon:e(ue,{children:e(ds,{})}),position:"relative"}),r(Dr,{minW:"170px",zIndex:99999,className:"menuList",children:[e(de,{maxW:"170px",fontSize:"sm",icon:e(ps,{}),onClick:o.bind(null,!0),children:a("header.hostSettings")}),e(de,{maxW:"170px",fontSize:"sm",icon:e(ms,{}),onClick:i.bind(null,!0),children:a("header.nodeSettings")}),e(de,{maxW:"170px",fontSize:"sm",icon:e(gs,{}),onClick:s.bind(null,!0),children:a("header.nodesUsage")}),e(de,{maxW:"170px",fontSize:"sm",icon:e(fs,{}),onClick:n.bind(null,!0),children:a("resetAllUsage")}),e(Yt,{to:ss,target:"_blank",children:r(de,{maxW:"170px",fontSize:"sm",icon:e(hs,{}),position:"relative",onClick:d,children:[a("header.donation")," ",p&&e(ir,{top:"3",right:"2"})]})}),e(Yt,{to:"/login",children:e(de,{maxW:"170px",fontSize:"sm",icon:e(us,{}),children:a("header.logout")})})]})]}),e($,{size:"sm",variant:"outline","aria-label":"core settings",onClick:()=>{v.setState({isEditingCore:!0})},children:e(cs,{})}),e(qr,{}),e($,{size:"sm",variant:"outline","aria-label":"switch theme",onClick:()=>{Vr(l=="dark"?"light":"dark"),u()},children:l==="light"?e(as,{}):e(ls,{})}),e(I,{css:{direction:"ltr"},display:"flex",alignItems:"center",pr:"2",__css:{"& span":{display:"inline-flex"}},children:e(zo,{href:Yr,"data-color-scheme":`no-preference: ${c}; light: ${c}; dark: ${c};`,"data-size":"large","data-show-count":"true","aria-label":"Star infinity on GitHub",children:"Star"})})]})})]})},ys=[{title:"Inbound's default",value:"inbound_default"},{title:"TLS",value:"tls"},{title:"None",value:"none"}],Ss=[{title:"",value:""},{title:"h2",value:"h2"},{title:"http/1.1",value:"http/1.1"},{title:"h2, http/1.1",value:"h2,http/1.1"}],Cs=[{title:"",value:""},...["chrome","firefox","safari","ios","android","edge","360","qq","random","randomized"].map(t=>({title:t,value:t}))],ws=[{title:"none",value:""},{title:"xtls-rprx-vision",value:"xtls-rprx-vision"}],ks=["aes-128-gcm","aes-256-gcm","chacha20-ietf-poly1305"],_s=ht(t=>({isLoading:!1,isPostLoading:!1,hosts:{},fetchHosts:()=>{t({isLoading:!0}),W("/hosts").then(o=>t({hosts:o})).finally(()=>t({isLoading:!1}))},setHosts:o=>(t({isPostLoading:!0}),W("/hosts",{method:"PUT",body:o}).finally(()=>{t({isPostLoading:!1})}))}));const vs=x(kr,{baseStyle:{w:4,h:4}}),Ce=wt.forwardRef(({disabled:t,step:o,label:n,className:i,startAdornment:s,endAdornment:a,type:l="text",placeholder:u,onChange:p,onBlur:y,name:c,value:d,onClick:C,error:_,clearable:b=!1,...S},R)=>{const m=()=>{p&&p({target:{value:"",name:c}})},{size:f="md"}=S,P=l=="number"?Fo:Ne,H=l=="number"?Lo:wt.Fragment,U=l=="number"?{keepWithinRange:!0,precision:5,format:T=>isNaN(parseFloat(String(T)))||Number(parseFloat(String(T)).toFixed(5))===0?T:Number(parseFloat(String(T)).toFixed(5)),min:0,step:o,name:c,type:l,placeholder:u,onChange:T=>{p&&p(T)},onBlur:y,value:d,onClick:C,disabled:t,flexGrow:1,size:f}:{};return r(A,{isInvalid:!!_,children:[n&&e(X,{children:n}),r(it,{size:f,w:"full",rounded:"md",_focusWithin:{outline:"2px solid",outlineColor:"primary.200"},bg:t?"gray.100":"transparent",_dark:{bg:t?"gray.600":"transparent"},children:[s&&e(Ro,{children:s}),r(H,{...U,children:[e(P,{name:c,ref:R,step:o,className:gt(i),type:l,placeholder:u,onChange:p,onBlur:y,value:d,onClick:C,disabled:t,flexGrow:1,_focusVisible:{outline:"none",borderTopColor:"transparent",borderRightColor:"transparent",borderBottomColor:"transparent"},_disabled:{cursor:"not-allowed"},...S,roundedLeft:s?"0":"md",roundedRight:a?"0":"md"}),l=="number"&&e(ue,{children:r(To,{children:[e(Ao,{}),e(Mo,{})]})})]}),a&&e(No,{borderLeftRadius:0,borderRightRadius:"6px",bg:"transparent",children:a}),b&&d&&d.length&&e(at,{borderLeftRadius:0,borderRightRadius:"6px",bg:"transparent",onClick:m,cursor:"pointer",children:e(vs,{})})]}),!!_&&e(lt,{children:_})]})}),yt=x(we,{baseStyle:{bg:"white",_dark:{bg:"gray.700"}}}),Be=x(Ce,{baseStyle:{bg:"white",_dark:{bg:"gray.700"}}}),Is=x(Ut,{baseStyle:{w:5,h:5}}),Me=x(Po,{baseStyle:{w:4,h:4,color:"gray.400",cursor:"pointer"}}),Ds=k.record(k.string().min(1),k.array(k.object({remark:k.string().min(1,"Remark is required"),address:k.string().min(1,"Address is required"),port:k.string().or(k.number()).nullable().transform(t=>typeof t=="number"?t:t!==null&&!isNaN(parseInt(t))?Number(parseInt(t)):null),sni:k.string().nullable(),host:k.string().nullable(),security:k.string(),alpn:k.string(),fingerprint:k.string()}))),rt=x(lt,{baseStyle:{color:"red.400",display:"block",textAlign:"left",w:"100%"}}),zs=({hostKey:t,isOpen:o,toggleAccordion:n})=>{const{inbounds:i}=v(),s=[...i.values()].flat().filter(_=>_.tag===t)[0],a=Et(),{fields:l,append:u,remove:p}=Wo({control:a.control,name:t}),{errors:y}=a.formState,{t:c}=O(),d=y[t],C=()=>{u({host:"",sni:"",port:null,address:"",remark:"",security:"inbound_default",alpn:"",fingerprint:""})};return g.exports.useEffect(()=>{d&&!o&&n()},[d]),r(Fe,{border:"1px solid",_dark:{borderColor:"gray.600"},_light:{borderColor:"gray.200"},borderRadius:"4px",p:1,w:"full",children:[r(Pe,{px:2,borderRadius:"3px",onClick:n,children:[e(h,{as:"span",fontWeight:"medium",fontSize:"sm",flex:"1",textAlign:"left",color:"gray.700",_dark:{color:"gray.300"},children:t}),e(kt,{})]}),e(We,{px:2,pb:2,children:r(M,{gap:3,children:[l.map((_,b)=>{var S,R,m,f,P,H,U,T,B,G,D,F,Z,L,Y,J,tt;return r(M,{border:"1px solid",_dark:{borderColor:"gray.600",bg:"#273142"},_light:{borderColor:"gray.200",bg:"#fcfbfb"},p:2,w:"full",borderRadius:"4px",children:[e(w,{w:"100%",alignItems:"flex-start",children:r(A,{position:"relative",zIndex:10,isInvalid:!!(d&&((S=d[b])==null?void 0:S.remark)),children:[r(it,{children:[e(Be,{...a.register(t+"."+b+".remark"),size:"sm",borderRadius:"4px",placeholder:"Remark"}),e(at,{children:r(ze,{isLazy:!0,placement:"right",children:[e(Ue,{children:e(I,{mt:"-8px",children:e(Me,{})})}),e(Ee,{children:r(Le,{children:[e(Re,{}),e(Te,{}),e(Qt,{children:r(I,{fontSize:"xs",children:[e(h,{pr:"20px",children:c("hostsDialog.desc")}),r(h,{children:[r(E,{children:["{","SERVER_IP","}"]})," ",c("hostsDialog.currentServer")]}),r(h,{mt:1,children:[r(E,{children:["{","USERNAME","}"]})," ",c("hostsDialog.username")]}),r(h,{mt:1,children:[r(E,{children:["{","DATA_USAGE","}"]})," ",c("hostsDialog.dataUsage")]}),r(h,{mt:1,children:[r(E,{children:["{","DATA_LEFT","}"]})," ",c("hostsDialog.remainingData")]}),r(h,{mt:1,children:[r(E,{children:["{","DATA_LIMIT","}"]})," ",c("hostsDialog.dataLimit")]}),r(h,{mt:1,children:[r(E,{children:["{","DAYS_LEFT","}"]})," ",c("hostsDialog.remainingDays")]}),r(h,{mt:1,children:[r(E,{children:["{","EXPIRE_DATE","}"]})," ",c("hostsDialog.expireDate")]}),r(h,{mt:1,children:[r(E,{children:["{","JALALI_EXPIRE_DATE","}"]})," ",c("hostsDialog.jalaliExpireDate")]}),r(h,{mt:1,children:[r(E,{children:["{","TIME_LEFT","}"]})," ",c("hostsDialog.remainingTime")]}),r(h,{mt:1,children:[r(E,{children:["{","STATUS_EMOJI","}"]})," ",c("hostsDialog.statusEmoji")]}),r(h,{mt:1,children:[r(E,{children:["{","PROTOCOL","}"]})," ",c("hostsDialog.proxyProtocol")]}),r(h,{mt:1,children:[r(E,{children:["{","TRANSPORT","}"]})," ",c("hostsDialog.proxyMethod")]})]})})]})})]})})]}),d&&((R=d[b])==null?void 0:R.remark)&&e(rt,{children:(f=(m=d[b])==null?void 0:m.remark)==null?void 0:f.message})]})}),r(A,{isInvalid:!!(d&&((P=d[b])==null?void 0:P.address)),children:[r(it,{children:[e(Be,{size:"sm",borderRadius:"4px",placeholder:"Address (e.g. example.com)",...a.register(t+"."+b+".address")}),e(at,{children:r(ze,{isLazy:!0,placement:"right",children:[e(Ue,{children:e(I,{mt:"-8px",children:e(Me,{})})}),e(Ee,{children:r(Le,{children:[e(Re,{}),e(Te,{}),e(Qt,{children:r(I,{fontSize:"xs",children:[e(h,{pr:"20px",children:c("hostsDialog.desc")}),r(h,{children:[r(E,{children:["{","SERVER_IP","}"]})," ",c("hostsDialog.currentServer")]}),r(h,{mt:1,children:[r(E,{children:["{","USERNAME","}"]})," ",c("hostsDialog.username")]}),r(h,{mt:1,children:[r(E,{children:["{","DATA_USAGE","}"]})," ",c("hostsDialog.dataUsage")]}),r(h,{mt:1,children:[r(E,{children:["{","DATA_LEFT","}"]})," ",c("hostsDialog.remainingData")]}),r(h,{mt:1,children:[r(E,{children:["{","DATA_LIMIT","}"]})," ",c("hostsDialog.dataLimit")]}),r(h,{mt:1,children:[r(E,{children:["{","DAYS_LEFT","}"]})," ",c("hostsDialog.remainingDays")]}),r(h,{mt:1,children:[r(E,{children:["{","EXPIRE_DATE","}"]})," ",c("hostsDialog.expireDate")]}),r(h,{mt:1,children:[r(E,{children:["{","JALALI_EXPIRE_DATE","}"]})," ",c("hostsDialog.jalaliExpireDate")]}),r(h,{mt:1,children:[r(E,{children:["{","TIME_LEFT","}"]})," ",c("hostsDialog.remainingTime")]}),r(h,{mt:1,children:[r(E,{children:["{","STATUS_EMOJI","}"]})," ",c("hostsDialog.statusEmoji")]}),r(h,{mt:1,children:[r(E,{children:["{","PROTOCOL","}"]})," ",c("hostsDialog.proxyProtocol")]}),r(h,{mt:1,children:[r(E,{children:["{","TRANSPORT","}"]})," ",c("hostsDialog.proxyMethod")]})]})})]})})]})})]}),d&&((H=d[b])==null?void 0:H.address)&&e(rt,{children:(T=(U=d[b])==null?void 0:U.address)==null?void 0:T.message})]}),e(Xe,{w:"full",allowToggle:!0,children:r(Fe,{border:"0",children:[r(Pe,{display:"flex",justifyContent:"space-between",px:0,py:1,borderRadius:3,_hover:{bg:"transparent"},children:[r(h,{fontSize:"xs",color:"gray.600",_dark:{color:"gray.500"},pl:1,children:[c("hostsDialog.advancedOptions"),e(kt,{fontSize:"sm",ml:1})]}),e(te,{label:"Delete",placement:"top",children:e($,{"aria-label":"Delete",size:"sm",colorScheme:"red",variant:"ghost",onClick:p.bind(null,b),children:e(Je,{})})})]}),e(We,{w:"full",p:1,children:r(M,{w:"full",borderRadius:"4px",children:[r(A,{isInvalid:!!(d&&((B=d[b])==null?void 0:B.port)),children:[r(X,{display:"flex",pb:1,alignItems:"center",justifyContent:"space-between",gap:1,m:"0",children:[e("span",{children:c("hostsDialog.port")}),r(ze,{isLazy:!0,placement:"right",children:[e(Ue,{children:e(Me,{})}),e(Ee,{children:r(Le,{p:2,children:[e(Re,{}),e(Te,{}),e(h,{fontSize:"xs",pr:5,children:c("hostsDialog.port.info")})]})})]})]}),e(Be,{size:"sm",borderRadius:"4px",placeholder:String(s.port||"8080"),type:"number",...a.register(t+"."+b+".port")})]}),r(A,{isInvalid:!!(d&&((G=d[b])==null?void 0:G.sni)),children:[r(X,{display:"flex",pb:1,alignItems:"center",gap:1,justifyContent:"space-between",m:"0",children:[e("span",{children:c("hostsDialog.sni")}),r(ze,{isLazy:!0,placement:"right",children:[e(Ue,{children:e(Me,{})}),e(Ee,{children:r(Le,{p:2,children:[e(Re,{}),e(Te,{}),e(h,{fontSize:"xs",pr:5,children:c("hostsDialog.sni.info")}),e(h,{fontSize:"xs",mt:"2",children:e(ge,{i18nKey:"hostsDialog.host.wildcard",components:{badge:e(E,{})}})}),e(h,{fontSize:"xs",children:e(ge,{i18nKey:"hostsDialog.host.multiHost",components:{badge:e(E,{})}})})]})})]})]}),e(Be,{size:"sm",borderRadius:"4px",placeholder:"SNI (e.g. example.com)",...a.register(t+"."+b+".sni")}),d&&((D=d[b])==null?void 0:D.sni)&&e(rt,{children:(Z=(F=d[b])==null?void 0:F.sni)==null?void 0:Z.message})]}),r(A,{isInvalid:!!(d&&((L=d[b])==null?void 0:L.host)),children:[r(X,{display:"flex",pb:1,alignItems:"center",gap:1,justifyContent:"space-between",m:"0",children:[e("span",{children:c("hostsDialog.host")}),r(ze,{isLazy:!0,placement:"right",children:[e(Ue,{children:e(Me,{})}),e(Ee,{children:r(Le,{p:2,children:[e(Re,{}),e(Te,{}),e(h,{fontSize:"xs",pr:5,children:c("hostsDialog.host.info")}),e(h,{fontSize:"xs",mt:"2",children:e(ge,{i18nKey:"hostsDialog.host.wildcard",components:{badge:e(E,{})}})}),e(h,{fontSize:"xs",children:e(ge,{i18nKey:"hostsDialog.host.multiHost",components:{badge:e(E,{})}})})]})})]})]}),e(Be,{size:"sm",borderRadius:"4px",placeholder:"Host (e.g. example.com)",...a.register(t+"."+b+".host")}),d&&((Y=d[b])==null?void 0:Y.host)&&e(rt,{children:(tt=(J=d[b])==null?void 0:J.host)==null?void 0:tt.message})]}),r(A,{height:"66px",children:[r(X,{display:"flex",pb:1,alignItems:"center",gap:1,justifyContent:"space-between",m:"0",children:[e("span",{children:c("hostsDialog.security")}),r(ze,{isLazy:!0,placement:"right",children:[e(Ue,{children:e(Me,{})}),e(Ee,{children:r(Le,{p:2,children:[e(Re,{}),e(Te,{}),e(h,{fontSize:"xs",pr:5,children:c("hostsDialog.security.info")})]})})]})]}),e(yt,{size:"sm",...a.register(t+"."+b+".security"),children:ys.map(K=>e("option",{value:K.value,children:K.title},K.value))})]}),r(A,{height:"66px",children:[e(X,{display:"flex",pb:1,alignItems:"center",gap:1,justifyContent:"space-between",m:"0",children:e("span",{children:c("hostsDialog.alpn")})}),e(yt,{size:"sm",...a.register(t+"."+b+".alpn"),children:Ss.map(K=>e("option",{value:K.value,children:K.title},K.value))})]}),r(A,{height:"66px",children:[e(X,{display:"flex",pb:1,alignItems:"center",gap:1,justifyContent:"space-between",m:"0",children:e("span",{children:c("hostsDialog.fingerprint")})}),e(yt,{size:"sm",...a.register(t+"."+b+".fingerprint"),children:Cs.map(K=>e("option",{value:K.value,children:K.title},K.value))})]})]},b)})]})})]},b)}),e(N,{variant:"outline",w:"full",size:"sm",color:"",fontWeight:"normal",onClick:C,children:c("hostsDialog.addHost")})]})})]})},Us=()=>{const{isEditingHosts:t,onEditingHosts:o,refetchUsers:n,inbounds:i}=v(),{isLoading:s,hosts:a,fetchHosts:l,isPostLoading:u,setHosts:p}=_s(),y=he(),{t:c}=O(),[d,C]=g.exports.useState({});g.exports.useEffect(()=>{t&&l()},[t]);const _=Oe({resolver:qe(Ds)});g.exports.useEffect(()=>{a&&t&&_.reset(a)},[a]);const b=()=>{C({}),o(!1)},S=m=>{p(m).then(()=>{y({title:c("hostsDialog.savedSuccess"),status:"success",isClosable:!0,position:"top",duration:3e3}),n()}).catch(f=>{var P,H,U,T,B;(((P=f==null?void 0:f.response)==null?void 0:P.status)===409||((H=f==null?void 0:f.response)==null?void 0:H.status)===400)&&y({title:(T=(U=f.response)==null?void 0:U._data)==null?void 0:T.detail,status:"error",isClosable:!0,position:"top",duration:3e3}),((B=f==null?void 0:f.response)==null?void 0:B.status)===422&&Object.keys(f.response._data.detail).forEach(G=>{y({title:f.response._data.detail[G]+" ("+G+")",status:"error",isClosable:!0,position:"top",duration:3e3})})})},R=m=>{d[String(m)]?delete d[String(m)]:d[String(m)]={},C({...d})};return r(re,{isOpen:t,onClose:b,children:[e(oe,{bg:"blackAlpha.300",backdropFilter:"blur(10px)"}),r(ne,{mx:"3",w:"fit-content",maxW:"3xl",children:[e(se,{pt:6,children:e(le,{color:"primary",children:e(Is,{color:"white"})})}),e(ie,{mt:3}),e(ae,{w:"440px",pb:3,pt:3,children:e(Er,{..._,children:r("form",{onSubmit:_.handleSubmit(S),children:[e(h,{mb:3,opacity:.8,fontSize:"sm",children:c("hostsDialog.title")}),s&&c("hostsDialog.loading"),!s&&a&&(Object.keys(a).length>0?e(Xe,{w:"full",allowToggle:!0,allowMultiple:!0,index:Object.keys(d).map(m=>parseInt(m)),children:e(M,{w:"full",children:Object.keys(a).map((m,f)=>e(zs,{toggleAccordion:()=>R(f),isOpen:d[String(f)],hostKey:m},m))})}):"No inbound found. Please check your Xray config file."),e(w,{justifyContent:"flex-end",py:2,children:e(N,{variant:"solid",mt:"2",type:"submit",colorScheme:"primary",size:"sm",px:5,isLoading:u,disabled:u,children:c("hostsDialog.apply")})})]})})})]})]})},Jr=k.object({name:k.string().min(1),address:k.string().min(1),port:k.number().min(1).or(k.string().transform(t=>parseFloat(t))),api_port:k.number().min(1).or(k.string().transform(t=>parseFloat(t))),xray_version:k.string().nullable().optional(),id:k.number().nullable().optional(),status:k.enum(["connected","connecting","error","disabled"]).nullable().optional(),message:k.string().nullable().optional(),add_as_new_host:k.boolean().optional()}),Es=()=>({name:"",address:"",port:62050,api_port:62051,xray_version:""}),Ye="fetch-nodes-query-key",Ls=()=>{const{isEditingNodes:t}=v();return zt({queryKey:Ye,queryFn:Ke.getState().fetchNodes,refetchInterval:t?3e3:void 0,refetchOnWindowFocus:!1})},Ke=ht((t,o)=>({nodes:[],addNode(n){return W("/node",{method:"POST",body:n})},fetchNodes(){return W("/nodes")},fetchNodesUsage(n){return W("/nodes/usage",{query:n})},updateNode(n){return W(`/node/${n.id}`,{method:"PUT",body:n})},setDeletingNode(n){t({deletingNode:n})},reconnectNode(n){return W(`/node/${n.id}/reconnect`,{method:"POST"})},deleteNode:()=>{var n;return W(`/node/${(n=o().deletingNode)==null?void 0:n.id}`,{method:"DELETE"})}})),At=(t,o,n)=>{if(t.response&&t.response._data){if(typeof t.response._data.detail=="string")return o({title:t.response._data.detail,status:"error",isClosable:!0,position:"top",duration:3e3});if(typeof t.response._data.detail=="object"&&n){Object.keys(t.response._data.detail).forEach(i=>n.setError(i,{message:t.response._data.detail[i]}));return}}return o({title:"Something went wrong!",status:"error",isClosable:!0,position:"top",duration:3e3})},Mt=(t,o)=>o({title:t,status:"success",isClosable:!0,position:"top",duration:3e3}),Rs=({deleteCallback:t})=>{const{deleteNode:o,deletingNode:n,setDeletingNode:i}=Ke(),{t:s}=O(),a=he(),l=Lt(),u=()=>{i(null)},{isLoading:p,mutate:y}=Ge(o,{onSuccess:()=>{Mt(s("deleteNode.deleteSuccess",{name:n&&n.name}),a),i(null),l.invalidateQueries(Ye),t&&t()},onError:c=>{At(c,a)}});return r(re,{isCentered:!0,isOpen:!!n,onClose:u,size:"sm",children:[e(oe,{bg:"blackAlpha.300",backdropFilter:"blur(10px)"}),r(ne,{mx:"3",children:[e(se,{pt:6,children:e(le,{color:"red",children:e(Je,{})})}),e(ie,{mt:3}),r(ae,{children:[e(h,{fontWeight:"semibold",fontSize:"lg",children:s("deleteNode.title")}),n&&e(h,{mt:1,fontSize:"sm",_dark:{color:"gray.400"},color:"gray.600",children:e(ge,{components:{b:e("b",{})},children:s("deleteNode.prompt",{name:n.name})})})]}),r(fe,{display:"flex",children:[e(N,{size:"sm",onClick:u,mr:3,w:"full",variant:"outline",children:s("cancel")}),e(N,{size:"sm",w:"full",colorScheme:"red",onClick:()=>y(),leftIcon:p?e(ke,{size:"xs"}):void 0,children:s("delete")})]})]})]})},et={baseStyle:{strokeWidth:"2px",w:4,h:4}},ar=x(Oo,et),Ts=x(jo,et),lr=x(Ho,et),cr=x(Lr,et),As=x(Lr,et),It=[{title:"No",value:"no_reset"},{title:"Daily",value:"day"},{title:"Weekly",value:"week"},{title:"Monthly",value:"month"},{title:"Annually",value:"year"}],Ve={active:{statusColor:"green",bandWidthColor:"primary",icon:ar},connected:{statusColor:"green",bandWidthColor:"primary",icon:ar},disabled:{statusColor:"gray",bandWidthColor:"gray",icon:Ts},expired:{statusColor:"orange",bandWidthColor:"orange",icon:cr},on_hold:{statusColor:"purple",bandWidthColor:"purple",icon:As},connecting:{statusColor:"orange",bandWidthColor:"orange",icon:cr},limited:{statusColor:"red",bandWidthColor:"red",icon:lr},error:{statusColor:"red",bandWidthColor:"red",icon:lr}},Nt=t=>{let o={status:"",time:""};if(t){j(t*1e3).utc().isAfter(j().utc())?o.status="expires":o.status="expired";const n=[],i=j.duration(j(t*1e3).utc().diff(j()));i.years()!=0&&n.push(Math.abs(i.years())+" year"+(Math.abs(i.years())!=1?"s":"")),i.months()!=0&&n.push(Math.abs(i.months())+" month"+(Math.abs(i.months())!=1?"s":"")),i.days()!=0&&n.push(Math.abs(i.days())+" day"+(Math.abs(i.days())!=1?"s":"")),n.length===0&&(i.hours()!=0&&n.push(Math.abs(i.hours())+" hour"+(Math.abs(i.hours())!=1?"s":"")),i.minutes()!=0&&n.push(Math.abs(i.minutes())+" min"+(Math.abs(i.minutes())!=1?"s":""))),o.time=n.join(", ")}return o},st=({expiryDate:t,status:o,compact:n=!1,showDetail:i=!0,extraText:s})=>{const{t:a}=O(),l=Nt(t),u=Ve[o].icon;return r(ue,{children:[r(E,{colorScheme:Ve[o].statusColor,rounded:"full",display:"inline-flex",px:3,py:1,columnGap:n?1:2,alignItems:"center",children:[e(u,{w:n?3:4}),i&&r(h,{textTransform:"capitalize",fontSize:n?".7rem":".875rem",lineHeight:n?"1rem":"1.25rem",fontWeight:"medium",letterSpacing:"tighter",children:[o,s&&`: ${s}`]})]}),i&&t&&e(h,{display:"inline-block",fontSize:"xs",fontWeight:"medium",ml:"2",color:"gray.600",_dark:{color:"gray.400"},children:a(l.status,{time:l.time})})]})},ot=x(Ce,{baseStyle:{bg:"white",_dark:{bg:"gray.700"}}}),Ms=x(zr,{baseStyle:{w:5,h:5}}),Ns=x(Bo,{baseStyle:{w:5,h:5,strokeWidth:2}}),Fs=({toggleAccordion:t,node:o})=>{const{updateNode:n,reconnectNode:i,setDeletingNode:s}=Ke(),{t:a}=O(),l=Lt(),u=he(),p=Oe({defaultValues:o,resolver:qe(Jr)}),y=s.bind(null,o),{isLoading:c,mutate:d}=Ge(n,{onSuccess:()=>{Mt("Node updated successfully",u),l.invalidateQueries(Ye)},onError:S=>{At(S,u,p)}}),{isLoading:C,mutate:_}=Ge(i.bind(null,o),{onSuccess:()=>{l.invalidateQueries(Ye)}}),b=C?"connecting":o.status?o.status:"error";return r(Fe,{border:"1px solid",_dark:{borderColor:"gray.600"},_light:{borderColor:"gray.200"},borderRadius:"4px",p:1,w:"full",children:[r(Pe,{px:2,borderRadius:"3px",onClick:t,children:[r(w,{w:"full",justifyContent:"space-between",pr:2,children:[e(h,{as:"span",fontWeight:"medium",fontSize:"sm",flex:"1",textAlign:"left",color:"gray.700",_dark:{color:"gray.300"},children:o.name}),r(w,{children:[o.xray_version&&e(E,{colorScheme:"blue",rounded:"full",display:"inline-flex",px:3,py:1,children:r(h,{textTransform:"capitalize",fontSize:"0.7rem",fontWeight:"medium",letterSpacing:"tighter",children:["Xray ",o.xray_version]})}),o.status&&e(st,{status:b,compact:!0})]})]}),e(kt,{})]}),r(We,{px:2,pb:2,children:[e(M,{pb:3,alignItems:"flex-start",children:b==="error"&&e(Ze,{status:"error",size:"xs",children:r(I,{children:[r(w,{w:"full",children:[e(ct,{w:4}),e(h,{marginInlineEnd:0,children:o.message})]}),e(w,{justifyContent:"flex-end",w:"full",children:e(N,{size:"sm","aria-label":"reconnect node",leftIcon:e(Zr,{}),onClick:()=>_(),disabled:C,children:a(C?"nodes.reconnecting":"nodes.reconnect")})})]})})}),e(Kr,{form:p,mutate:d,isLoading:c,submitBtnText:a("nodes.editNode"),btnLeftAdornment:e(te,{label:a("delete"),placement:"top",children:e($,{colorScheme:"red",variant:"ghost",size:"sm","aria-label":"delete node",onClick:y,children:e(Je,{})})})})]})]})},Ps=({toggleAccordion:t,resetAccordions:o})=>{const n=he(),{t:i}=O(),s=Lt(),{addNode:a}=Ke(),l=Oe({resolver:qe(Jr),defaultValues:{...Es(),add_as_new_host:!0}}),{isLoading:u,mutate:p}=Ge(a,{onSuccess:()=>{Mt(i("nodes.addNodeSuccess",{name:l.getValues("name")}),n),s.invalidateQueries(Ye),l.reset(),o()},onError:y=>{At(y,n,l)}});return r(Fe,{border:"1px solid",_dark:{borderColor:"gray.600"},_light:{borderColor:"gray.200"},borderRadius:"4px",p:1,w:"full",children:[e(Pe,{px:2,borderRadius:"3px",onClick:t,children:r(h,{as:"span",fontWeight:"medium",fontSize:"sm",flex:"1",textAlign:"left",color:"gray.700",_dark:{color:"gray.300"},display:"flex",gap:1,children:[e(Ns,{display:"inline-block"})," ",e("span",{children:i("nodes.addNewinfinityNode")})]})}),e(We,{px:2,py:4,children:e(Kr,{form:l,mutate:p,isLoading:u,submitBtnText:i("nodes.addNode"),btnProps:{variant:"solid"},addAsHost:!0})})]})},Kr=({form:t,mutate:o,isLoading:n,submitBtnText:i,btnProps:s={},btnLeftAdornment:a,addAsHost:l=!1})=>{var _,b,S,R,m,f,P,H,U,T,B,G;const{t:u}=O(),[p,y]=g.exports.useState(!1),{data:c,isLoading:d}=zt({queryKey:"node-settings",queryFn:()=>W("/node/settings")});function C(D){if(document.body.createTextRange){const F=document.body.createTextRange();F.moveToElementText(D),F.select()}else if(window.getSelection){const F=window.getSelection(),Z=document.createRange();Z.selectNodeContents(D),F.removeAllRanges(),F.addRange(Z)}else console.warn("Could not select text in node: Unsupported browser.")}return e("form",{onSubmit:t.handleSubmit(D=>o(D)),children:r(M,{children:[c&&c.certificate&&e(Ze,{status:"info",alignItems:"start",children:r(Rr,{display:"flex",flexDirection:"column",overflow:"hidden",children:[e("span",{children:u("nodes.connection-hint")}),r(w,{justify:"end",py:2,children:[e(N,{as:"a",colorScheme:"primary",size:"xs",download:"ssl_client_cert.pem",href:URL.createObjectURL(new Blob([c.certificate],{type:"text/plain"})),children:u("nodes.download-certificate")}),e(te,{placement:"top",label:u("nodes.show-certificate"),children:e($,{"aria-label":u("nodes.show-certificate"),onClick:y.bind(null,!p),colorScheme:"whiteAlpha",color:"primary",size:"xs",children:p?e(Vo,{width:"15px"}):e($o,{width:"15px"})})})]}),e(Tr,{in:p,animateOpacity:!0,children:e(h,{bg:"rgba(255,255,255,.5)",_dark:{bg:"rgba(255,255,255,.2)"},rounded:"md",p:"2",lineHeight:"1.2",fontSize:"10px",fontFamily:"Courier",whiteSpace:"pre",overflow:"auto",onClick:D=>{C(D.target)},children:c.certificate})})]})}),r(w,{w:"full",children:[e(A,{children:e(ot,{label:u("nodes.nodeName"),size:"sm",placeholder:"infinity-S2",...t.register("name"),error:(S=(b=(_=t.formState)==null?void 0:_.errors)==null?void 0:b.name)==null?void 0:S.message})}),e(w,{px:1,children:e(ye,{name:"status",control:t.control,render:({field:D})=>e(te,{placement:"top",label:`${u("usersTable.status")}: `+(D.value!=="disabled"?u("active"):u("disabled")),textTransform:"capitalize",children:e(I,{mt:"6",children:e(Ar,{colorScheme:"primary",isChecked:D.value!=="disabled",onChange:F=>{F.target.checked?D.onChange("connecting"):D.onChange("disabled")}})})},D.value)})})]}),r(w,{alignItems:"flex-start",children:[e(I,{w:"50%",children:e(ot,{label:u("nodes.nodeAddress"),size:"sm",placeholder:"51.20.12.13",...t.register("address"),error:(f=(m=(R=t.formState)==null?void 0:R.errors)==null?void 0:m.address)==null?void 0:f.message})}),e(I,{w:"25%",children:e(ot,{label:u("nodes.nodePort"),size:"sm",placeholder:"62050",...t.register("port"),error:(U=(H=(P=t.formState)==null?void 0:P.errors)==null?void 0:H.port)==null?void 0:U.message})}),e(I,{w:"25%",children:e(ot,{label:u("nodes.nodeAPIPort"),size:"sm",placeholder:"62051",...t.register("api_port"),error:(G=(B=(T=t.formState)==null?void 0:T.errors)==null?void 0:B.api_port)==null?void 0:G.message})})]}),l&&e(A,{py:1,children:e(Mr,{...t.register("add_as_new_host"),children:e(X,{m:0,children:u("nodes.addHostForEveryInbound")})})}),r(w,{w:"full",children:[a,e(N,{flexGrow:1,type:"submit",colorScheme:"primary",size:"sm",px:5,w:"full",isLoading:n,...s,children:i})]})]})})},Ws=()=>{const{isEditingNodes:t,onEditingNodes:o}=v(),{t:n}=O(),[i,s]=g.exports.useState({}),{data:a,isLoading:l}=Ls(),u=()=>{s({}),o(!1)},p=y=>{i[String(y)]?delete i[String(y)]:i[String(y)]={},s({...i})};return r(ue,{children:[r(re,{isOpen:t,onClose:u,children:[e(oe,{bg:"blackAlpha.300",backdropFilter:"blur(10px)"}),r(ne,{mx:"3",w:"fit-content",maxW:"3xl",children:[e(se,{pt:6,children:e(le,{color:"primary",children:e(Ms,{color:"white"})})}),e(ie,{mt:3}),r(ae,{w:"440px",pb:6,pt:3,children:[e(h,{mb:3,opacity:.8,fontSize:"sm",children:n("nodes.title")}),l&&"loading...",e(Xe,{w:"full",allowToggle:!0,index:Object.keys(i).map(y=>parseInt(y)),children:r(M,{w:"full",children:[!l&&a&&a.map((y,c)=>e(Fs,{toggleAccordion:()=>p(c),node:y},y.name)),e(Ps,{toggleAccordion:()=>p((a||[]).length),resetAccordions:()=>s({})})]})})]})]})]}),e(Rs,{deleteCallback:()=>s({})})]})};function Os(t){const o=360/t,n=90,i=47,s=[];for(let a=0;a(C<0&&(C+=1),C>1&&(C-=1),C<.16666666666666666?c+(d-c)*6*C:C<.5?d:C<.6666666666666666?c+(d-c)*(.6666666666666666-C)*6:c),p=n<.5?n*(1+o):n+o-n*o,y=2*n-p;i=Math.round(u(y,p,t+1/3)*255),s=Math.round(u(y,p,t)*255),a=Math.round(u(y,p,t-1/3)*255)}const l=u=>{const p=u.toString(16);return p.length===1?"0"+p:p};return`#${l(i)}${l(s)}${l(a)}`}const dr=({border:t,...o})=>{const{getInputProps:n,getRadioProps:i}=Jo(o),s=Se({base:"xs",md:"sm"});return r(I,{as:"label",children:[e("input",{...n()}),e(I,{...i(),minW:"48px",w:"full",h:"full",textAlign:"center",cursor:"pointer",fontSize:s,borderWidth:t?"1px":"0px",borderRadius:"md",_checked:{bg:"primary.500",color:"white",borderColor:"primary.500"},_focus:{boxShadow:"outline"},px:3,py:1,children:o.children})]})},eo=({onChange:t,defaultValue:o,...n})=>{const{t:i,i18n:s}=O();Qe();const a=Se({base:["7h","1d","3d","1w"],md:["7h","1d","3d","1w","1m","3m"]}),l={h:"hour",d:"day",w:"week",m:"month",y:"year"},u=Se({base:[{title:"hours",options:["1h","3h","6h","12h"]},{title:"days",options:["1d","2d","3d","4d"]},{title:"weeks",options:["1w","2w","3w","4w"]},{title:"months",options:["1m","2m","3m","6m"]}],md:[{title:"hours",options:["1h","2h","3h","6h","8h","12h"]},{title:"days",options:["1d","2d","3d","4d","5d","6d"]},{title:"weeks",options:["1w","2w","3w","4w"]},{title:"months",options:["1m","2m","3m","6m","8m"]}]}),{getRootProps:p,getRadioProps:y,setValue:c}=Go({name:"filter",defaultValue:o,onChange:L=>{if(L==="custom")return;_(),a.indexOf(L)>=0?(R(i("userDialog.custom")),f(!1)):(R(i("userDialog.custom")+` (${L})`),f(!0));const Y=Number(L.substring(0,L.length-1)),J=l[L[L.length-1]];t(L,{start:j().utc().subtract(Y,J).format("YYYY-MM-DDTHH:00:00")})}}),{isOpen:d,onOpen:C,onClose:_}=Zo(),b=g.exports.useRef(null);Yo({ref:b,handler:_});const[S,R]=g.exports.useState(i("userDialog.custom")),[m,f]=g.exports.useState(!1),[P,H]=g.exports.useState(0),U=Se({base:1,md:2}),T=Se({base:"xs",md:"sm"}),[B,G]=g.exports.useState(null),[D,F]=g.exports.useState(null),Z=L=>{const[Y,J]=L;D&&!J?(G(null),F(null)):(G(Y),F(J),Y&&J&&(_(),t("custom",{start:j(Y).format("YYYY-MM-DDT00:00:00"),end:j(J).format("YYYY-MM-DDT23:59:59")})))};return r(M,{...n,children:[P==0&&r(Rt,{...p(),gap:0,display:"flex",borderWidth:"1px",borderRadius:"md",minW:{base:"320px",md:"400px"},children:[a.map(L=>e(dr,{...y({value:L}),children:L},L)),e(I,{onClick:()=>{G(null),F(null),C()},cursor:"pointer",borderRadius:"md",w:"full",fontSize:T,px:3,py:1,bg:m?"primary.500":"unset",color:m?"white":"unset",borderColor:m?"primary.500":"unset",children:r(w,{children:[e(h,{children:S}),e(bt,{as:qt,boxSize:"18px"})]})})]}),P==1&&r(w,{onClick:C,cursor:"pointer",fontSize:T,borderRadius:"md",px:3,py:1,minW:{base:"320px",md:"400px"},borderWidth:"1px",children:[e(h,{w:"full",color:B?"unset":"gray.500",children:B?j(B).format("YYYY-MM-DD (00:00)"):i("userDialog.startDate")}),e(bt,{as:Nr,boxSize:"18px"}),e(h,{w:"full",color:D?"unset":"gray.500",children:D?j(D).format("YYYY-MM-DD (23:59)"):i("userDialog.endDate")}),e(bt,{as:qt,boxSize:"18px"})]}),e(M,{ref:b,marginTop:"40px !important",borderRadius:"md",borderWidth:"1px",position:"absolute",zIndex:"1",backgroundColor:"white",_dark:{backgroundColor:"gray.700"},display:d?"unset":"none",children:r(Qo,{onChange:L=>H(L),children:[r(qo,{children:[e(Xt,{fontSize:T,children:i("userDialog.relative")}),e(Xt,{fontSize:T,children:i("userDialog.absolute")})]}),r(Xo,{children:[e(Jt,{children:u.map(L=>e(M,{alignItems:"start",pl:2,pr:2,children:r(w,{justifyItems:"flex-start",mb:4,children:[e(h,{fontSize:T,minW:"60px",children:i("userDialog."+L.title)}),L.options.map(Y=>e(dr,{border:!0,...y({value:Y}),children:Y},Y+".custom"))]})},L.title))}),e(Jt,{className:"datepicker-panel",children:e(M,{children:e(Fr,{locale:s.language.toLocaleLowerCase(),selected:B,onChange:Z,startDate:B,endDate:D,selectsRange:!0,maxDate:new Date,monthsShown:U,peekNextMonth:!1,inline:!0})})})]})]})})]})};function ut(t,o,n=[],i=[]){const s=ee(n.reduce((a,l)=>a+=l,0));return{series:n,options:{labels:i,chart:{width:"100%",height:"100%",type:"donut",animations:{enabled:!1}},title:{text:`${o}${s}`,align:"center",style:{fontWeight:"var(--chakra-fontWeights-medium)",color:t==="dark"?"var(--chakra-colors-gray-300)":void 0}},legend:{position:"bottom",labels:{colors:t==="dark"?"#CBD5E0":void 0,useSeriesColors:!1}},stroke:{width:1,colors:void 0},dataLabels:{formatter:(a,{seriesIndex:l,w:u})=>ee(u.config.series[l],1)},tooltip:{custom:({series:a,seriesIndex:l,dataPointIndex:u,w:p})=>{const y=ee(a[l],1),c=Math.max(a.reduce((C,_)=>C+=_),1),d=Math.round(a[l]/c*1e3)/10+"%";return`
- Marzban + infinity - - + + diff --git a/app/dashboard/build/locales/en.json b/app/dashboard/build/locales/en.json index 6d068e15..a131e9c0 100644 --- a/app/dashboard/build/locales/en.json +++ b/app/dashboard/build/locales/en.json @@ -99,10 +99,10 @@ "hostsDialog.fingerprint": "Fingerprint", "hostsDialog.host.multiHost": "To set multiple addresses, separate them with , Each time an address is chosen randomly.", "hostsDialog.host.wildcard": "Use * to generate a random string (works for wildcard domain names)", - "nodes.title": "Using Marzban-Node, you are able to scale up your connection quality by adding different nodes on different servers.", - "nodes.addNewMarzbanNode": "Add New Marzban Node", + "nodes.title": "Using infinity-Node, you are able to scale up your connection quality by adding different nodes on different servers.", + "nodes.addNewinfinityNode": "Add New infinity Node", "nodes.certificate": "Certificate", - "nodes.connection-hint": "To setup a Marzban Node, you need to set this certificate on the node to initialize a secure connection between main server and the node", + "nodes.connection-hint": "To setup a infinity Node, you need to set this certificate on the node to initialize a secure connection between main server and the node", "nodes.download-certificate": "Download certificate", "nodes.show-certificate": "Show certificate", "nodes.hide-certificate": "Hide certificate", diff --git a/app/dashboard/build/locales/fa.json b/app/dashboard/build/locales/fa.json index 7390f55b..f93d4005 100644 --- a/app/dashboard/build/locales/fa.json +++ b/app/dashboard/build/locales/fa.json @@ -102,8 +102,8 @@ "hostsDialog.fingerprint": "اثرانگشت", "hostsDialog.host.multiHost": "برای تنظیم چند آدرس، با , از هم جدا کنید. هر دفعه آدرسی به صورت تصادفی قرار داده می‌شود.", "hostsDialog.host.wildcard": "از * برای ساخت عبارت تصادفی استفاده کنید (برای نام‌های wildcard کار می‌کند)", - "nodes.title": "با استفاده از Marzban-Node, شما می‌توانید با افزودن گره‌های متفاوت در سرورهای متفاوت، کیفیت اتصال خود را بالاتر ببرید.", - "nodes.addNewMarzbanNode": "افزودن گره مرزبان", + "nodes.title": "با استفاده از infinity-Node, شما می‌توانید با افزودن گره‌های متفاوت در سرورهای متفاوت، کیفیت اتصال خود را بالاتر ببرید.", + "nodes.addNewinfinityNode": "افزودن گره مرزبان", "nodes.certificate": "گواهی", "nodes.addHostForEveryInbound": "استفاده از این گره به عنوان میزبان تمام ورودی‌ها", "nodes.addNode": "افزودن گره", diff --git a/app/dashboard/build/locales/ru.json b/app/dashboard/build/locales/ru.json index e636e42d..400c9d50 100644 --- a/app/dashboard/build/locales/ru.json +++ b/app/dashboard/build/locales/ru.json @@ -99,8 +99,8 @@ "hostsDialog.fingerprint": "Fingerprint", "hostsDialog.host.multiHost": "Чтобы установить несколько адресов, разделяйте их с помощью ,. Каждый раз выбирается случайный адрес.", "hostsDialog.host.wildcard": "Используйте *, чтобы сгенерировать случайную строку (работает для доменных имен с подстановочными знаками)", - "nodes.title": "Используя Marzban-Node, вы можете повысить качество соединения, добавляя узлы на разных серверах.", - "nodes.addNewMarzbanNode": "Добавить новый узел Marzban", + "nodes.title": "Используя infinity-Node, вы можете повысить качество соединения, добавляя узлы на разных серверах.", + "nodes.addNewinfinityNode": "Добавить новый узел infinity", "nodes.certificate": "Сертификат", "nodes.addHostForEveryInbound": "Добавить этот узел как новый хост для каждого inbound", "nodes.addNode": "Добавить узел", @@ -112,7 +112,7 @@ "nodes.nodeAPIPort": "API порт", "nodes.editNode": "Редактировать узел", "nodes.reconnect": "Переподключиться", - "nodes.connection-hint": "Для настройки узла Marzban, необходимо установить на нем данный сертификат, для инициализации безопасного соединения между главным сервером и узлом", + "nodes.connection-hint": "Для настройки узла infinity, необходимо установить на нем данный сертификат, для инициализации безопасного соединения между главным сервером и узлом", "nodes.download-certificate": "Скачать сертификат", "nodes.show-certificate": "Показать сертификат", "nodes.hide-certificate": "Скрыть сертификат", diff --git a/app/dashboard/build/locales/zh.json b/app/dashboard/build/locales/zh.json index cf8b4142..476cce3b 100644 --- a/app/dashboard/build/locales/zh.json +++ b/app/dashboard/build/locales/zh.json @@ -93,8 +93,8 @@ "hostsDialog.security.info": "如果此主机的中间件服务器使用的安全层与入站默认值不同,则可以在此处设置自定义安全层。", "hostsDialog.alpn": "ALPN", "hostsDialog.fingerprint": "指纹", - "nodes.title": "使用 Marzban-Node,您可以通过在不同的服务器上添加不同的节点来提供多节点负载。", - "nodes.addNewMarzbanNode": "添加新的 Marzban 节点", + "nodes.title": "使用 infinity-Node,您可以通过在不同的服务器上添加不同的节点来提供多节点负载。", + "nodes.addNewinfinityNode": "添加新的 infinity 节点", "nodes.certificate": "证书", "nodes.addHostForEveryInbound": "为每个入站请求添加此节点作为新主机", "nodes.addNode": "添加节点", @@ -105,7 +105,7 @@ "nodes.nodePort": "端口", "nodes.nodeAPIPort": "API 端口", "nodes.reconnect": "重新连接", - "nodes.connection-hint": "要设置Marzban节点,您需要在节点上设置此证书以初始化主服务器和节点之间的安全连接", + "nodes.connection-hint": "要设置infinity节点,您需要在节点上设置此证书以初始化主服务器和节点之间的安全连接", "nodes.download-certificate": "下载证书", "nodes.show-certificate": "如何证书", "nodes.hide-certificate": "隐藏证书", diff --git a/app/dashboard/index.html b/app/dashboard/index.html index 4fc52083..50b884a3 100644 --- a/app/dashboard/index.html +++ b/app/dashboard/index.html @@ -3,7 +3,7 @@ - Marzban + infinity - - + + diff --git a/app/dashboard/package-lock.json b/app/dashboard/package-lock.json index 112c3272..215370dd 100644 --- a/app/dashboard/package-lock.json +++ b/app/dashboard/package-lock.json @@ -1,26 +1,26 @@ { - "name": "marzban-dashboard", + "name": "infinity-dashboard", "version": "0.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "marzban-dashboard", + "name": "infinity-dashboard", "version": "0.0.0", "hasInstallScript": true, "dependencies": { - "@chakra-ui/react": "^2.5.5", + "@chakra-ui/react": "^2.8.2", "@emotion/react": "^11.10.5", "@emotion/styled": "^11.10.5", "@heroicons/react": "^2.0.12", "@hookform/resolvers": "^2.9.10", - "apexcharts": "^3.40.0", + "apexcharts": "^3.50.0", "classnames": "^2.3.2", "dayjs": "^1.11.6", "framer-motion": "^7.6.6", "i18next": "^22.4.14", "i18next-browser-languagedetector": "^7.0.1", - "i18next-http-backend": "^2.2.0", + "i18next-http-backend": "^2.4.1", "jsoneditor": "^9.10.1", "lodash.debounce": "^4.0.8", "ohmyfetch": "^0.4.21", @@ -28,20 +28,20 @@ "react": "^18.2.0", "react-apexcharts": "^1.4.0", "react-copy-to-clipboard": "^5.1.0", - "react-datepicker": "^4.8.0", + "react-datepicker": "^4.21.0", "react-dom": "^18.2.0", "react-github-btn": "^1.4.0", - "react-hook-form": "^7.39.1", - "react-i18next": "^12.2.0", + "react-hook-form": "^7.48.2", + "react-i18next": "^12.3.1", "react-json-editor-ajrm": "^2.5.14", - "react-loading-skeleton": "^3.1.0", - "react-query": "^3.39.3", - "react-router-dom": "^6.4.3", + "react-loading-skeleton": "^3.3.1", + "react-query": "^4.0.0", + "react-router-dom": "^6.18.0", "react-slick": "^0.29.0", "react-use-websocket": "^4.3.1", "rollup-plugin-visualizer": "^5.9.0", "slick-carousel": "^1.8.1", - "vite-tsconfig-paths": "^4.0.3", + "vite-tsconfig-paths": "^4.2.1", "zod": "^3.19.1", "zustand-computed": "^1.3.3" }, @@ -487,17 +487,17 @@ } }, "node_modules/@chakra-ui/accordion": { - "version": "2.1.11", - "resolved": "https://registry.npmjs.org/@chakra-ui/accordion/-/accordion-2.1.11.tgz", - "integrity": "sha512-mfVPmqETp9pyRDHJ33AdF19oHv/LyxVzQJtlxUByuvs8Cj9QQZ2LQLg5kejm+b3mj03A7A6yfbuo3RNaI4Bhsg==", - "dependencies": { - "@chakra-ui/descendant": "3.0.14", - "@chakra-ui/icon": "3.0.16", - "@chakra-ui/react-context": "2.0.8", - "@chakra-ui/react-use-controllable-state": "2.0.8", - "@chakra-ui/react-use-merge-refs": "2.0.7", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/accordion/-/accordion-2.3.1.tgz", + "integrity": "sha512-FSXRm8iClFyU+gVaXisOSEw0/4Q+qZbFRiuhIAkVU6Boj0FxAMrlo9a8AV5TuF77rgaHytCdHk0Ng+cyUijrag==", + "dependencies": { + "@chakra-ui/descendant": "3.1.0", + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", "@chakra-ui/shared-utils": "2.0.5", - "@chakra-ui/transition": "2.0.16" + "@chakra-ui/transition": "2.1.0" }, "peerDependencies": { "@chakra-ui/system": ">=2.0.0", @@ -506,14 +506,14 @@ } }, "node_modules/@chakra-ui/alert": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@chakra-ui/alert/-/alert-2.1.0.tgz", - "integrity": "sha512-OcfHwoXI5VrmM+tHJTHT62Bx6TfyfCxSa0PWUOueJzSyhlUOKBND5we6UtrOB7D0jwX45qKKEDJOLG5yCG21jQ==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/alert/-/alert-2.2.2.tgz", + "integrity": "sha512-jHg4LYMRNOJH830ViLuicjb3F+v6iriE/2G5T+Sd0Hna04nukNJ1MxUmBPE+vI22me2dIflfelu2v9wdB6Pojw==", "dependencies": { - "@chakra-ui/icon": "3.0.16", - "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", "@chakra-ui/shared-utils": "2.0.5", - "@chakra-ui/spinner": "2.0.13" + "@chakra-ui/spinner": "2.1.0" }, "peerDependencies": { "@chakra-ui/system": ">=2.0.0", @@ -521,18 +521,18 @@ } }, "node_modules/@chakra-ui/anatomy": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/anatomy/-/anatomy-2.1.2.tgz", - "integrity": "sha512-pKfOS/mztc4sUXHNc8ypJ1gPWSolWT770jrgVRfolVbYlki8y5Y+As996zMF6k5lewTu6j9DQequ7Cc9a69IVQ==" + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/anatomy/-/anatomy-2.2.2.tgz", + "integrity": "sha512-MV6D4VLRIHr4PkW4zMyqfrNS1mPlCTiCXwvYGtDFQYr+xHFfonhAuf9WjsSc0nyp2m0OdkSLnzmVKkZFLo25Tg==" }, "node_modules/@chakra-ui/avatar": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/@chakra-ui/avatar/-/avatar-2.2.8.tgz", - "integrity": "sha512-uBs9PMrqyK111tPIYIKnOM4n3mwgKqGpvYmtwBnnbQLTNLg4gtiWWVbpTuNMpyu1av0xQYomjUt8Doed8w6p8g==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/avatar/-/avatar-2.3.0.tgz", + "integrity": "sha512-8gKSyLfygnaotbJbDMHDiJoF38OHXUYVme4gGxZ1fLnQEdPVEaIWfH+NndIjOM0z8S+YEFnT9KyGMUtvPrBk3g==", "dependencies": { - "@chakra-ui/image": "2.0.15", + "@chakra-ui/image": "2.1.0", "@chakra-ui/react-children-utils": "2.0.6", - "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/react-context": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" }, "peerDependencies": { @@ -541,12 +541,12 @@ } }, "node_modules/@chakra-ui/breadcrumb": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@chakra-ui/breadcrumb/-/breadcrumb-2.1.5.tgz", - "integrity": "sha512-p3eQQrHQBkRB69xOmNyBJqEdfCrMt+e0eOH+Pm/DjFWfIVIbnIaFbmDCeWClqlLa21Ypc6h1hR9jEmvg8kmOog==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/breadcrumb/-/breadcrumb-2.2.0.tgz", + "integrity": "sha512-4cWCG24flYBxjruRi4RJREWTGF74L/KzI2CognAW/d/zWR0CjiScuJhf37Am3LFbCySP6WSoyBOtTIoTA4yLEA==", "dependencies": { "@chakra-ui/react-children-utils": "2.0.6", - "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/react-context": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" }, "peerDependencies": { @@ -563,14 +563,14 @@ } }, "node_modules/@chakra-ui/button": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/@chakra-ui/button/-/button-2.0.18.tgz", - "integrity": "sha512-E3c99+lOm6ou4nQVOTLkG+IdOPMjsQK+Qe7VyP8A/xeAMFONuibrWPRPpprr4ZkB4kEoLMfNuyH2+aEza3ScUA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/button/-/button-2.1.0.tgz", + "integrity": "sha512-95CplwlRKmmUXkdEp/21VkEWgnwcx2TOBG6NfYlsuLBDHSLlo5FKIiE2oSi4zXc4TLcopGcWPNcm/NDaSC5pvA==", "dependencies": { - "@chakra-ui/react-context": "2.0.8", - "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", "@chakra-ui/shared-utils": "2.0.5", - "@chakra-ui/spinner": "2.0.13" + "@chakra-ui/spinner": "2.1.0" }, "peerDependencies": { "@chakra-ui/system": ">=2.0.0", @@ -578,9 +578,9 @@ } }, "node_modules/@chakra-ui/card": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@chakra-ui/card/-/card-2.1.6.tgz", - "integrity": "sha512-fFd/WAdRNVY/WOSQv4skpy0WeVhhI0f7dTY1Sm0jVl0KLmuP/GnpsWtKtqWjNcV00K963EXDyhlk6+9oxbP4gw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/card/-/card-2.2.0.tgz", + "integrity": "sha512-xUB/k5MURj4CtPAhdSoXZidUbm8j3hci9vnc+eZJVDqhDOShNlD6QeniQNRPRys4lWAQLCbFcrwL29C8naDi6g==", "dependencies": { "@chakra-ui/shared-utils": "2.0.5" }, @@ -590,21 +590,21 @@ } }, "node_modules/@chakra-ui/checkbox": { - "version": "2.2.14", - "resolved": "https://registry.npmjs.org/@chakra-ui/checkbox/-/checkbox-2.2.14.tgz", - "integrity": "sha512-uqo6lFWLqYBujPglrvRhTAErtuIXpmdpc5w0W4bjK7kyvLhxOpUh1hlDb2WoqlNpfRn/OaNeF6VinPnf9BJL8w==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/checkbox/-/checkbox-2.3.2.tgz", + "integrity": "sha512-85g38JIXMEv6M+AcyIGLh7igNtfpAN6KGQFYxY9tBj0eWvWk4NKQxvqqyVta0bSAyIl1rixNIIezNpNWk2iO4g==", "dependencies": { - "@chakra-ui/form-control": "2.0.18", - "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/form-control": "2.2.0", + "@chakra-ui/react-context": "2.1.0", "@chakra-ui/react-types": "2.0.7", - "@chakra-ui/react-use-callback-ref": "2.0.7", - "@chakra-ui/react-use-controllable-state": "2.0.8", - "@chakra-ui/react-use-merge-refs": "2.0.7", - "@chakra-ui/react-use-safe-layout-effect": "2.0.5", - "@chakra-ui/react-use-update-effect": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0", "@chakra-ui/shared-utils": "2.0.5", - "@chakra-ui/visually-hidden": "2.0.15", - "@zag-js/focus-visible": "0.2.2" + "@chakra-ui/visually-hidden": "2.2.0", + "@zag-js/focus-visible": "0.16.0" }, "peerDependencies": { "@chakra-ui/system": ">=2.0.0", @@ -699,11 +699,11 @@ } }, "node_modules/@chakra-ui/clickable": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/@chakra-ui/clickable/-/clickable-2.0.14.tgz", - "integrity": "sha512-jfsM1qaD74ZykLHmvmsKRhDyokLUxEfL8Il1VoZMNX5RBI0xW/56vKpLTFF/v/+vLPLS+Te2cZdD4+2O+G6ulA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/clickable/-/clickable-2.1.0.tgz", + "integrity": "sha512-flRA/ClPUGPYabu+/GLREZVZr9j2uyyazCAUHAdrTUEdDYCr31SVGhgh7dgKdtq23bOvAQJpIJjw/0Bs0WvbXw==", "dependencies": { - "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/react-use-merge-refs": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" }, "peerDependencies": { @@ -711,11 +711,11 @@ } }, "node_modules/@chakra-ui/close-button": { - "version": "2.0.17", - "resolved": "https://registry.npmjs.org/@chakra-ui/close-button/-/close-button-2.0.17.tgz", - "integrity": "sha512-05YPXk456t1Xa3KpqTrvm+7smx+95dmaPiwjiBN3p7LHUQVHJd8ZXSDB0V+WKi419k3cVQeJUdU/azDO2f40sw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/close-button/-/close-button-2.1.1.tgz", + "integrity": "sha512-gnpENKOanKexswSVpVz7ojZEALl2x5qjLYNqSQGbxz+aP9sOXPfUS56ebyBrre7T7exuWGiFeRwnM0oVeGPaiw==", "dependencies": { - "@chakra-ui/icon": "3.0.16" + "@chakra-ui/icon": "3.2.0" }, "peerDependencies": { "@chakra-ui/system": ">=2.0.0", @@ -723,32 +723,32 @@ } }, "node_modules/@chakra-ui/color-mode": { - "version": "2.1.12", - "resolved": "https://registry.npmjs.org/@chakra-ui/color-mode/-/color-mode-2.1.12.tgz", - "integrity": "sha512-sYyfJGDoJSLYO+V2hxV9r033qhte5Nw/wAn5yRGGZnEEN1dKPEdWQ3XZvglWSDTNd0w9zkoH2w6vP4FBBYb/iw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/color-mode/-/color-mode-2.2.0.tgz", + "integrity": "sha512-niTEA8PALtMWRI9wJ4LL0CSBDo8NBfLNp4GD6/0hstcm3IlbBHTVKxN6HwSaoNYfphDQLxCjT4yG+0BJA5tFpg==", "dependencies": { - "@chakra-ui/react-use-safe-layout-effect": "2.0.5" + "@chakra-ui/react-use-safe-layout-effect": "2.1.0" }, "peerDependencies": { "react": ">=18" } }, "node_modules/@chakra-ui/control-box": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@chakra-ui/control-box/-/control-box-2.0.13.tgz", - "integrity": "sha512-FEyrU4crxati80KUF/+1Z1CU3eZK6Sa0Yv7Z/ydtz9/tvGblXW9NFanoomXAOvcIFLbaLQPPATm9Gmpr7VG05A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/control-box/-/control-box-2.1.0.tgz", + "integrity": "sha512-gVrRDyXFdMd8E7rulL0SKeoljkLQiPITFnsyMO8EFHNZ+AHt5wK4LIguYVEq88APqAGZGfHFWXr79RYrNiE3Mg==", "peerDependencies": { "@chakra-ui/system": ">=2.0.0", "react": ">=18" } }, "node_modules/@chakra-ui/counter": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/@chakra-ui/counter/-/counter-2.0.14.tgz", - "integrity": "sha512-KxcSRfUbb94dP77xTip2myoE7P2HQQN4V5fRJmNAGbzcyLciJ+aDylUU/UxgNcEjawUp6Q242NbWb1TSbKoqog==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/counter/-/counter-2.1.0.tgz", + "integrity": "sha512-s6hZAEcWT5zzjNz2JIWUBzRubo9la/oof1W7EKZVVfPYHERnl5e16FmBC79Yfq8p09LQ+aqFKm/etYoJMMgghw==", "dependencies": { "@chakra-ui/number-utils": "2.0.7", - "@chakra-ui/react-use-callback-ref": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" }, "peerDependencies": { @@ -756,44 +756,44 @@ } }, "node_modules/@chakra-ui/css-reset": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@chakra-ui/css-reset/-/css-reset-2.1.1.tgz", - "integrity": "sha512-jwEOfIAWmQsnChHQTW/eRE+dfE4MjmhvSvoUug5nkV1pI7veC/20noFlIZxzi82EbiQI8Fs0+Jnusgxr2yaOHA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/css-reset/-/css-reset-2.3.0.tgz", + "integrity": "sha512-cQwwBy5O0jzvl0K7PLTLgp8ijqLPKyuEMiDXwYzl95seD3AoeuoCLyzZcJtVqaUZ573PiBdAbY/IlZcwDOItWg==", "peerDependencies": { "@emotion/react": ">=10.0.35", "react": ">=18" } }, "node_modules/@chakra-ui/descendant": { - "version": "3.0.14", - "resolved": "https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.0.14.tgz", - "integrity": "sha512-+Ahvp9H4HMpfScIv9w1vaecGz7qWAaK1YFHHolz/SIsGLaLGlbdp+5UNabQC7L6TUnzzJDQDxzwif78rTD7ang==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.1.0.tgz", + "integrity": "sha512-VxCIAir08g5w27klLyi7PVo8BxhW4tgU/lxQyujkmi4zx7hT9ZdrcQLAted/dAa+aSIZ14S1oV0Q9lGjsAdxUQ==", "dependencies": { - "@chakra-ui/react-context": "2.0.8", - "@chakra-ui/react-use-merge-refs": "2.0.7" + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0" }, "peerDependencies": { "react": ">=18" } }, "node_modules/@chakra-ui/dom-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@chakra-ui/dom-utils/-/dom-utils-2.0.6.tgz", - "integrity": "sha512-PVtDkPrDD5b8aoL6Atg7SLjkwhWb7BwMcLOF1L449L3nZN+DAO3nyAh6iUhZVJyunELj9d0r65CDlnMREyJZmA==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/dom-utils/-/dom-utils-2.1.0.tgz", + "integrity": "sha512-ZmF2qRa1QZ0CMLU8M1zCfmw29DmPNtfjR9iTo74U5FPr3i1aoAh7fbJ4qAlZ197Xw9eAW28tvzQuoVWeL5C7fQ==" }, "node_modules/@chakra-ui/editable": { - "version": "2.0.21", - "resolved": "https://registry.npmjs.org/@chakra-ui/editable/-/editable-2.0.21.tgz", - "integrity": "sha512-oYuXbHnggxSYJN7P9Pn0Scs9tPC91no4z1y58Oe+ILoJKZ+bFAEHtL7FEISDNJxw++MEukeFu7GU1hVqmdLsKQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/editable/-/editable-3.1.0.tgz", + "integrity": "sha512-j2JLrUL9wgg4YA6jLlbU88370eCRyor7DZQD9lzpY95tSOXpTljeg3uF9eOmDnCs6fxp3zDWIfkgMm/ExhcGTg==", "dependencies": { - "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/react-context": "2.1.0", "@chakra-ui/react-types": "2.0.7", - "@chakra-ui/react-use-callback-ref": "2.0.7", - "@chakra-ui/react-use-controllable-state": "2.0.8", - "@chakra-ui/react-use-focus-on-pointer-down": "2.0.6", - "@chakra-ui/react-use-merge-refs": "2.0.7", - "@chakra-ui/react-use-safe-layout-effect": "2.0.5", - "@chakra-ui/react-use-update-effect": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-focus-on-pointer-down": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" }, "peerDependencies": { @@ -807,26 +807,26 @@ "integrity": "sha512-IGM/yGUHS+8TOQrZGpAKOJl/xGBrmRYJrmbHfUE7zrG3PpQyXvbLDP1M+RggkCFVgHlJi2wpYIf0QtQlU0XZfw==" }, "node_modules/@chakra-ui/focus-lock": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/@chakra-ui/focus-lock/-/focus-lock-2.0.16.tgz", - "integrity": "sha512-UuAdGCPVrCa1lecoAvpOQD7JFT7a9RdmhKWhFt5ioIcekSLJcerdLHuuL3w0qz//8kd1/SOt7oP0aJqdAJQrCw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/focus-lock/-/focus-lock-2.1.0.tgz", + "integrity": "sha512-EmGx4PhWGjm4dpjRqM4Aa+rCWBxP+Rq8Uc/nAVnD4YVqkEhBkrPTpui2lnjsuxqNaZ24fIAZ10cF1hlpemte/w==", "dependencies": { - "@chakra-ui/dom-utils": "2.0.6", - "react-focus-lock": "^2.9.2" + "@chakra-ui/dom-utils": "2.1.0", + "react-focus-lock": "^2.9.4" }, "peerDependencies": { "react": ">=18" } }, "node_modules/@chakra-ui/form-control": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/@chakra-ui/form-control/-/form-control-2.0.18.tgz", - "integrity": "sha512-I0a0jG01IAtRPccOXSNugyRdUAe8Dy40ctqedZvznMweOXzbMCF1m+sHPLdWeWC/VI13VoAispdPY0/zHOdjsQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/form-control/-/form-control-2.2.0.tgz", + "integrity": "sha512-wehLC1t4fafCVJ2RvJQT2jyqsAwX7KymmiGqBu7nQoQz8ApTkGABWpo/QwDh3F/dBLrouHDoOvGmYTqft3Mirw==", "dependencies": { - "@chakra-ui/icon": "3.0.16", - "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", "@chakra-ui/react-types": "2.0.7", - "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/react-use-merge-refs": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" }, "peerDependencies": { @@ -835,13 +835,13 @@ } }, "node_modules/@chakra-ui/hooks": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@chakra-ui/hooks/-/hooks-2.1.6.tgz", - "integrity": "sha512-oMSOeoOF6/UpwTVlDFHSROAA4hPY8WgJ0erdHs1ZkuwAwHv7UzjDkvrb6xYzAAH9qHoFzc5RIBm6jVoh3LCc+Q==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/hooks/-/hooks-2.2.1.tgz", + "integrity": "sha512-RQbTnzl6b1tBjbDPf9zGRo9rf/pQMholsOudTxjy4i9GfTfz6kgp5ValGjQm2z7ng6Z31N1cnjZ1AlSzQ//ZfQ==", "dependencies": { "@chakra-ui/react-utils": "2.0.12", "@chakra-ui/utils": "2.0.15", - "compute-scroll-into-view": "1.0.20", + "compute-scroll-into-view": "3.0.3", "copy-to-clipboard": "3.3.3" }, "peerDependencies": { @@ -849,9 +849,9 @@ } }, "node_modules/@chakra-ui/icon": { - "version": "3.0.16", - "resolved": "https://registry.npmjs.org/@chakra-ui/icon/-/icon-3.0.16.tgz", - "integrity": "sha512-RpA1X5Ptz8Mt39HSyEIW1wxAz2AXyf9H0JJ5HVx/dBdMZaGMDJ0HyyPBVci0m4RCoJuyG1HHG/DXJaVfUTVAeg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/icon/-/icon-3.2.0.tgz", + "integrity": "sha512-xxjGLvlX2Ys4H0iHrI16t74rG9EBcpFvJ3Y3B7KMQTrnW34Kf7Da/UC8J67Gtx85mTHW020ml85SVPKORWNNKQ==", "dependencies": { "@chakra-ui/shared-utils": "2.0.5" }, @@ -861,11 +861,11 @@ } }, "node_modules/@chakra-ui/image": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/@chakra-ui/image/-/image-2.0.15.tgz", - "integrity": "sha512-w2rElXtI3FHXuGpMCsSklus+pO1Pl2LWDwsCGdpBQUvGFbnHfl7MftQgTlaGHeD5OS95Pxva39hKrA2VklKHiQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/image/-/image-2.1.0.tgz", + "integrity": "sha512-bskumBYKLiLMySIWDGcz0+D9Th0jPvmX6xnRMs4o92tT3Od/bW26lahmV2a2Op2ItXeCmRMY+XxJH5Gy1i46VA==", "dependencies": { - "@chakra-ui/react-use-safe-layout-effect": "2.0.5", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" }, "peerDependencies": { @@ -874,14 +874,14 @@ } }, "node_modules/@chakra-ui/input": { - "version": "2.0.21", - "resolved": "https://registry.npmjs.org/@chakra-ui/input/-/input-2.0.21.tgz", - "integrity": "sha512-AIWjjg6MgcOtlvKmVoZfPPfgF+sBSWL3Zq2HSCAMvS6h7jfxz/Xv0UTFGPk5F4Wt0YHT7qMySg0Jsm0b78HZJg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/input/-/input-2.1.2.tgz", + "integrity": "sha512-GiBbb3EqAA8Ph43yGa6Mc+kUPjh4Spmxp1Pkelr8qtudpc3p2PJOOebLpd90mcqw8UePPa+l6YhhPtp6o0irhw==", "dependencies": { - "@chakra-ui/form-control": "2.0.18", - "@chakra-ui/object-utils": "2.0.8", + "@chakra-ui/form-control": "2.2.0", + "@chakra-ui/object-utils": "2.1.0", "@chakra-ui/react-children-utils": "2.0.6", - "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/react-context": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" }, "peerDependencies": { @@ -890,15 +890,15 @@ } }, "node_modules/@chakra-ui/layout": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/@chakra-ui/layout/-/layout-2.1.18.tgz", - "integrity": "sha512-F4Gh2e+DGdaWdWT5NZduIFD9NM7Bnuh8sXARFHWPvIu7yvAwZ3ddqC9GK4F3qUngdmkJxDLWQqRSwSh96Lxbhw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/layout/-/layout-2.3.1.tgz", + "integrity": "sha512-nXuZ6WRbq0WdgnRgLw+QuxWAHuhDtVX8ElWqcTK+cSMFg/52eVP47czYBE5F35YhnoW2XBwfNoNgZ7+e8Z01Rg==", "dependencies": { "@chakra-ui/breakpoint-utils": "2.0.8", - "@chakra-ui/icon": "3.0.16", - "@chakra-ui/object-utils": "2.0.8", + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/object-utils": "2.1.0", "@chakra-ui/react-children-utils": "2.0.6", - "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/react-context": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" }, "peerDependencies": { @@ -912,20 +912,20 @@ "integrity": "sha512-UULqw7FBvcckQk2n3iPO56TMJvDsNv0FKZI6PlUNJVaGsPbsYxK/8IQ60vZgaTVPtVcjY6BE+y6zg8u9HOqpyg==" }, "node_modules/@chakra-ui/live-region": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@chakra-ui/live-region/-/live-region-2.0.13.tgz", - "integrity": "sha512-Ja+Slk6ZkxSA5oJzU2VuGU7TpZpbMb/4P4OUhIf2D30ctmIeXkxTWw1Bs1nGJAVtAPcGS5sKA+zb89i8g+0cTQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/live-region/-/live-region-2.1.0.tgz", + "integrity": "sha512-ZOxFXwtaLIsXjqnszYYrVuswBhnIHHP+XIgK1vC6DePKtyK590Wg+0J0slDwThUAd4MSSIUa/nNX84x1GMphWw==", "peerDependencies": { "react": ">=18" } }, "node_modules/@chakra-ui/media-query": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/@chakra-ui/media-query/-/media-query-3.2.12.tgz", - "integrity": "sha512-8pSLDf3oxxhFrhd40rs7vSeIBfvOmIKHA7DJlGUC/y+9irD24ZwgmCtFnn+y3gI47hTJsopbSX+wb8nr7XPswA==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/media-query/-/media-query-3.3.0.tgz", + "integrity": "sha512-IsTGgFLoICVoPRp9ykOgqmdMotJG0CnPsKvGQeSFOB/dZfIujdVb14TYxDU4+MURXry1MhJ7LzZhv+Ml7cr8/g==", "dependencies": { "@chakra-ui/breakpoint-utils": "2.0.8", - "@chakra-ui/react-env": "3.0.0", + "@chakra-ui/react-env": "3.1.0", "@chakra-ui/shared-utils": "2.0.5" }, "peerDependencies": { @@ -934,25 +934,25 @@ } }, "node_modules/@chakra-ui/menu": { - "version": "2.1.12", - "resolved": "https://registry.npmjs.org/@chakra-ui/menu/-/menu-2.1.12.tgz", - "integrity": "sha512-ylNK1VJlr/3/EGg9dLPZ87cBJJjeiYXeU/gOAphsKXMnByrXWhbp4YVnyyyha2KZ0zEw0aPU4nCZ+A69aT9wrg==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/menu/-/menu-2.2.1.tgz", + "integrity": "sha512-lJS7XEObzJxsOwWQh7yfG4H8FzFPRP5hVPN/CL+JzytEINCSBvsCDHrYPQGp7jzpCi8vnTqQQGQe0f8dwnXd2g==", "dependencies": { - "@chakra-ui/clickable": "2.0.14", - "@chakra-ui/descendant": "3.0.14", + "@chakra-ui/clickable": "2.1.0", + "@chakra-ui/descendant": "3.1.0", "@chakra-ui/lazy-utils": "2.0.5", - "@chakra-ui/popper": "3.0.13", + "@chakra-ui/popper": "3.1.0", "@chakra-ui/react-children-utils": "2.0.6", - "@chakra-ui/react-context": "2.0.8", - "@chakra-ui/react-use-animation-state": "2.0.8", - "@chakra-ui/react-use-controllable-state": "2.0.8", - "@chakra-ui/react-use-disclosure": "2.0.8", - "@chakra-ui/react-use-focus-effect": "2.0.9", - "@chakra-ui/react-use-merge-refs": "2.0.7", - "@chakra-ui/react-use-outside-click": "2.0.7", - "@chakra-ui/react-use-update-effect": "2.0.7", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-animation-state": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-disclosure": "2.1.0", + "@chakra-ui/react-use-focus-effect": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-outside-click": "2.2.0", + "@chakra-ui/react-use-update-effect": "2.1.0", "@chakra-ui/shared-utils": "2.0.5", - "@chakra-ui/transition": "2.0.16" + "@chakra-ui/transition": "2.1.0" }, "peerDependencies": { "@chakra-ui/system": ">=2.0.0", @@ -961,20 +961,20 @@ } }, "node_modules/@chakra-ui/modal": { - "version": "2.2.11", - "resolved": "https://registry.npmjs.org/@chakra-ui/modal/-/modal-2.2.11.tgz", - "integrity": "sha512-2J0ZUV5tEzkPiawdkgPz6bmex7NXAde1VXooMwdvK+vuT8PV3U61yorTJOZVLdw7TjjI1Yo94mzsp6UwBud43Q==", - "dependencies": { - "@chakra-ui/close-button": "2.0.17", - "@chakra-ui/focus-lock": "2.0.16", - "@chakra-ui/portal": "2.0.16", - "@chakra-ui/react-context": "2.0.8", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/modal/-/modal-2.3.1.tgz", + "integrity": "sha512-TQv1ZaiJMZN+rR9DK0snx/OPwmtaGH1HbZtlYt4W4s6CzyK541fxLRTjIXfEzIGpvNW+b6VFuFjbcR78p4DEoQ==", + "dependencies": { + "@chakra-ui/close-button": "2.1.1", + "@chakra-ui/focus-lock": "2.1.0", + "@chakra-ui/portal": "2.1.0", + "@chakra-ui/react-context": "2.1.0", "@chakra-ui/react-types": "2.0.7", - "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/react-use-merge-refs": "2.1.0", "@chakra-ui/shared-utils": "2.0.5", - "@chakra-ui/transition": "2.0.16", - "aria-hidden": "^1.2.2", - "react-remove-scroll": "^2.5.5" + "@chakra-ui/transition": "2.1.0", + "aria-hidden": "^1.2.3", + "react-remove-scroll": "^2.5.6" }, "peerDependencies": { "@chakra-ui/system": ">=2.0.0", @@ -984,21 +984,21 @@ } }, "node_modules/@chakra-ui/number-input": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/@chakra-ui/number-input/-/number-input-2.0.19.tgz", - "integrity": "sha512-HDaITvtMEqOauOrCPsARDxKD9PSHmhWywpcyCSOX0lMe4xx2aaGhU0QQFhsJsykj8Er6pytMv6t0KZksdDv3YA==", - "dependencies": { - "@chakra-ui/counter": "2.0.14", - "@chakra-ui/form-control": "2.0.18", - "@chakra-ui/icon": "3.0.16", - "@chakra-ui/react-context": "2.0.8", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/number-input/-/number-input-2.1.2.tgz", + "integrity": "sha512-pfOdX02sqUN0qC2ysuvgVDiws7xZ20XDIlcNhva55Jgm095xjm8eVdIBfNm3SFbSUNxyXvLTW/YQanX74tKmuA==", + "dependencies": { + "@chakra-ui/counter": "2.1.0", + "@chakra-ui/form-control": "2.2.0", + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", "@chakra-ui/react-types": "2.0.7", - "@chakra-ui/react-use-callback-ref": "2.0.7", - "@chakra-ui/react-use-event-listener": "2.0.7", - "@chakra-ui/react-use-interval": "2.0.5", - "@chakra-ui/react-use-merge-refs": "2.0.7", - "@chakra-ui/react-use-safe-layout-effect": "2.0.5", - "@chakra-ui/react-use-update-effect": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.1.0", + "@chakra-ui/react-use-event-listener": "2.1.0", + "@chakra-ui/react-use-interval": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" }, "peerDependencies": { @@ -1012,20 +1012,20 @@ "integrity": "sha512-yOGxBjXNvLTBvQyhMDqGU0Oj26s91mbAlqKHiuw737AXHt0aPllOthVUqQMeaYLwLCjGMg0jtI7JReRzyi94Dg==" }, "node_modules/@chakra-ui/object-utils": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@chakra-ui/object-utils/-/object-utils-2.0.8.tgz", - "integrity": "sha512-2upjT2JgRuiupdrtBWklKBS6tqeGMA77Nh6Q0JaoQuH/8yq+15CGckqn3IUWkWoGI0Fg3bK9LDlbbD+9DLw95Q==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/object-utils/-/object-utils-2.1.0.tgz", + "integrity": "sha512-tgIZOgLHaoti5PYGPTwK3t/cqtcycW0owaiOXoZOcpwwX/vlVb+H1jFsQyWiiwQVPt9RkoSLtxzXamx+aHH+bQ==" }, "node_modules/@chakra-ui/pin-input": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/@chakra-ui/pin-input/-/pin-input-2.0.20.tgz", - "integrity": "sha512-IHVmerrtHN8F+jRB3W1HnMir1S1TUCWhI7qDInxqPtoRffHt6mzZgLZ0izx8p1fD4HkW4c1d4/ZLEz9uH9bBRg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/pin-input/-/pin-input-2.1.0.tgz", + "integrity": "sha512-x4vBqLStDxJFMt+jdAHHS8jbh294O53CPQJoL4g228P513rHylV/uPscYUHrVJXRxsHfRztQO9k45jjTYaPRMw==", "dependencies": { - "@chakra-ui/descendant": "3.0.14", + "@chakra-ui/descendant": "3.1.0", "@chakra-ui/react-children-utils": "2.0.6", - "@chakra-ui/react-context": "2.0.8", - "@chakra-ui/react-use-controllable-state": "2.0.8", - "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" }, "peerDependencies": { @@ -1034,20 +1034,20 @@ } }, "node_modules/@chakra-ui/popover": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@chakra-ui/popover/-/popover-2.1.9.tgz", - "integrity": "sha512-OMJ12VVs9N32tFaZSOqikkKPtwAVwXYsES/D1pff/amBrE3ngCrpxJSIp4uvTdORfIYDojJqrR52ZplDKS9hRQ==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/popover/-/popover-2.2.1.tgz", + "integrity": "sha512-K+2ai2dD0ljvJnlrzesCDT9mNzLifE3noGKZ3QwLqd/K34Ym1W/0aL1ERSynrcG78NKoXS54SdEzkhCZ4Gn/Zg==", "dependencies": { - "@chakra-ui/close-button": "2.0.17", + "@chakra-ui/close-button": "2.1.1", "@chakra-ui/lazy-utils": "2.0.5", - "@chakra-ui/popper": "3.0.13", - "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/popper": "3.1.0", + "@chakra-ui/react-context": "2.1.0", "@chakra-ui/react-types": "2.0.7", - "@chakra-ui/react-use-animation-state": "2.0.8", - "@chakra-ui/react-use-disclosure": "2.0.8", - "@chakra-ui/react-use-focus-effect": "2.0.9", - "@chakra-ui/react-use-focus-on-pointer-down": "2.0.6", - "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/react-use-animation-state": "2.1.0", + "@chakra-ui/react-use-disclosure": "2.1.0", + "@chakra-ui/react-use-focus-effect": "2.1.0", + "@chakra-ui/react-use-focus-on-pointer-down": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" }, "peerDependencies": { @@ -1057,12 +1057,12 @@ } }, "node_modules/@chakra-ui/popper": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@chakra-ui/popper/-/popper-3.0.13.tgz", - "integrity": "sha512-FwtmYz80Ju8oK3Z1HQfisUE7JIMmDsCQsRBu6XuJ3TFQnBHit73yjZmxKjuRJ4JgyT4WBnZoTF3ATbRKSagBeg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/popper/-/popper-3.1.0.tgz", + "integrity": "sha512-ciDdpdYbeFG7og6/6J8lkTFxsSvwTdMLFkpVylAF6VNC22jssiWfquj2eyD4rJnzkRFPvIWJq8hvbfhsm+AjSg==", "dependencies": { "@chakra-ui/react-types": "2.0.7", - "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/react-use-merge-refs": "2.1.0", "@popperjs/core": "^2.9.3" }, "peerDependencies": { @@ -1070,12 +1070,12 @@ } }, "node_modules/@chakra-ui/portal": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/@chakra-ui/portal/-/portal-2.0.16.tgz", - "integrity": "sha512-bVID0qbQ0l4xq38LdqAN4EKD4/uFkDnXzFwOlviC9sl0dNhzICDb1ltuH/Adl1d2HTMqyN60O3GO58eHy7plnQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/portal/-/portal-2.1.0.tgz", + "integrity": "sha512-9q9KWf6SArEcIq1gGofNcFPSWEyl+MfJjEUg/un1SMlQjaROOh3zYr+6JAwvcORiX7tyHosnmWC3d3wI2aPSQg==", "dependencies": { - "@chakra-ui/react-context": "2.0.8", - "@chakra-ui/react-use-safe-layout-effect": "2.0.5" + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0" }, "peerDependencies": { "react": ">=18", @@ -1083,11 +1083,11 @@ } }, "node_modules/@chakra-ui/progress": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@chakra-ui/progress/-/progress-2.1.6.tgz", - "integrity": "sha512-hHh5Ysv4z6bK+j2GJbi/FT9CVyto2PtNUNwBmr3oNMVsoOUMoRjczfXvvYqp0EHr9PCpxqrq7sRwgQXUzhbDSw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/progress/-/progress-2.2.0.tgz", + "integrity": "sha512-qUXuKbuhN60EzDD9mHR7B67D7p/ZqNS2Aze4Pbl1qGGZfulPW0PY8Rof32qDtttDQBkzQIzFGE8d9QpAemToIQ==", "dependencies": { - "@chakra-ui/react-context": "2.0.8" + "@chakra-ui/react-context": "2.1.0" }, "peerDependencies": { "@chakra-ui/system": ">=2.0.0", @@ -1095,14 +1095,14 @@ } }, "node_modules/@chakra-ui/provider": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/provider/-/provider-2.2.2.tgz", - "integrity": "sha512-UVwnIDnAWq1aKroN5AF+OpNpUqLVeIUk7tKvX3z4CY9FsPFFi6LTEhRHdhpwaU1Tau3Tf9agEu5URegpY7S8BA==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/provider/-/provider-2.4.2.tgz", + "integrity": "sha512-w0Tef5ZCJK1mlJorcSjItCSbyvVuqpvyWdxZiVQmE6fvSJR83wZof42ux0+sfWD+I7rHSfj+f9nzhNaEWClysw==", "dependencies": { - "@chakra-ui/css-reset": "2.1.1", - "@chakra-ui/portal": "2.0.16", - "@chakra-ui/react-env": "3.0.0", - "@chakra-ui/system": "2.5.5", + "@chakra-ui/css-reset": "2.3.0", + "@chakra-ui/portal": "2.1.0", + "@chakra-ui/react-env": "3.1.0", + "@chakra-ui/system": "2.6.2", "@chakra-ui/utils": "2.0.15" }, "peerDependencies": { @@ -1113,16 +1113,16 @@ } }, "node_modules/@chakra-ui/radio": { - "version": "2.0.22", - "resolved": "https://registry.npmjs.org/@chakra-ui/radio/-/radio-2.0.22.tgz", - "integrity": "sha512-GsQ5WAnLwivWl6gPk8P1x+tCcpVakCt5R5T0HumF7DGPXKdJbjS+RaFySrbETmyTJsKY4QrfXn+g8CWVrMjPjw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/radio/-/radio-2.1.2.tgz", + "integrity": "sha512-n10M46wJrMGbonaghvSRnZ9ToTv/q76Szz284gv4QUWvyljQACcGrXIONUnQ3BIwbOfkRqSk7Xl/JgZtVfll+w==", "dependencies": { - "@chakra-ui/form-control": "2.0.18", - "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/form-control": "2.2.0", + "@chakra-ui/react-context": "2.1.0", "@chakra-ui/react-types": "2.0.7", - "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/react-use-merge-refs": "2.1.0", "@chakra-ui/shared-utils": "2.0.5", - "@zag-js/focus-visible": "0.2.2" + "@zag-js/focus-visible": "0.16.0" }, "peerDependencies": { "@chakra-ui/system": ">=2.0.0", @@ -1130,61 +1130,63 @@ } }, "node_modules/@chakra-ui/react": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/@chakra-ui/react/-/react-2.5.5.tgz", - "integrity": "sha512-aBVMUtdWv2MrptD/tKSqICPsuJ+I+jvauegffO1qPUDlK3RrXIDeOHkLGWohgXNcjY5bGVWguFEzJm97//0ooQ==", - "dependencies": { - "@chakra-ui/accordion": "2.1.11", - "@chakra-ui/alert": "2.1.0", - "@chakra-ui/avatar": "2.2.8", - "@chakra-ui/breadcrumb": "2.1.5", - "@chakra-ui/button": "2.0.18", - "@chakra-ui/card": "2.1.6", - "@chakra-ui/checkbox": "2.2.14", - "@chakra-ui/close-button": "2.0.17", - "@chakra-ui/control-box": "2.0.13", - "@chakra-ui/counter": "2.0.14", - "@chakra-ui/css-reset": "2.1.1", - "@chakra-ui/editable": "2.0.21", - "@chakra-ui/focus-lock": "2.0.16", - "@chakra-ui/form-control": "2.0.18", - "@chakra-ui/hooks": "2.1.6", - "@chakra-ui/icon": "3.0.16", - "@chakra-ui/image": "2.0.15", - "@chakra-ui/input": "2.0.21", - "@chakra-ui/layout": "2.1.18", - "@chakra-ui/live-region": "2.0.13", - "@chakra-ui/media-query": "3.2.12", - "@chakra-ui/menu": "2.1.12", - "@chakra-ui/modal": "2.2.11", - "@chakra-ui/number-input": "2.0.19", - "@chakra-ui/pin-input": "2.0.20", - "@chakra-ui/popover": "2.1.9", - "@chakra-ui/popper": "3.0.13", - "@chakra-ui/portal": "2.0.16", - "@chakra-ui/progress": "2.1.6", - "@chakra-ui/provider": "2.2.2", - "@chakra-ui/radio": "2.0.22", - "@chakra-ui/react-env": "3.0.0", - "@chakra-ui/select": "2.0.19", - "@chakra-ui/skeleton": "2.0.24", - "@chakra-ui/slider": "2.0.23", - "@chakra-ui/spinner": "2.0.13", - "@chakra-ui/stat": "2.0.18", - "@chakra-ui/styled-system": "2.8.0", - "@chakra-ui/switch": "2.0.26", - "@chakra-ui/system": "2.5.5", - "@chakra-ui/table": "2.0.17", - "@chakra-ui/tabs": "2.1.9", - "@chakra-ui/tag": "3.0.0", - "@chakra-ui/textarea": "2.0.19", - "@chakra-ui/theme": "3.0.1", - "@chakra-ui/theme-utils": "2.0.15", - "@chakra-ui/toast": "6.1.1", - "@chakra-ui/tooltip": "2.2.7", - "@chakra-ui/transition": "2.0.16", + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/react/-/react-2.8.2.tgz", + "integrity": "sha512-Hn0moyxxyCDKuR9ywYpqgX8dvjqwu9ArwpIb9wHNYjnODETjLwazgNIliCVBRcJvysGRiV51U2/JtJVrpeCjUQ==", + "dependencies": { + "@chakra-ui/accordion": "2.3.1", + "@chakra-ui/alert": "2.2.2", + "@chakra-ui/avatar": "2.3.0", + "@chakra-ui/breadcrumb": "2.2.0", + "@chakra-ui/button": "2.1.0", + "@chakra-ui/card": "2.2.0", + "@chakra-ui/checkbox": "2.3.2", + "@chakra-ui/close-button": "2.1.1", + "@chakra-ui/control-box": "2.1.0", + "@chakra-ui/counter": "2.1.0", + "@chakra-ui/css-reset": "2.3.0", + "@chakra-ui/editable": "3.1.0", + "@chakra-ui/focus-lock": "2.1.0", + "@chakra-ui/form-control": "2.2.0", + "@chakra-ui/hooks": "2.2.1", + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/image": "2.1.0", + "@chakra-ui/input": "2.1.2", + "@chakra-ui/layout": "2.3.1", + "@chakra-ui/live-region": "2.1.0", + "@chakra-ui/media-query": "3.3.0", + "@chakra-ui/menu": "2.2.1", + "@chakra-ui/modal": "2.3.1", + "@chakra-ui/number-input": "2.1.2", + "@chakra-ui/pin-input": "2.1.0", + "@chakra-ui/popover": "2.2.1", + "@chakra-ui/popper": "3.1.0", + "@chakra-ui/portal": "2.1.0", + "@chakra-ui/progress": "2.2.0", + "@chakra-ui/provider": "2.4.2", + "@chakra-ui/radio": "2.1.2", + "@chakra-ui/react-env": "3.1.0", + "@chakra-ui/select": "2.1.2", + "@chakra-ui/skeleton": "2.1.0", + "@chakra-ui/skip-nav": "2.1.0", + "@chakra-ui/slider": "2.1.0", + "@chakra-ui/spinner": "2.1.0", + "@chakra-ui/stat": "2.1.1", + "@chakra-ui/stepper": "2.3.1", + "@chakra-ui/styled-system": "2.9.2", + "@chakra-ui/switch": "2.1.2", + "@chakra-ui/system": "2.6.2", + "@chakra-ui/table": "2.1.0", + "@chakra-ui/tabs": "3.0.0", + "@chakra-ui/tag": "3.1.1", + "@chakra-ui/textarea": "2.1.2", + "@chakra-ui/theme": "3.3.1", + "@chakra-ui/theme-utils": "2.0.21", + "@chakra-ui/toast": "7.0.2", + "@chakra-ui/tooltip": "2.3.1", + "@chakra-ui/transition": "2.1.0", "@chakra-ui/utils": "2.0.15", - "@chakra-ui/visually-hidden": "2.0.15" + "@chakra-ui/visually-hidden": "2.2.0" }, "peerDependencies": { "@emotion/react": "^11.0.0", @@ -1203,19 +1205,19 @@ } }, "node_modules/@chakra-ui/react-context": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-context/-/react-context-2.0.8.tgz", - "integrity": "sha512-tRTKdn6lCTXM6WPjSokAAKCw2ioih7Eg8cNgaYRSwKBck8nkz9YqxgIIEj3dJD7MGtpl24S/SNI98iRWkRwR/A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-context/-/react-context-2.1.0.tgz", + "integrity": "sha512-iahyStvzQ4AOwKwdPReLGfDesGG+vWJfEsn0X/NoGph/SkN+HXtv2sCfYFFR9k7bb+Kvc6YfpLlSuLvKMHi2+w==", "peerDependencies": { "react": ">=18" } }, "node_modules/@chakra-ui/react-env": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-env/-/react-env-3.0.0.tgz", - "integrity": "sha512-tfMRO2v508HQWAqSADFrwZgR9oU10qC97oV6zGbjHh9ALP0/IcFR+Bi71KRTveDTm85fMeAzZYGj57P3Dsipkw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-env/-/react-env-3.1.0.tgz", + "integrity": "sha512-Vr96GV2LNBth3+IKzr/rq1IcnkXv+MLmwjQH6C8BRtn3sNskgDFD5vLkVXcEhagzZMCh8FR3V/bzZPojBOyNhw==", "dependencies": { - "@chakra-ui/react-use-safe-layout-effect": "2.0.5" + "@chakra-ui/react-use-safe-layout-effect": "2.1.0" }, "peerDependencies": { "react": ">=18" @@ -1230,128 +1232,128 @@ } }, "node_modules/@chakra-ui/react-use-animation-state": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-animation-state/-/react-use-animation-state-2.0.8.tgz", - "integrity": "sha512-xv9zSF2Rd1mHWQ+m5DLBWeh4atF8qrNvsOs3MNrvxKYBS3f79N3pqcQGrWAEvirXWXfiCeje2VAkEggqFRIo+Q==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-animation-state/-/react-use-animation-state-2.1.0.tgz", + "integrity": "sha512-CFZkQU3gmDBwhqy0vC1ryf90BVHxVN8cTLpSyCpdmExUEtSEInSCGMydj2fvn7QXsz/za8JNdO2xxgJwxpLMtg==", "dependencies": { - "@chakra-ui/dom-utils": "2.0.6", - "@chakra-ui/react-use-event-listener": "2.0.7" + "@chakra-ui/dom-utils": "2.1.0", + "@chakra-ui/react-use-event-listener": "2.1.0" }, "peerDependencies": { "react": ">=18" } }, "node_modules/@chakra-ui/react-use-callback-ref": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-callback-ref/-/react-use-callback-ref-2.0.7.tgz", - "integrity": "sha512-YjT76nTpfHAK5NxplAlZsQwNju5KmQExnqsWNPFeOR6vvbC34+iPSTr+r91i1Hdy7gBSbevsOsd5Wm6RN3GuMw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-callback-ref/-/react-use-callback-ref-2.1.0.tgz", + "integrity": "sha512-efnJrBtGDa4YaxDzDE90EnKD3Vkh5a1t3w7PhnRQmsphLy3g2UieasoKTlT2Hn118TwDjIv5ZjHJW6HbzXA9wQ==", "peerDependencies": { "react": ">=18" } }, "node_modules/@chakra-ui/react-use-controllable-state": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-controllable-state/-/react-use-controllable-state-2.0.8.tgz", - "integrity": "sha512-F7rdCbLEmRjwwODqWZ3y+mKgSSHPcLQxeUygwk1BkZPXbKkJJKymOIjIynil2cbH7ku3hcSIWRvuhpCcfQWJ7Q==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-controllable-state/-/react-use-controllable-state-2.1.0.tgz", + "integrity": "sha512-QR/8fKNokxZUs4PfxjXuwl0fj/d71WPrmLJvEpCTkHjnzu7LnYvzoe2wB867IdooQJL0G1zBxl0Dq+6W1P3jpg==", "dependencies": { - "@chakra-ui/react-use-callback-ref": "2.0.7" + "@chakra-ui/react-use-callback-ref": "2.1.0" }, "peerDependencies": { "react": ">=18" } }, "node_modules/@chakra-ui/react-use-disclosure": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-disclosure/-/react-use-disclosure-2.0.8.tgz", - "integrity": "sha512-2ir/mHe1YND40e+FyLHnDsnDsBQPwzKDLzfe9GZri7y31oU83JSbHdlAXAhp3bpjohslwavtRCp+S/zRxfO9aQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-disclosure/-/react-use-disclosure-2.1.0.tgz", + "integrity": "sha512-Ax4pmxA9LBGMyEZJhhUZobg9C0t3qFE4jVF1tGBsrLDcdBeLR9fwOogIPY9Hf0/wqSlAryAimICbr5hkpa5GSw==", "dependencies": { - "@chakra-ui/react-use-callback-ref": "2.0.7" + "@chakra-ui/react-use-callback-ref": "2.1.0" }, "peerDependencies": { "react": ">=18" } }, "node_modules/@chakra-ui/react-use-event-listener": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-event-listener/-/react-use-event-listener-2.0.7.tgz", - "integrity": "sha512-4wvpx4yudIO3B31pOrXuTHDErawmwiXnvAN7gLEOVREi16+YGNcFnRJ5X5nRrmB7j2MDUtsEDpRBFfw5Z9xQ5g==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-event-listener/-/react-use-event-listener-2.1.0.tgz", + "integrity": "sha512-U5greryDLS8ISP69DKDsYcsXRtAdnTQT+jjIlRYZ49K/XhUR/AqVZCK5BkR1spTDmO9H8SPhgeNKI70ODuDU/Q==", "dependencies": { - "@chakra-ui/react-use-callback-ref": "2.0.7" + "@chakra-ui/react-use-callback-ref": "2.1.0" }, "peerDependencies": { "react": ">=18" } }, "node_modules/@chakra-ui/react-use-focus-effect": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-focus-effect/-/react-use-focus-effect-2.0.9.tgz", - "integrity": "sha512-20nfNkpbVwyb41q9wxp8c4jmVp6TUGAPE3uFTDpiGcIOyPW5aecQtPmTXPMJH+2aa8Nu1wyoT1btxO+UYiQM3g==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-focus-effect/-/react-use-focus-effect-2.1.0.tgz", + "integrity": "sha512-xzVboNy7J64xveLcxTIJ3jv+lUJKDwRM7Szwn9tNzUIPD94O3qwjV7DDCUzN2490nSYDF4OBMt/wuDBtaR3kUQ==", "dependencies": { - "@chakra-ui/dom-utils": "2.0.6", - "@chakra-ui/react-use-event-listener": "2.0.7", - "@chakra-ui/react-use-safe-layout-effect": "2.0.5", - "@chakra-ui/react-use-update-effect": "2.0.7" + "@chakra-ui/dom-utils": "2.1.0", + "@chakra-ui/react-use-event-listener": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0" }, "peerDependencies": { "react": ">=18" } }, "node_modules/@chakra-ui/react-use-focus-on-pointer-down": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-focus-on-pointer-down/-/react-use-focus-on-pointer-down-2.0.6.tgz", - "integrity": "sha512-OigXiLRVySn3tyVqJ/rn57WGuukW8TQe8fJYiLwXbcNyAMuYYounvRxvCy2b53sQ7QIZamza0N0jhirbH5FNoQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-focus-on-pointer-down/-/react-use-focus-on-pointer-down-2.1.0.tgz", + "integrity": "sha512-2jzrUZ+aiCG/cfanrolsnSMDykCAbv9EK/4iUyZno6BYb3vziucmvgKuoXbMPAzWNtwUwtuMhkby8rc61Ue+Lg==", "dependencies": { - "@chakra-ui/react-use-event-listener": "2.0.7" + "@chakra-ui/react-use-event-listener": "2.1.0" }, "peerDependencies": { "react": ">=18" } }, "node_modules/@chakra-ui/react-use-interval": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-interval/-/react-use-interval-2.0.5.tgz", - "integrity": "sha512-1nbdwMi2K87V6p5f5AseOKif2CkldLaJlq1TOqaPRwb7v3aU9rltBtYdf+fIyuHSToNJUV6wd9budCFdLCl3Fg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-interval/-/react-use-interval-2.1.0.tgz", + "integrity": "sha512-8iWj+I/+A0J08pgEXP1J1flcvhLBHkk0ln7ZvGIyXiEyM6XagOTJpwNhiu+Bmk59t3HoV/VyvyJTa+44sEApuw==", "dependencies": { - "@chakra-ui/react-use-callback-ref": "2.0.7" + "@chakra-ui/react-use-callback-ref": "2.1.0" }, "peerDependencies": { "react": ">=18" } }, "node_modules/@chakra-ui/react-use-latest-ref": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-latest-ref/-/react-use-latest-ref-2.0.5.tgz", - "integrity": "sha512-3mIuFzMyIo3Ok/D8uhV9voVg7KkrYVO/pwVvNPJOHsDQqCA6DpYE4WDsrIx+fVcwad3Ta7SupexR5PoI+kq6QQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-latest-ref/-/react-use-latest-ref-2.1.0.tgz", + "integrity": "sha512-m0kxuIYqoYB0va9Z2aW4xP/5b7BzlDeWwyXCH6QpT2PpW3/281L3hLCm1G0eOUcdVlayqrQqOeD6Mglq+5/xoQ==", "peerDependencies": { "react": ">=18" } }, "node_modules/@chakra-ui/react-use-merge-refs": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-merge-refs/-/react-use-merge-refs-2.0.7.tgz", - "integrity": "sha512-zds4Uhsc+AMzdH8JDDkLVet9baUBgtOjPbhC5r3A0ZXjZvGhCztFAVE3aExYiVoMPoHLKbLcqvCWE6ioFKz1lw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-merge-refs/-/react-use-merge-refs-2.1.0.tgz", + "integrity": "sha512-lERa6AWF1cjEtWSGjxWTaSMvneccnAVH4V4ozh8SYiN9fSPZLlSG3kNxfNzdFvMEhM7dnP60vynF7WjGdTgQbQ==", "peerDependencies": { "react": ">=18" } }, "node_modules/@chakra-ui/react-use-outside-click": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-outside-click/-/react-use-outside-click-2.0.7.tgz", - "integrity": "sha512-MsAuGLkwYNxNJ5rb8lYNvXApXxYMnJ3MzqBpQj1kh5qP/+JSla9XMjE/P94ub4fSEttmNSqs43SmPPrmPuihsQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-outside-click/-/react-use-outside-click-2.2.0.tgz", + "integrity": "sha512-PNX+s/JEaMneijbgAM4iFL+f3m1ga9+6QK0E5Yh4s8KZJQ/bLwZzdhMz8J/+mL+XEXQ5J0N8ivZN28B82N1kNw==", "dependencies": { - "@chakra-ui/react-use-callback-ref": "2.0.7" + "@chakra-ui/react-use-callback-ref": "2.1.0" }, "peerDependencies": { "react": ">=18" } }, "node_modules/@chakra-ui/react-use-pan-event": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-pan-event/-/react-use-pan-event-2.0.9.tgz", - "integrity": "sha512-xu35QXkiyrgsHUOnctl+SwNcwf9Rl62uYE5y8soKOZdBm8E+FvZIt2hxUzK1EoekbJCMzEZ0Yv1ZQCssVkSLaQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-pan-event/-/react-use-pan-event-2.1.0.tgz", + "integrity": "sha512-xmL2qOHiXqfcj0q7ZK5s9UjTh4Gz0/gL9jcWPA6GVf+A0Od5imEDa/Vz+533yQKWiNSm1QGrIj0eJAokc7O4fg==", "dependencies": { "@chakra-ui/event-utils": "2.0.8", - "@chakra-ui/react-use-latest-ref": "2.0.5", + "@chakra-ui/react-use-latest-ref": "2.1.0", "framesync": "6.1.2" }, "peerDependencies": { @@ -1359,47 +1361,47 @@ } }, "node_modules/@chakra-ui/react-use-previous": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-previous/-/react-use-previous-2.0.5.tgz", - "integrity": "sha512-BIZgjycPE4Xr+MkhKe0h67uHXzQQkBX/u5rYPd65iMGdX1bCkbE0oorZNfOHLKdTmnEb4oVsNvfN6Rfr+Mnbxw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-previous/-/react-use-previous-2.1.0.tgz", + "integrity": "sha512-pjxGwue1hX8AFcmjZ2XfrQtIJgqbTF3Qs1Dy3d1krC77dEsiCUbQ9GzOBfDc8pfd60DrB5N2tg5JyHbypqh0Sg==", "peerDependencies": { "react": ">=18" } }, "node_modules/@chakra-ui/react-use-safe-layout-effect": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-safe-layout-effect/-/react-use-safe-layout-effect-2.0.5.tgz", - "integrity": "sha512-MwAQBz3VxoeFLaesaSEN87reVNVbjcQBDex2WGexAg6hUB6n4gc1OWYH/iXp4tzp4kuggBNhEHkk9BMYXWfhJQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-safe-layout-effect/-/react-use-safe-layout-effect-2.1.0.tgz", + "integrity": "sha512-Knbrrx/bcPwVS1TorFdzrK/zWA8yuU/eaXDkNj24IrKoRlQrSBFarcgAEzlCHtzuhufP3OULPkELTzz91b0tCw==", "peerDependencies": { "react": ">=18" } }, "node_modules/@chakra-ui/react-use-size": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-size/-/react-use-size-2.0.10.tgz", - "integrity": "sha512-fdIkH14GDnKQrtQfxX8N3gxbXRPXEl67Y3zeD9z4bKKcQUAYIMqs0MsPZY+FMpGQw8QqafM44nXfL038aIrC5w==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-size/-/react-use-size-2.1.0.tgz", + "integrity": "sha512-tbLqrQhbnqOjzTaMlYytp7wY8BW1JpL78iG7Ru1DlV4EWGiAmXFGvtnEt9HftU0NJ0aJyjgymkxfVGI55/1Z4A==", "dependencies": { - "@zag-js/element-size": "0.3.2" + "@zag-js/element-size": "0.10.5" }, "peerDependencies": { "react": ">=18" } }, "node_modules/@chakra-ui/react-use-timeout": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-timeout/-/react-use-timeout-2.0.5.tgz", - "integrity": "sha512-QqmB+jVphh3h/CS60PieorpY7UqSPkrQCB7f7F+i9vwwIjtP8fxVHMmkb64K7VlzQiMPzv12nlID5dqkzlv0mw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-timeout/-/react-use-timeout-2.1.0.tgz", + "integrity": "sha512-cFN0sobKMM9hXUhyCofx3/Mjlzah6ADaEl/AXl5Y+GawB5rgedgAcu2ErAgarEkwvsKdP6c68CKjQ9dmTQlJxQ==", "dependencies": { - "@chakra-ui/react-use-callback-ref": "2.0.7" + "@chakra-ui/react-use-callback-ref": "2.1.0" }, "peerDependencies": { "react": ">=18" } }, "node_modules/@chakra-ui/react-use-update-effect": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-update-effect/-/react-use-update-effect-2.0.7.tgz", - "integrity": "sha512-vBM2bmmM83ZdDtasWv3PXPznpTUd+FvqBC8J8rxoRmvdMEfrxTiQRBJhiGHLpS9BPLLPQlosN6KdFU97csB6zg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-update-effect/-/react-use-update-effect-2.1.0.tgz", + "integrity": "sha512-ND4Q23tETaR2Qd3zwCKYOOS1dfssojPLJMLvUtUbW5M9uW1ejYWgGUobeAiOVfSplownG8QYMmHTP86p/v0lbA==", "peerDependencies": { "react": ">=18" } @@ -1416,11 +1418,11 @@ } }, "node_modules/@chakra-ui/select": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/@chakra-ui/select/-/select-2.0.19.tgz", - "integrity": "sha512-eAlFh+JhwtJ17OrB6fO6gEAGOMH18ERNrXLqWbYLrs674Le7xuREgtuAYDoxUzvYXYYTTdOJtVbcHGriI3o6rA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/select/-/select-2.1.2.tgz", + "integrity": "sha512-ZwCb7LqKCVLJhru3DXvKXpZ7Pbu1TDZ7N0PdQ0Zj1oyVLJyrpef1u9HR5u0amOpqcH++Ugt0f5JSmirjNlctjA==", "dependencies": { - "@chakra-ui/form-control": "2.0.18", + "@chakra-ui/form-control": "2.2.0", "@chakra-ui/shared-utils": "2.0.5" }, "peerDependencies": { @@ -1434,12 +1436,12 @@ "integrity": "sha512-4/Wur0FqDov7Y0nCXl7HbHzCg4aq86h+SXdoUeuCMD3dSj7dpsVnStLYhng1vxvlbUnLpdF4oz5Myt3i/a7N3Q==" }, "node_modules/@chakra-ui/skeleton": { - "version": "2.0.24", - "resolved": "https://registry.npmjs.org/@chakra-ui/skeleton/-/skeleton-2.0.24.tgz", - "integrity": "sha512-1jXtVKcl/jpbrJlc/TyMsFyI651GTXY5ma30kWyTXoby2E+cxbV6OR8GB/NMZdGxbQBax8/VdtYVjI0n+OBqWA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/skeleton/-/skeleton-2.1.0.tgz", + "integrity": "sha512-JNRuMPpdZGd6zFVKjVQ0iusu3tXAdI29n4ZENYwAJEMf/fN0l12sVeirOxkJ7oEL0yOx2AgEYFSKdbcAgfUsAQ==", "dependencies": { - "@chakra-ui/media-query": "3.2.12", - "@chakra-ui/react-use-previous": "2.0.5", + "@chakra-ui/media-query": "3.3.0", + "@chakra-ui/react-use-previous": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" }, "peerDependencies": { @@ -1447,21 +1449,30 @@ "react": ">=18" } }, + "node_modules/@chakra-ui/skip-nav": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/skip-nav/-/skip-nav-2.1.0.tgz", + "integrity": "sha512-Hk+FG+vadBSH0/7hwp9LJnLjkO0RPGnx7gBJWI4/SpoJf3e4tZlWYtwGj0toYY4aGKl93jVghuwGbDBEMoHDug==", + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, "node_modules/@chakra-ui/slider": { - "version": "2.0.23", - "resolved": "https://registry.npmjs.org/@chakra-ui/slider/-/slider-2.0.23.tgz", - "integrity": "sha512-/eyRUXLla+ZdBUPXpakE3SAS2JS8mIJR6qcUYiPVKSpRAi6tMyYeQijAXn2QC1AUVd2JrG8Pz+1Jy7Po3uA7cA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/slider/-/slider-2.1.0.tgz", + "integrity": "sha512-lUOBcLMCnFZiA/s2NONXhELJh6sY5WtbRykPtclGfynqqOo47lwWJx+VP7xaeuhDOPcWSSecWc9Y1BfPOCz9cQ==", "dependencies": { "@chakra-ui/number-utils": "2.0.7", - "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/react-context": "2.1.0", "@chakra-ui/react-types": "2.0.7", - "@chakra-ui/react-use-callback-ref": "2.0.7", - "@chakra-ui/react-use-controllable-state": "2.0.8", - "@chakra-ui/react-use-latest-ref": "2.0.5", - "@chakra-ui/react-use-merge-refs": "2.0.7", - "@chakra-ui/react-use-pan-event": "2.0.9", - "@chakra-ui/react-use-size": "2.0.10", - "@chakra-ui/react-use-update-effect": "2.0.7" + "@chakra-ui/react-use-callback-ref": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-latest-ref": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-pan-event": "2.1.0", + "@chakra-ui/react-use-size": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0" }, "peerDependencies": { "@chakra-ui/system": ">=2.0.0", @@ -1469,9 +1480,9 @@ } }, "node_modules/@chakra-ui/spinner": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@chakra-ui/spinner/-/spinner-2.0.13.tgz", - "integrity": "sha512-T1/aSkVpUIuiYyrjfn1+LsQEG7Onbi1UE9ccS/evgf61Dzy4GgTXQUnDuWFSgpV58owqirqOu6jn/9eCwDlzlg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/spinner/-/spinner-2.1.0.tgz", + "integrity": "sha512-hczbnoXt+MMv/d3gE+hjQhmkzLiKuoTo42YhUG7Bs9OSv2lg1fZHW1fGNRFP3wTi6OIbD044U1P9HK+AOgFH3g==", "dependencies": { "@chakra-ui/shared-utils": "2.0.5" }, @@ -1481,12 +1492,26 @@ } }, "node_modules/@chakra-ui/stat": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/@chakra-ui/stat/-/stat-2.0.18.tgz", - "integrity": "sha512-wKyfBqhVlIs9bkSerUc6F9KJMw0yTIEKArW7dejWwzToCLPr47u+CtYO6jlJHV6lRvkhi4K4Qc6pyvtJxZ3VpA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/stat/-/stat-2.1.1.tgz", + "integrity": "sha512-LDn0d/LXQNbAn2KaR3F1zivsZCewY4Jsy1qShmfBMKwn6rI8yVlbvu6SiA3OpHS0FhxbsZxQI6HefEoIgtqY6Q==", "dependencies": { - "@chakra-ui/icon": "3.0.16", - "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + }, + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" + } + }, + "node_modules/@chakra-ui/stepper": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/stepper/-/stepper-2.3.1.tgz", + "integrity": "sha512-ky77lZbW60zYkSXhYz7kbItUpAQfEdycT0Q4bkHLxfqbuiGMf8OmgZOQkOB9uM4v0zPwy2HXhe0vq4Dd0xa55Q==", + "dependencies": { + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" }, "peerDependencies": { @@ -1495,21 +1520,21 @@ } }, "node_modules/@chakra-ui/styled-system": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/@chakra-ui/styled-system/-/styled-system-2.8.0.tgz", - "integrity": "sha512-bmRv/8ACJGGKGx84U1npiUddwdNifJ+/ETklGwooS5APM0ymwUtBYZpFxjYNJrqvVYpg3mVY6HhMyBVptLS7iA==", + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/styled-system/-/styled-system-2.9.2.tgz", + "integrity": "sha512-To/Z92oHpIE+4nk11uVMWqo2GGRS86coeMmjxtpnErmWRdLcp1WVCVRAvn+ZwpLiNR+reWFr2FFqJRsREuZdAg==", "dependencies": { "@chakra-ui/shared-utils": "2.0.5", - "csstype": "^3.0.11", + "csstype": "^3.1.2", "lodash.mergewith": "4.6.2" } }, "node_modules/@chakra-ui/switch": { - "version": "2.0.26", - "resolved": "https://registry.npmjs.org/@chakra-ui/switch/-/switch-2.0.26.tgz", - "integrity": "sha512-x62lF6VazSZJQuVxosChVR6+0lIJe8Pxgkl/C9vxjhp2yVYb3mew5tcX/sDOu0dYZy8ro/9hMfGkdN4r9xEU8A==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/switch/-/switch-2.1.2.tgz", + "integrity": "sha512-pgmi/CC+E1v31FcnQhsSGjJnOE2OcND4cKPyTE+0F+bmGm48Q/b5UmKD9Y+CmZsrt/7V3h8KNczowupfuBfIHA==", "dependencies": { - "@chakra-ui/checkbox": "2.2.14", + "@chakra-ui/checkbox": "2.3.2", "@chakra-ui/shared-utils": "2.0.5" }, "peerDependencies": { @@ -1519,17 +1544,17 @@ } }, "node_modules/@chakra-ui/system": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/@chakra-ui/system/-/system-2.5.5.tgz", - "integrity": "sha512-52BIp/Zyvefgxn5RTByfkTeG4J+y81LWEjWm8jCaRFsLVm8IFgqIrngtcq4I7gD5n/UKbneHlb4eLHo4uc5yDQ==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/system/-/system-2.6.2.tgz", + "integrity": "sha512-EGtpoEjLrUu4W1fHD+a62XR+hzC5YfsWm+6lO0Kybcga3yYEij9beegO0jZgug27V+Rf7vns95VPVP6mFd/DEQ==", "dependencies": { - "@chakra-ui/color-mode": "2.1.12", - "@chakra-ui/object-utils": "2.0.8", + "@chakra-ui/color-mode": "2.2.0", + "@chakra-ui/object-utils": "2.1.0", "@chakra-ui/react-utils": "2.0.12", - "@chakra-ui/styled-system": "2.8.0", - "@chakra-ui/theme-utils": "2.0.15", + "@chakra-ui/styled-system": "2.9.2", + "@chakra-ui/theme-utils": "2.0.21", "@chakra-ui/utils": "2.0.15", - "react-fast-compare": "3.2.1" + "react-fast-compare": "3.2.2" }, "peerDependencies": { "@emotion/react": "^11.0.0", @@ -1538,11 +1563,11 @@ } }, "node_modules/@chakra-ui/table": { - "version": "2.0.17", - "resolved": "https://registry.npmjs.org/@chakra-ui/table/-/table-2.0.17.tgz", - "integrity": "sha512-OScheTEp1LOYvTki2NFwnAYvac8siAhW9BI5RKm5f5ORL2gVJo4I72RUqE0aKe1oboxgm7CYt5afT5PS5cG61A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/table/-/table-2.1.0.tgz", + "integrity": "sha512-o5OrjoHCh5uCLdiUb0Oc0vq9rIAeHSIRScc2ExTC9Qg/uVZl2ygLrjToCaKfaaKl1oQexIeAcZDKvPG8tVkHyQ==", "dependencies": { - "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/react-context": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" }, "peerDependencies": { @@ -1551,18 +1576,18 @@ } }, "node_modules/@chakra-ui/tabs": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@chakra-ui/tabs/-/tabs-2.1.9.tgz", - "integrity": "sha512-Yf8e0kRvaGM6jfkJum0aInQ0U3ZlCafmrYYni2lqjcTtThqu+Yosmo3iYlnullXxCw5MVznfrkb9ySvgQowuYg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/tabs/-/tabs-3.0.0.tgz", + "integrity": "sha512-6Mlclp8L9lqXmsGWF5q5gmemZXOiOYuh0SGT/7PgJVNPz3LXREXlXg2an4MBUD8W5oTkduCX+3KTMCwRrVrDYw==", "dependencies": { - "@chakra-ui/clickable": "2.0.14", - "@chakra-ui/descendant": "3.0.14", + "@chakra-ui/clickable": "2.1.0", + "@chakra-ui/descendant": "3.1.0", "@chakra-ui/lazy-utils": "2.0.5", "@chakra-ui/react-children-utils": "2.0.6", - "@chakra-ui/react-context": "2.0.8", - "@chakra-ui/react-use-controllable-state": "2.0.8", - "@chakra-ui/react-use-merge-refs": "2.0.7", - "@chakra-ui/react-use-safe-layout-effect": "2.0.5", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" }, "peerDependencies": { @@ -1571,12 +1596,12 @@ } }, "node_modules/@chakra-ui/tag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@chakra-ui/tag/-/tag-3.0.0.tgz", - "integrity": "sha512-YWdMmw/1OWRwNkG9pX+wVtZio+B89odaPj6XeMn5nfNN8+jyhIEpouWv34+CO9G0m1lupJTxPSfgLAd7cqXZMA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/tag/-/tag-3.1.1.tgz", + "integrity": "sha512-Bdel79Dv86Hnge2PKOU+t8H28nm/7Y3cKd4Kfk9k3lOpUh4+nkSGe58dhRzht59lEqa4N9waCgQiBdkydjvBXQ==", "dependencies": { - "@chakra-ui/icon": "3.0.16", - "@chakra-ui/react-context": "2.0.8" + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0" }, "peerDependencies": { "@chakra-ui/system": ">=2.0.0", @@ -1584,11 +1609,11 @@ } }, "node_modules/@chakra-ui/textarea": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/@chakra-ui/textarea/-/textarea-2.0.19.tgz", - "integrity": "sha512-adJk+qVGsFeJDvfn56CcJKKse8k7oMGlODrmpnpTdF+xvlsiTM+1GfaJvgNSpHHuQFdz/A0z1uJtfGefk0G2ZA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/textarea/-/textarea-2.1.2.tgz", + "integrity": "sha512-ip7tvklVCZUb2fOHDb23qPy/Fr2mzDOGdkrpbNi50hDCiV4hFX02jdQJdi3ydHZUyVgZVBKPOJ+lT9i7sKA2wA==", "dependencies": { - "@chakra-ui/form-control": "2.0.18", + "@chakra-ui/form-control": "2.2.0", "@chakra-ui/shared-utils": "2.0.5" }, "peerDependencies": { @@ -1597,75 +1622,76 @@ } }, "node_modules/@chakra-ui/theme": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@chakra-ui/theme/-/theme-3.0.1.tgz", - "integrity": "sha512-92kDm/Ux/51uJqhRKevQo/O/rdwucDYcpHg2QuwzdAxISCeYvgtl2TtgOOl5EnqEP0j3IEAvZHZUlv8TTbawaw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme/-/theme-3.3.1.tgz", + "integrity": "sha512-Hft/VaT8GYnItGCBbgWd75ICrIrIFrR7lVOhV/dQnqtfGqsVDlrztbSErvMkoPKt0UgAkd9/o44jmZ6X4U2nZQ==", "dependencies": { - "@chakra-ui/anatomy": "2.1.2", + "@chakra-ui/anatomy": "2.2.2", "@chakra-ui/shared-utils": "2.0.5", - "@chakra-ui/theme-tools": "2.0.17" + "@chakra-ui/theme-tools": "2.1.2" }, "peerDependencies": { - "@chakra-ui/styled-system": ">=2.0.0" + "@chakra-ui/styled-system": ">=2.8.0" } }, "node_modules/@chakra-ui/theme-tools": { - "version": "2.0.17", - "resolved": "https://registry.npmjs.org/@chakra-ui/theme-tools/-/theme-tools-2.0.17.tgz", - "integrity": "sha512-Auu38hnihlJZQcPok6itRDBbwof3TpXGYtDPnOvrq4Xp7jnab36HLt7KEXSDPXbtOk3ZqU99pvI1en5LbDrdjg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme-tools/-/theme-tools-2.1.2.tgz", + "integrity": "sha512-Qdj8ajF9kxY4gLrq7gA+Azp8CtFHGO9tWMN2wfF9aQNgG9AuMhPrUzMq9AMQ0MXiYcgNq/FD3eegB43nHVmXVA==", "dependencies": { - "@chakra-ui/anatomy": "2.1.2", + "@chakra-ui/anatomy": "2.2.2", "@chakra-ui/shared-utils": "2.0.5", - "color2k": "^2.0.0" + "color2k": "^2.0.2" }, "peerDependencies": { "@chakra-ui/styled-system": ">=2.0.0" } }, "node_modules/@chakra-ui/theme-utils": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/@chakra-ui/theme-utils/-/theme-utils-2.0.15.tgz", - "integrity": "sha512-UuxtEgE7gwMTGDXtUpTOI7F5X0iHB9ekEOG5PWPn2wWBL7rlk2JtPI7UP5Um5Yg6vvBfXYGK1ySahxqsgf+87g==", + "version": "2.0.21", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme-utils/-/theme-utils-2.0.21.tgz", + "integrity": "sha512-FjH5LJbT794r0+VSCXB3lT4aubI24bLLRWB+CuRKHijRvsOg717bRdUN/N1fEmEpFnRVrbewttWh/OQs0EWpWw==", "dependencies": { "@chakra-ui/shared-utils": "2.0.5", - "@chakra-ui/styled-system": "2.8.0", - "@chakra-ui/theme": "3.0.1", + "@chakra-ui/styled-system": "2.9.2", + "@chakra-ui/theme": "3.3.1", "lodash.mergewith": "4.6.2" } }, "node_modules/@chakra-ui/toast": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@chakra-ui/toast/-/toast-6.1.1.tgz", - "integrity": "sha512-JtjIKkPVjEu8okGGCipCxNVgK/15h5AicTATZ6RbG2MsHmr4GfKG3fUCvpbuZseArqmLqGLQZQJjVE9vJzaSkQ==", - "dependencies": { - "@chakra-ui/alert": "2.1.0", - "@chakra-ui/close-button": "2.0.17", - "@chakra-ui/portal": "2.0.16", - "@chakra-ui/react-context": "2.0.8", - "@chakra-ui/react-use-timeout": "2.0.5", - "@chakra-ui/react-use-update-effect": "2.0.7", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/toast/-/toast-7.0.2.tgz", + "integrity": "sha512-yvRP8jFKRs/YnkuE41BVTq9nB2v/KDRmje9u6dgDmE5+1bFt3bwjdf9gVbif4u5Ve7F7BGk5E093ARRVtvLvXA==", + "dependencies": { + "@chakra-ui/alert": "2.2.2", + "@chakra-ui/close-button": "2.1.1", + "@chakra-ui/portal": "2.1.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-timeout": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0", "@chakra-ui/shared-utils": "2.0.5", - "@chakra-ui/styled-system": "2.8.0", - "@chakra-ui/theme": "3.0.1" + "@chakra-ui/styled-system": "2.9.2", + "@chakra-ui/theme": "3.3.1" }, "peerDependencies": { - "@chakra-ui/system": "2.5.5", + "@chakra-ui/system": "2.6.2", "framer-motion": ">=4.0.0", "react": ">=18", "react-dom": ">=18" } }, "node_modules/@chakra-ui/tooltip": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/@chakra-ui/tooltip/-/tooltip-2.2.7.tgz", - "integrity": "sha512-ImUJ6NnVqARaYqpgtO+kzucDRmxo8AF3jMjARw0bx2LxUkKwgRCOEaaRK5p5dHc0Kr6t5/XqjDeUNa19/sLauA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/tooltip/-/tooltip-2.3.1.tgz", + "integrity": "sha512-Rh39GBn/bL4kZpuEMPPRwYNnccRCL+w9OqamWHIB3Qboxs6h8cOyXfIdGxjo72lvhu1QI/a4KFqkM3St+WfC0A==", "dependencies": { - "@chakra-ui/popper": "3.0.13", - "@chakra-ui/portal": "2.0.16", + "@chakra-ui/dom-utils": "2.1.0", + "@chakra-ui/popper": "3.1.0", + "@chakra-ui/portal": "2.1.0", "@chakra-ui/react-types": "2.0.7", - "@chakra-ui/react-use-disclosure": "2.0.8", - "@chakra-ui/react-use-event-listener": "2.0.7", - "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/react-use-disclosure": "2.1.0", + "@chakra-ui/react-use-event-listener": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" }, "peerDependencies": { @@ -1676,9 +1702,9 @@ } }, "node_modules/@chakra-ui/transition": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/@chakra-ui/transition/-/transition-2.0.16.tgz", - "integrity": "sha512-E+RkwlPc3H7P1crEXmXwDXMB2lqY2LLia2P5siQ4IEnRWIgZXlIw+8Em+NtHNgusel2N+9yuB0wT9SeZZeZ3CQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/transition/-/transition-2.1.0.tgz", + "integrity": "sha512-orkT6T/Dt+/+kVwJNy7zwJ+U2xAZ3EU7M3XCs45RBvUnZDr/u9vdmaM/3D/rOpmQJWgQBwKPJleUXrYWUagEDQ==", "dependencies": { "@chakra-ui/shared-utils": "2.0.5" }, @@ -1699,9 +1725,9 @@ } }, "node_modules/@chakra-ui/visually-hidden": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/@chakra-ui/visually-hidden/-/visually-hidden-2.0.15.tgz", - "integrity": "sha512-WWULIiucYRBIewHKFA7BssQ2ABLHLVd9lrUo3N3SZgR0u4ZRDDVEUNOy+r+9ruDze8+36dGbN9wsN1IdELtdOw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/visually-hidden/-/visually-hidden-2.2.0.tgz", + "integrity": "sha512-KmKDg01SrQ7VbTD3+cPWf/UfpF5MSwm3v7MWi0n5t8HnnadT13MF0MJCDSXbBWnzLv1ZKJ6zlyAOeARWX+DpjQ==", "peerDependencies": { "@chakra-ui/system": ">=2.0.0", "react": ">=18" @@ -2322,20 +2348,20 @@ } }, "node_modules/@popperjs/core": { - "version": "2.11.6", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz", - "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==", + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", "funding": { "type": "opencollective", "url": "https://opencollective.com/popperjs" } }, "node_modules/@remix-run/router": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.3.2.tgz", - "integrity": "sha512-t54ONhl/h75X94SWsHGQ4G/ZrCEguKSRQr7DrjTciJXW0YU1QhlwYeycvK5JgkzlxmvrK7wq1NB/PLtHxoiDcA==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.11.0.tgz", + "integrity": "sha512-BHdhcWgeiudl91HvVa2wxqZjSHbheSgIiDvxrF1VjFzBzpTtuDPkOdOi3Iqvc08kXtFkLjhbS+ML9aM8mJS+wQ==", "engines": { - "node": ">=14" + "node": ">=14.0.0" } }, "node_modules/@rollup/pluginutils": { @@ -2578,6 +2604,15 @@ "@svgr/core": "^6.0.0" } }, + "node_modules/@tanstack/query-core": { + "version": "4.36.1", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.36.1.tgz", + "integrity": "sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, "node_modules/@types/ace": { "version": "0.0.48", "resolved": "https://registry.npmjs.org/@types/ace/-/ace-0.0.48.tgz", @@ -2706,6 +2741,11 @@ "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", "devOptional": true }, + "node_modules/@types/use-sync-external-store": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", + "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==" + }, "node_modules/@vitejs/plugin-react": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-2.2.0.tgz", @@ -2727,15 +2767,28 @@ "vite": "^3.0.0" } }, + "node_modules/@yr/monotone-cubic-spline": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@yr/monotone-cubic-spline/-/monotone-cubic-spline-1.0.3.tgz", + "integrity": "sha512-FQXkOta0XBSUPHndIKON2Y9JeQz5ZeMqLYZVVK93FliNBFm7LNMIZmY6FrMEB9XPcDbE2bekMbZD6kzDkxwYjA==" + }, + "node_modules/@zag-js/dom-query": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@zag-js/dom-query/-/dom-query-0.16.0.tgz", + "integrity": "sha512-Oqhd6+biWyKnhKwFFuZrrf6lxBz2tX2pRQe6grUnYwO6HJ8BcbqZomy2lpOdr+3itlaUqx+Ywj5E5ZZDr/LBfQ==" + }, "node_modules/@zag-js/element-size": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@zag-js/element-size/-/element-size-0.3.2.tgz", - "integrity": "sha512-bVvvigUGvAuj7PCkE5AbzvTJDTw5f3bg9nQdv+ErhVN8SfPPppLJEmmWdxqsRzrHXgx8ypJt/+Ty0kjtISVDsQ==" + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@zag-js/element-size/-/element-size-0.10.5.tgz", + "integrity": "sha512-uQre5IidULANvVkNOBQ1tfgwTQcGl4hliPSe69Fct1VfYb2Fd0jdAcGzqQgPhfrXFpR62MxLPB7erxJ/ngtL8w==" }, "node_modules/@zag-js/focus-visible": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@zag-js/focus-visible/-/focus-visible-0.2.2.tgz", - "integrity": "sha512-0j2gZq8HiZ51z4zNnSkF1iSkqlwRDvdH+son3wHdoz+7IUdMN/5Exd4TxMJ+gq2Of1DiXReYLL9qqh2PdQ4wgA==" + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@zag-js/focus-visible/-/focus-visible-0.16.0.tgz", + "integrity": "sha512-a7U/HSopvQbrDU4GLerpqiMcHKEkQkNPeDZJWz38cw/6Upunh41GjHetq5TB84hxyCaDzJ6q2nEdNoBQfC0FKA==", + "dependencies": { + "@zag-js/dom-query": "0.16.0" + } }, "node_modules/ace-builds": { "version": "1.20.0", @@ -2790,10 +2843,12 @@ } }, "node_modules/apexcharts": { - "version": "3.40.0", - "resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-3.40.0.tgz", - "integrity": "sha512-dSi3BUfCJkFd67uFp+xffrJVd3lDT7AAUUyRp0qPYiglJ76CeZLddVhM3FAk1P9GCzf8VewqGYUPCYQvXm+b9A==", + "version": "3.50.0", + "resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-3.50.0.tgz", + "integrity": "sha512-LJT1PNAm+NoIU3aogL2P+ViC0y/Cjik54FdzzGV54UNnGQLBoLe5ok3fxsJDTgyez45BGYT8gqNpYKqhdfy5sg==", + "license": "MIT", "dependencies": { + "@yr/monotone-cubic-spline": "^1.0.3", "svg.draggable.js": "^2.2.2", "svg.easing.js": "^2.0.0", "svg.filter.js": "^2.0.2", @@ -2860,19 +2915,6 @@ "npm": ">=6" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/big-integer": { - "version": "1.6.51", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", - "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", - "engines": { - "node": ">=0.6" - } - }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -2882,15 +2924,6 @@ "node": ">=8" } }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", @@ -2903,21 +2936,6 @@ "node": ">=8" } }, - "node_modules/broadcast-channel": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/broadcast-channel/-/broadcast-channel-3.7.0.tgz", - "integrity": "sha512-cIAKJXAxGJceNZGTZSBzMxzyOn72cVgPnKx4dc6LRjQgbaJUQqhy5rzL3zbMxkMWsGKkv2hSFkPRMEXfoMZ2Mg==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "detect-node": "^2.1.0", - "js-sha3": "0.8.0", - "microseconds": "0.2.0", - "nano-time": "1.0.0", - "oblivious-set": "1.0.0", - "rimraf": "3.0.2", - "unload": "2.2.0" - } - }, "node_modules/browserslist": { "version": "4.21.5", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", @@ -3256,14 +3274,9 @@ } }, "node_modules/compute-scroll-into-view": { - "version": "1.0.20", - "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz", - "integrity": "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.0.3.tgz", + "integrity": "sha512-nadqwNxghAGTamwIqQSG433W6OADZx2vCo3UXHNrzTRHK/htu+7+L0zhjEoaeaQVNAi3YgqWDv8+tzf0hRfR+A==" }, "node_modules/convert-source-map": { "version": "1.9.0", @@ -3294,11 +3307,11 @@ } }, "node_modules/cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", + "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", "dependencies": { - "node-fetch": "2.6.7" + "node-fetch": "^2.6.12" } }, "node_modules/css-box-model": { @@ -3310,14 +3323,17 @@ } }, "node_modules/csstype": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", - "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" }, "node_modules/date-fns": { - "version": "2.29.3", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.29.3.tgz", - "integrity": "sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==", + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "dependencies": { + "@babel/runtime": "^7.21.0" + }, "engines": { "node": ">=0.11" }, @@ -3360,11 +3376,6 @@ "resolved": "https://registry.npmjs.org/destr/-/destr-1.2.2.tgz", "integrity": "sha512-lrbCJwD9saUQrqUfXvl6qoM+QN3W7tLV5pAOs+OqOmopCCz/JkE05MHedJR1xfk4IAnZuJXPVuN5+7jNA2ZCiA==" }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - }, "node_modules/detect-node-es": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", @@ -3410,7 +3421,7 @@ "version": "0.15.18", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.18.tgz", "integrity": "sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==", - "dev": true, + "devOptional": true, "hasInstallScript": true, "bin": { "esbuild": "bin/esbuild" @@ -3816,9 +3827,9 @@ "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" }, "node_modules/focus-lock": { - "version": "0.11.6", - "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-0.11.6.tgz", - "integrity": "sha512-KSuV3ur4gf2KqMNoZx3nXNVhqCkn42GuTYCX4tXPEwf0MjpFQmNMiN6m7dXaUXgIoivL6/65agoUMg4RLS0Vbg==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-1.0.0.tgz", + "integrity": "sha512-a8Ge6cdKh9za/GZR/qtigTAk7SrGore56EFcoMshClsh7FLk1zwszc/ltuMfKhx56qeuyL/jWQ4J4axou0iJ9w==", "dependencies": { "tslib": "^2.0.3" }, @@ -3889,11 +3900,6 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, "node_modules/fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", @@ -3943,25 +3949,6 @@ "resolved": "https://registry.npmjs.org/github-buttons/-/github-buttons-2.24.0.tgz", "integrity": "sha512-dHpEno4S2JHjsEKPLSTGDTV50q1d08n3H7VDfNNA1m8cz5DMqLCZDdKWQxy4zyvd6M3tKvlVYLs+/H0BF3DggA==" }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", @@ -4059,11 +4046,11 @@ } }, "node_modules/i18next-http-backend": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/i18next-http-backend/-/i18next-http-backend-2.2.0.tgz", - "integrity": "sha512-Z4sM7R6tzdLknSPER9GisEBxKPg5FkI07UrQniuroZmS15PHQrcCPLyuGKj8SS68tf+O2aEDYSUnmy1TZqZSbw==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/i18next-http-backend/-/i18next-http-backend-2.4.1.tgz", + "integrity": "sha512-CZHzFGDvF8zN7ya1W2lHbgLj2ejPUvPD836+vA3eNXc9eKGUM3MSF6SA2TKBXKBZ2cNG3nxzycCXeM6n/46KWQ==", "dependencies": { - "cross-fetch": "3.1.5" + "cross-fetch": "4.0.0" } }, "node_modules/immutable": { @@ -4087,20 +4074,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, "node_modules/invariant": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", @@ -4219,11 +4192,6 @@ "integrity": "sha512-umpJ0/k8X0MvD1ds0P9SfowREz2LenHsQaxSohMZ5OMNEU2r0tf8pdeEFTHMFxWVxKNyU9rTtK3CWzUCTKJUeQ==", "peer": true }, - "node_modules/js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -4359,31 +4327,6 @@ "node": ">=12" } }, - "node_modules/match-sorter": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/match-sorter/-/match-sorter-6.3.1.tgz", - "integrity": "sha512-mxybbo3pPNuA+ZuCUhm5bwNkXrJTbsk5VWbR5wiwz/GC6LIiegBGn2w3O08UG/jdbYLinw51fSQ5xNU1U3MgBw==", - "dependencies": { - "@babel/runtime": "^7.12.5", - "remove-accents": "0.4.2" - } - }, - "node_modules/microseconds": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/microseconds/-/microseconds-0.2.0.tgz", - "integrity": "sha512-n7DHHMjR1avBbSpsTBj6fmMGh2AGrifVV4e+WYc3Q9lO+xnSZ3NyhcBND3vzzatt05LFhoKFRxrIyklmLlUtyA==" - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/mobius1-selectr": { "version": "2.4.13", "resolved": "https://registry.npmjs.org/mobius1-selectr/-/mobius1-selectr-2.4.13.tgz", @@ -4394,19 +4337,11 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, - "node_modules/nano-time": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/nano-time/-/nano-time-1.0.0.tgz", - "integrity": "sha512-flnngywOoQ0lLQOTRNexn2gGSNuM9bKj9RZAWSzhQ+UJYaAFG9bac4DW9VHjUAzrOaIcajHybCTHe/bkvozQqA==", - "dependencies": { - "big-integer": "^1.6.16" - } - }, "node_modules/nanoid": { "version": "3.3.7", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true, + "devOptional": true, "funding": [ { "type": "github", @@ -4421,9 +4356,9 @@ } }, "node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -4476,11 +4411,6 @@ "node": ">=0.10.0" } }, - "node_modules/oblivious-set": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/oblivious-set/-/oblivious-set-1.0.0.tgz", - "integrity": "sha512-z+pI07qxo4c2CulUHCDf9lcqDlMSo72N/4rLUpRXf6fu+q8vjt8y0xS+Tlf8NTJDdTXHbdeO1n3MlbctwEoXZw==" - }, "node_modules/ohmyfetch": { "version": "0.4.21", "resolved": "https://registry.npmjs.org/ohmyfetch/-/ohmyfetch-0.4.21.tgz", @@ -4492,14 +4422,6 @@ "undici": "^5.12.0" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "1" - } - }, "node_modules/open": { "version": "8.4.2", "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", @@ -4544,14 +4466,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", @@ -4569,7 +4483,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true + "devOptional": true }, "node_modules/picomatch": { "version": "2.3.1", @@ -4591,7 +4505,7 @@ "version": "8.4.31", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", - "dev": true, + "devOptional": true, "funding": [ { "type": "opencollective", @@ -4709,15 +4623,15 @@ } }, "node_modules/react-datepicker": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/react-datepicker/-/react-datepicker-4.10.0.tgz", - "integrity": "sha512-6IfBCZyWj54ZZGLmEZJ9c4Yph0s9MVfEGDC2evOvf9AmVz+RRcfP2Czqad88Ff9wREbcbqa4dk7IFYeXF1d3Ag==", + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/react-datepicker/-/react-datepicker-4.21.0.tgz", + "integrity": "sha512-z0DtuRrKMz9i7dcTusW29VacbM9pn08g1yw0cG+Y5GpodJDxSWv7zUMxl3IwKN9Ap/AMphiepvmT5P+iNCgEiA==", "dependencies": { - "@popperjs/core": "^2.9.2", + "@popperjs/core": "^2.11.8", "classnames": "^2.2.6", - "date-fns": "^2.24.0", + "date-fns": "^2.30.0", "prop-types": "^15.7.2", - "react-onclickoutside": "^6.12.2", + "react-onclickoutside": "^6.13.0", "react-popper": "^2.3.0" }, "peerDependencies": { @@ -4738,17 +4652,17 @@ } }, "node_modules/react-fast-compare": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.1.tgz", - "integrity": "sha512-xTYf9zFim2pEif/Fw16dBiXpe0hoy5PxcD8+OwBnTtNLfIm3g6WxhKNurY+6OmdH1u6Ta/W/Vl6vjbYP1MFnDg==" + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" }, "node_modules/react-focus-lock": { - "version": "2.9.4", - "resolved": "https://registry.npmjs.org/react-focus-lock/-/react-focus-lock-2.9.4.tgz", - "integrity": "sha512-7pEdXyMseqm3kVjhdVH18sovparAzLg5h6WvIx7/Ck3ekjhrrDMEegHSa3swwC8wgfdd7DIdUVRGeiHT9/7Sgg==", + "version": "2.9.6", + "resolved": "https://registry.npmjs.org/react-focus-lock/-/react-focus-lock-2.9.6.tgz", + "integrity": "sha512-B7gYnCjHNrNYwY2juS71dHbf0+UpXXojt02svxybj8N5bxceAkzPChKEncHuratjUHkIFNCn06k2qj1DRlzTug==", "dependencies": { "@babel/runtime": "^7.0.0", - "focus-lock": "^0.11.6", + "focus-lock": "^1.0.0", "prop-types": "^15.6.2", "react-clientside-effect": "^1.2.6", "use-callback-ref": "^1.3.0", @@ -4776,9 +4690,9 @@ } }, "node_modules/react-hook-form": { - "version": "7.43.2", - "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.43.2.tgz", - "integrity": "sha512-NvD3Oe2Y9hhqo2R4I4iJigDzSLpdMnzUpNMxlnzTbdiT7NT3BW0GxWCzEtwPudZMUPbZhNcSy1EcGAygyhDORg==", + "version": "7.48.2", + "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.48.2.tgz", + "integrity": "sha512-H0T2InFQb1hX7qKtDIZmvpU1Xfn/bdahWBN1fH19gSe4bBEqTfmlr7H3XWTaVtiK4/tpPaI1F3355GPMZYge+A==", "engines": { "node": ">=12.22.0" }, @@ -4791,9 +4705,9 @@ } }, "node_modules/react-i18next": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-12.2.0.tgz", - "integrity": "sha512-5XeVgSygaGfyFmDd2WcXvINRw2WEC1XviW1LXY/xLOEMzsCFRwKqfnHN+hUjla8ZipbVJR27GCMSuTr0BhBBBQ==", + "version": "12.3.1", + "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-12.3.1.tgz", + "integrity": "sha512-5v8E2XjZDFzK7K87eSwC7AJcAkcLt5xYZ4+yTPDAW1i7C93oOY1dnr4BaQM7un4Hm+GmghuiPvevWwlca5PwDA==", "dependencies": { "@babel/runtime": "^7.20.6", "html-parse-stringify": "^3.0.1" @@ -4829,17 +4743,17 @@ } }, "node_modules/react-loading-skeleton": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/react-loading-skeleton/-/react-loading-skeleton-3.1.1.tgz", - "integrity": "sha512-gQeNzzKXlevvquRDOhN5kas5VE7toTKrpmE9BpUdf0iip9c5ae0LcVbulh5ebO2CFl4RrYsyLuDtYGyrh1h1iA==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/react-loading-skeleton/-/react-loading-skeleton-3.3.1.tgz", + "integrity": "sha512-NilqqwMh2v9omN7LteiDloEVpFyMIa0VGqF+ukqp0ncVlYu1sKYbYGX9JEl+GtOT9TKsh04zCHAbavnQ2USldA==", "peerDependencies": { "react": ">=16.8.0" } }, "node_modules/react-onclickoutside": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/react-onclickoutside/-/react-onclickoutside-6.12.2.tgz", - "integrity": "sha512-NMXGa223OnsrGVp5dJHkuKxQ4czdLmXSp5jSV9OqiCky9LOpPATn3vLldc+q5fK3gKbEHvr7J1u0yhBh/xYkpA==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/react-onclickoutside/-/react-onclickoutside-6.13.0.tgz", + "integrity": "sha512-ty8So6tcUpIb+ZE+1HAhbLROvAIJYyJe/1vRrrcmW+jLsaM+/powDRqxzo6hSh9CuRZGSL1Q8mvcF5WRD93a0A==", "funding": { "type": "individual", "url": "https://github.com/Pomax/react-onclickoutside/blob/master/FUNDING.md" @@ -4864,20 +4778,23 @@ } }, "node_modules/react-query": { - "version": "3.39.3", - "resolved": "https://registry.npmjs.org/react-query/-/react-query-3.39.3.tgz", - "integrity": "sha512-nLfLz7GiohKTJDuT4us4X3h/8unOh+00MLb2yJoGTPjxKs2bc1iDhkNx2bd5MKklXnOD3NrVZ+J2UXujA5In4g==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/react-query/-/react-query-4.0.0.tgz", + "integrity": "sha512-qiW+Yvbl+EK8iwPDJAj4qWAKceh+g8Up8jxoNxJbzhV3bNheeyHF3EyynnkDO3S+CYgSwtCUFaP8vOjB62j7xQ==", + "deprecated": "Please use @tanstack/react-query for v4+", "dependencies": { - "@babel/runtime": "^7.5.5", - "broadcast-channel": "^3.4.1", - "match-sorter": "^6.0.2" + "@tanstack/query-core": "^4.0.0-beta.1", + "@types/use-sync-external-store": "^0.0.3", + "use-sync-external-store": "^1.2.0" }, "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-native": "*" }, "peerDependenciesMeta": { "react-dom": { @@ -4898,11 +4815,11 @@ } }, "node_modules/react-remove-scroll": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz", - "integrity": "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==", + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.7.tgz", + "integrity": "sha512-FnrTWO4L7/Bhhf3CYBNArEG/yROV0tKmTv7/3h9QCFvH6sndeFf1wPqOcbFVu5VAulS5dV1wGT3GZZ/1GawqiA==", "dependencies": { - "react-remove-scroll-bar": "^2.3.3", + "react-remove-scroll-bar": "^2.3.4", "react-style-singleton": "^2.2.1", "tslib": "^2.1.0", "use-callback-ref": "^1.3.0", @@ -4943,29 +4860,29 @@ } }, "node_modules/react-router": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.8.1.tgz", - "integrity": "sha512-Jgi8BzAJQ8MkPt8ipXnR73rnD7EmZ0HFFb7jdQU24TynGW1Ooqin2KVDN9voSC+7xhqbbCd2cjGUepb6RObnyg==", + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.18.0.tgz", + "integrity": "sha512-vk2y7Dsy8wI02eRRaRmOs9g2o+aE72YCx5q9VasT1N9v+lrdB79tIqrjMfByHiY5+6aYkH2rUa5X839nwWGPDg==", "dependencies": { - "@remix-run/router": "1.3.2" + "@remix-run/router": "1.11.0" }, "engines": { - "node": ">=14" + "node": ">=14.0.0" }, "peerDependencies": { "react": ">=16.8" } }, "node_modules/react-router-dom": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.8.1.tgz", - "integrity": "sha512-67EXNfkQgf34P7+PSb6VlBuaacGhkKn3kpE51+P6zYSG2kiRoumXEL6e27zTa9+PGF2MNXbgIUHTVlleLbIcHQ==", + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.18.0.tgz", + "integrity": "sha512-Ubrue4+Ercc/BoDkFQfc6og5zRQ4A8YxSO3Knsne+eRbZ+IepAsK249XBH/XaFuOYOYr3L3r13CXTLvYt5JDjw==", "dependencies": { - "@remix-run/router": "1.3.2", - "react-router": "6.8.1" + "@remix-run/router": "1.11.0", + "react-router": "6.18.0" }, "engines": { - "node": ">=14" + "node": ">=14.0.0" }, "peerDependencies": { "react": ">=16.8", @@ -5036,11 +4953,6 @@ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" }, - "node_modules/remove-accents": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.4.2.tgz", - "integrity": "sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA==" - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -5078,20 +4990,6 @@ "node": ">=4" } }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/rollup": { "version": "2.79.1", "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", @@ -5194,7 +5092,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.10.0" } @@ -5387,9 +5285,9 @@ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "node_modules/tsconfck": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-2.0.3.tgz", - "integrity": "sha512-o3DsPZO1+C98KqHMdAbWs30zpxD30kj8r9OLA4ML1yghx4khNDzaaShNalfluh8ZPPhzKe3qyVCP1HiZszSAsw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-2.1.2.tgz", + "integrity": "sha512-ghqN1b0puy3MhhviwO2kGF8SeMDNhEbnKxjK7h6+fvY9JAxqvXi8y5NAHSQv687OVboS2uZIByzGd45/YxrRHg==", "bin": { "tsconfck": "bin/tsconfck.js" }, @@ -5397,7 +5295,7 @@ "node": "^14.13.1 || ^16 || >=18" }, "peerDependencies": { - "typescript": "^4.3.5" + "typescript": "^4.3.5 || ^5.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -5439,15 +5337,6 @@ "node": ">=14.0" } }, - "node_modules/unload": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/unload/-/unload-2.2.0.tgz", - "integrity": "sha512-B60uB5TNBLtN6/LsgAf3udH9saB5p7gqJwcFfbOEZ8BcBHnGwCf6G/TGiEqkRAxX7zAFIUtzdrXQSdL3Q/wqNA==", - "dependencies": { - "@babel/runtime": "^7.6.2", - "detect-node": "^2.0.4" - } - }, "node_modules/update-browserslist-db": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", @@ -5527,7 +5416,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", - "peer": true, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } @@ -5544,7 +5432,7 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/vite/-/vite-3.2.7.tgz", "integrity": "sha512-29pdXjk49xAP0QBr0xXqu2s5jiQIXNvE/xwd0vUizYT2Hzqe4BksNNoWllFVXJf4eLZ+UlVQmXfB4lWrc+t18g==", - "dev": true, + "devOptional": true, "dependencies": { "esbuild": "^0.15.9", "postcss": "^8.4.18", @@ -5603,13 +5491,21 @@ } }, "node_modules/vite-tsconfig-paths": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-4.0.5.tgz", - "integrity": "sha512-/L/eHwySFYjwxoYt1WRJniuK/jPv+WGwgRGBYx3leciR5wBeqntQpUE6Js6+TJemChc+ter7fDBKieyEWDx4yQ==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-4.2.1.tgz", + "integrity": "sha512-GNUI6ZgPqT3oervkvzU+qtys83+75N/OuDaQl7HmOqFTb0pjZsuARrRipsyJhJ3enqV8beI1xhGbToR4o78nSQ==", "dependencies": { "debug": "^4.1.1", "globrex": "^0.1.2", - "tsconfck": "^2.0.1" + "tsconfck": "^2.1.0" + }, + "peerDependencies": { + "vite": "*" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } } }, "node_modules/void-elements": { @@ -5688,11 +5584,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", @@ -6091,53 +5982,53 @@ } }, "@chakra-ui/accordion": { - "version": "2.1.11", - "resolved": "https://registry.npmjs.org/@chakra-ui/accordion/-/accordion-2.1.11.tgz", - "integrity": "sha512-mfVPmqETp9pyRDHJ33AdF19oHv/LyxVzQJtlxUByuvs8Cj9QQZ2LQLg5kejm+b3mj03A7A6yfbuo3RNaI4Bhsg==", - "requires": { - "@chakra-ui/descendant": "3.0.14", - "@chakra-ui/icon": "3.0.16", - "@chakra-ui/react-context": "2.0.8", - "@chakra-ui/react-use-controllable-state": "2.0.8", - "@chakra-ui/react-use-merge-refs": "2.0.7", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/accordion/-/accordion-2.3.1.tgz", + "integrity": "sha512-FSXRm8iClFyU+gVaXisOSEw0/4Q+qZbFRiuhIAkVU6Boj0FxAMrlo9a8AV5TuF77rgaHytCdHk0Ng+cyUijrag==", + "requires": { + "@chakra-ui/descendant": "3.1.0", + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", "@chakra-ui/shared-utils": "2.0.5", - "@chakra-ui/transition": "2.0.16" + "@chakra-ui/transition": "2.1.0" } }, "@chakra-ui/alert": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@chakra-ui/alert/-/alert-2.1.0.tgz", - "integrity": "sha512-OcfHwoXI5VrmM+tHJTHT62Bx6TfyfCxSa0PWUOueJzSyhlUOKBND5we6UtrOB7D0jwX45qKKEDJOLG5yCG21jQ==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/alert/-/alert-2.2.2.tgz", + "integrity": "sha512-jHg4LYMRNOJH830ViLuicjb3F+v6iriE/2G5T+Sd0Hna04nukNJ1MxUmBPE+vI22me2dIflfelu2v9wdB6Pojw==", "requires": { - "@chakra-ui/icon": "3.0.16", - "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", "@chakra-ui/shared-utils": "2.0.5", - "@chakra-ui/spinner": "2.0.13" + "@chakra-ui/spinner": "2.1.0" } }, "@chakra-ui/anatomy": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/anatomy/-/anatomy-2.1.2.tgz", - "integrity": "sha512-pKfOS/mztc4sUXHNc8ypJ1gPWSolWT770jrgVRfolVbYlki8y5Y+As996zMF6k5lewTu6j9DQequ7Cc9a69IVQ==" + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/anatomy/-/anatomy-2.2.2.tgz", + "integrity": "sha512-MV6D4VLRIHr4PkW4zMyqfrNS1mPlCTiCXwvYGtDFQYr+xHFfonhAuf9WjsSc0nyp2m0OdkSLnzmVKkZFLo25Tg==" }, "@chakra-ui/avatar": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/@chakra-ui/avatar/-/avatar-2.2.8.tgz", - "integrity": "sha512-uBs9PMrqyK111tPIYIKnOM4n3mwgKqGpvYmtwBnnbQLTNLg4gtiWWVbpTuNMpyu1av0xQYomjUt8Doed8w6p8g==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/avatar/-/avatar-2.3.0.tgz", + "integrity": "sha512-8gKSyLfygnaotbJbDMHDiJoF38OHXUYVme4gGxZ1fLnQEdPVEaIWfH+NndIjOM0z8S+YEFnT9KyGMUtvPrBk3g==", "requires": { - "@chakra-ui/image": "2.0.15", + "@chakra-ui/image": "2.1.0", "@chakra-ui/react-children-utils": "2.0.6", - "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/react-context": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" } }, "@chakra-ui/breadcrumb": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@chakra-ui/breadcrumb/-/breadcrumb-2.1.5.tgz", - "integrity": "sha512-p3eQQrHQBkRB69xOmNyBJqEdfCrMt+e0eOH+Pm/DjFWfIVIbnIaFbmDCeWClqlLa21Ypc6h1hR9jEmvg8kmOog==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/breadcrumb/-/breadcrumb-2.2.0.tgz", + "integrity": "sha512-4cWCG24flYBxjruRi4RJREWTGF74L/KzI2CognAW/d/zWR0CjiScuJhf37Am3LFbCySP6WSoyBOtTIoTA4yLEA==", "requires": { "@chakra-ui/react-children-utils": "2.0.6", - "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/react-context": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" } }, @@ -6150,40 +6041,40 @@ } }, "@chakra-ui/button": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/@chakra-ui/button/-/button-2.0.18.tgz", - "integrity": "sha512-E3c99+lOm6ou4nQVOTLkG+IdOPMjsQK+Qe7VyP8A/xeAMFONuibrWPRPpprr4ZkB4kEoLMfNuyH2+aEza3ScUA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/button/-/button-2.1.0.tgz", + "integrity": "sha512-95CplwlRKmmUXkdEp/21VkEWgnwcx2TOBG6NfYlsuLBDHSLlo5FKIiE2oSi4zXc4TLcopGcWPNcm/NDaSC5pvA==", "requires": { - "@chakra-ui/react-context": "2.0.8", - "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", "@chakra-ui/shared-utils": "2.0.5", - "@chakra-ui/spinner": "2.0.13" + "@chakra-ui/spinner": "2.1.0" } }, "@chakra-ui/card": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@chakra-ui/card/-/card-2.1.6.tgz", - "integrity": "sha512-fFd/WAdRNVY/WOSQv4skpy0WeVhhI0f7dTY1Sm0jVl0KLmuP/GnpsWtKtqWjNcV00K963EXDyhlk6+9oxbP4gw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/card/-/card-2.2.0.tgz", + "integrity": "sha512-xUB/k5MURj4CtPAhdSoXZidUbm8j3hci9vnc+eZJVDqhDOShNlD6QeniQNRPRys4lWAQLCbFcrwL29C8naDi6g==", "requires": { "@chakra-ui/shared-utils": "2.0.5" } }, "@chakra-ui/checkbox": { - "version": "2.2.14", - "resolved": "https://registry.npmjs.org/@chakra-ui/checkbox/-/checkbox-2.2.14.tgz", - "integrity": "sha512-uqo6lFWLqYBujPglrvRhTAErtuIXpmdpc5w0W4bjK7kyvLhxOpUh1hlDb2WoqlNpfRn/OaNeF6VinPnf9BJL8w==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/checkbox/-/checkbox-2.3.2.tgz", + "integrity": "sha512-85g38JIXMEv6M+AcyIGLh7igNtfpAN6KGQFYxY9tBj0eWvWk4NKQxvqqyVta0bSAyIl1rixNIIezNpNWk2iO4g==", "requires": { - "@chakra-ui/form-control": "2.0.18", - "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/form-control": "2.2.0", + "@chakra-ui/react-context": "2.1.0", "@chakra-ui/react-types": "2.0.7", - "@chakra-ui/react-use-callback-ref": "2.0.7", - "@chakra-ui/react-use-controllable-state": "2.0.8", - "@chakra-ui/react-use-merge-refs": "2.0.7", - "@chakra-ui/react-use-safe-layout-effect": "2.0.5", - "@chakra-ui/react-use-update-effect": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0", "@chakra-ui/shared-utils": "2.0.5", - "@chakra-ui/visually-hidden": "2.0.15", - "@zag-js/focus-visible": "0.2.2" + "@chakra-ui/visually-hidden": "2.2.0", + "@zag-js/focus-visible": "0.16.0" } }, "@chakra-ui/cli": { @@ -6248,79 +6139,79 @@ } }, "@chakra-ui/clickable": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/@chakra-ui/clickable/-/clickable-2.0.14.tgz", - "integrity": "sha512-jfsM1qaD74ZykLHmvmsKRhDyokLUxEfL8Il1VoZMNX5RBI0xW/56vKpLTFF/v/+vLPLS+Te2cZdD4+2O+G6ulA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/clickable/-/clickable-2.1.0.tgz", + "integrity": "sha512-flRA/ClPUGPYabu+/GLREZVZr9j2uyyazCAUHAdrTUEdDYCr31SVGhgh7dgKdtq23bOvAQJpIJjw/0Bs0WvbXw==", "requires": { - "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/react-use-merge-refs": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" } }, "@chakra-ui/close-button": { - "version": "2.0.17", - "resolved": "https://registry.npmjs.org/@chakra-ui/close-button/-/close-button-2.0.17.tgz", - "integrity": "sha512-05YPXk456t1Xa3KpqTrvm+7smx+95dmaPiwjiBN3p7LHUQVHJd8ZXSDB0V+WKi419k3cVQeJUdU/azDO2f40sw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/close-button/-/close-button-2.1.1.tgz", + "integrity": "sha512-gnpENKOanKexswSVpVz7ojZEALl2x5qjLYNqSQGbxz+aP9sOXPfUS56ebyBrre7T7exuWGiFeRwnM0oVeGPaiw==", "requires": { - "@chakra-ui/icon": "3.0.16" + "@chakra-ui/icon": "3.2.0" } }, "@chakra-ui/color-mode": { - "version": "2.1.12", - "resolved": "https://registry.npmjs.org/@chakra-ui/color-mode/-/color-mode-2.1.12.tgz", - "integrity": "sha512-sYyfJGDoJSLYO+V2hxV9r033qhte5Nw/wAn5yRGGZnEEN1dKPEdWQ3XZvglWSDTNd0w9zkoH2w6vP4FBBYb/iw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/color-mode/-/color-mode-2.2.0.tgz", + "integrity": "sha512-niTEA8PALtMWRI9wJ4LL0CSBDo8NBfLNp4GD6/0hstcm3IlbBHTVKxN6HwSaoNYfphDQLxCjT4yG+0BJA5tFpg==", "requires": { - "@chakra-ui/react-use-safe-layout-effect": "2.0.5" + "@chakra-ui/react-use-safe-layout-effect": "2.1.0" } }, "@chakra-ui/control-box": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@chakra-ui/control-box/-/control-box-2.0.13.tgz", - "integrity": "sha512-FEyrU4crxati80KUF/+1Z1CU3eZK6Sa0Yv7Z/ydtz9/tvGblXW9NFanoomXAOvcIFLbaLQPPATm9Gmpr7VG05A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/control-box/-/control-box-2.1.0.tgz", + "integrity": "sha512-gVrRDyXFdMd8E7rulL0SKeoljkLQiPITFnsyMO8EFHNZ+AHt5wK4LIguYVEq88APqAGZGfHFWXr79RYrNiE3Mg==", "requires": {} }, "@chakra-ui/counter": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/@chakra-ui/counter/-/counter-2.0.14.tgz", - "integrity": "sha512-KxcSRfUbb94dP77xTip2myoE7P2HQQN4V5fRJmNAGbzcyLciJ+aDylUU/UxgNcEjawUp6Q242NbWb1TSbKoqog==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/counter/-/counter-2.1.0.tgz", + "integrity": "sha512-s6hZAEcWT5zzjNz2JIWUBzRubo9la/oof1W7EKZVVfPYHERnl5e16FmBC79Yfq8p09LQ+aqFKm/etYoJMMgghw==", "requires": { "@chakra-ui/number-utils": "2.0.7", - "@chakra-ui/react-use-callback-ref": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" } }, "@chakra-ui/css-reset": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@chakra-ui/css-reset/-/css-reset-2.1.1.tgz", - "integrity": "sha512-jwEOfIAWmQsnChHQTW/eRE+dfE4MjmhvSvoUug5nkV1pI7veC/20noFlIZxzi82EbiQI8Fs0+Jnusgxr2yaOHA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/css-reset/-/css-reset-2.3.0.tgz", + "integrity": "sha512-cQwwBy5O0jzvl0K7PLTLgp8ijqLPKyuEMiDXwYzl95seD3AoeuoCLyzZcJtVqaUZ573PiBdAbY/IlZcwDOItWg==", "requires": {} }, "@chakra-ui/descendant": { - "version": "3.0.14", - "resolved": "https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.0.14.tgz", - "integrity": "sha512-+Ahvp9H4HMpfScIv9w1vaecGz7qWAaK1YFHHolz/SIsGLaLGlbdp+5UNabQC7L6TUnzzJDQDxzwif78rTD7ang==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.1.0.tgz", + "integrity": "sha512-VxCIAir08g5w27klLyi7PVo8BxhW4tgU/lxQyujkmi4zx7hT9ZdrcQLAted/dAa+aSIZ14S1oV0Q9lGjsAdxUQ==", "requires": { - "@chakra-ui/react-context": "2.0.8", - "@chakra-ui/react-use-merge-refs": "2.0.7" + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0" } }, "@chakra-ui/dom-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@chakra-ui/dom-utils/-/dom-utils-2.0.6.tgz", - "integrity": "sha512-PVtDkPrDD5b8aoL6Atg7SLjkwhWb7BwMcLOF1L449L3nZN+DAO3nyAh6iUhZVJyunELj9d0r65CDlnMREyJZmA==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/dom-utils/-/dom-utils-2.1.0.tgz", + "integrity": "sha512-ZmF2qRa1QZ0CMLU8M1zCfmw29DmPNtfjR9iTo74U5FPr3i1aoAh7fbJ4qAlZ197Xw9eAW28tvzQuoVWeL5C7fQ==" }, "@chakra-ui/editable": { - "version": "2.0.21", - "resolved": "https://registry.npmjs.org/@chakra-ui/editable/-/editable-2.0.21.tgz", - "integrity": "sha512-oYuXbHnggxSYJN7P9Pn0Scs9tPC91no4z1y58Oe+ILoJKZ+bFAEHtL7FEISDNJxw++MEukeFu7GU1hVqmdLsKQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/editable/-/editable-3.1.0.tgz", + "integrity": "sha512-j2JLrUL9wgg4YA6jLlbU88370eCRyor7DZQD9lzpY95tSOXpTljeg3uF9eOmDnCs6fxp3zDWIfkgMm/ExhcGTg==", "requires": { - "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/react-context": "2.1.0", "@chakra-ui/react-types": "2.0.7", - "@chakra-ui/react-use-callback-ref": "2.0.7", - "@chakra-ui/react-use-controllable-state": "2.0.8", - "@chakra-ui/react-use-focus-on-pointer-down": "2.0.6", - "@chakra-ui/react-use-merge-refs": "2.0.7", - "@chakra-ui/react-use-safe-layout-effect": "2.0.5", - "@chakra-ui/react-use-update-effect": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-focus-on-pointer-down": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" } }, @@ -6330,76 +6221,76 @@ "integrity": "sha512-IGM/yGUHS+8TOQrZGpAKOJl/xGBrmRYJrmbHfUE7zrG3PpQyXvbLDP1M+RggkCFVgHlJi2wpYIf0QtQlU0XZfw==" }, "@chakra-ui/focus-lock": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/@chakra-ui/focus-lock/-/focus-lock-2.0.16.tgz", - "integrity": "sha512-UuAdGCPVrCa1lecoAvpOQD7JFT7a9RdmhKWhFt5ioIcekSLJcerdLHuuL3w0qz//8kd1/SOt7oP0aJqdAJQrCw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/focus-lock/-/focus-lock-2.1.0.tgz", + "integrity": "sha512-EmGx4PhWGjm4dpjRqM4Aa+rCWBxP+Rq8Uc/nAVnD4YVqkEhBkrPTpui2lnjsuxqNaZ24fIAZ10cF1hlpemte/w==", "requires": { - "@chakra-ui/dom-utils": "2.0.6", - "react-focus-lock": "^2.9.2" + "@chakra-ui/dom-utils": "2.1.0", + "react-focus-lock": "^2.9.4" } }, "@chakra-ui/form-control": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/@chakra-ui/form-control/-/form-control-2.0.18.tgz", - "integrity": "sha512-I0a0jG01IAtRPccOXSNugyRdUAe8Dy40ctqedZvznMweOXzbMCF1m+sHPLdWeWC/VI13VoAispdPY0/zHOdjsQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/form-control/-/form-control-2.2.0.tgz", + "integrity": "sha512-wehLC1t4fafCVJ2RvJQT2jyqsAwX7KymmiGqBu7nQoQz8ApTkGABWpo/QwDh3F/dBLrouHDoOvGmYTqft3Mirw==", "requires": { - "@chakra-ui/icon": "3.0.16", - "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", "@chakra-ui/react-types": "2.0.7", - "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/react-use-merge-refs": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" } }, "@chakra-ui/hooks": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@chakra-ui/hooks/-/hooks-2.1.6.tgz", - "integrity": "sha512-oMSOeoOF6/UpwTVlDFHSROAA4hPY8WgJ0erdHs1ZkuwAwHv7UzjDkvrb6xYzAAH9qHoFzc5RIBm6jVoh3LCc+Q==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/hooks/-/hooks-2.2.1.tgz", + "integrity": "sha512-RQbTnzl6b1tBjbDPf9zGRo9rf/pQMholsOudTxjy4i9GfTfz6kgp5ValGjQm2z7ng6Z31N1cnjZ1AlSzQ//ZfQ==", "requires": { "@chakra-ui/react-utils": "2.0.12", "@chakra-ui/utils": "2.0.15", - "compute-scroll-into-view": "1.0.20", + "compute-scroll-into-view": "3.0.3", "copy-to-clipboard": "3.3.3" } }, "@chakra-ui/icon": { - "version": "3.0.16", - "resolved": "https://registry.npmjs.org/@chakra-ui/icon/-/icon-3.0.16.tgz", - "integrity": "sha512-RpA1X5Ptz8Mt39HSyEIW1wxAz2AXyf9H0JJ5HVx/dBdMZaGMDJ0HyyPBVci0m4RCoJuyG1HHG/DXJaVfUTVAeg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/icon/-/icon-3.2.0.tgz", + "integrity": "sha512-xxjGLvlX2Ys4H0iHrI16t74rG9EBcpFvJ3Y3B7KMQTrnW34Kf7Da/UC8J67Gtx85mTHW020ml85SVPKORWNNKQ==", "requires": { "@chakra-ui/shared-utils": "2.0.5" } }, "@chakra-ui/image": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/@chakra-ui/image/-/image-2.0.15.tgz", - "integrity": "sha512-w2rElXtI3FHXuGpMCsSklus+pO1Pl2LWDwsCGdpBQUvGFbnHfl7MftQgTlaGHeD5OS95Pxva39hKrA2VklKHiQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/image/-/image-2.1.0.tgz", + "integrity": "sha512-bskumBYKLiLMySIWDGcz0+D9Th0jPvmX6xnRMs4o92tT3Od/bW26lahmV2a2Op2ItXeCmRMY+XxJH5Gy1i46VA==", "requires": { - "@chakra-ui/react-use-safe-layout-effect": "2.0.5", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" } }, "@chakra-ui/input": { - "version": "2.0.21", - "resolved": "https://registry.npmjs.org/@chakra-ui/input/-/input-2.0.21.tgz", - "integrity": "sha512-AIWjjg6MgcOtlvKmVoZfPPfgF+sBSWL3Zq2HSCAMvS6h7jfxz/Xv0UTFGPk5F4Wt0YHT7qMySg0Jsm0b78HZJg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/input/-/input-2.1.2.tgz", + "integrity": "sha512-GiBbb3EqAA8Ph43yGa6Mc+kUPjh4Spmxp1Pkelr8qtudpc3p2PJOOebLpd90mcqw8UePPa+l6YhhPtp6o0irhw==", "requires": { - "@chakra-ui/form-control": "2.0.18", - "@chakra-ui/object-utils": "2.0.8", + "@chakra-ui/form-control": "2.2.0", + "@chakra-ui/object-utils": "2.1.0", "@chakra-ui/react-children-utils": "2.0.6", - "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/react-context": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" } }, "@chakra-ui/layout": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/@chakra-ui/layout/-/layout-2.1.18.tgz", - "integrity": "sha512-F4Gh2e+DGdaWdWT5NZduIFD9NM7Bnuh8sXARFHWPvIu7yvAwZ3ddqC9GK4F3qUngdmkJxDLWQqRSwSh96Lxbhw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/layout/-/layout-2.3.1.tgz", + "integrity": "sha512-nXuZ6WRbq0WdgnRgLw+QuxWAHuhDtVX8ElWqcTK+cSMFg/52eVP47czYBE5F35YhnoW2XBwfNoNgZ7+e8Z01Rg==", "requires": { "@chakra-ui/breakpoint-utils": "2.0.8", - "@chakra-ui/icon": "3.0.16", - "@chakra-ui/object-utils": "2.0.8", + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/object-utils": "2.1.0", "@chakra-ui/react-children-utils": "2.0.6", - "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/react-context": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" } }, @@ -6409,76 +6300,76 @@ "integrity": "sha512-UULqw7FBvcckQk2n3iPO56TMJvDsNv0FKZI6PlUNJVaGsPbsYxK/8IQ60vZgaTVPtVcjY6BE+y6zg8u9HOqpyg==" }, "@chakra-ui/live-region": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@chakra-ui/live-region/-/live-region-2.0.13.tgz", - "integrity": "sha512-Ja+Slk6ZkxSA5oJzU2VuGU7TpZpbMb/4P4OUhIf2D30ctmIeXkxTWw1Bs1nGJAVtAPcGS5sKA+zb89i8g+0cTQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/live-region/-/live-region-2.1.0.tgz", + "integrity": "sha512-ZOxFXwtaLIsXjqnszYYrVuswBhnIHHP+XIgK1vC6DePKtyK590Wg+0J0slDwThUAd4MSSIUa/nNX84x1GMphWw==", "requires": {} }, "@chakra-ui/media-query": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/@chakra-ui/media-query/-/media-query-3.2.12.tgz", - "integrity": "sha512-8pSLDf3oxxhFrhd40rs7vSeIBfvOmIKHA7DJlGUC/y+9irD24ZwgmCtFnn+y3gI47hTJsopbSX+wb8nr7XPswA==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/media-query/-/media-query-3.3.0.tgz", + "integrity": "sha512-IsTGgFLoICVoPRp9ykOgqmdMotJG0CnPsKvGQeSFOB/dZfIujdVb14TYxDU4+MURXry1MhJ7LzZhv+Ml7cr8/g==", "requires": { "@chakra-ui/breakpoint-utils": "2.0.8", - "@chakra-ui/react-env": "3.0.0", + "@chakra-ui/react-env": "3.1.0", "@chakra-ui/shared-utils": "2.0.5" } }, "@chakra-ui/menu": { - "version": "2.1.12", - "resolved": "https://registry.npmjs.org/@chakra-ui/menu/-/menu-2.1.12.tgz", - "integrity": "sha512-ylNK1VJlr/3/EGg9dLPZ87cBJJjeiYXeU/gOAphsKXMnByrXWhbp4YVnyyyha2KZ0zEw0aPU4nCZ+A69aT9wrg==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/menu/-/menu-2.2.1.tgz", + "integrity": "sha512-lJS7XEObzJxsOwWQh7yfG4H8FzFPRP5hVPN/CL+JzytEINCSBvsCDHrYPQGp7jzpCi8vnTqQQGQe0f8dwnXd2g==", "requires": { - "@chakra-ui/clickable": "2.0.14", - "@chakra-ui/descendant": "3.0.14", + "@chakra-ui/clickable": "2.1.0", + "@chakra-ui/descendant": "3.1.0", "@chakra-ui/lazy-utils": "2.0.5", - "@chakra-ui/popper": "3.0.13", + "@chakra-ui/popper": "3.1.0", "@chakra-ui/react-children-utils": "2.0.6", - "@chakra-ui/react-context": "2.0.8", - "@chakra-ui/react-use-animation-state": "2.0.8", - "@chakra-ui/react-use-controllable-state": "2.0.8", - "@chakra-ui/react-use-disclosure": "2.0.8", - "@chakra-ui/react-use-focus-effect": "2.0.9", - "@chakra-ui/react-use-merge-refs": "2.0.7", - "@chakra-ui/react-use-outside-click": "2.0.7", - "@chakra-ui/react-use-update-effect": "2.0.7", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-animation-state": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-disclosure": "2.1.0", + "@chakra-ui/react-use-focus-effect": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-outside-click": "2.2.0", + "@chakra-ui/react-use-update-effect": "2.1.0", "@chakra-ui/shared-utils": "2.0.5", - "@chakra-ui/transition": "2.0.16" + "@chakra-ui/transition": "2.1.0" } }, "@chakra-ui/modal": { - "version": "2.2.11", - "resolved": "https://registry.npmjs.org/@chakra-ui/modal/-/modal-2.2.11.tgz", - "integrity": "sha512-2J0ZUV5tEzkPiawdkgPz6bmex7NXAde1VXooMwdvK+vuT8PV3U61yorTJOZVLdw7TjjI1Yo94mzsp6UwBud43Q==", - "requires": { - "@chakra-ui/close-button": "2.0.17", - "@chakra-ui/focus-lock": "2.0.16", - "@chakra-ui/portal": "2.0.16", - "@chakra-ui/react-context": "2.0.8", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/modal/-/modal-2.3.1.tgz", + "integrity": "sha512-TQv1ZaiJMZN+rR9DK0snx/OPwmtaGH1HbZtlYt4W4s6CzyK541fxLRTjIXfEzIGpvNW+b6VFuFjbcR78p4DEoQ==", + "requires": { + "@chakra-ui/close-button": "2.1.1", + "@chakra-ui/focus-lock": "2.1.0", + "@chakra-ui/portal": "2.1.0", + "@chakra-ui/react-context": "2.1.0", "@chakra-ui/react-types": "2.0.7", - "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/react-use-merge-refs": "2.1.0", "@chakra-ui/shared-utils": "2.0.5", - "@chakra-ui/transition": "2.0.16", - "aria-hidden": "^1.2.2", - "react-remove-scroll": "^2.5.5" + "@chakra-ui/transition": "2.1.0", + "aria-hidden": "^1.2.3", + "react-remove-scroll": "^2.5.6" } }, "@chakra-ui/number-input": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/@chakra-ui/number-input/-/number-input-2.0.19.tgz", - "integrity": "sha512-HDaITvtMEqOauOrCPsARDxKD9PSHmhWywpcyCSOX0lMe4xx2aaGhU0QQFhsJsykj8Er6pytMv6t0KZksdDv3YA==", - "requires": { - "@chakra-ui/counter": "2.0.14", - "@chakra-ui/form-control": "2.0.18", - "@chakra-ui/icon": "3.0.16", - "@chakra-ui/react-context": "2.0.8", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/number-input/-/number-input-2.1.2.tgz", + "integrity": "sha512-pfOdX02sqUN0qC2ysuvgVDiws7xZ20XDIlcNhva55Jgm095xjm8eVdIBfNm3SFbSUNxyXvLTW/YQanX74tKmuA==", + "requires": { + "@chakra-ui/counter": "2.1.0", + "@chakra-ui/form-control": "2.2.0", + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", "@chakra-ui/react-types": "2.0.7", - "@chakra-ui/react-use-callback-ref": "2.0.7", - "@chakra-ui/react-use-event-listener": "2.0.7", - "@chakra-ui/react-use-interval": "2.0.5", - "@chakra-ui/react-use-merge-refs": "2.0.7", - "@chakra-ui/react-use-safe-layout-effect": "2.0.5", - "@chakra-ui/react-use-update-effect": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.1.0", + "@chakra-ui/react-use-event-listener": "2.1.0", + "@chakra-ui/react-use-interval": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" } }, @@ -6488,149 +6379,151 @@ "integrity": "sha512-yOGxBjXNvLTBvQyhMDqGU0Oj26s91mbAlqKHiuw737AXHt0aPllOthVUqQMeaYLwLCjGMg0jtI7JReRzyi94Dg==" }, "@chakra-ui/object-utils": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@chakra-ui/object-utils/-/object-utils-2.0.8.tgz", - "integrity": "sha512-2upjT2JgRuiupdrtBWklKBS6tqeGMA77Nh6Q0JaoQuH/8yq+15CGckqn3IUWkWoGI0Fg3bK9LDlbbD+9DLw95Q==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/object-utils/-/object-utils-2.1.0.tgz", + "integrity": "sha512-tgIZOgLHaoti5PYGPTwK3t/cqtcycW0owaiOXoZOcpwwX/vlVb+H1jFsQyWiiwQVPt9RkoSLtxzXamx+aHH+bQ==" }, "@chakra-ui/pin-input": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/@chakra-ui/pin-input/-/pin-input-2.0.20.tgz", - "integrity": "sha512-IHVmerrtHN8F+jRB3W1HnMir1S1TUCWhI7qDInxqPtoRffHt6mzZgLZ0izx8p1fD4HkW4c1d4/ZLEz9uH9bBRg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/pin-input/-/pin-input-2.1.0.tgz", + "integrity": "sha512-x4vBqLStDxJFMt+jdAHHS8jbh294O53CPQJoL4g228P513rHylV/uPscYUHrVJXRxsHfRztQO9k45jjTYaPRMw==", "requires": { - "@chakra-ui/descendant": "3.0.14", + "@chakra-ui/descendant": "3.1.0", "@chakra-ui/react-children-utils": "2.0.6", - "@chakra-ui/react-context": "2.0.8", - "@chakra-ui/react-use-controllable-state": "2.0.8", - "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" } }, "@chakra-ui/popover": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@chakra-ui/popover/-/popover-2.1.9.tgz", - "integrity": "sha512-OMJ12VVs9N32tFaZSOqikkKPtwAVwXYsES/D1pff/amBrE3ngCrpxJSIp4uvTdORfIYDojJqrR52ZplDKS9hRQ==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/popover/-/popover-2.2.1.tgz", + "integrity": "sha512-K+2ai2dD0ljvJnlrzesCDT9mNzLifE3noGKZ3QwLqd/K34Ym1W/0aL1ERSynrcG78NKoXS54SdEzkhCZ4Gn/Zg==", "requires": { - "@chakra-ui/close-button": "2.0.17", + "@chakra-ui/close-button": "2.1.1", "@chakra-ui/lazy-utils": "2.0.5", - "@chakra-ui/popper": "3.0.13", - "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/popper": "3.1.0", + "@chakra-ui/react-context": "2.1.0", "@chakra-ui/react-types": "2.0.7", - "@chakra-ui/react-use-animation-state": "2.0.8", - "@chakra-ui/react-use-disclosure": "2.0.8", - "@chakra-ui/react-use-focus-effect": "2.0.9", - "@chakra-ui/react-use-focus-on-pointer-down": "2.0.6", - "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/react-use-animation-state": "2.1.0", + "@chakra-ui/react-use-disclosure": "2.1.0", + "@chakra-ui/react-use-focus-effect": "2.1.0", + "@chakra-ui/react-use-focus-on-pointer-down": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" } }, "@chakra-ui/popper": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@chakra-ui/popper/-/popper-3.0.13.tgz", - "integrity": "sha512-FwtmYz80Ju8oK3Z1HQfisUE7JIMmDsCQsRBu6XuJ3TFQnBHit73yjZmxKjuRJ4JgyT4WBnZoTF3ATbRKSagBeg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/popper/-/popper-3.1.0.tgz", + "integrity": "sha512-ciDdpdYbeFG7og6/6J8lkTFxsSvwTdMLFkpVylAF6VNC22jssiWfquj2eyD4rJnzkRFPvIWJq8hvbfhsm+AjSg==", "requires": { "@chakra-ui/react-types": "2.0.7", - "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/react-use-merge-refs": "2.1.0", "@popperjs/core": "^2.9.3" } }, "@chakra-ui/portal": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/@chakra-ui/portal/-/portal-2.0.16.tgz", - "integrity": "sha512-bVID0qbQ0l4xq38LdqAN4EKD4/uFkDnXzFwOlviC9sl0dNhzICDb1ltuH/Adl1d2HTMqyN60O3GO58eHy7plnQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/portal/-/portal-2.1.0.tgz", + "integrity": "sha512-9q9KWf6SArEcIq1gGofNcFPSWEyl+MfJjEUg/un1SMlQjaROOh3zYr+6JAwvcORiX7tyHosnmWC3d3wI2aPSQg==", "requires": { - "@chakra-ui/react-context": "2.0.8", - "@chakra-ui/react-use-safe-layout-effect": "2.0.5" + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0" } }, "@chakra-ui/progress": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@chakra-ui/progress/-/progress-2.1.6.tgz", - "integrity": "sha512-hHh5Ysv4z6bK+j2GJbi/FT9CVyto2PtNUNwBmr3oNMVsoOUMoRjczfXvvYqp0EHr9PCpxqrq7sRwgQXUzhbDSw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/progress/-/progress-2.2.0.tgz", + "integrity": "sha512-qUXuKbuhN60EzDD9mHR7B67D7p/ZqNS2Aze4Pbl1qGGZfulPW0PY8Rof32qDtttDQBkzQIzFGE8d9QpAemToIQ==", "requires": { - "@chakra-ui/react-context": "2.0.8" + "@chakra-ui/react-context": "2.1.0" } }, "@chakra-ui/provider": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@chakra-ui/provider/-/provider-2.2.2.tgz", - "integrity": "sha512-UVwnIDnAWq1aKroN5AF+OpNpUqLVeIUk7tKvX3z4CY9FsPFFi6LTEhRHdhpwaU1Tau3Tf9agEu5URegpY7S8BA==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/provider/-/provider-2.4.2.tgz", + "integrity": "sha512-w0Tef5ZCJK1mlJorcSjItCSbyvVuqpvyWdxZiVQmE6fvSJR83wZof42ux0+sfWD+I7rHSfj+f9nzhNaEWClysw==", "requires": { - "@chakra-ui/css-reset": "2.1.1", - "@chakra-ui/portal": "2.0.16", - "@chakra-ui/react-env": "3.0.0", - "@chakra-ui/system": "2.5.5", + "@chakra-ui/css-reset": "2.3.0", + "@chakra-ui/portal": "2.1.0", + "@chakra-ui/react-env": "3.1.0", + "@chakra-ui/system": "2.6.2", "@chakra-ui/utils": "2.0.15" } }, "@chakra-ui/radio": { - "version": "2.0.22", - "resolved": "https://registry.npmjs.org/@chakra-ui/radio/-/radio-2.0.22.tgz", - "integrity": "sha512-GsQ5WAnLwivWl6gPk8P1x+tCcpVakCt5R5T0HumF7DGPXKdJbjS+RaFySrbETmyTJsKY4QrfXn+g8CWVrMjPjw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/radio/-/radio-2.1.2.tgz", + "integrity": "sha512-n10M46wJrMGbonaghvSRnZ9ToTv/q76Szz284gv4QUWvyljQACcGrXIONUnQ3BIwbOfkRqSk7Xl/JgZtVfll+w==", "requires": { - "@chakra-ui/form-control": "2.0.18", - "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/form-control": "2.2.0", + "@chakra-ui/react-context": "2.1.0", "@chakra-ui/react-types": "2.0.7", - "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/react-use-merge-refs": "2.1.0", "@chakra-ui/shared-utils": "2.0.5", - "@zag-js/focus-visible": "0.2.2" + "@zag-js/focus-visible": "0.16.0" } }, "@chakra-ui/react": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/@chakra-ui/react/-/react-2.5.5.tgz", - "integrity": "sha512-aBVMUtdWv2MrptD/tKSqICPsuJ+I+jvauegffO1qPUDlK3RrXIDeOHkLGWohgXNcjY5bGVWguFEzJm97//0ooQ==", - "requires": { - "@chakra-ui/accordion": "2.1.11", - "@chakra-ui/alert": "2.1.0", - "@chakra-ui/avatar": "2.2.8", - "@chakra-ui/breadcrumb": "2.1.5", - "@chakra-ui/button": "2.0.18", - "@chakra-ui/card": "2.1.6", - "@chakra-ui/checkbox": "2.2.14", - "@chakra-ui/close-button": "2.0.17", - "@chakra-ui/control-box": "2.0.13", - "@chakra-ui/counter": "2.0.14", - "@chakra-ui/css-reset": "2.1.1", - "@chakra-ui/editable": "2.0.21", - "@chakra-ui/focus-lock": "2.0.16", - "@chakra-ui/form-control": "2.0.18", - "@chakra-ui/hooks": "2.1.6", - "@chakra-ui/icon": "3.0.16", - "@chakra-ui/image": "2.0.15", - "@chakra-ui/input": "2.0.21", - "@chakra-ui/layout": "2.1.18", - "@chakra-ui/live-region": "2.0.13", - "@chakra-ui/media-query": "3.2.12", - "@chakra-ui/menu": "2.1.12", - "@chakra-ui/modal": "2.2.11", - "@chakra-ui/number-input": "2.0.19", - "@chakra-ui/pin-input": "2.0.20", - "@chakra-ui/popover": "2.1.9", - "@chakra-ui/popper": "3.0.13", - "@chakra-ui/portal": "2.0.16", - "@chakra-ui/progress": "2.1.6", - "@chakra-ui/provider": "2.2.2", - "@chakra-ui/radio": "2.0.22", - "@chakra-ui/react-env": "3.0.0", - "@chakra-ui/select": "2.0.19", - "@chakra-ui/skeleton": "2.0.24", - "@chakra-ui/slider": "2.0.23", - "@chakra-ui/spinner": "2.0.13", - "@chakra-ui/stat": "2.0.18", - "@chakra-ui/styled-system": "2.8.0", - "@chakra-ui/switch": "2.0.26", - "@chakra-ui/system": "2.5.5", - "@chakra-ui/table": "2.0.17", - "@chakra-ui/tabs": "2.1.9", - "@chakra-ui/tag": "3.0.0", - "@chakra-ui/textarea": "2.0.19", - "@chakra-ui/theme": "3.0.1", - "@chakra-ui/theme-utils": "2.0.15", - "@chakra-ui/toast": "6.1.1", - "@chakra-ui/tooltip": "2.2.7", - "@chakra-ui/transition": "2.0.16", + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/react/-/react-2.8.2.tgz", + "integrity": "sha512-Hn0moyxxyCDKuR9ywYpqgX8dvjqwu9ArwpIb9wHNYjnODETjLwazgNIliCVBRcJvysGRiV51U2/JtJVrpeCjUQ==", + "requires": { + "@chakra-ui/accordion": "2.3.1", + "@chakra-ui/alert": "2.2.2", + "@chakra-ui/avatar": "2.3.0", + "@chakra-ui/breadcrumb": "2.2.0", + "@chakra-ui/button": "2.1.0", + "@chakra-ui/card": "2.2.0", + "@chakra-ui/checkbox": "2.3.2", + "@chakra-ui/close-button": "2.1.1", + "@chakra-ui/control-box": "2.1.0", + "@chakra-ui/counter": "2.1.0", + "@chakra-ui/css-reset": "2.3.0", + "@chakra-ui/editable": "3.1.0", + "@chakra-ui/focus-lock": "2.1.0", + "@chakra-ui/form-control": "2.2.0", + "@chakra-ui/hooks": "2.2.1", + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/image": "2.1.0", + "@chakra-ui/input": "2.1.2", + "@chakra-ui/layout": "2.3.1", + "@chakra-ui/live-region": "2.1.0", + "@chakra-ui/media-query": "3.3.0", + "@chakra-ui/menu": "2.2.1", + "@chakra-ui/modal": "2.3.1", + "@chakra-ui/number-input": "2.1.2", + "@chakra-ui/pin-input": "2.1.0", + "@chakra-ui/popover": "2.2.1", + "@chakra-ui/popper": "3.1.0", + "@chakra-ui/portal": "2.1.0", + "@chakra-ui/progress": "2.2.0", + "@chakra-ui/provider": "2.4.2", + "@chakra-ui/radio": "2.1.2", + "@chakra-ui/react-env": "3.1.0", + "@chakra-ui/select": "2.1.2", + "@chakra-ui/skeleton": "2.1.0", + "@chakra-ui/skip-nav": "2.1.0", + "@chakra-ui/slider": "2.1.0", + "@chakra-ui/spinner": "2.1.0", + "@chakra-ui/stat": "2.1.1", + "@chakra-ui/stepper": "2.3.1", + "@chakra-ui/styled-system": "2.9.2", + "@chakra-ui/switch": "2.1.2", + "@chakra-ui/system": "2.6.2", + "@chakra-ui/table": "2.1.0", + "@chakra-ui/tabs": "3.0.0", + "@chakra-ui/tag": "3.1.1", + "@chakra-ui/textarea": "2.1.2", + "@chakra-ui/theme": "3.3.1", + "@chakra-ui/theme-utils": "2.0.21", + "@chakra-ui/toast": "7.0.2", + "@chakra-ui/tooltip": "2.3.1", + "@chakra-ui/transition": "2.1.0", "@chakra-ui/utils": "2.0.15", - "@chakra-ui/visually-hidden": "2.0.15" + "@chakra-ui/visually-hidden": "2.2.0" } }, "@chakra-ui/react-children-utils": { @@ -6640,17 +6533,17 @@ "requires": {} }, "@chakra-ui/react-context": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-context/-/react-context-2.0.8.tgz", - "integrity": "sha512-tRTKdn6lCTXM6WPjSokAAKCw2ioih7Eg8cNgaYRSwKBck8nkz9YqxgIIEj3dJD7MGtpl24S/SNI98iRWkRwR/A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-context/-/react-context-2.1.0.tgz", + "integrity": "sha512-iahyStvzQ4AOwKwdPReLGfDesGG+vWJfEsn0X/NoGph/SkN+HXtv2sCfYFFR9k7bb+Kvc6YfpLlSuLvKMHi2+w==", "requires": {} }, "@chakra-ui/react-env": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-env/-/react-env-3.0.0.tgz", - "integrity": "sha512-tfMRO2v508HQWAqSADFrwZgR9oU10qC97oV6zGbjHh9ALP0/IcFR+Bi71KRTveDTm85fMeAzZYGj57P3Dsipkw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-env/-/react-env-3.1.0.tgz", + "integrity": "sha512-Vr96GV2LNBth3+IKzr/rq1IcnkXv+MLmwjQH6C8BRtn3sNskgDFD5vLkVXcEhagzZMCh8FR3V/bzZPojBOyNhw==", "requires": { - "@chakra-ui/react-use-safe-layout-effect": "2.0.5" + "@chakra-ui/react-use-safe-layout-effect": "2.1.0" } }, "@chakra-ui/react-types": { @@ -6660,133 +6553,133 @@ "requires": {} }, "@chakra-ui/react-use-animation-state": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-animation-state/-/react-use-animation-state-2.0.8.tgz", - "integrity": "sha512-xv9zSF2Rd1mHWQ+m5DLBWeh4atF8qrNvsOs3MNrvxKYBS3f79N3pqcQGrWAEvirXWXfiCeje2VAkEggqFRIo+Q==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-animation-state/-/react-use-animation-state-2.1.0.tgz", + "integrity": "sha512-CFZkQU3gmDBwhqy0vC1ryf90BVHxVN8cTLpSyCpdmExUEtSEInSCGMydj2fvn7QXsz/za8JNdO2xxgJwxpLMtg==", "requires": { - "@chakra-ui/dom-utils": "2.0.6", - "@chakra-ui/react-use-event-listener": "2.0.7" + "@chakra-ui/dom-utils": "2.1.0", + "@chakra-ui/react-use-event-listener": "2.1.0" } }, "@chakra-ui/react-use-callback-ref": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-callback-ref/-/react-use-callback-ref-2.0.7.tgz", - "integrity": "sha512-YjT76nTpfHAK5NxplAlZsQwNju5KmQExnqsWNPFeOR6vvbC34+iPSTr+r91i1Hdy7gBSbevsOsd5Wm6RN3GuMw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-callback-ref/-/react-use-callback-ref-2.1.0.tgz", + "integrity": "sha512-efnJrBtGDa4YaxDzDE90EnKD3Vkh5a1t3w7PhnRQmsphLy3g2UieasoKTlT2Hn118TwDjIv5ZjHJW6HbzXA9wQ==", "requires": {} }, "@chakra-ui/react-use-controllable-state": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-controllable-state/-/react-use-controllable-state-2.0.8.tgz", - "integrity": "sha512-F7rdCbLEmRjwwODqWZ3y+mKgSSHPcLQxeUygwk1BkZPXbKkJJKymOIjIynil2cbH7ku3hcSIWRvuhpCcfQWJ7Q==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-controllable-state/-/react-use-controllable-state-2.1.0.tgz", + "integrity": "sha512-QR/8fKNokxZUs4PfxjXuwl0fj/d71WPrmLJvEpCTkHjnzu7LnYvzoe2wB867IdooQJL0G1zBxl0Dq+6W1P3jpg==", "requires": { - "@chakra-ui/react-use-callback-ref": "2.0.7" + "@chakra-ui/react-use-callback-ref": "2.1.0" } }, "@chakra-ui/react-use-disclosure": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-disclosure/-/react-use-disclosure-2.0.8.tgz", - "integrity": "sha512-2ir/mHe1YND40e+FyLHnDsnDsBQPwzKDLzfe9GZri7y31oU83JSbHdlAXAhp3bpjohslwavtRCp+S/zRxfO9aQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-disclosure/-/react-use-disclosure-2.1.0.tgz", + "integrity": "sha512-Ax4pmxA9LBGMyEZJhhUZobg9C0t3qFE4jVF1tGBsrLDcdBeLR9fwOogIPY9Hf0/wqSlAryAimICbr5hkpa5GSw==", "requires": { - "@chakra-ui/react-use-callback-ref": "2.0.7" + "@chakra-ui/react-use-callback-ref": "2.1.0" } }, "@chakra-ui/react-use-event-listener": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-event-listener/-/react-use-event-listener-2.0.7.tgz", - "integrity": "sha512-4wvpx4yudIO3B31pOrXuTHDErawmwiXnvAN7gLEOVREi16+YGNcFnRJ5X5nRrmB7j2MDUtsEDpRBFfw5Z9xQ5g==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-event-listener/-/react-use-event-listener-2.1.0.tgz", + "integrity": "sha512-U5greryDLS8ISP69DKDsYcsXRtAdnTQT+jjIlRYZ49K/XhUR/AqVZCK5BkR1spTDmO9H8SPhgeNKI70ODuDU/Q==", "requires": { - "@chakra-ui/react-use-callback-ref": "2.0.7" + "@chakra-ui/react-use-callback-ref": "2.1.0" } }, "@chakra-ui/react-use-focus-effect": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-focus-effect/-/react-use-focus-effect-2.0.9.tgz", - "integrity": "sha512-20nfNkpbVwyb41q9wxp8c4jmVp6TUGAPE3uFTDpiGcIOyPW5aecQtPmTXPMJH+2aa8Nu1wyoT1btxO+UYiQM3g==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-focus-effect/-/react-use-focus-effect-2.1.0.tgz", + "integrity": "sha512-xzVboNy7J64xveLcxTIJ3jv+lUJKDwRM7Szwn9tNzUIPD94O3qwjV7DDCUzN2490nSYDF4OBMt/wuDBtaR3kUQ==", "requires": { - "@chakra-ui/dom-utils": "2.0.6", - "@chakra-ui/react-use-event-listener": "2.0.7", - "@chakra-ui/react-use-safe-layout-effect": "2.0.5", - "@chakra-ui/react-use-update-effect": "2.0.7" + "@chakra-ui/dom-utils": "2.1.0", + "@chakra-ui/react-use-event-listener": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0" } }, "@chakra-ui/react-use-focus-on-pointer-down": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-focus-on-pointer-down/-/react-use-focus-on-pointer-down-2.0.6.tgz", - "integrity": "sha512-OigXiLRVySn3tyVqJ/rn57WGuukW8TQe8fJYiLwXbcNyAMuYYounvRxvCy2b53sQ7QIZamza0N0jhirbH5FNoQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-focus-on-pointer-down/-/react-use-focus-on-pointer-down-2.1.0.tgz", + "integrity": "sha512-2jzrUZ+aiCG/cfanrolsnSMDykCAbv9EK/4iUyZno6BYb3vziucmvgKuoXbMPAzWNtwUwtuMhkby8rc61Ue+Lg==", "requires": { - "@chakra-ui/react-use-event-listener": "2.0.7" + "@chakra-ui/react-use-event-listener": "2.1.0" } }, "@chakra-ui/react-use-interval": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-interval/-/react-use-interval-2.0.5.tgz", - "integrity": "sha512-1nbdwMi2K87V6p5f5AseOKif2CkldLaJlq1TOqaPRwb7v3aU9rltBtYdf+fIyuHSToNJUV6wd9budCFdLCl3Fg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-interval/-/react-use-interval-2.1.0.tgz", + "integrity": "sha512-8iWj+I/+A0J08pgEXP1J1flcvhLBHkk0ln7ZvGIyXiEyM6XagOTJpwNhiu+Bmk59t3HoV/VyvyJTa+44sEApuw==", "requires": { - "@chakra-ui/react-use-callback-ref": "2.0.7" + "@chakra-ui/react-use-callback-ref": "2.1.0" } }, "@chakra-ui/react-use-latest-ref": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-latest-ref/-/react-use-latest-ref-2.0.5.tgz", - "integrity": "sha512-3mIuFzMyIo3Ok/D8uhV9voVg7KkrYVO/pwVvNPJOHsDQqCA6DpYE4WDsrIx+fVcwad3Ta7SupexR5PoI+kq6QQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-latest-ref/-/react-use-latest-ref-2.1.0.tgz", + "integrity": "sha512-m0kxuIYqoYB0va9Z2aW4xP/5b7BzlDeWwyXCH6QpT2PpW3/281L3hLCm1G0eOUcdVlayqrQqOeD6Mglq+5/xoQ==", "requires": {} }, "@chakra-ui/react-use-merge-refs": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-merge-refs/-/react-use-merge-refs-2.0.7.tgz", - "integrity": "sha512-zds4Uhsc+AMzdH8JDDkLVet9baUBgtOjPbhC5r3A0ZXjZvGhCztFAVE3aExYiVoMPoHLKbLcqvCWE6ioFKz1lw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-merge-refs/-/react-use-merge-refs-2.1.0.tgz", + "integrity": "sha512-lERa6AWF1cjEtWSGjxWTaSMvneccnAVH4V4ozh8SYiN9fSPZLlSG3kNxfNzdFvMEhM7dnP60vynF7WjGdTgQbQ==", "requires": {} }, "@chakra-ui/react-use-outside-click": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-outside-click/-/react-use-outside-click-2.0.7.tgz", - "integrity": "sha512-MsAuGLkwYNxNJ5rb8lYNvXApXxYMnJ3MzqBpQj1kh5qP/+JSla9XMjE/P94ub4fSEttmNSqs43SmPPrmPuihsQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-outside-click/-/react-use-outside-click-2.2.0.tgz", + "integrity": "sha512-PNX+s/JEaMneijbgAM4iFL+f3m1ga9+6QK0E5Yh4s8KZJQ/bLwZzdhMz8J/+mL+XEXQ5J0N8ivZN28B82N1kNw==", "requires": { - "@chakra-ui/react-use-callback-ref": "2.0.7" + "@chakra-ui/react-use-callback-ref": "2.1.0" } }, "@chakra-ui/react-use-pan-event": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-pan-event/-/react-use-pan-event-2.0.9.tgz", - "integrity": "sha512-xu35QXkiyrgsHUOnctl+SwNcwf9Rl62uYE5y8soKOZdBm8E+FvZIt2hxUzK1EoekbJCMzEZ0Yv1ZQCssVkSLaQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-pan-event/-/react-use-pan-event-2.1.0.tgz", + "integrity": "sha512-xmL2qOHiXqfcj0q7ZK5s9UjTh4Gz0/gL9jcWPA6GVf+A0Od5imEDa/Vz+533yQKWiNSm1QGrIj0eJAokc7O4fg==", "requires": { "@chakra-ui/event-utils": "2.0.8", - "@chakra-ui/react-use-latest-ref": "2.0.5", + "@chakra-ui/react-use-latest-ref": "2.1.0", "framesync": "6.1.2" } }, "@chakra-ui/react-use-previous": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-previous/-/react-use-previous-2.0.5.tgz", - "integrity": "sha512-BIZgjycPE4Xr+MkhKe0h67uHXzQQkBX/u5rYPd65iMGdX1bCkbE0oorZNfOHLKdTmnEb4oVsNvfN6Rfr+Mnbxw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-previous/-/react-use-previous-2.1.0.tgz", + "integrity": "sha512-pjxGwue1hX8AFcmjZ2XfrQtIJgqbTF3Qs1Dy3d1krC77dEsiCUbQ9GzOBfDc8pfd60DrB5N2tg5JyHbypqh0Sg==", "requires": {} }, "@chakra-ui/react-use-safe-layout-effect": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-safe-layout-effect/-/react-use-safe-layout-effect-2.0.5.tgz", - "integrity": "sha512-MwAQBz3VxoeFLaesaSEN87reVNVbjcQBDex2WGexAg6hUB6n4gc1OWYH/iXp4tzp4kuggBNhEHkk9BMYXWfhJQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-safe-layout-effect/-/react-use-safe-layout-effect-2.1.0.tgz", + "integrity": "sha512-Knbrrx/bcPwVS1TorFdzrK/zWA8yuU/eaXDkNj24IrKoRlQrSBFarcgAEzlCHtzuhufP3OULPkELTzz91b0tCw==", "requires": {} }, "@chakra-ui/react-use-size": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-size/-/react-use-size-2.0.10.tgz", - "integrity": "sha512-fdIkH14GDnKQrtQfxX8N3gxbXRPXEl67Y3zeD9z4bKKcQUAYIMqs0MsPZY+FMpGQw8QqafM44nXfL038aIrC5w==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-size/-/react-use-size-2.1.0.tgz", + "integrity": "sha512-tbLqrQhbnqOjzTaMlYytp7wY8BW1JpL78iG7Ru1DlV4EWGiAmXFGvtnEt9HftU0NJ0aJyjgymkxfVGI55/1Z4A==", "requires": { - "@zag-js/element-size": "0.3.2" + "@zag-js/element-size": "0.10.5" } }, "@chakra-ui/react-use-timeout": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-timeout/-/react-use-timeout-2.0.5.tgz", - "integrity": "sha512-QqmB+jVphh3h/CS60PieorpY7UqSPkrQCB7f7F+i9vwwIjtP8fxVHMmkb64K7VlzQiMPzv12nlID5dqkzlv0mw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-timeout/-/react-use-timeout-2.1.0.tgz", + "integrity": "sha512-cFN0sobKMM9hXUhyCofx3/Mjlzah6ADaEl/AXl5Y+GawB5rgedgAcu2ErAgarEkwvsKdP6c68CKjQ9dmTQlJxQ==", "requires": { - "@chakra-ui/react-use-callback-ref": "2.0.7" + "@chakra-ui/react-use-callback-ref": "2.1.0" } }, "@chakra-ui/react-use-update-effect": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-update-effect/-/react-use-update-effect-2.0.7.tgz", - "integrity": "sha512-vBM2bmmM83ZdDtasWv3PXPznpTUd+FvqBC8J8rxoRmvdMEfrxTiQRBJhiGHLpS9BPLLPQlosN6KdFU97csB6zg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-update-effect/-/react-use-update-effect-2.1.0.tgz", + "integrity": "sha512-ND4Q23tETaR2Qd3zwCKYOOS1dfssojPLJMLvUtUbW5M9uW1ejYWgGUobeAiOVfSplownG8QYMmHTP86p/v0lbA==", "requires": {} }, "@chakra-ui/react-utils": { @@ -6798,11 +6691,11 @@ } }, "@chakra-ui/select": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/@chakra-ui/select/-/select-2.0.19.tgz", - "integrity": "sha512-eAlFh+JhwtJ17OrB6fO6gEAGOMH18ERNrXLqWbYLrs674Le7xuREgtuAYDoxUzvYXYYTTdOJtVbcHGriI3o6rA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/select/-/select-2.1.2.tgz", + "integrity": "sha512-ZwCb7LqKCVLJhru3DXvKXpZ7Pbu1TDZ7N0PdQ0Zj1oyVLJyrpef1u9HR5u0amOpqcH++Ugt0f5JSmirjNlctjA==", "requires": { - "@chakra-ui/form-control": "2.0.18", + "@chakra-ui/form-control": "2.2.0", "@chakra-ui/shared-utils": "2.0.5" } }, @@ -6812,191 +6705,208 @@ "integrity": "sha512-4/Wur0FqDov7Y0nCXl7HbHzCg4aq86h+SXdoUeuCMD3dSj7dpsVnStLYhng1vxvlbUnLpdF4oz5Myt3i/a7N3Q==" }, "@chakra-ui/skeleton": { - "version": "2.0.24", - "resolved": "https://registry.npmjs.org/@chakra-ui/skeleton/-/skeleton-2.0.24.tgz", - "integrity": "sha512-1jXtVKcl/jpbrJlc/TyMsFyI651GTXY5ma30kWyTXoby2E+cxbV6OR8GB/NMZdGxbQBax8/VdtYVjI0n+OBqWA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/skeleton/-/skeleton-2.1.0.tgz", + "integrity": "sha512-JNRuMPpdZGd6zFVKjVQ0iusu3tXAdI29n4ZENYwAJEMf/fN0l12sVeirOxkJ7oEL0yOx2AgEYFSKdbcAgfUsAQ==", "requires": { - "@chakra-ui/media-query": "3.2.12", - "@chakra-ui/react-use-previous": "2.0.5", + "@chakra-ui/media-query": "3.3.0", + "@chakra-ui/react-use-previous": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" } }, + "@chakra-ui/skip-nav": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/skip-nav/-/skip-nav-2.1.0.tgz", + "integrity": "sha512-Hk+FG+vadBSH0/7hwp9LJnLjkO0RPGnx7gBJWI4/SpoJf3e4tZlWYtwGj0toYY4aGKl93jVghuwGbDBEMoHDug==", + "requires": {} + }, "@chakra-ui/slider": { - "version": "2.0.23", - "resolved": "https://registry.npmjs.org/@chakra-ui/slider/-/slider-2.0.23.tgz", - "integrity": "sha512-/eyRUXLla+ZdBUPXpakE3SAS2JS8mIJR6qcUYiPVKSpRAi6tMyYeQijAXn2QC1AUVd2JrG8Pz+1Jy7Po3uA7cA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/slider/-/slider-2.1.0.tgz", + "integrity": "sha512-lUOBcLMCnFZiA/s2NONXhELJh6sY5WtbRykPtclGfynqqOo47lwWJx+VP7xaeuhDOPcWSSecWc9Y1BfPOCz9cQ==", "requires": { "@chakra-ui/number-utils": "2.0.7", - "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/react-context": "2.1.0", "@chakra-ui/react-types": "2.0.7", - "@chakra-ui/react-use-callback-ref": "2.0.7", - "@chakra-ui/react-use-controllable-state": "2.0.8", - "@chakra-ui/react-use-latest-ref": "2.0.5", - "@chakra-ui/react-use-merge-refs": "2.0.7", - "@chakra-ui/react-use-pan-event": "2.0.9", - "@chakra-ui/react-use-size": "2.0.10", - "@chakra-ui/react-use-update-effect": "2.0.7" + "@chakra-ui/react-use-callback-ref": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-latest-ref": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-pan-event": "2.1.0", + "@chakra-ui/react-use-size": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0" } }, "@chakra-ui/spinner": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/@chakra-ui/spinner/-/spinner-2.0.13.tgz", - "integrity": "sha512-T1/aSkVpUIuiYyrjfn1+LsQEG7Onbi1UE9ccS/evgf61Dzy4GgTXQUnDuWFSgpV58owqirqOu6jn/9eCwDlzlg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/spinner/-/spinner-2.1.0.tgz", + "integrity": "sha512-hczbnoXt+MMv/d3gE+hjQhmkzLiKuoTo42YhUG7Bs9OSv2lg1fZHW1fGNRFP3wTi6OIbD044U1P9HK+AOgFH3g==", "requires": { "@chakra-ui/shared-utils": "2.0.5" } }, "@chakra-ui/stat": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/@chakra-ui/stat/-/stat-2.0.18.tgz", - "integrity": "sha512-wKyfBqhVlIs9bkSerUc6F9KJMw0yTIEKArW7dejWwzToCLPr47u+CtYO6jlJHV6lRvkhi4K4Qc6pyvtJxZ3VpA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/stat/-/stat-2.1.1.tgz", + "integrity": "sha512-LDn0d/LXQNbAn2KaR3F1zivsZCewY4Jsy1qShmfBMKwn6rI8yVlbvu6SiA3OpHS0FhxbsZxQI6HefEoIgtqY6Q==", "requires": { - "@chakra-ui/icon": "3.0.16", - "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/shared-utils": "2.0.5" + } + }, + "@chakra-ui/stepper": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/stepper/-/stepper-2.3.1.tgz", + "integrity": "sha512-ky77lZbW60zYkSXhYz7kbItUpAQfEdycT0Q4bkHLxfqbuiGMf8OmgZOQkOB9uM4v0zPwy2HXhe0vq4Dd0xa55Q==", + "requires": { + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" } }, "@chakra-ui/styled-system": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/@chakra-ui/styled-system/-/styled-system-2.8.0.tgz", - "integrity": "sha512-bmRv/8ACJGGKGx84U1npiUddwdNifJ+/ETklGwooS5APM0ymwUtBYZpFxjYNJrqvVYpg3mVY6HhMyBVptLS7iA==", + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/styled-system/-/styled-system-2.9.2.tgz", + "integrity": "sha512-To/Z92oHpIE+4nk11uVMWqo2GGRS86coeMmjxtpnErmWRdLcp1WVCVRAvn+ZwpLiNR+reWFr2FFqJRsREuZdAg==", "requires": { "@chakra-ui/shared-utils": "2.0.5", - "csstype": "^3.0.11", + "csstype": "^3.1.2", "lodash.mergewith": "4.6.2" } }, "@chakra-ui/switch": { - "version": "2.0.26", - "resolved": "https://registry.npmjs.org/@chakra-ui/switch/-/switch-2.0.26.tgz", - "integrity": "sha512-x62lF6VazSZJQuVxosChVR6+0lIJe8Pxgkl/C9vxjhp2yVYb3mew5tcX/sDOu0dYZy8ro/9hMfGkdN4r9xEU8A==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/switch/-/switch-2.1.2.tgz", + "integrity": "sha512-pgmi/CC+E1v31FcnQhsSGjJnOE2OcND4cKPyTE+0F+bmGm48Q/b5UmKD9Y+CmZsrt/7V3h8KNczowupfuBfIHA==", "requires": { - "@chakra-ui/checkbox": "2.2.14", + "@chakra-ui/checkbox": "2.3.2", "@chakra-ui/shared-utils": "2.0.5" } }, "@chakra-ui/system": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/@chakra-ui/system/-/system-2.5.5.tgz", - "integrity": "sha512-52BIp/Zyvefgxn5RTByfkTeG4J+y81LWEjWm8jCaRFsLVm8IFgqIrngtcq4I7gD5n/UKbneHlb4eLHo4uc5yDQ==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/system/-/system-2.6.2.tgz", + "integrity": "sha512-EGtpoEjLrUu4W1fHD+a62XR+hzC5YfsWm+6lO0Kybcga3yYEij9beegO0jZgug27V+Rf7vns95VPVP6mFd/DEQ==", "requires": { - "@chakra-ui/color-mode": "2.1.12", - "@chakra-ui/object-utils": "2.0.8", + "@chakra-ui/color-mode": "2.2.0", + "@chakra-ui/object-utils": "2.1.0", "@chakra-ui/react-utils": "2.0.12", - "@chakra-ui/styled-system": "2.8.0", - "@chakra-ui/theme-utils": "2.0.15", + "@chakra-ui/styled-system": "2.9.2", + "@chakra-ui/theme-utils": "2.0.21", "@chakra-ui/utils": "2.0.15", - "react-fast-compare": "3.2.1" + "react-fast-compare": "3.2.2" } }, "@chakra-ui/table": { - "version": "2.0.17", - "resolved": "https://registry.npmjs.org/@chakra-ui/table/-/table-2.0.17.tgz", - "integrity": "sha512-OScheTEp1LOYvTki2NFwnAYvac8siAhW9BI5RKm5f5ORL2gVJo4I72RUqE0aKe1oboxgm7CYt5afT5PS5cG61A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/table/-/table-2.1.0.tgz", + "integrity": "sha512-o5OrjoHCh5uCLdiUb0Oc0vq9rIAeHSIRScc2ExTC9Qg/uVZl2ygLrjToCaKfaaKl1oQexIeAcZDKvPG8tVkHyQ==", "requires": { - "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/react-context": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" } }, "@chakra-ui/tabs": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@chakra-ui/tabs/-/tabs-2.1.9.tgz", - "integrity": "sha512-Yf8e0kRvaGM6jfkJum0aInQ0U3ZlCafmrYYni2lqjcTtThqu+Yosmo3iYlnullXxCw5MVznfrkb9ySvgQowuYg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/tabs/-/tabs-3.0.0.tgz", + "integrity": "sha512-6Mlclp8L9lqXmsGWF5q5gmemZXOiOYuh0SGT/7PgJVNPz3LXREXlXg2an4MBUD8W5oTkduCX+3KTMCwRrVrDYw==", "requires": { - "@chakra-ui/clickable": "2.0.14", - "@chakra-ui/descendant": "3.0.14", + "@chakra-ui/clickable": "2.1.0", + "@chakra-ui/descendant": "3.1.0", "@chakra-ui/lazy-utils": "2.0.5", "@chakra-ui/react-children-utils": "2.0.6", - "@chakra-ui/react-context": "2.0.8", - "@chakra-ui/react-use-controllable-state": "2.0.8", - "@chakra-ui/react-use-merge-refs": "2.0.7", - "@chakra-ui/react-use-safe-layout-effect": "2.0.5", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-controllable-state": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", + "@chakra-ui/react-use-safe-layout-effect": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" } }, "@chakra-ui/tag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@chakra-ui/tag/-/tag-3.0.0.tgz", - "integrity": "sha512-YWdMmw/1OWRwNkG9pX+wVtZio+B89odaPj6XeMn5nfNN8+jyhIEpouWv34+CO9G0m1lupJTxPSfgLAd7cqXZMA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/tag/-/tag-3.1.1.tgz", + "integrity": "sha512-Bdel79Dv86Hnge2PKOU+t8H28nm/7Y3cKd4Kfk9k3lOpUh4+nkSGe58dhRzht59lEqa4N9waCgQiBdkydjvBXQ==", "requires": { - "@chakra-ui/icon": "3.0.16", - "@chakra-ui/react-context": "2.0.8" + "@chakra-ui/icon": "3.2.0", + "@chakra-ui/react-context": "2.1.0" } }, "@chakra-ui/textarea": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/@chakra-ui/textarea/-/textarea-2.0.19.tgz", - "integrity": "sha512-adJk+qVGsFeJDvfn56CcJKKse8k7oMGlODrmpnpTdF+xvlsiTM+1GfaJvgNSpHHuQFdz/A0z1uJtfGefk0G2ZA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/textarea/-/textarea-2.1.2.tgz", + "integrity": "sha512-ip7tvklVCZUb2fOHDb23qPy/Fr2mzDOGdkrpbNi50hDCiV4hFX02jdQJdi3ydHZUyVgZVBKPOJ+lT9i7sKA2wA==", "requires": { - "@chakra-ui/form-control": "2.0.18", + "@chakra-ui/form-control": "2.2.0", "@chakra-ui/shared-utils": "2.0.5" } }, "@chakra-ui/theme": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@chakra-ui/theme/-/theme-3.0.1.tgz", - "integrity": "sha512-92kDm/Ux/51uJqhRKevQo/O/rdwucDYcpHg2QuwzdAxISCeYvgtl2TtgOOl5EnqEP0j3IEAvZHZUlv8TTbawaw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme/-/theme-3.3.1.tgz", + "integrity": "sha512-Hft/VaT8GYnItGCBbgWd75ICrIrIFrR7lVOhV/dQnqtfGqsVDlrztbSErvMkoPKt0UgAkd9/o44jmZ6X4U2nZQ==", "requires": { - "@chakra-ui/anatomy": "2.1.2", + "@chakra-ui/anatomy": "2.2.2", "@chakra-ui/shared-utils": "2.0.5", - "@chakra-ui/theme-tools": "2.0.17" + "@chakra-ui/theme-tools": "2.1.2" } }, "@chakra-ui/theme-tools": { - "version": "2.0.17", - "resolved": "https://registry.npmjs.org/@chakra-ui/theme-tools/-/theme-tools-2.0.17.tgz", - "integrity": "sha512-Auu38hnihlJZQcPok6itRDBbwof3TpXGYtDPnOvrq4Xp7jnab36HLt7KEXSDPXbtOk3ZqU99pvI1en5LbDrdjg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme-tools/-/theme-tools-2.1.2.tgz", + "integrity": "sha512-Qdj8ajF9kxY4gLrq7gA+Azp8CtFHGO9tWMN2wfF9aQNgG9AuMhPrUzMq9AMQ0MXiYcgNq/FD3eegB43nHVmXVA==", "requires": { - "@chakra-ui/anatomy": "2.1.2", + "@chakra-ui/anatomy": "2.2.2", "@chakra-ui/shared-utils": "2.0.5", - "color2k": "^2.0.0" + "color2k": "^2.0.2" } }, "@chakra-ui/theme-utils": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/@chakra-ui/theme-utils/-/theme-utils-2.0.15.tgz", - "integrity": "sha512-UuxtEgE7gwMTGDXtUpTOI7F5X0iHB9ekEOG5PWPn2wWBL7rlk2JtPI7UP5Um5Yg6vvBfXYGK1ySahxqsgf+87g==", + "version": "2.0.21", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme-utils/-/theme-utils-2.0.21.tgz", + "integrity": "sha512-FjH5LJbT794r0+VSCXB3lT4aubI24bLLRWB+CuRKHijRvsOg717bRdUN/N1fEmEpFnRVrbewttWh/OQs0EWpWw==", "requires": { "@chakra-ui/shared-utils": "2.0.5", - "@chakra-ui/styled-system": "2.8.0", - "@chakra-ui/theme": "3.0.1", + "@chakra-ui/styled-system": "2.9.2", + "@chakra-ui/theme": "3.3.1", "lodash.mergewith": "4.6.2" } }, "@chakra-ui/toast": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@chakra-ui/toast/-/toast-6.1.1.tgz", - "integrity": "sha512-JtjIKkPVjEu8okGGCipCxNVgK/15h5AicTATZ6RbG2MsHmr4GfKG3fUCvpbuZseArqmLqGLQZQJjVE9vJzaSkQ==", - "requires": { - "@chakra-ui/alert": "2.1.0", - "@chakra-ui/close-button": "2.0.17", - "@chakra-ui/portal": "2.0.16", - "@chakra-ui/react-context": "2.0.8", - "@chakra-ui/react-use-timeout": "2.0.5", - "@chakra-ui/react-use-update-effect": "2.0.7", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/toast/-/toast-7.0.2.tgz", + "integrity": "sha512-yvRP8jFKRs/YnkuE41BVTq9nB2v/KDRmje9u6dgDmE5+1bFt3bwjdf9gVbif4u5Ve7F7BGk5E093ARRVtvLvXA==", + "requires": { + "@chakra-ui/alert": "2.2.2", + "@chakra-ui/close-button": "2.1.1", + "@chakra-ui/portal": "2.1.0", + "@chakra-ui/react-context": "2.1.0", + "@chakra-ui/react-use-timeout": "2.1.0", + "@chakra-ui/react-use-update-effect": "2.1.0", "@chakra-ui/shared-utils": "2.0.5", - "@chakra-ui/styled-system": "2.8.0", - "@chakra-ui/theme": "3.0.1" + "@chakra-ui/styled-system": "2.9.2", + "@chakra-ui/theme": "3.3.1" } }, "@chakra-ui/tooltip": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/@chakra-ui/tooltip/-/tooltip-2.2.7.tgz", - "integrity": "sha512-ImUJ6NnVqARaYqpgtO+kzucDRmxo8AF3jMjARw0bx2LxUkKwgRCOEaaRK5p5dHc0Kr6t5/XqjDeUNa19/sLauA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/tooltip/-/tooltip-2.3.1.tgz", + "integrity": "sha512-Rh39GBn/bL4kZpuEMPPRwYNnccRCL+w9OqamWHIB3Qboxs6h8cOyXfIdGxjo72lvhu1QI/a4KFqkM3St+WfC0A==", "requires": { - "@chakra-ui/popper": "3.0.13", - "@chakra-ui/portal": "2.0.16", + "@chakra-ui/dom-utils": "2.1.0", + "@chakra-ui/popper": "3.1.0", + "@chakra-ui/portal": "2.1.0", "@chakra-ui/react-types": "2.0.7", - "@chakra-ui/react-use-disclosure": "2.0.8", - "@chakra-ui/react-use-event-listener": "2.0.7", - "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/react-use-disclosure": "2.1.0", + "@chakra-ui/react-use-event-listener": "2.1.0", + "@chakra-ui/react-use-merge-refs": "2.1.0", "@chakra-ui/shared-utils": "2.0.5" } }, "@chakra-ui/transition": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/@chakra-ui/transition/-/transition-2.0.16.tgz", - "integrity": "sha512-E+RkwlPc3H7P1crEXmXwDXMB2lqY2LLia2P5siQ4IEnRWIgZXlIw+8Em+NtHNgusel2N+9yuB0wT9SeZZeZ3CQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/transition/-/transition-2.1.0.tgz", + "integrity": "sha512-orkT6T/Dt+/+kVwJNy7zwJ+U2xAZ3EU7M3XCs45RBvUnZDr/u9vdmaM/3D/rOpmQJWgQBwKPJleUXrYWUagEDQ==", "requires": { "@chakra-ui/shared-utils": "2.0.5" } @@ -7013,9 +6923,9 @@ } }, "@chakra-ui/visually-hidden": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/@chakra-ui/visually-hidden/-/visually-hidden-2.0.15.tgz", - "integrity": "sha512-WWULIiucYRBIewHKFA7BssQ2ABLHLVd9lrUo3N3SZgR0u4ZRDDVEUNOy+r+9ruDze8+36dGbN9wsN1IdELtdOw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/visually-hidden/-/visually-hidden-2.2.0.tgz", + "integrity": "sha512-KmKDg01SrQ7VbTD3+cPWf/UfpF5MSwm3v7MWi0n5t8HnnadT13MF0MJCDSXbBWnzLv1ZKJ6zlyAOeARWX+DpjQ==", "requires": {} }, "@emotion/babel-plugin": { @@ -7400,14 +7310,14 @@ } }, "@popperjs/core": { - "version": "2.11.6", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz", - "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==" + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==" }, "@remix-run/router": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.3.2.tgz", - "integrity": "sha512-t54ONhl/h75X94SWsHGQ4G/ZrCEguKSRQr7DrjTciJXW0YU1QhlwYeycvK5JgkzlxmvrK7wq1NB/PLtHxoiDcA==" + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.11.0.tgz", + "integrity": "sha512-BHdhcWgeiudl91HvVa2wxqZjSHbheSgIiDvxrF1VjFzBzpTtuDPkOdOi3Iqvc08kXtFkLjhbS+ML9aM8mJS+wQ==" }, "@rollup/pluginutils": { "version": "5.0.2", @@ -7532,6 +7442,11 @@ "svg-parser": "^2.0.4" } }, + "@tanstack/query-core": { + "version": "4.36.1", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.36.1.tgz", + "integrity": "sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA==" + }, "@types/ace": { "version": "0.0.48", "resolved": "https://registry.npmjs.org/@types/ace/-/ace-0.0.48.tgz", @@ -7660,6 +7575,11 @@ "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", "devOptional": true }, + "@types/use-sync-external-store": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", + "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==" + }, "@vitejs/plugin-react": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-2.2.0.tgz", @@ -7675,15 +7595,28 @@ "react-refresh": "^0.14.0" } }, + "@yr/monotone-cubic-spline": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@yr/monotone-cubic-spline/-/monotone-cubic-spline-1.0.3.tgz", + "integrity": "sha512-FQXkOta0XBSUPHndIKON2Y9JeQz5ZeMqLYZVVK93FliNBFm7LNMIZmY6FrMEB9XPcDbE2bekMbZD6kzDkxwYjA==" + }, + "@zag-js/dom-query": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@zag-js/dom-query/-/dom-query-0.16.0.tgz", + "integrity": "sha512-Oqhd6+biWyKnhKwFFuZrrf6lxBz2tX2pRQe6grUnYwO6HJ8BcbqZomy2lpOdr+3itlaUqx+Ywj5E5ZZDr/LBfQ==" + }, "@zag-js/element-size": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@zag-js/element-size/-/element-size-0.3.2.tgz", - "integrity": "sha512-bVvvigUGvAuj7PCkE5AbzvTJDTw5f3bg9nQdv+ErhVN8SfPPppLJEmmWdxqsRzrHXgx8ypJt/+Ty0kjtISVDsQ==" + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/@zag-js/element-size/-/element-size-0.10.5.tgz", + "integrity": "sha512-uQre5IidULANvVkNOBQ1tfgwTQcGl4hliPSe69Fct1VfYb2Fd0jdAcGzqQgPhfrXFpR62MxLPB7erxJ/ngtL8w==" }, "@zag-js/focus-visible": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@zag-js/focus-visible/-/focus-visible-0.2.2.tgz", - "integrity": "sha512-0j2gZq8HiZ51z4zNnSkF1iSkqlwRDvdH+son3wHdoz+7IUdMN/5Exd4TxMJ+gq2Of1DiXReYLL9qqh2PdQ4wgA==" + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@zag-js/focus-visible/-/focus-visible-0.16.0.tgz", + "integrity": "sha512-a7U/HSopvQbrDU4GLerpqiMcHKEkQkNPeDZJWz38cw/6Upunh41GjHetq5TB84hxyCaDzJ6q2nEdNoBQfC0FKA==", + "requires": { + "@zag-js/dom-query": "0.16.0" + } }, "ace-builds": { "version": "1.20.0", @@ -7725,10 +7658,11 @@ } }, "apexcharts": { - "version": "3.40.0", - "resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-3.40.0.tgz", - "integrity": "sha512-dSi3BUfCJkFd67uFp+xffrJVd3lDT7AAUUyRp0qPYiglJ76CeZLddVhM3FAk1P9GCzf8VewqGYUPCYQvXm+b9A==", + "version": "3.50.0", + "resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-3.50.0.tgz", + "integrity": "sha512-LJT1PNAm+NoIU3aogL2P+ViC0y/Cjik54FdzzGV54UNnGQLBoLe5ok3fxsJDTgyez45BGYT8gqNpYKqhdfy5sg==", "requires": { + "@yr/monotone-cubic-spline": "^1.0.3", "svg.draggable.js": "^2.2.2", "svg.easing.js": "^2.0.0", "svg.filter.js": "^2.0.2", @@ -7769,31 +7703,12 @@ "resolve": "^1.19.0" } }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "big-integer": { - "version": "1.6.51", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", - "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==" - }, "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", @@ -7803,21 +7718,6 @@ "fill-range": "^7.0.1" } }, - "broadcast-channel": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/broadcast-channel/-/broadcast-channel-3.7.0.tgz", - "integrity": "sha512-cIAKJXAxGJceNZGTZSBzMxzyOn72cVgPnKx4dc6LRjQgbaJUQqhy5rzL3zbMxkMWsGKkv2hSFkPRMEXfoMZ2Mg==", - "requires": { - "@babel/runtime": "^7.7.2", - "detect-node": "^2.1.0", - "js-sha3": "0.8.0", - "microseconds": "0.2.0", - "nano-time": "1.0.0", - "oblivious-set": "1.0.0", - "rimraf": "3.0.2", - "unload": "2.2.0" - } - }, "browserslist": { "version": "4.21.5", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", @@ -8068,14 +7968,9 @@ "dev": true }, "compute-scroll-into-view": { - "version": "1.0.20", - "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz", - "integrity": "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.0.3.tgz", + "integrity": "sha512-nadqwNxghAGTamwIqQSG433W6OADZx2vCo3UXHNrzTRHK/htu+7+L0zhjEoaeaQVNAi3YgqWDv8+tzf0hRfR+A==" }, "convert-source-map": { "version": "1.9.0", @@ -8103,11 +7998,11 @@ } }, "cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", + "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", "requires": { - "node-fetch": "2.6.7" + "node-fetch": "^2.6.12" } }, "css-box-model": { @@ -8119,14 +8014,17 @@ } }, "csstype": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", - "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" }, "date-fns": { - "version": "2.29.3", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.29.3.tgz", - "integrity": "sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==" + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "requires": { + "@babel/runtime": "^7.21.0" + } }, "dayjs": { "version": "1.11.7", @@ -8151,11 +8049,6 @@ "resolved": "https://registry.npmjs.org/destr/-/destr-1.2.2.tgz", "integrity": "sha512-lrbCJwD9saUQrqUfXvl6qoM+QN3W7tLV5pAOs+OqOmopCCz/JkE05MHedJR1xfk4IAnZuJXPVuN5+7jNA2ZCiA==" }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - }, "detect-node-es": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", @@ -8195,7 +8088,7 @@ "version": "0.15.18", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.18.tgz", "integrity": "sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==", - "dev": true, + "devOptional": true, "requires": { "@esbuild/android-arm": "0.15.18", "@esbuild/linux-loong64": "0.15.18", @@ -8402,9 +8295,9 @@ "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" }, "focus-lock": { - "version": "0.11.6", - "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-0.11.6.tgz", - "integrity": "sha512-KSuV3ur4gf2KqMNoZx3nXNVhqCkn42GuTYCX4tXPEwf0MjpFQmNMiN6m7dXaUXgIoivL6/65agoUMg4RLS0Vbg==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-1.0.0.tgz", + "integrity": "sha512-a8Ge6cdKh9za/GZR/qtigTAk7SrGore56EFcoMshClsh7FLk1zwszc/ltuMfKhx56qeuyL/jWQ4J4axou0iJ9w==", "requires": { "tslib": "^2.0.3" } @@ -8463,11 +8356,6 @@ } } }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, "fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", @@ -8501,19 +8389,6 @@ "resolved": "https://registry.npmjs.org/github-buttons/-/github-buttons-2.24.0.tgz", "integrity": "sha512-dHpEno4S2JHjsEKPLSTGDTV50q1d08n3H7VDfNNA1m8cz5DMqLCZDdKWQxy4zyvd6M3tKvlVYLs+/H0BF3DggA==" }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, "glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", @@ -8585,11 +8460,11 @@ } }, "i18next-http-backend": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/i18next-http-backend/-/i18next-http-backend-2.2.0.tgz", - "integrity": "sha512-Z4sM7R6tzdLknSPER9GisEBxKPg5FkI07UrQniuroZmS15PHQrcCPLyuGKj8SS68tf+O2aEDYSUnmy1TZqZSbw==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/i18next-http-backend/-/i18next-http-backend-2.4.1.tgz", + "integrity": "sha512-CZHzFGDvF8zN7ya1W2lHbgLj2ejPUvPD836+vA3eNXc9eKGUM3MSF6SA2TKBXKBZ2cNG3nxzycCXeM6n/46KWQ==", "requires": { - "cross-fetch": "3.1.5" + "cross-fetch": "4.0.0" } }, "immutable": { @@ -8607,20 +8482,6 @@ "resolve-from": "^4.0.0" } }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, "invariant": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", @@ -8706,11 +8567,6 @@ "integrity": "sha512-umpJ0/k8X0MvD1ds0P9SfowREz2LenHsQaxSohMZ5OMNEU2r0tf8pdeEFTHMFxWVxKNyU9rTtK3CWzUCTKJUeQ==", "peer": true }, - "js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -8822,28 +8678,6 @@ "sourcemap-codec": "^1.4.8" } }, - "match-sorter": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/match-sorter/-/match-sorter-6.3.1.tgz", - "integrity": "sha512-mxybbo3pPNuA+ZuCUhm5bwNkXrJTbsk5VWbR5wiwz/GC6LIiegBGn2w3O08UG/jdbYLinw51fSQ5xNU1U3MgBw==", - "requires": { - "@babel/runtime": "^7.12.5", - "remove-accents": "0.4.2" - } - }, - "microseconds": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/microseconds/-/microseconds-0.2.0.tgz", - "integrity": "sha512-n7DHHMjR1avBbSpsTBj6fmMGh2AGrifVV4e+WYc3Q9lO+xnSZ3NyhcBND3vzzatt05LFhoKFRxrIyklmLlUtyA==" - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, "mobius1-selectr": { "version": "2.4.13", "resolved": "https://registry.npmjs.org/mobius1-selectr/-/mobius1-selectr-2.4.13.tgz", @@ -8854,24 +8688,16 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, - "nano-time": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/nano-time/-/nano-time-1.0.0.tgz", - "integrity": "sha512-flnngywOoQ0lLQOTRNexn2gGSNuM9bKj9RZAWSzhQ+UJYaAFG9bac4DW9VHjUAzrOaIcajHybCTHe/bkvozQqA==", - "requires": { - "big-integer": "^1.6.16" - } - }, "nanoid": { "version": "3.3.7", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true + "devOptional": true }, "node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "requires": { "whatwg-url": "^5.0.0" } @@ -8904,11 +8730,6 @@ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" }, - "oblivious-set": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/oblivious-set/-/oblivious-set-1.0.0.tgz", - "integrity": "sha512-z+pI07qxo4c2CulUHCDf9lcqDlMSo72N/4rLUpRXf6fu+q8vjt8y0xS+Tlf8NTJDdTXHbdeO1n3MlbctwEoXZw==" - }, "ohmyfetch": { "version": "0.4.21", "resolved": "https://registry.npmjs.org/ohmyfetch/-/ohmyfetch-0.4.21.tgz", @@ -8920,14 +8741,6 @@ "undici": "^5.12.0" } }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, "open": { "version": "8.4.2", "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", @@ -8957,11 +8770,6 @@ "lines-and-columns": "^1.1.6" } }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, "path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", @@ -8976,7 +8784,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true + "devOptional": true }, "picomatch": { "version": "2.3.1", @@ -8992,7 +8800,7 @@ "version": "8.4.31", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", - "dev": true, + "devOptional": true, "requires": { "nanoid": "^3.3.6", "picocolors": "^1.0.0", @@ -9066,15 +8874,15 @@ } }, "react-datepicker": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/react-datepicker/-/react-datepicker-4.10.0.tgz", - "integrity": "sha512-6IfBCZyWj54ZZGLmEZJ9c4Yph0s9MVfEGDC2evOvf9AmVz+RRcfP2Czqad88Ff9wREbcbqa4dk7IFYeXF1d3Ag==", + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/react-datepicker/-/react-datepicker-4.21.0.tgz", + "integrity": "sha512-z0DtuRrKMz9i7dcTusW29VacbM9pn08g1yw0cG+Y5GpodJDxSWv7zUMxl3IwKN9Ap/AMphiepvmT5P+iNCgEiA==", "requires": { - "@popperjs/core": "^2.9.2", + "@popperjs/core": "^2.11.8", "classnames": "^2.2.6", - "date-fns": "^2.24.0", + "date-fns": "^2.30.0", "prop-types": "^15.7.2", - "react-onclickoutside": "^6.12.2", + "react-onclickoutside": "^6.13.0", "react-popper": "^2.3.0" } }, @@ -9088,17 +8896,17 @@ } }, "react-fast-compare": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.1.tgz", - "integrity": "sha512-xTYf9zFim2pEif/Fw16dBiXpe0hoy5PxcD8+OwBnTtNLfIm3g6WxhKNurY+6OmdH1u6Ta/W/Vl6vjbYP1MFnDg==" + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" }, "react-focus-lock": { - "version": "2.9.4", - "resolved": "https://registry.npmjs.org/react-focus-lock/-/react-focus-lock-2.9.4.tgz", - "integrity": "sha512-7pEdXyMseqm3kVjhdVH18sovparAzLg5h6WvIx7/Ck3ekjhrrDMEegHSa3swwC8wgfdd7DIdUVRGeiHT9/7Sgg==", + "version": "2.9.6", + "resolved": "https://registry.npmjs.org/react-focus-lock/-/react-focus-lock-2.9.6.tgz", + "integrity": "sha512-B7gYnCjHNrNYwY2juS71dHbf0+UpXXojt02svxybj8N5bxceAkzPChKEncHuratjUHkIFNCn06k2qj1DRlzTug==", "requires": { "@babel/runtime": "^7.0.0", - "focus-lock": "^0.11.6", + "focus-lock": "^1.0.0", "prop-types": "^15.6.2", "react-clientside-effect": "^1.2.6", "use-callback-ref": "^1.3.0", @@ -9114,15 +8922,15 @@ } }, "react-hook-form": { - "version": "7.43.2", - "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.43.2.tgz", - "integrity": "sha512-NvD3Oe2Y9hhqo2R4I4iJigDzSLpdMnzUpNMxlnzTbdiT7NT3BW0GxWCzEtwPudZMUPbZhNcSy1EcGAygyhDORg==", + "version": "7.48.2", + "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.48.2.tgz", + "integrity": "sha512-H0T2InFQb1hX7qKtDIZmvpU1Xfn/bdahWBN1fH19gSe4bBEqTfmlr7H3XWTaVtiK4/tpPaI1F3355GPMZYge+A==", "requires": {} }, "react-i18next": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-12.2.0.tgz", - "integrity": "sha512-5XeVgSygaGfyFmDd2WcXvINRw2WEC1XviW1LXY/xLOEMzsCFRwKqfnHN+hUjla8ZipbVJR27GCMSuTr0BhBBBQ==", + "version": "12.3.1", + "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-12.3.1.tgz", + "integrity": "sha512-5v8E2XjZDFzK7K87eSwC7AJcAkcLt5xYZ4+yTPDAW1i7C93oOY1dnr4BaQM7un4Hm+GmghuiPvevWwlca5PwDA==", "requires": { "@babel/runtime": "^7.20.6", "html-parse-stringify": "^3.0.1" @@ -9142,15 +8950,15 @@ } }, "react-loading-skeleton": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/react-loading-skeleton/-/react-loading-skeleton-3.1.1.tgz", - "integrity": "sha512-gQeNzzKXlevvquRDOhN5kas5VE7toTKrpmE9BpUdf0iip9c5ae0LcVbulh5ebO2CFl4RrYsyLuDtYGyrh1h1iA==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/react-loading-skeleton/-/react-loading-skeleton-3.3.1.tgz", + "integrity": "sha512-NilqqwMh2v9omN7LteiDloEVpFyMIa0VGqF+ukqp0ncVlYu1sKYbYGX9JEl+GtOT9TKsh04zCHAbavnQ2USldA==", "requires": {} }, "react-onclickoutside": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/react-onclickoutside/-/react-onclickoutside-6.12.2.tgz", - "integrity": "sha512-NMXGa223OnsrGVp5dJHkuKxQ4czdLmXSp5jSV9OqiCky9LOpPATn3vLldc+q5fK3gKbEHvr7J1u0yhBh/xYkpA==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/react-onclickoutside/-/react-onclickoutside-6.13.0.tgz", + "integrity": "sha512-ty8So6tcUpIb+ZE+1HAhbLROvAIJYyJe/1vRrrcmW+jLsaM+/powDRqxzo6hSh9CuRZGSL1Q8mvcF5WRD93a0A==", "requires": {} }, "react-popper": { @@ -9163,13 +8971,13 @@ } }, "react-query": { - "version": "3.39.3", - "resolved": "https://registry.npmjs.org/react-query/-/react-query-3.39.3.tgz", - "integrity": "sha512-nLfLz7GiohKTJDuT4us4X3h/8unOh+00MLb2yJoGTPjxKs2bc1iDhkNx2bd5MKklXnOD3NrVZ+J2UXujA5In4g==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/react-query/-/react-query-4.0.0.tgz", + "integrity": "sha512-qiW+Yvbl+EK8iwPDJAj4qWAKceh+g8Up8jxoNxJbzhV3bNheeyHF3EyynnkDO3S+CYgSwtCUFaP8vOjB62j7xQ==", "requires": { - "@babel/runtime": "^7.5.5", - "broadcast-channel": "^3.4.1", - "match-sorter": "^6.0.2" + "@tanstack/query-core": "^4.0.0-beta.1", + "@types/use-sync-external-store": "^0.0.3", + "use-sync-external-store": "^1.2.0" } }, "react-refresh": { @@ -9179,11 +8987,11 @@ "dev": true }, "react-remove-scroll": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz", - "integrity": "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==", + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.7.tgz", + "integrity": "sha512-FnrTWO4L7/Bhhf3CYBNArEG/yROV0tKmTv7/3h9QCFvH6sndeFf1wPqOcbFVu5VAulS5dV1wGT3GZZ/1GawqiA==", "requires": { - "react-remove-scroll-bar": "^2.3.3", + "react-remove-scroll-bar": "^2.3.4", "react-style-singleton": "^2.2.1", "tslib": "^2.1.0", "use-callback-ref": "^1.3.0", @@ -9200,20 +9008,20 @@ } }, "react-router": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.8.1.tgz", - "integrity": "sha512-Jgi8BzAJQ8MkPt8ipXnR73rnD7EmZ0HFFb7jdQU24TynGW1Ooqin2KVDN9voSC+7xhqbbCd2cjGUepb6RObnyg==", + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.18.0.tgz", + "integrity": "sha512-vk2y7Dsy8wI02eRRaRmOs9g2o+aE72YCx5q9VasT1N9v+lrdB79tIqrjMfByHiY5+6aYkH2rUa5X839nwWGPDg==", "requires": { - "@remix-run/router": "1.3.2" + "@remix-run/router": "1.11.0" } }, "react-router-dom": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.8.1.tgz", - "integrity": "sha512-67EXNfkQgf34P7+PSb6VlBuaacGhkKn3kpE51+P6zYSG2kiRoumXEL6e27zTa9+PGF2MNXbgIUHTVlleLbIcHQ==", + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.18.0.tgz", + "integrity": "sha512-Ubrue4+Ercc/BoDkFQfc6og5zRQ4A8YxSO3Knsne+eRbZ+IepAsK249XBH/XaFuOYOYr3L3r13CXTLvYt5JDjw==", "requires": { - "@remix-run/router": "1.3.2", - "react-router": "6.8.1" + "@remix-run/router": "1.11.0", + "react-router": "6.18.0" } }, "react-slick": { @@ -9258,11 +9066,6 @@ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" }, - "remove-accents": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.4.2.tgz", - "integrity": "sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA==" - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -9288,14 +9091,6 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, "rollup": { "version": "2.79.1", "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", @@ -9363,7 +9158,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true + "devOptional": true }, "sourcemap-codec": { "version": "1.4.8", @@ -9512,9 +9307,9 @@ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "tsconfck": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-2.0.3.tgz", - "integrity": "sha512-o3DsPZO1+C98KqHMdAbWs30zpxD30kj8r9OLA4ML1yghx4khNDzaaShNalfluh8ZPPhzKe3qyVCP1HiZszSAsw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-2.1.2.tgz", + "integrity": "sha512-ghqN1b0puy3MhhviwO2kGF8SeMDNhEbnKxjK7h6+fvY9JAxqvXi8y5NAHSQv687OVboS2uZIByzGd45/YxrRHg==", "requires": {} }, "tslib": { @@ -9541,15 +9336,6 @@ "@fastify/busboy": "^2.0.0" } }, - "unload": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/unload/-/unload-2.2.0.tgz", - "integrity": "sha512-B60uB5TNBLtN6/LsgAf3udH9saB5p7gqJwcFfbOEZ8BcBHnGwCf6G/TGiEqkRAxX7zAFIUtzdrXQSdL3Q/wqNA==", - "requires": { - "@babel/runtime": "^7.6.2", - "detect-node": "^2.0.4" - } - }, "update-browserslist-db": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", @@ -9589,7 +9375,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", - "peer": true, "requires": {} }, "vanilla-picker": { @@ -9604,7 +9389,7 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/vite/-/vite-3.2.7.tgz", "integrity": "sha512-29pdXjk49xAP0QBr0xXqu2s5jiQIXNvE/xwd0vUizYT2Hzqe4BksNNoWllFVXJf4eLZ+UlVQmXfB4lWrc+t18g==", - "dev": true, + "devOptional": true, "requires": { "esbuild": "^0.15.9", "fsevents": "~2.3.2", @@ -9624,13 +9409,13 @@ } }, "vite-tsconfig-paths": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-4.0.5.tgz", - "integrity": "sha512-/L/eHwySFYjwxoYt1WRJniuK/jPv+WGwgRGBYx3leciR5wBeqntQpUE6Js6+TJemChc+ter7fDBKieyEWDx4yQ==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-4.2.1.tgz", + "integrity": "sha512-GNUI6ZgPqT3oervkvzU+qtys83+75N/OuDaQl7HmOqFTb0pjZsuARrRipsyJhJ3enqV8beI1xhGbToR4o78nSQ==", "requires": { "debug": "^4.1.1", "globrex": "^0.1.2", - "tsconfck": "^2.0.1" + "tsconfck": "^2.1.0" } }, "void-elements": { @@ -9693,11 +9478,6 @@ } } }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, "y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", diff --git a/app/dashboard/package.json b/app/dashboard/package.json index f7ddb680..4076ea2c 100644 --- a/app/dashboard/package.json +++ b/app/dashboard/package.json @@ -1,5 +1,5 @@ { - "name": "marzban-dashboard", + "name": "infinity-dashboard", "private": true, "version": "0.0.0", "scripts": { @@ -10,18 +10,18 @@ "postinstall": "npm run gen:theme-typings" }, "dependencies": { - "@chakra-ui/react": "^2.5.5", + "@chakra-ui/react": "^2.8.2", "@emotion/react": "^11.10.5", "@emotion/styled": "^11.10.5", "@heroicons/react": "^2.0.12", "@hookform/resolvers": "^2.9.10", - "apexcharts": "^3.40.0", + "apexcharts": "^3.50.0", "classnames": "^2.3.2", "dayjs": "^1.11.6", "framer-motion": "^7.6.6", "i18next": "^22.4.14", "i18next-browser-languagedetector": "^7.0.1", - "i18next-http-backend": "^2.2.0", + "i18next-http-backend": "^2.4.1", "jsoneditor": "^9.10.1", "lodash.debounce": "^4.0.8", "ohmyfetch": "^0.4.21", @@ -29,20 +29,20 @@ "react": "^18.2.0", "react-apexcharts": "^1.4.0", "react-copy-to-clipboard": "^5.1.0", - "react-datepicker": "^4.8.0", + "react-datepicker": "^4.21.0", "react-dom": "^18.2.0", "react-github-btn": "^1.4.0", - "react-hook-form": "^7.39.1", - "react-i18next": "^12.2.0", + "react-hook-form": "^7.48.2", + "react-i18next": "^12.3.1", "react-json-editor-ajrm": "^2.5.14", - "react-loading-skeleton": "^3.1.0", - "react-query": "^3.39.3", - "react-router-dom": "^6.4.3", + "react-loading-skeleton": "^3.3.1", + "react-query": "^4.0.0", + "react-router-dom": "^6.18.0", "react-slick": "^0.29.0", "react-use-websocket": "^4.3.1", "rollup-plugin-visualizer": "^5.9.0", "slick-carousel": "^1.8.1", - "vite-tsconfig-paths": "^4.0.3", + "vite-tsconfig-paths": "^4.2.1", "zod": "^3.19.1", "zustand-computed": "^1.3.3" }, diff --git a/app/dashboard/public/locales/en.json b/app/dashboard/public/locales/en.json index 6d068e15..a131e9c0 100644 --- a/app/dashboard/public/locales/en.json +++ b/app/dashboard/public/locales/en.json @@ -99,10 +99,10 @@ "hostsDialog.fingerprint": "Fingerprint", "hostsDialog.host.multiHost": "To set multiple addresses, separate them with , Each time an address is chosen randomly.", "hostsDialog.host.wildcard": "Use * to generate a random string (works for wildcard domain names)", - "nodes.title": "Using Marzban-Node, you are able to scale up your connection quality by adding different nodes on different servers.", - "nodes.addNewMarzbanNode": "Add New Marzban Node", + "nodes.title": "Using infinity-Node, you are able to scale up your connection quality by adding different nodes on different servers.", + "nodes.addNewinfinityNode": "Add New infinity Node", "nodes.certificate": "Certificate", - "nodes.connection-hint": "To setup a Marzban Node, you need to set this certificate on the node to initialize a secure connection between main server and the node", + "nodes.connection-hint": "To setup a infinity Node, you need to set this certificate on the node to initialize a secure connection between main server and the node", "nodes.download-certificate": "Download certificate", "nodes.show-certificate": "Show certificate", "nodes.hide-certificate": "Hide certificate", diff --git a/app/dashboard/public/locales/fa.json b/app/dashboard/public/locales/fa.json index 7390f55b..f93d4005 100644 --- a/app/dashboard/public/locales/fa.json +++ b/app/dashboard/public/locales/fa.json @@ -102,8 +102,8 @@ "hostsDialog.fingerprint": "اثرانگشت", "hostsDialog.host.multiHost": "برای تنظیم چند آدرس، با , از هم جدا کنید. هر دفعه آدرسی به صورت تصادفی قرار داده می‌شود.", "hostsDialog.host.wildcard": "از * برای ساخت عبارت تصادفی استفاده کنید (برای نام‌های wildcard کار می‌کند)", - "nodes.title": "با استفاده از Marzban-Node, شما می‌توانید با افزودن گره‌های متفاوت در سرورهای متفاوت، کیفیت اتصال خود را بالاتر ببرید.", - "nodes.addNewMarzbanNode": "افزودن گره مرزبان", + "nodes.title": "با استفاده از infinity-Node, شما می‌توانید با افزودن گره‌های متفاوت در سرورهای متفاوت، کیفیت اتصال خود را بالاتر ببرید.", + "nodes.addNewinfinityNode": "افزودن گره مرزبان", "nodes.certificate": "گواهی", "nodes.addHostForEveryInbound": "استفاده از این گره به عنوان میزبان تمام ورودی‌ها", "nodes.addNode": "افزودن گره", diff --git a/app/dashboard/public/locales/ru.json b/app/dashboard/public/locales/ru.json index e636e42d..400c9d50 100644 --- a/app/dashboard/public/locales/ru.json +++ b/app/dashboard/public/locales/ru.json @@ -99,8 +99,8 @@ "hostsDialog.fingerprint": "Fingerprint", "hostsDialog.host.multiHost": "Чтобы установить несколько адресов, разделяйте их с помощью ,. Каждый раз выбирается случайный адрес.", "hostsDialog.host.wildcard": "Используйте *, чтобы сгенерировать случайную строку (работает для доменных имен с подстановочными знаками)", - "nodes.title": "Используя Marzban-Node, вы можете повысить качество соединения, добавляя узлы на разных серверах.", - "nodes.addNewMarzbanNode": "Добавить новый узел Marzban", + "nodes.title": "Используя infinity-Node, вы можете повысить качество соединения, добавляя узлы на разных серверах.", + "nodes.addNewinfinityNode": "Добавить новый узел infinity", "nodes.certificate": "Сертификат", "nodes.addHostForEveryInbound": "Добавить этот узел как новый хост для каждого inbound", "nodes.addNode": "Добавить узел", @@ -112,7 +112,7 @@ "nodes.nodeAPIPort": "API порт", "nodes.editNode": "Редактировать узел", "nodes.reconnect": "Переподключиться", - "nodes.connection-hint": "Для настройки узла Marzban, необходимо установить на нем данный сертификат, для инициализации безопасного соединения между главным сервером и узлом", + "nodes.connection-hint": "Для настройки узла infinity, необходимо установить на нем данный сертификат, для инициализации безопасного соединения между главным сервером и узлом", "nodes.download-certificate": "Скачать сертификат", "nodes.show-certificate": "Показать сертификат", "nodes.hide-certificate": "Скрыть сертификат", diff --git a/app/dashboard/public/locales/zh.json b/app/dashboard/public/locales/zh.json index cf8b4142..476cce3b 100644 --- a/app/dashboard/public/locales/zh.json +++ b/app/dashboard/public/locales/zh.json @@ -93,8 +93,8 @@ "hostsDialog.security.info": "如果此主机的中间件服务器使用的安全层与入站默认值不同,则可以在此处设置自定义安全层。", "hostsDialog.alpn": "ALPN", "hostsDialog.fingerprint": "指纹", - "nodes.title": "使用 Marzban-Node,您可以通过在不同的服务器上添加不同的节点来提供多节点负载。", - "nodes.addNewMarzbanNode": "添加新的 Marzban 节点", + "nodes.title": "使用 infinity-Node,您可以通过在不同的服务器上添加不同的节点来提供多节点负载。", + "nodes.addNewinfinityNode": "添加新的 infinity 节点", "nodes.certificate": "证书", "nodes.addHostForEveryInbound": "为每个入站请求添加此节点作为新主机", "nodes.addNode": "添加节点", @@ -105,7 +105,7 @@ "nodes.nodePort": "端口", "nodes.nodeAPIPort": "API 端口", "nodes.reconnect": "重新连接", - "nodes.connection-hint": "要设置Marzban节点,您需要在节点上设置此证书以初始化主服务器和节点之间的安全连接", + "nodes.connection-hint": "要设置infinity节点,您需要在节点上设置此证书以初始化主服务器和节点之间的安全连接", "nodes.download-certificate": "下载证书", "nodes.show-certificate": "如何证书", "nodes.hide-certificate": "隐藏证书", diff --git a/app/dashboard/src/components/Footer.tsx b/app/dashboard/src/components/Footer.tsx index f96b531b..df0aa405 100644 --- a/app/dashboard/src/components/Footer.tsx +++ b/app/dashboard/src/components/Footer.tsx @@ -15,12 +15,12 @@ export const Footer: FC = (props) => { fontSize="xs" > - Marzban + infinity {version ? ` (v${version}), ` : ", "} Made with ❤️ in{" "} - Gozargah + Niraj-Dilshan diff --git a/app/dashboard/src/components/Header.tsx b/app/dashboard/src/components/Header.tsx index c42608f9..a3a86a66 100644 --- a/app/dashboard/src/components/Header.tsx +++ b/app/dashboard/src/components/Header.tsx @@ -63,7 +63,7 @@ const NotificationCircle = chakra(Box, { }, }); -const NOTIFICATION_KEY = "marzban-menu-notification"; +const NOTIFICATION_KEY = "infinity-menu-notification"; export const shouldShowDonation = (): boolean => { const date = localStorage.getItem(NOTIFICATION_KEY); @@ -226,7 +226,7 @@ export const Header: FC = ({ actions }) => { data-color-scheme={`no-preference: ${gBtnColor}; light: ${gBtnColor}; dark: ${gBtnColor};`} data-size="large" data-show-count="true" - aria-label="Star Marzban on GitHub" + aria-label="Star infinity on GitHub" > Star diff --git a/app/dashboard/src/components/NodesModal.tsx b/app/dashboard/src/components/NodesModal.tsx index 78446f38..3aa2b320 100644 --- a/app/dashboard/src/components/NodesModal.tsx +++ b/app/dashboard/src/components/NodesModal.tsx @@ -288,7 +288,7 @@ const AddNodeForm: FC = ({ gap={1} > {" "} - {t("nodes.addNewMarzbanNode")} + {t("nodes.addNewinfinityNode")} @@ -431,7 +431,7 @@ const NodeForm: NodeFormType = ({ diff --git a/app/dashboard/src/constants/Project.ts b/app/dashboard/src/constants/Project.ts index ddd90b07..5c70f75d 100644 --- a/app/dashboard/src/constants/Project.ts +++ b/app/dashboard/src/constants/Project.ts @@ -1,3 +1,3 @@ -export const REPO_URL = "https://github.com/Gozargah/Marzban"; -export const ORGANIZATION_URL = "https://github.com/Gozargah"; -export const DONATION_URL = "https://github.com/Gozargah/Marzban#donation"; +export const REPO_URL = "https://github.com/Niraj-Dilshan/infinity"; +export const ORGANIZATION_URL = "https://github.com/Niraj-Dilshan"; +export const DONATION_URL = "https://github.com/Niraj-Dilshan/infinity#donation"; diff --git a/app/dashboard/src/utils/userPreferenceStorage.ts b/app/dashboard/src/utils/userPreferenceStorage.ts index 11334261..e1913717 100644 --- a/app/dashboard/src/utils/userPreferenceStorage.ts +++ b/app/dashboard/src/utils/userPreferenceStorage.ts @@ -1,4 +1,4 @@ -const NUM_USERS_PER_PAGE_LOCAL_STORAGE_KEY = "marzban-num-users-per-page"; +const NUM_USERS_PER_PAGE_LOCAL_STORAGE_KEY = "infinity-num-users-per-page"; const NUM_USERS_PER_PAGE_DEFAULT = 10; export const getUsersPerPageLimitSize = () => { const numUsersPerPage = diff --git a/app/telegram/handlers/admin.py b/app/telegram/handlers/admin.py index 19a04043..667a23f2 100644 --- a/app/telegram/handlers/admin.py +++ b/app/telegram/handlers/admin.py @@ -97,7 +97,7 @@ def help_command(message: types.Message): cleanup_messages(message.chat.id) bot.clear_step_handler_by_chat_id(message.chat.id) return bot.reply_to(message, """ -{user_link} Welcome to Marzban Telegram-Bot Admin Panel. +{user_link} Welcome to infinity Telegram-Bot Admin Panel. Here you can manage your users and proxies. To get started, use the buttons below. """.format( diff --git a/app/utils/crypto.py b/app/utils/crypto.py index 82d239c5..ba2a5d8a 100644 --- a/app/utils/crypto.py +++ b/app/utils/crypto.py @@ -18,7 +18,7 @@ def generate_certificate(): k = crypto.PKey() k.generate_key(crypto.TYPE_RSA, 4096) cert = crypto.X509() - cert.get_subject().CN = "Gozargah" + cert.get_subject().CN = "Niraj-Dilshan" cert.gmtime_adj_notBefore(0) cert.gmtime_adj_notAfter(100*365*24*60*60) cert.set_issuer(cert.get_subject()) diff --git a/app/views/admin.py b/app/views/admin.py index cb272128..86a01a74 100644 --- a/app/views/admin.py +++ b/app/views/admin.py @@ -78,7 +78,7 @@ def modify_admin(username: str, if (username != admin.username) and dbadmin.is_sudo: raise HTTPException( status_code=403, - detail=("You're not allowed to edit another sudoers account. Use marzban-cli instead.",), + detail=("You're not allowed to edit another sudoers account. Use infinity-cli instead.",), ) dbadmin = crud.update_admin(db, dbadmin, modified_admin) @@ -99,7 +99,7 @@ def remove_admin(username: str, if dbadmin.is_sudo: raise HTTPException( status_code=403, - detail=("You're not allowed to delete sudoers accounts. Use marzban-cli instead."), + detail=("You're not allowed to delete sudoers accounts. Use infinity-cli instead."), ) dbadmin = crud.remove_admin(db, dbadmin) diff --git a/app/xray/node.py b/app/xray/node.py index 66760838..2ff883ca 100644 --- a/app/xray/node.py +++ b/app/xray/node.py @@ -162,7 +162,7 @@ def start(self, config: XRayConfig): address=self.address, port=self.api_port, ssl_cert=self._node_cert.encode(), - ssl_target_name="Gozargah" + ssl_target_name="Niraj-Dilshan" ) try: grpc.channel_ready_future(self._api._channel).result(timeout=5) diff --git a/cli/README.md b/cli/README.md index 429eda82..d4cff1f4 100644 --- a/cli/README.md +++ b/cli/README.md @@ -41,7 +41,7 @@ $ admin [OPTIONS] COMMAND [ARGS]... Creates an admin -Password can also be set using the `MARZBAN_ADMIN_PASSWORD` environment variable for non-interactive usages. +Password can also be set using the `infinity_ADMIN_PASSWORD` environment variable for non-interactive usages. **Usage**: diff --git a/cli/admin.py b/cli/admin.py index 1a3034f2..a7f1af4e 100644 --- a/cli/admin.py +++ b/cli/admin.py @@ -68,7 +68,7 @@ def create_admin( """ Creates an admin - Password can also be set using the `MARZBAN_ADMIN_PASSWORD` environment variable for non-interactive usages. + Password can also be set using the `infinity_ADMIN_PASSWORD` environment variable for non-interactive usages. """ with GetDB() as db: try: diff --git a/cli/utils.py b/cli/utils.py index 0ff37d10..aa953c57 100644 --- a/cli/utils.py +++ b/cli/utils.py @@ -12,7 +12,7 @@ T = TypeVar("T") rich_console = Console() -PASSWORD_ENVIRON_NAME = "MARZBAN_ADMIN_PASSWORD" +PASSWORD_ENVIRON_NAME = "infinity_ADMIN_PASSWORD" FLAGS: Dict[str, tuple] = { "username": ("--username", "-u"), diff --git a/docker-compose.yml b/docker-compose.yml index f647593b..da3466b5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,8 +1,8 @@ services: - marzban: - image: gozargah/marzban:latest + infinity: + image: Niraj-Dilshan/infinity:latest restart: always env_file: .env network_mode: host volumes: - - /var/lib/marzban:/var/lib/marzban + - /var/lib/infinity:/var/lib/infinity diff --git a/marzban-cli.py b/infinity-cli.py old mode 100755 new mode 100644 similarity index 100% rename from marzban-cli.py rename to infinity-cli.py diff --git a/install_service.sh b/install_service.sh index 3a380ebc..29b178b4 100755 --- a/install_service.sh +++ b/install_service.sh @@ -1,8 +1,8 @@ #!/bin/bash -SERVICE_NAME="marzban" -SERVICE_DESCRIPTION="Marzban Service" -SERVICE_DOCUMENTATION="https://github.com/gozargah/marzban" +SERVICE_NAME="infinity" +SERVICE_DESCRIPTION="infinity Service" +SERVICE_DOCUMENTATION="https://github.com/Niraj-Dilshan/infinity" MAIN_PY_PATH="$PWD/main.py" SERVICE_FILE="/etc/systemd/system/$SERVICE_NAME.service" diff --git a/marzban.code-workspace b/marzban.code-workspace deleted file mode 100644 index 876a1499..00000000 --- a/marzban.code-workspace +++ /dev/null @@ -1,8 +0,0 @@ -{ - "folders": [ - { - "path": "." - } - ], - "settings": {} -} \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index d444e32c..d0538070 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,17 +4,17 @@ APScheduler==3.9.1.post1 async-timeout==4.0.2 backports.zoneinfo==0.2.1;python_version<"3.9" bcrypt==4.0.1 -certifi==2022.12.7 +certifi==2023.7.22 cffi==1.15.1 charset-normalizer==2.1.1 click==8.1.3 -cryptography==39.0.1 +cryptography==41.0.6 Deprecated==1.2.13 ecdsa==0.18.0 fastapi==0.92.0 fastapi-responses==0.2.1 greenlet==2.0.1 -grpcio==1.50.0 +grpcio==1.53.2 grpcio-tools==1.44.0 h11==0.14.0 httptools==0.5.0 @@ -29,15 +29,15 @@ MarkupSafe==2.1.1 mdurl==0.1.2 packaging==21.3 passlib==1.7.4 -Pillow==9.4.0 +Pillow==10.0.1 plumbum==1.8.1 protobuf==3.20.3 psutil==5.9.4 psycopg2-binary==2.9.7 pyasn1==0.4.8 pycparser==2.21 -pydantic==1.10.2 -Pygments==2.14.0 +pydantic==1.10.13 +Pygments==2.15.0 PyMySQL==1.0.3 pyOpenSSL==23.2.0 pyparsing==3.0.9 @@ -52,23 +52,24 @@ pytz==2022.6 pytz-deprecation-shim==0.1.0.post0 PyYAML==6.0 qrcode==7.4.2 -redis==4.3.5 -requests==2.28.1 +redis==4.4.4 +requests==2.31.0 rich==13.3.2 rpyc==5.3.1 rsa==4.9 six==1.16.0 sniffio==1.3.0 SQLAlchemy==1.4.44 -starlette==0.25.0 +starlette==0.27.0 typer==0.7.0 typing_extensions==4.4.0 tzdata==2022.6 tzlocal==4.2 -urllib3==1.26.12 +urllib3==1.26.18 uvicorn==0.19.0 uvloop==0.17.0 watchfiles==0.18.1 websockets==10.4 wrapt==1.14.1 zipp==3.10.0 +setuptools>=65.5.1 # not directly required, pinned by Snyk to avoid a vulnerability