diff --git a/.circleci/config.yml b/.circleci/config.yml index 8685f45793a..c1224159a1f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -147,12 +147,18 @@ jobs: -e AZURE_API_KEY=$AZURE_API_KEY \ -e AZURE_FRANCE_API_KEY=$AZURE_FRANCE_API_KEY \ -e AZURE_EUROPE_API_KEY=$AZURE_EUROPE_API_KEY \ + -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \ + -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \ + -e AWS_REGION_NAME=$AWS_REGION_NAME \ + -e OPENAI_API_KEY=$OPENAI_API_KEY \ --name my-app \ -v $(pwd)/proxy_server_config.yaml:/app/config.yaml \ my-app:latest \ --config /app/config.yaml \ --port 4000 \ - --num_workers 8 + --num_workers 8 \ + --detailed_debug \ + --run_gunicorn \ - run: name: Install curl and dockerize command: | diff --git a/.circleci/requirements.txt b/.circleci/requirements.txt index 85b576bff24..4730fc28b15 100644 --- a/.circleci/requirements.txt +++ b/.circleci/requirements.txt @@ -10,4 +10,5 @@ anthropic boto3 orjson pydantic -google-cloud-aiplatform \ No newline at end of file +google-cloud-aiplatform +redisvl==0.0.7 # semantic caching \ No newline at end of file diff --git a/.github/actions/helm-oci-chart-releaser/action.yml b/.github/actions/helm-oci-chart-releaser/action.yml new file mode 100644 index 00000000000..059277ed882 --- /dev/null +++ b/.github/actions/helm-oci-chart-releaser/action.yml @@ -0,0 +1,77 @@ +name: Helm OCI Chart Releaser +description: Push Helm charts to OCI-based (Docker) registries +author: sergeyshaykhullin +branding: + color: yellow + icon: upload-cloud +inputs: + name: + required: true + description: Chart name + repository: + required: true + description: Chart repository name + tag: + required: true + description: Chart version + app_version: + required: true + description: App version + path: + required: false + description: Chart path (Default 'charts/{name}') + registry: + required: true + description: OCI registry + registry_username: + required: true + description: OCI registry username + registry_password: + required: true + description: OCI registry password + update_dependencies: + required: false + default: 'false' + description: Update chart dependencies before packaging (Default 'false') +outputs: + image: + value: ${{ steps.output.outputs.image }} + description: Chart image (Default '{registry}/{repository}/{image}:{tag}') +runs: + using: composite + steps: + - name: Helm | Login + shell: bash + run: echo ${{ inputs.registry_password }} | helm registry login -u ${{ inputs.registry_username }} --password-stdin ${{ inputs.registry }} + env: + HELM_EXPERIMENTAL_OCI: '1' + + - name: Helm | Dependency + if: inputs.update_dependencies == 'true' + shell: bash + run: helm dependency update ${{ inputs.path == null && format('{0}/{1}', 'charts', inputs.name) || inputs.path }} + env: + HELM_EXPERIMENTAL_OCI: '1' + + - name: Helm | Package + shell: bash + run: helm package ${{ inputs.path == null && format('{0}/{1}', 'charts', inputs.name) || inputs.path }} --version ${{ inputs.tag }} --app-version ${{ inputs.app_version }} + env: + HELM_EXPERIMENTAL_OCI: '1' + + - name: Helm | Push + shell: bash + run: helm push ${{ inputs.name }}-${{ inputs.tag }}.tgz oci://${{ inputs.registry }}/${{ inputs.repository }} + env: + HELM_EXPERIMENTAL_OCI: '1' + + - name: Helm | Logout + shell: bash + run: helm registry logout ${{ inputs.registry }} + env: + HELM_EXPERIMENTAL_OCI: '1' + + - name: Helm | Output + id: output + shell: bash + run: echo "image=${{ inputs.registry }}/${{ inputs.repository }}/${{ inputs.name }}:${{ inputs.tag }}" >> $GITHUB_OUTPUT \ No newline at end of file diff --git a/template.yaml b/.github/template.yaml similarity index 100% rename from template.yaml rename to .github/template.yaml diff --git a/.github/workflows/ghcr_deploy.yml b/.github/workflows/ghcr_deploy.yml index b0215dfecfb..2da13da4dfb 100644 --- a/.github/workflows/ghcr_deploy.yml +++ b/.github/workflows/ghcr_deploy.yml @@ -34,13 +34,6 @@ jobs: with: push: true tags: litellm/litellm:${{ github.event.inputs.tag || 'latest' }} - - - name: Build and push litellm-ui image - uses: docker/build-push-action@v5 - with: - push: true - file: ui/Dockerfile - tags: litellm/litellm-ui:${{ github.event.inputs.tag || 'latest' }} - name: Build and push litellm-database image uses: docker/build-push-action@v5 @@ -82,36 +75,8 @@ jobs: push: true tags: ${{ steps.meta.outputs.tags }}-${{ github.event.inputs.tag || 'latest' }}, ${{ steps.meta.outputs.tags }}-latest # if a tag is provided, use that, otherwise use the release tag, and if neither is available, use 'latest' labels: ${{ steps.meta.outputs.labels }} - build-and-push-image-ui: - runs-on: ubuntu-latest - permissions: - contents: read - packages: write - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Log in to the Container registry - uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Extract metadata (tags, labels) for UI Dockerfile - id: meta-ui - uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 - with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-ui - - - name: Build and push UI Docker image - uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4 - with: - context: ui/ - file: ui/Dockerfile - push: true - tags: ${{ steps.meta-ui.outputs.tags }}-${{ github.event.inputs.tag || 'latest' }}, ${{ steps.meta-ui.outputs.tags }}-latest - labels: ${{ steps.meta-ui.outputs.labels }} + platform: local, linux/amd64,linux/arm64,linux/arm64/v8 + build-and-push-image-database: runs-on: ubuntu-latest permissions: @@ -176,3 +141,14 @@ jobs: } catch (error) { core.setFailed(error.message); } + - name: Github Releases To Discord + uses: SethCohen/github-releases-to-discord@v1.13.1 + with: + webhook_url: ${{ secrets.WEBHOOK_URL }} + color: "2105893" + username: "Release Changelog" + avatar_url: "https://cdn.discordapp.com/avatars/487431320314576937/bd64361e4ba6313d561d54e78c9e7171.png" + content: "||@everyone||" + footer_title: "Changelog" + footer_icon_url: "https://cdn.discordapp.com/avatars/487431320314576937/bd64361e4ba6313d561d54e78c9e7171.png" + footer_timestamp: true diff --git a/.github/workflows/ghcr_helm_deploy.yml b/.github/workflows/ghcr_helm_deploy.yml new file mode 100644 index 00000000000..35ea96bfb84 --- /dev/null +++ b/.github/workflows/ghcr_helm_deploy.yml @@ -0,0 +1,64 @@ +# this workflow is triggered by an API call when there is a new PyPI release of LiteLLM +name: Build, Publish LiteLLM Helm Chart. New Release +on: + workflow_dispatch: + inputs: + chartVersion: + description: "Update the helm chart's version to this" + +# Defines two custom environment variables for the workflow. Used for the Container registry domain, and a name for the Docker image that this workflow builds. +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + REPO_OWNER: ${{github.repository_owner}} + +# There is a single job in this workflow. It's configured to run on the latest available version of Ubuntu. +jobs: + build-and-push-helm-chart: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Log in to the Container registry + uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: lowercase github.repository_owner + run: | + echo "REPO_OWNER=`echo ${{github.repository_owner}} | tr '[:upper:]' '[:lower:]'`" >>${GITHUB_ENV} + + - name: Get LiteLLM Latest Tag + id: current_app_tag + uses: WyriHaximus/github-action-get-previous-tag@v1.3.0 + + - name: Get last published chart version + id: current_version + shell: bash + run: helm show chart oci://${{ env.REGISTRY }}/${{ env.REPO_OWNER }}/litellm-helm | grep '^version:' | awk 'BEGIN{FS=":"}{print "current-version="$2}' | tr -d " " | tee -a $GITHUB_OUTPUT + env: + HELM_EXPERIMENTAL_OCI: '1' + + # Automatically update the helm chart version one "patch" level + - name: Bump release version + id: bump_version + uses: christian-draeger/increment-semantic-version@1.1.0 + with: + current-version: ${{ steps.current_version.outputs.current-version || '0.1.0' }} + version-fragment: 'bug' + + - uses: ./.github/actions/helm-oci-chart-releaser + with: + name: litellm-helm + repository: ${{ env.REPO_OWNER }} + tag: ${{ github.event.inputs.chartVersion || steps.bump_version.outputs.next-version || '0.1.0' }} + app_version: ${{ steps.current_app_tag.outputs.tag || 'latest' }} + path: deploy/charts/litellm-helm + registry: ${{ env.REGISTRY }} + registry_username: ${{ github.actor }} + registry_password: ${{ secrets.GITHUB_TOKEN }} + update_dependencies: true + \ No newline at end of file diff --git a/.gitignore b/.gitignore index 863e9c6416c..00cd35c5b0b 100644 --- a/.gitignore +++ b/.gitignore @@ -39,4 +39,8 @@ ui/litellm-dashboard/.next ui/litellm-dashboard/node_modules ui/litellm-dashboard/next-env.d.ts ui/litellm-dashboard/package.json -ui/litellm-dashboard/package-lock.json \ No newline at end of file +ui/litellm-dashboard/package-lock.json +deploy/charts/litellm-helm/*.tgz +deploy/charts/litellm-helm/charts/* +deploy/charts/*.tgz +litellm/proxy/vertex_key.json diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8ab4e3e9248..8978e0d1a0b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -10,6 +10,12 @@ repos: exclude: ^litellm/tests/|^litellm/proxy/proxy_cli.py|^litellm/integrations/|^litellm/proxy/tests/ additional_dependencies: [flake8-print] files: litellm/.*\.py +- repo: local + hooks: + - id: check-files-match + name: Check if files match + entry: python3 ci_cd/check_files_match.py + language: system - repo: local hooks: - id: mypy diff --git a/Dockerfile b/Dockerfile index e18d5d97952..0c3a2a33c09 100644 --- a/Dockerfile +++ b/Dockerfile @@ -32,6 +32,9 @@ RUN pip install dist/*.whl # install dependencies as wheels RUN pip wheel --no-cache-dir --wheel-dir=/wheels/ -r requirements.txt +# install semantic-cache [Experimental]- we need this here and not in requirements.txt because redisvl pins to pydantic 1.0 +RUN pip install redisvl==0.0.7 --no-deps + # Runtime stage FROM $LITELLM_RUNTIME_IMAGE as runtime @@ -52,4 +55,4 @@ RUN chmod +x entrypoint.sh EXPOSE 4000/tcp ENTRYPOINT ["litellm"] -CMD ["--port", "4000", "--config", "./proxy_server_config.yaml", "--detailed_debug"] \ No newline at end of file +CMD ["--port", "4000", "--config", "./proxy_server_config.yaml", "--detailed_debug", "--run_gunicorn"] \ No newline at end of file diff --git a/Dockerfile.database b/Dockerfile.database index 5c0c4ad36dc..8ceafc718da 100644 --- a/Dockerfile.database +++ b/Dockerfile.database @@ -47,6 +47,9 @@ COPY --from=builder /wheels/ /wheels/ # Install the built wheel using pip; again using a wildcard if it's the only file RUN pip install *.whl /wheels/* --no-index --find-links=/wheels/ && rm -f *.whl && rm -rf /wheels +# install semantic-cache [Experimental]- we need this here and not in requirements.txt because redisvl pins to pydantic 1.0 +RUN pip install redisvl==0.0.7 --no-deps + # Generate prisma client RUN prisma generate RUN chmod +x entrypoint.sh @@ -56,4 +59,4 @@ EXPOSE 4000/tcp # # Set your entrypoint and command ENTRYPOINT ["litellm"] -CMD ["--port", "4000"] +CMD ["--port", "4000", "--run_gunicorn"] diff --git a/README.md b/README.md index c4221e031cd..8b2f9cce3c4 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@

Call all LLM APIs using the OpenAI format [Bedrock, Huggingface, VertexAI, TogetherAI, Azure, OpenAI, etc.]

-

OpenAI Proxy Server

+

OpenAI Proxy Server | Enterprise Support

PyPI Version @@ -28,10 +28,14 @@ LiteLLM manages: - Translate inputs to provider's `completion`, `embedding`, and `image_generation` endpoints - [Consistent output](https://docs.litellm.ai/docs/completion/output), text responses will always be available at `['choices'][0]['message']['content']` - Retry/fallback logic across multiple deployments (e.g. Azure/OpenAI) - [Router](https://docs.litellm.ai/docs/routing) +- Track spend & set budgets per project [OpenAI Proxy Server](https://docs.litellm.ai/docs/simple_proxy) + [**Jump to OpenAI Proxy Docs**](https://github.com/BerriAI/litellm?tab=readme-ov-file#openai-proxy---docs)
[**Jump to Supported LLM Providers**](https://github.com/BerriAI/litellm?tab=readme-ov-file#supported-provider-docs) +Support for more providers. Missing a provider or LLM Platform, raise a [feature request](https://github.com/BerriAI/litellm/issues/new?assignees=&labels=enhancement&projects=&template=feature_request.yml&title=%5BFeature%5D%3A+). + # Usage ([**Docs**](https://docs.litellm.ai/docs/)) > [!IMPORTANT] > LiteLLM v1.0.0 now requires `openai>=1.0.0`. Migration guide [here](https://docs.litellm.ai/docs/migration) @@ -155,6 +159,9 @@ print(response) ``` ## Proxy Key Management ([Docs](https://docs.litellm.ai/docs/proxy/virtual_keys)) +UI on `/ui` on your proxy server +![ui_3](https://github.com/BerriAI/litellm/assets/29436595/47c97d5e-b9be-4839-b28c-43d7f4f10033) + Track Spend, Set budgets and create virtual keys for the proxy `POST /key/generate` @@ -174,17 +181,6 @@ curl 'http://0.0.0.0:8000/key/generate' \ } ``` -### [Beta] Proxy UI - -A simple UI to add new models and let your users create keys. - -Live here: https://dashboard.litellm.ai/ - -Code: https://github.com/BerriAI/litellm/tree/main/ui - - -Screenshot 2023-12-26 at 8 33 53 AM - ## Supported Providers ([Docs](https://docs.litellm.ai/docs/providers)) | Provider | [Completion](https://docs.litellm.ai/docs/#basic-usage) | [Streaming](https://docs.litellm.ai/docs/completion/stream#streaming-responses) | [Async Completion](https://docs.litellm.ai/docs/completion/stream#async-completion) | [Async Streaming](https://docs.litellm.ai/docs/completion/stream#async-streaming) | [Async Embedding](https://docs.litellm.ai/docs/embedding/supported_embedding) | [Async Image Generation](https://docs.litellm.ai/docs/image_generation) | | ------------- | ------------- | ------------- | ------------- | ------------- | ------------- | ------------- | diff --git a/ci_cd/check_files_match.py b/ci_cd/check_files_match.py new file mode 100644 index 00000000000..18b6cf792a6 --- /dev/null +++ b/ci_cd/check_files_match.py @@ -0,0 +1,32 @@ +import sys +import filecmp +import shutil + + +def main(argv=None): + print( + "Comparing model_prices_and_context_window and litellm/model_prices_and_context_window_backup.json files... checking if they match." + ) + + file1 = "model_prices_and_context_window.json" + file2 = "litellm/model_prices_and_context_window_backup.json" + + cmp_result = filecmp.cmp(file1, file2, shallow=False) + + if cmp_result: + print(f"Passed! Files {file1} and {file2} match.") + return 0 + else: + print( + f"Failed! Files {file1} and {file2} do not match. Copying content from {file1} to {file2}." + ) + copy_content(file1, file2) + return 1 + + +def copy_content(source, destination): + shutil.copy2(source, destination) + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/cookbook/litellm_router_load_test/test_loadtest_openai_client.py b/cookbook/litellm_router_load_test/test_loadtest_openai_client.py new file mode 100644 index 00000000000..d11249cd282 --- /dev/null +++ b/cookbook/litellm_router_load_test/test_loadtest_openai_client.py @@ -0,0 +1,76 @@ +import sys, os +import traceback +from dotenv import load_dotenv +import copy + +load_dotenv() +sys.path.insert( + 0, os.path.abspath("../..") +) # Adds the parent directory to the system path +import asyncio +from litellm import Router, Timeout +import time +from litellm.caching import Cache +import litellm +import openai + +### Test just calling AsyncAzureOpenAI + +openai_client = openai.AsyncAzureOpenAI( + azure_endpoint=os.getenv("AZURE_API_BASE"), + api_key=os.getenv("AZURE_API_KEY"), +) + + +async def call_acompletion(semaphore, input_data): + async with semaphore: + try: + # Use asyncio.wait_for to set a timeout for the task + response = await openai_client.chat.completions.create(**input_data) + # Handle the response as needed + print(response) + return response + except Timeout: + print(f"Task timed out: {input_data}") + return None # You may choose to return something else or raise an exception + + +async def main(): + # Initialize the Router + + # Create a semaphore with a capacity of 100 + semaphore = asyncio.Semaphore(100) + + # List to hold all task references + tasks = [] + start_time_all_tasks = time.time() + # Launch 1000 tasks + for _ in range(500): + task = asyncio.create_task( + call_acompletion( + semaphore, + { + "model": "chatgpt-v-2", + "messages": [{"role": "user", "content": "Hey, how's it going?"}], + }, + ) + ) + tasks.append(task) + + # Wait for all tasks to complete + responses = await asyncio.gather(*tasks) + # Process responses as needed + # Record the end time for all tasks + end_time_all_tasks = time.time() + # Calculate the total time for all tasks + total_time_all_tasks = end_time_all_tasks - start_time_all_tasks + print(f"Total time for all tasks: {total_time_all_tasks} seconds") + + # Calculate the average time per response + average_time_per_response = total_time_all_tasks / len(responses) + print(f"Average time per response: {average_time_per_response} seconds") + print(f"NUMBER OF COMPLETED TASKS: {len(responses)}") + + +# Run the main function +asyncio.run(main()) diff --git a/cookbook/litellm_router_load_test/test_loadtest_router.py b/cookbook/litellm_router_load_test/test_loadtest_router.py new file mode 100644 index 00000000000..a44bf4ccbbe --- /dev/null +++ b/cookbook/litellm_router_load_test/test_loadtest_router.py @@ -0,0 +1,88 @@ +import sys, os +import traceback +from dotenv import load_dotenv +import copy + +load_dotenv() +sys.path.insert( + 0, os.path.abspath("../..") +) # Adds the parent directory to the system path +import asyncio +from litellm import Router, Timeout +import time + +### Test calling router async + + +async def call_acompletion(semaphore, router: Router, input_data): + async with semaphore: + try: + # Use asyncio.wait_for to set a timeout for the task + response = await router.acompletion(**input_data) + # Handle the response as needed + print(response) + return response + except Timeout: + print(f"Task timed out: {input_data}") + return None # You may choose to return something else or raise an exception + + +async def main(): + # Initialize the Router + model_list = [ + { + "model_name": "gpt-3.5-turbo", + "litellm_params": { + "model": "gpt-3.5-turbo", + "api_key": os.getenv("OPENAI_API_KEY"), + }, + }, + { + "model_name": "gpt-3.5-turbo", + "litellm_params": { + "model": "azure/chatgpt-v-2", + "api_key": os.getenv("AZURE_API_KEY"), + "api_base": os.getenv("AZURE_API_BASE"), + "api_version": os.getenv("AZURE_API_VERSION"), + }, + }, + ] + router = Router(model_list=model_list, num_retries=3, timeout=10) + + # Create a semaphore with a capacity of 100 + semaphore = asyncio.Semaphore(100) + + # List to hold all task references + tasks = [] + start_time_all_tasks = time.time() + # Launch 1000 tasks + for _ in range(500): + task = asyncio.create_task( + call_acompletion( + semaphore, + router, + { + "model": "gpt-3.5-turbo", + "messages": [{"role": "user", "content": "Hey, how's it going?"}], + }, + ) + ) + tasks.append(task) + + # Wait for all tasks to complete + responses = await asyncio.gather(*tasks) + # Process responses as needed + # Record the end time for all tasks + end_time_all_tasks = time.time() + # Calculate the total time for all tasks + total_time_all_tasks = end_time_all_tasks - start_time_all_tasks + print(f"Total time for all tasks: {total_time_all_tasks} seconds") + + # Calculate the average time per response + average_time_per_response = total_time_all_tasks / len(responses) + print(f"Average time per response: {average_time_per_response} seconds") + print(f"NUMBER OF COMPLETED TASKS: {len(responses)}") + + +# Run the main function +asyncio.run(main()) diff --git a/cookbook/litellm_router_load_test/test_loadtest_router_withs3_cache.py b/cookbook/litellm_router_load_test/test_loadtest_router_withs3_cache.py new file mode 100644 index 00000000000..5e6dd218c17 --- /dev/null +++ b/cookbook/litellm_router_load_test/test_loadtest_router_withs3_cache.py @@ -0,0 +1,94 @@ +import sys, os +import traceback +from dotenv import load_dotenv +import copy + +load_dotenv() +sys.path.insert( + 0, os.path.abspath("../..") +) # Adds the parent directory to the system path +import asyncio +from litellm import Router, Timeout +import time +from litellm.caching import Cache +import litellm + +litellm.cache = Cache( + type="s3", s3_bucket_name="cache-bucket-litellm", s3_region_name="us-west-2" +) + +### Test calling router with s3 Cache + + +async def call_acompletion(semaphore, router: Router, input_data): + async with semaphore: + try: + # Use asyncio.wait_for to set a timeout for the task + response = await router.acompletion(**input_data) + # Handle the response as needed + print(response) + return response + except Timeout: + print(f"Task timed out: {input_data}") + return None # You may choose to return something else or raise an exception + + +async def main(): + # Initialize the Router + model_list = [ + { + "model_name": "gpt-3.5-turbo", + "litellm_params": { + "model": "gpt-3.5-turbo", + "api_key": os.getenv("OPENAI_API_KEY"), + }, + }, + { + "model_name": "gpt-3.5-turbo", + "litellm_params": { + "model": "azure/chatgpt-v-2", + "api_key": os.getenv("AZURE_API_KEY"), + "api_base": os.getenv("AZURE_API_BASE"), + "api_version": os.getenv("AZURE_API_VERSION"), + }, + }, + ] + router = Router(model_list=model_list, num_retries=3, timeout=10) + + # Create a semaphore with a capacity of 100 + semaphore = asyncio.Semaphore(100) + + # List to hold all task references + tasks = [] + start_time_all_tasks = time.time() + # Launch 1000 tasks + for _ in range(500): + task = asyncio.create_task( + call_acompletion( + semaphore, + router, + { + "model": "gpt-3.5-turbo", + "messages": [{"role": "user", "content": "Hey, how's it going?"}], + }, + ) + ) + tasks.append(task) + + # Wait for all tasks to complete + responses = await asyncio.gather(*tasks) + # Process responses as needed + # Record the end time for all tasks + end_time_all_tasks = time.time() + # Calculate the total time for all tasks + total_time_all_tasks = end_time_all_tasks - start_time_all_tasks + print(f"Total time for all tasks: {total_time_all_tasks} seconds") + + # Calculate the average time per response + average_time_per_response = total_time_all_tasks / len(responses) + print(f"Average time per response: {average_time_per_response} seconds") + print(f"NUMBER OF COMPLETED TASKS: {len(responses)}") + + +# Run the main function +asyncio.run(main()) diff --git a/cookbook/misc/dev_release.txt b/cookbook/misc/dev_release.txt new file mode 100644 index 00000000000..717a6da5463 --- /dev/null +++ b/cookbook/misc/dev_release.txt @@ -0,0 +1,2 @@ +python3 -m build +twine upload --verbose dist/litellm-1.18.13.dev4.tar.gz -u __token__ - \ No newline at end of file diff --git a/deploy/charts/litellm-helm/.helmignore b/deploy/charts/litellm-helm/.helmignore new file mode 100644 index 00000000000..0e8a0eb36f4 --- /dev/null +++ b/deploy/charts/litellm-helm/.helmignore @@ -0,0 +1,23 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*.orig +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/deploy/charts/litellm-helm/Chart.lock b/deploy/charts/litellm-helm/Chart.lock new file mode 100644 index 00000000000..7b6ed69d9ad --- /dev/null +++ b/deploy/charts/litellm-helm/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: postgresql + repository: oci://registry-1.docker.io/bitnamicharts + version: 13.3.1 +digest: sha256:f5c129150f0d38dd06752ab37f3c8e143d7c14d30379af058767bcd9f4ba83dd +generated: "2024-01-19T11:32:56.694808861+11:00" diff --git a/deploy/charts/litellm-helm/Chart.yaml b/deploy/charts/litellm-helm/Chart.yaml new file mode 100644 index 00000000000..80eaf87dde9 --- /dev/null +++ b/deploy/charts/litellm-helm/Chart.yaml @@ -0,0 +1,34 @@ +apiVersion: v2 + +# We can't call ourselves just "litellm" because then we couldn't publish to the +# same OCI repository as the "litellm" OCI image +name: litellm-helm +description: Call all LLM APIs using the OpenAI format + +# A chart can be either an 'application' or a 'library' chart. +# +# Application charts are a collection of templates that can be packaged into versioned archives +# to be deployed. +# +# Library charts provide useful utilities or functions for the chart developer. They're included as +# a dependency of application charts to inject those utilities and functions into the rendering +# pipeline. Library charts do not define any templates and therefore cannot be deployed. +type: application + +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +# Versions are expected to follow Semantic Versioning (https://semver.org/) +version: 0.1.0 + +# This is the version number of the application being deployed. This version number should be +# incremented each time you make changes to the application. Versions are not expected to +# follow Semantic Versioning. They should reflect the version the application is using. +# It is recommended to use it with quotes. +appVersion: v1.18.9 + +dependencies: + - name: "postgresql" + version: ">=13.3.0" + repository: oci://registry-1.docker.io/bitnamicharts + condition: db.deployStandalone + diff --git a/deploy/charts/litellm-helm/README.md b/deploy/charts/litellm-helm/README.md new file mode 100644 index 00000000000..bf87501b37e --- /dev/null +++ b/deploy/charts/litellm-helm/README.md @@ -0,0 +1,107 @@ +# Helm Chart for LiteLLM + +## Prerequisites + +- Kubernetes 1.23+ +- Helm 3.8.0+ + +If `db.deployStandalone` is used: +- PV provisioner support in the underlying infrastructure + +If `db.useStackgresOperator` is used (not yet implemented): +- The Stackgres Operator must already be installed in the Kubernetes Cluster. This chart will **not** install the operator if it is missing. + +## Parameters + +### LiteLLM Proxy Deployment Settings + +| Name | Description | Value | +| ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- | +| `replicaCount` | The number of LiteLLM Proxy pods to be deployed | `1` | +| `masterkey` | The Master API Key for LiteLLM. If not specified, a random key is generated. | N/A | +| `environmentSecrets` | An optional array of Secret object names. The keys and values in these secrets will be presented to the LiteLLM proxy pod as environment variables. See below for an example Secret object. | `[]` | +| `image.repository` | LiteLLM Proxy image repository | `ghcr.io/berriai/litellm` | +| `image.pullPolicy` | LiteLLM Proxy image pull policy | `IfNotPresent` | +| `image.tag` | Overrides the image tag whose default the latest version of LiteLLM at the time this chart was published. | `""` | +| `image.dbReadyImage` | On Pod startup, an initContainer is used to make sure the Postgres database is available before attempting to start LiteLLM. This field specifies the image to use as that initContainer. | `docker.io/bitnami/postgresql` | +| `image.dbReadyTag` | Tag for the above image. If not specified, "latest" is used. | `""` | +| `imagePullSecrets` | Registry credentials for the LiteLLM and initContainer images. | `[]` | +| `serviceAccount.create` | Whether or not to create a Kubernetes Service Account for this deployment. The default is `false` because LiteLLM has no need to access the Kubernetes API. | `false` | +| `service.type` | Kubernetes Service type (e.g. `LoadBalancer`, `ClusterIP`, etc.) | `ClusterIP` | +| `service.port` | TCP port that the Kubernetes Service will listen on. Also the TCP port within the Pod that the proxy will listen on. | `8000` | +| `ingress.*` | See [values.yaml](./values.yaml) for example settings | N/A | +| `proxy_config.*` | See [values.yaml](./values.yaml) for default settings. See [example_config_yaml](../../../litellm/proxy/example_config_yaml/) for configuration examples. | N/A | + +#### Example `environmentSecrets` Secret +``` +apiVersion: v1 +kind: Secret +metadata: + name: litellm-envsecrets +data: + AZURE_OPENAI_API_KEY: TXlTZWN1cmVLM3k= +type: Opaque +``` + +### LiteLLM Admin UI Settings + +| Name | Description | Value | +| ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- | +| `ui.enabled` | Should the LiteLLM Admin UI be deployed | `true` | +| `ui.replicaCount` | The number of LiteLLM Admin UI pods to be deployed | `1` | +| `ui.image.repository` | LiteLLM Admin UI image repository | `ghcr.io/berriai/litellm` | +| `ui.image.pullPolicy` | LiteLLM Admin UI image pull policy | `IfNotPresent` | +| `ui.image.tag` | Overrides the image tag whose default the latest version of LiteLLM at the time this chart was published. | `""` | +| `ui.imagePullSecrets` | Registry credentials for the above images. | `[]` | +| `ui.service.type` | Kubernetes Service type (e.g. `LoadBalancer`, `ClusterIP`, etc.) | `ClusterIP` | +| `ui.service.port` | TCP port that the Kubernetes Service will listen on. Also the TCP port within the Pod that the web server will listen on. | `8000` | +| `ui.ingress.*` | See [values.yaml](./values.yaml) for example settings | N/A | + +### Database Settings +| Name | Description | Value | +| ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- | +| `db.useExisting` | Use an existing Postgres database. A Kubernetes Secret object must exist that contains credentials for connecting to the database. An example secret object definition is provided below. | `false` | +| `db.endpoint` | If `db.useExisting` is `true`, this is the IP, Hostname or Service Name of the Postgres server to connect to. | `localhost` | +| `db.database` | If `db.useExisting` is `true`, the name of the existing database to connect to. | `litellm` | +| `db.secret.name` | If `db.useExisting` is `true`, the name of the Kubernetes Secret that contains credentials. | `postgres` | +| `db.secret.usernameKey` | If `db.useExisting` is `true`, the name of the key within the Kubernetes Secret that holds the username for authenticating with the Postgres instance. | `username` | +| `db.secret.passwordKey` | If `db.useExisting` is `true`, the name of the key within the Kubernetes Secret that holds the password associates with the above user. | `password` | +| `db.useStackgresOperator` | Not yet implemented. | `false` | +| `db.deployStandalone` | Deploy a standalone, single instance deployment of Postgres, using the Bitnami postgresql chart. This is useful for getting started but doesn't provide HA or (by default) data backups. | `true` | +| `postgresql.*` | If `db.deployStandalone` is `true`, configuration passed to the Bitnami postgresql chart. See the [Bitnami Documentation](https://github.com/bitnami/charts/tree/main/bitnami/postgresql) for full configuration details. See [values.yaml](./values.yaml) for the default configuration. | See [values.yaml](./values.yaml) | +| `postgresql.auth.*` | If `db.deployStandalone` is `true`, care should be taken to ensure the default `password` and `postgres-password` values are **NOT** used. | `NoTaGrEaTpAsSwOrD` | + +#### Example Postgres `db.useExisting` Secret +```yaml +apiVersion: v1 +kind: Secret +metadata: + name: postgres +data: + # Password for the "postgres" user + postgres-password: + username: litellm + password: +type: Opaque +``` + +## Accessing the Admin UI +When browsing to the URL published per the settings in `ui.ingress.*`, you will +be prompted for **Admin Configuration**. The **Proxy Endpoint** is the internal +(from the `litellm-ui` pod's perspective) URL published by the `litellm-proxy` +Kubernetes Service. If the deployment uses the default settings for this +service, the **Proxy Endpoint** should be set to `http://litellm-proxy:8000`. + +The **Proxy Key** is the value specified for `masterkey` or, if a `masterkey` +was not provided to the helm command line, the `masterkey` is a randomly +generated string stored in the `litellm-masterkey` Kubernetes Secret. + +```bash +kubectl -n litellm get secret litellm-masterkey -o jsonpath="{.data.masterkey}" +``` + +## Admin UI Limitations +At the time of writing, the Admin UI is unable to add models. This is because +it would need to update the `config.yaml` file which is a exposed ConfigMap, and +therefore, read-only. This is a limitation of this helm chart, not the Admin UI +itself. \ No newline at end of file diff --git a/deploy/charts/litellm-helm/templates/NOTES.txt b/deploy/charts/litellm-helm/templates/NOTES.txt new file mode 100644 index 00000000000..e72c9916080 --- /dev/null +++ b/deploy/charts/litellm-helm/templates/NOTES.txt @@ -0,0 +1,22 @@ +1. Get the application URL by running these commands: +{{- if .Values.ingress.enabled }} +{{- range $host := .Values.ingress.hosts }} + {{- range .paths }} + http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ .path }} + {{- end }} +{{- end }} +{{- else if contains "NodePort" .Values.service.type }} + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "litellm.fullname" . }}) + export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") + echo http://$NODE_IP:$NODE_PORT +{{- else if contains "LoadBalancer" .Values.service.type }} + NOTE: It may take a few minutes for the LoadBalancer IP to be available. + You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "litellm.fullname" . }}' + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "litellm.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") + echo http://$SERVICE_IP:{{ .Values.service.port }} +{{- else if contains "ClusterIP" .Values.service.type }} + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "litellm.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}") + echo "Visit http://127.0.0.1:8080 to use your application" + kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT +{{- end }} diff --git a/deploy/charts/litellm-helm/templates/_helpers.tpl b/deploy/charts/litellm-helm/templates/_helpers.tpl new file mode 100644 index 00000000000..7e7aa8f4c81 --- /dev/null +++ b/deploy/charts/litellm-helm/templates/_helpers.tpl @@ -0,0 +1,74 @@ +{{/* +Expand the name of the chart. +*/}} +{{- define "litellm.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "litellm.fullname" -}} +{{- if .Values.fullnameOverride }} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- $name := default .Chart.Name .Values.nameOverride }} +{{- if contains $name .Release.Name }} +{{- .Release.Name | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} +{{- end }} +{{- end }} +{{- end }} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "litellm.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "litellm.labels" -}} +helm.sh/chart: {{ include "litellm.chart" . }} +{{ include "litellm.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end }} +{{- define "litellm.ui.labels" -}} +helm.sh/chart: {{ include "litellm.chart" . }} +{{ include "litellm.ui.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end }} + +{{/* +Selector labels +*/}} +{{- define "litellm.selectorLabels" -}} +app.kubernetes.io/name: {{ include "litellm.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end }} +{{- define "litellm.ui.selectorLabels" -}} +app.kubernetes.io/name: {{ include "litellm.name" . }}-ui +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end }} + +{{/* +Create the name of the service account to use +*/}} +{{- define "litellm.serviceAccountName" -}} +{{- if .Values.serviceAccount.create }} +{{- default (include "litellm.fullname" .) .Values.serviceAccount.name }} +{{- else }} +{{- default "default" .Values.serviceAccount.name }} +{{- end }} +{{- end }} diff --git a/deploy/charts/litellm-helm/templates/configmap-litellm.yaml b/deploy/charts/litellm-helm/templates/configmap-litellm.yaml new file mode 100644 index 00000000000..4598054a9d0 --- /dev/null +++ b/deploy/charts/litellm-helm/templates/configmap-litellm.yaml @@ -0,0 +1,7 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "litellm.fullname" . }}-config +data: + config.yaml: | +{{ .Values.proxy_config | toYaml | indent 6 }} \ No newline at end of file diff --git a/deploy/charts/litellm-helm/templates/deployment-proxy.yaml b/deploy/charts/litellm-helm/templates/deployment-proxy.yaml new file mode 100644 index 00000000000..cdcd207c05c --- /dev/null +++ b/deploy/charts/litellm-helm/templates/deployment-proxy.yaml @@ -0,0 +1,230 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "litellm.fullname" . }}-proxy + labels: + {{- include "litellm.labels" . | nindent 4 }} +spec: + {{- if not .Values.autoscaling.enabled }} + replicas: {{ .Values.replicaCount }} + {{- end }} + selector: + matchLabels: + {{- include "litellm.selectorLabels" . | nindent 6 }} + template: + metadata: + {{- with .Values.podAnnotations }} + annotations: + {{- toYaml . | nindent 8 }} + {{- end }} + labels: + {{- include "litellm.labels" . | nindent 8 }} + {{- with .Values.podLabels }} + {{- toYaml . | nindent 8 }} + {{- end }} + spec: + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + serviceAccountName: {{ include "litellm.serviceAccountName" . }} + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + initContainers: + - name: db-ready + securityContext: + {{- toYaml .Values.securityContext | nindent 12 }} + image: "docker.io/bitnami/postgresql:16.1.0-debian-11-r20" + imagePullPolicy: {{ .Values.image.pullPolicy }} + env: + {{- if .Values.db.deployStandalone }} + - name: DATABASE_USERNAME + valueFrom: + secretKeyRef: + name: {{ include "litellm.name" . }}-dbcredentials + key: username + - name: PGPASSWORD + valueFrom: + secretKeyRef: + name: {{ include "litellm.name" . }}-dbcredentials + key: password + - name: DATABASE_HOST + value: {{ .Release.Name }}-postgresql + - name: DATABASE_NAME + value: litellm + {{- else if .Values.db.useExisting }} + - name: DATABASE_USERNAME + valueFrom: + secretKeyRef: + name: {{ .Values.db.secret.name }} + key: {{ .Values.db.secret.usernameKey }} + - name: PGPASSWORD + valueFrom: + secretKeyRef: + name: {{ .Values.db.secret.name }} + key: {{ .Values.db.secret.passwordKey }} + - name: DATABASE_HOST + value: {{ .Values.db.endpoint }} + - name: DATABASE_NAME + value: litellm + {{- end }} + command: + - sh + - -c + - | + # Maximum wait time will be (limit * 2) seconds. + limit=60 + current=0 + ret=1 + while [ $current -lt $limit ] && [ $ret -ne 0 ]; do + echo "Waiting for database to be ready $current" + psql -U $(DATABASE_USERNAME) -h $(DATABASE_HOST) -l + ret=$? + current=$(( $current + 1 )) + sleep 2 + done + if [ $ret -eq 0 ]; then + echo "Database is ready" + else + echo "Database failed to become ready before we gave up waiting." + fi + {{ if .Values.securityContext.readOnlyRootFilesystem }} + volumeMounts: + - name: tmp + mountPath: /tmp + {{ end }} + containers: + - name: {{ include "litellm.name" . }} + securityContext: + {{- toYaml .Values.securityContext | nindent 12 }} + image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default (printf "main-%s" .Chart.AppVersion) }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + env: + - name: HOST + value: "0.0.0.0" + - name: PORT + value: {{ .Values.service.port | quote}} + {{- if .Values.db.deployStandalone }} + - name: DATABASE_USERNAME + valueFrom: + secretKeyRef: + name: {{ include "litellm.name" . }}-dbcredentials + key: username + - name: DATABASE_PASSWORD + valueFrom: + secretKeyRef: + name: {{ include "litellm.name" . }}-dbcredentials + key: password + - name: DATABASE_HOST + value: {{ .Release.Name }}-postgresql + - name: DATABASE_NAME + value: litellm + {{- else if .Values.db.useExisting }} + - name: DATABASE_USERNAME + valueFrom: + secretKeyRef: + name: {{ .Values.db.secret.name }} + key: {{ .Values.db.secret.usernameKey }} + - name: DATABASE_PASSWORD + valueFrom: + secretKeyRef: + name: {{ .Values.db.secret.name }} + key: {{ .Values.db.secret.passwordKey }} + - name: DATABASE_HOST + value: {{ .Values.db.endpoint }} + - name: DATABASE_NAME + value: {{ .Values.db.database }} + {{- end }} + - name: DATABASE_URL + value: "postgresql://$(DATABASE_USERNAME):$(DATABASE_PASSWORD)@$(DATABASE_HOST)/$(DATABASE_NAME)" + - name: PROXY_MASTER_KEY + valueFrom: + secretKeyRef: + name: {{ include "litellm.name" . }}-masterkey + key: masterkey + envFrom: + {{- range .Values.environmentSecrets }} + - secretRef: + name: {{ . }} + {{- end }} + args: + - --config + - /etc/litellm/config.yaml + # command: + # - bash + # - -c + # - | + # ls -la /etc/litellm/; cat /etc/litellm/config.yaml; export + # find / 2>/dev/null | grep -v -e '^/proc' -e '^/sys' -e '^/dev' >/tmp/before.list + # prisma generate + # find / 2>/dev/null | grep -v -e '^/proc' -e '^/sys' -e '^/dev' >/tmp/after.list + # diff -ruN /tmp/before.list /tmp/after.list + # sleep 3600 + ports: + - name: http + containerPort: {{ .Values.service.port }} + protocol: TCP + livenessProbe: + httpGet: + path: /health/liveliness + port: http + readinessProbe: + httpGet: + path: /health/readiness + port: http + # Give the container time to start up. Up to 5 minutes (10 * 30 seconds) + startupProbe: + httpGet: + path: /health/readiness + port: http + failureThreshold: 30 + periodSeconds: 10 + resources: + {{- toYaml .Values.resources | nindent 12 }} + volumeMounts: + - name: litellm-config + mountPath: /etc/litellm/ + {{ if .Values.securityContext.readOnlyRootFilesystem }} + - name: tmp + mountPath: /tmp + - name: cache + mountPath: /.cache + - name: npm + mountPath: /.npm + {{- end }} + {{- with .Values.volumeMounts }} + {{- toYaml . | nindent 12 }} + {{- end }} + volumes: + {{ if .Values.securityContext.readOnlyRootFilesystem }} + - name: tmp + emptyDir: + sizeLimit: 500Mi + - name: cache + emptyDir: + sizeLimit: 500Mi + - name: npm + emptyDir: + sizeLimit: 500Mi + {{- end }} + - name: litellm-config + configMap: + name: {{ include "litellm.fullname" . }}-config + items: + - key: "config.yaml" + path: "config.yaml" + {{- with .Values.volumes }} + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} diff --git a/deploy/charts/litellm-helm/templates/deployment-ui.yaml b/deploy/charts/litellm-helm/templates/deployment-ui.yaml new file mode 100644 index 00000000000..f949e202998 --- /dev/null +++ b/deploy/charts/litellm-helm/templates/deployment-ui.yaml @@ -0,0 +1,89 @@ +{{- if .Values.ui.enabled -}} +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "litellm.fullname" . }}-ui + labels: + {{- include "litellm.labels" . | nindent 4 }} +spec: + {{- if not .Values.ui.autoscaling.enabled }} + replicas: {{ .Values.ui.replicaCount }} + {{- end }} + selector: + matchLabels: + {{- include "litellm.ui.selectorLabels" . | nindent 6 }} + template: + metadata: + {{- with .Values.podAnnotations }} + annotations: + {{- toYaml . | nindent 8 }} + {{- end }} + labels: + {{- include "litellm.ui.labels" . | nindent 8 }} + {{- with .Values.ui.podLabels }} + {{- toYaml . | nindent 8 }} + {{- end }} + spec: + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + serviceAccountName: {{ include "litellm.serviceAccountName" . }} + securityContext: + {{- toYaml .Values.ui.podSecurityContext | nindent 8 }} + containers: + - name: {{ include "litellm.name" . }}-ui + securityContext: + {{- toYaml .Values.ui.securityContext | nindent 12 }} + image: "{{ .Values.ui.image.repository }}:{{ .Values.ui.image.tag | default (printf "main-%s" .Chart.AppVersion) }}" + imagePullPolicy: {{ .Values.ui.image.pullPolicy }} + env: + - name: BASE_URL + value: {{ (index .Values.ui.ingress.hosts 0).host | default "example.com" }} + ports: + - name: http + containerPort: {{ .Values.ui.service.port }} + protocol: TCP + livenessProbe: + httpGet: + path: / + port: http + readinessProbe: + httpGet: + path: / + port: http + # Give the container time to start up. Up to 5 minutes (10 * 30 seconds) + startupProbe: + httpGet: + path: / + port: http + failureThreshold: 30 + periodSeconds: 10 + resources: + {{- toYaml .Values.ui.resources | nindent 12 }} + volumeMounts: + - name: tmp + mountPath: /tmp + {{- with .Values.ui.volumeMounts }} + {{- toYaml . | nindent 12 }} + {{- end }} + volumes: + - name: tmp + emptyDir: + sizeLimit: 500Mi + {{- with .Values.ui.volumes }} + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.ui.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.ui.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.ui.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} +{{- end -}} \ No newline at end of file diff --git a/deploy/charts/litellm-helm/templates/hpa.yaml b/deploy/charts/litellm-helm/templates/hpa.yaml new file mode 100644 index 00000000000..71e199c5aeb --- /dev/null +++ b/deploy/charts/litellm-helm/templates/hpa.yaml @@ -0,0 +1,32 @@ +{{- if .Values.autoscaling.enabled }} +apiVersion: autoscaling/v2 +kind: HorizontalPodAutoscaler +metadata: + name: {{ include "litellm.fullname" . }} + labels: + {{- include "litellm.labels" . | nindent 4 }} +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: {{ include "litellm.fullname" . }} + minReplicas: {{ .Values.autoscaling.minReplicas }} + maxReplicas: {{ .Values.autoscaling.maxReplicas }} + metrics: + {{- if .Values.autoscaling.targetCPUUtilizationPercentage }} + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }} + {{- end }} + {{- if .Values.autoscaling.targetMemoryUtilizationPercentage }} + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }} + {{- end }} +{{- end }} diff --git a/deploy/charts/litellm-helm/templates/ingress-proxy.yaml b/deploy/charts/litellm-helm/templates/ingress-proxy.yaml new file mode 100644 index 00000000000..95bf83c99f0 --- /dev/null +++ b/deploy/charts/litellm-helm/templates/ingress-proxy.yaml @@ -0,0 +1,61 @@ +{{- if .Values.ingress.enabled -}} +{{- $fullName := (printf "%s%s" (include "litellm.fullname" .) "-proxy") -}} +{{- $svcPort := .Values.service.port -}} +{{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }} + {{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }} + {{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}} + {{- end }} +{{- end }} +{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}} +apiVersion: networking.k8s.io/v1 +{{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}} +apiVersion: networking.k8s.io/v1beta1 +{{- else -}} +apiVersion: extensions/v1beta1 +{{- end }} +kind: Ingress +metadata: + name: {{ $fullName }} + labels: + {{- include "litellm.labels" . | nindent 4 }} + {{- with .Values.ingress.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +spec: + {{- if and .Values.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }} + ingressClassName: {{ .Values.ingress.className }} + {{- end }} + {{- if .Values.ingress.tls }} + tls: + {{- range .Values.ingress.tls }} + - hosts: + {{- range .hosts }} + - {{ . | quote }} + {{- end }} + secretName: {{ .secretName }} + {{- end }} + {{- end }} + rules: + {{- range .Values.ingress.hosts }} + - host: {{ .host | quote }} + http: + paths: + {{- range .paths }} + - path: {{ .path }} + {{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }} + pathType: {{ .pathType }} + {{- end }} + backend: + {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }} + service: + name: {{ $fullName }} + port: + number: {{ $svcPort }} + {{- else }} + serviceName: {{ $fullName }} + servicePort: {{ $svcPort }} + {{- end }} + {{- end }} + {{- end }} +{{- end }} diff --git a/deploy/charts/litellm-helm/templates/ingress-ui.yaml b/deploy/charts/litellm-helm/templates/ingress-ui.yaml new file mode 100644 index 00000000000..791ccf2b004 --- /dev/null +++ b/deploy/charts/litellm-helm/templates/ingress-ui.yaml @@ -0,0 +1,61 @@ +{{- if .Values.ui.ingress.enabled -}} +{{- $fullName := (printf "%s%s" (include "litellm.fullname" .) "-ui") -}} +{{- $svcPort := .Values.ui.service.port -}} +{{- if and .Values.ui.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }} + {{- if not (hasKey .Values.ui.ingress.annotations "kubernetes.io/ingress.class") }} + {{- $_ := set .Values.ui.ingress.annotations "kubernetes.io/ingress.class" .Values.ui.ingress.className}} + {{- end }} +{{- end }} +{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}} +apiVersion: networking.k8s.io/v1 +{{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}} +apiVersion: networking.k8s.io/v1beta1 +{{- else -}} +apiVersion: extensions/v1beta1 +{{- end }} +kind: Ingress +metadata: + name: {{ $fullName }} + labels: + {{- include "litellm.ui.labels" . | nindent 4 }} + {{- with .Values.ui.ingress.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +spec: + {{- if and .Values.ui.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }} + ingressClassName: {{ .Values.ui.ingress.className }} + {{- end }} + {{- if .Values.ui.ingress.tls }} + tls: + {{- range .Values.ui.ingress.tls }} + - hosts: + {{- range .hosts }} + - {{ . | quote }} + {{- end }} + secretName: {{ .secretName }} + {{- end }} + {{- end }} + rules: + {{- range .Values.ui.ingress.hosts }} + - host: {{ .host | quote }} + http: + paths: + {{- range .paths }} + - path: {{ .path }} + {{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }} + pathType: {{ .pathType }} + {{- end }} + backend: + {{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }} + service: + name: {{ $fullName }} + port: + number: {{ $svcPort }} + {{- else }} + serviceName: {{ $fullName }} + servicePort: {{ $svcPort }} + {{- end }} + {{- end }} + {{- end }} +{{- end }} diff --git a/deploy/charts/litellm-helm/templates/secret-dbcredentials.yaml b/deploy/charts/litellm-helm/templates/secret-dbcredentials.yaml new file mode 100644 index 00000000000..fc688effb4b --- /dev/null +++ b/deploy/charts/litellm-helm/templates/secret-dbcredentials.yaml @@ -0,0 +1,12 @@ +{{- if .Values.db.deployStandalone -}} +apiVersion: v1 +kind: Secret +metadata: + name: {{ include "litellm.name" . }}-dbcredentials +data: + # Password for the "postgres" user + postgres-password: {{ ( index .Values.postgresql.auth "postgres-password") | default "litellm" | b64enc }} + username: {{ .Values.postgresql.auth.username | default "litellm" | b64enc }} + password: {{ .Values.postgresql.auth.password | default "litellm" | b64enc }} +type: Opaque +{{- end -}} \ No newline at end of file diff --git a/deploy/charts/litellm-helm/templates/secret-masterkey.yaml b/deploy/charts/litellm-helm/templates/secret-masterkey.yaml new file mode 100644 index 00000000000..8b22b476c63 --- /dev/null +++ b/deploy/charts/litellm-helm/templates/secret-masterkey.yaml @@ -0,0 +1,8 @@ +{{ $masterkey := (.Values.masterkey | default (randAlphaNum 17)) }} +apiVersion: v1 +kind: Secret +metadata: + name: {{ include "litellm.name" . }}-masterkey +data: + masterkey: {{ $masterkey | b64enc }} +type: Opaque \ No newline at end of file diff --git a/deploy/charts/litellm-helm/templates/service-proxy.yaml b/deploy/charts/litellm-helm/templates/service-proxy.yaml new file mode 100644 index 00000000000..3c3c744b543 --- /dev/null +++ b/deploy/charts/litellm-helm/templates/service-proxy.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ include "litellm.fullname" . }}-proxy + labels: + {{- include "litellm.labels" . | nindent 4 }} +spec: + type: {{ .Values.service.type }} + ports: + - port: {{ .Values.service.port }} + targetPort: http + protocol: TCP + name: http + selector: + {{- include "litellm.selectorLabels" . | nindent 4 }} diff --git a/deploy/charts/litellm-helm/templates/service-ui.yaml b/deploy/charts/litellm-helm/templates/service-ui.yaml new file mode 100644 index 00000000000..50781899d9a --- /dev/null +++ b/deploy/charts/litellm-helm/templates/service-ui.yaml @@ -0,0 +1,17 @@ +{{- if .Values.ui.enabled -}} +apiVersion: v1 +kind: Service +metadata: + name: {{ include "litellm.fullname" . }}-ui + labels: + {{- include "litellm.labels" . | nindent 4 }} +spec: + type: {{ .Values.ui.service.type }} + ports: + - port: {{ .Values.ui.service.port }} + targetPort: http + protocol: TCP + name: http + selector: + {{- include "litellm.ui.selectorLabels" . | nindent 4 }} +{{ end -}} \ No newline at end of file diff --git a/deploy/charts/litellm-helm/templates/serviceaccount.yaml b/deploy/charts/litellm-helm/templates/serviceaccount.yaml new file mode 100644 index 00000000000..7655470fa42 --- /dev/null +++ b/deploy/charts/litellm-helm/templates/serviceaccount.yaml @@ -0,0 +1,13 @@ +{{- if .Values.serviceAccount.create -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ include "litellm.serviceAccountName" . }} + labels: + {{- include "litellm.labels" . | nindent 4 }} + {{- with .Values.serviceAccount.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} +automountServiceAccountToken: {{ .Values.serviceAccount.automount }} +{{- end }} diff --git a/deploy/charts/litellm-helm/templates/tests/test-connection.yaml b/deploy/charts/litellm-helm/templates/tests/test-connection.yaml new file mode 100644 index 00000000000..1f072069cfe --- /dev/null +++ b/deploy/charts/litellm-helm/templates/tests/test-connection.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Pod +metadata: + name: "{{ include "litellm.fullname" . }}-test-connection" + labels: + {{- include "litellm.labels" . | nindent 4 }} + annotations: + "helm.sh/hook": test +spec: + containers: + - name: wget + image: busybox + command: ['wget'] + args: ['{{ include "litellm.fullname" . }}:{{ .Values.service.port }}'] + restartPolicy: Never diff --git a/deploy/charts/litellm-helm/values.yaml b/deploy/charts/litellm-helm/values.yaml new file mode 100644 index 00000000000..3c71310556f --- /dev/null +++ b/deploy/charts/litellm-helm/values.yaml @@ -0,0 +1,219 @@ +# Default values for litellm. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +replicaCount: 1 + +image: + repository: ghcr.io/berriai/litellm + pullPolicy: IfNotPresent + # Overrides the image tag whose default is the chart appVersion. + # tag: "main-latest" + tag: "" + + # Image and tag used for the init container to check and wait for the + # readiness of the postgres database. + dbReadyImage: docker.io/bitnami/postgresql + dbReadyTag: "" + +imagePullSecrets: [] +nameOverride: "litellm" +fullnameOverride: "" + +serviceAccount: + # Specifies whether a service account should be created + create: false + # Automatically mount a ServiceAccount's API credentials? + automount: true + # Annotations to add to the service account + annotations: {} + # The name of the service account to use. + # If not set and create is true, a name is generated using the fullname template + name: "" + +podAnnotations: {} +podLabels: {} + +# At the time of writing, the litellm docker image requires write access to the +# filesystem on startup so that prisma can install some dependencies. +podSecurityContext: {} +securityContext: {} + # capabilities: + # drop: + # - ALL + # readOnlyRootFilesystem: false + # runAsNonRoot: true + # runAsUser: 1000 + +# A list of Kubernetes Secret objects that will be exported to the LiteLLM proxy +# pod as environment variables. These secrets can then be referenced in the +# configuration file (or "litellm" ConfigMap) with `os.environ/` +environmentSecrets: [] + # - litellm-envsecrets + +service: + type: ClusterIP + port: 8000 + +ingress: + enabled: true + className: "nginx" + annotations: {} + # kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: "true" + hosts: + - host: api.example.local + paths: + - path: / + pathType: ImplementationSpecific + tls: [] + # - secretName: chart-example-tls + # hosts: + # - chart-example.local + +# The elements within proxy_config are rendered as config.yaml for the proxy +# Examples: https://github.com/BerriAI/litellm/tree/main/litellm/proxy/example_config_yaml +# Reference: https://docs.litellm.ai/docs/proxy/configs +proxy_config: + model_list: + # At least one model must exist for the proxy to start. + - model_name: gpt-3.5-turbo + litellm_params: + model: gpt-3.5-turbo + api_key: eXaMpLeOnLy + general_settings: + master_key: os.environ/PROXY_MASTER_KEY + +resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + +autoscaling: + enabled: false + minReplicas: 1 + maxReplicas: 100 + targetCPUUtilizationPercentage: 80 + # targetMemoryUtilizationPercentage: 80 + +# Additional volumes on the output Deployment definition. +volumes: [] +# - name: foo +# secret: +# secretName: mysecret +# optional: false + +# Additional volumeMounts on the output Deployment definition. +volumeMounts: [] +# - name: foo +# mountPath: "/etc/foo" +# readOnly: true + +nodeSelector: {} + +tolerations: [] + +affinity: {} + +db: + # Use an existing postgres server/cluster + useExisting: false + + # How to connect to the existing postgres server/cluster + endpoint: localhost + database: litellm + secret: + name: postgres + usernameKey: username + passwordKey: password + + # Use the Stackgres Helm chart to deploy an instance of a Stackgres cluster. + # The Stackgres Operator must already be installed within the target + # Kubernetes cluster. + # TODO: Stackgres deployment currently unsupported + useStackgresOperator: false + + # Use the Postgres Helm chart to create a single node, stand alone postgres + # instance. See the "postgresql" top level key for additional configuration. + deployStandalone: true + +# Settings for Bitnami postgresql chart (if db.deployStandalone is true, ignored +# otherwise) +postgresql: + architecture: standalone + auth: + username: litellm + database: litellm + + # You should override these on the helm command line with + # `--set postgresql.auth.postgres-password=,postgresql.auth.password=` + password: NoTaGrEaTpAsSwOrD + postgres-password: NoTaGrEaTpAsSwOrD + + # A secret is created by this chart (litellm-helm) with the credentials that + # the new Postgres instance should use. + existingSecret: litellm-dbcredentials + secretKeys: + userPasswordKey: password + +ui: + enabled: true + replicaCount: 1 + autoscaling: + enabled: false + image: + repository: ghcr.io/berriai/litellm-ui + pullPolicy: IfNotPresent + # Overrides the image tag whose default is the chart appVersion. + # tag: "main-latest" + # TODO: Switch to BerryAI repo and tags if/when they provide a ui image + # https://github.com/BerriAI/litellm/pull/1505 + tag: "" + + service: + type: ClusterIP + port: 8501 + + ingress: + enabled: true + className: "nginx" + annotations: {} + hosts: + - host: ui.example.local + paths: + - path: / + pathType: ImplementationSpecific + tls: [] + + podAnnotations: {} + podLabels: {} + + podSecurityContext: + fsGroup: 1000 + + securityContext: + capabilities: + drop: + - ALL + readOnlyRootFilesystem: true + runAsNonRoot: true + runAsUser: 1000 + + resources: {} + + volumes: [] + + volumeMounts: [] + + nodeSelector: {} + + tolerations: [] + + affinity: {} \ No newline at end of file diff --git a/docker-compose.example.yml b/docker-compose.example.yml deleted file mode 100644 index 6fdaf1506d0..00000000000 --- a/docker-compose.example.yml +++ /dev/null @@ -1,12 +0,0 @@ -version: "3.9" -services: - litellm: - image: ghcr.io/berriai/litellm:main - ports: - - "8000:8000" # Map the container port to the host, change the host port if necessary - volumes: - - ./litellm-config.yaml:/app/config.yaml # Mount the local configuration file - # You can change the port or number of workers as per your requirements or pass any new supported CLI augument. Make sure the port passed here matches with the container port defined above in `ports` value - command: [ "--config", "/app/config.yaml", "--port", "8000", "--num_workers", "8" ] - -# ...rest of your docker-compose config if any diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000000..36d5d3976ed --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,15 @@ +version: "3.9" +services: + litellm: + image: ghcr.io/berriai/litellm:main-latest + volumes: + - ./proxy_server_config.yaml:/app/proxy_server_config.yaml # mount your litellm config.yaml + ports: + - "4000:4000" + environment: + - AZURE_API_KEY=sk-123 + litellm-ui: + image: ghcr.io/berriai/litellm-ui:main-latest + + + diff --git a/docs/my-website/docs/caching/redis_cache.md b/docs/my-website/docs/caching/redis_cache.md index 8a580f087ca..b54ad2d0c11 100644 --- a/docs/my-website/docs/caching/redis_cache.md +++ b/docs/my-website/docs/caching/redis_cache.md @@ -1,11 +1,17 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# Caching - In-Memory, Redis, s3 +# Caching - In-Memory, Redis, s3, Redis Semantic Cache [**See Code**](https://github.com/BerriAI/litellm/blob/main/litellm/caching.py) -## Initialize Cache - In Memory, Redis, s3 Bucket +:::info + +Need to use Caching on LiteLLM Proxy Server? Doc here: [Caching Proxy Server](https://docs.litellm.ai/docs/proxy/caching) + +::: + +## Initialize Cache - In Memory, Redis, s3 Bucket, Redis Semantic Cache @@ -18,7 +24,7 @@ pip install redis ``` For the hosted version you can setup your own Redis DB here: https://app.redislabs.com/ -### Quick Start + ```python import litellm from litellm import completion @@ -55,7 +61,7 @@ Set AWS environment variables AWS_ACCESS_KEY_ID = "AKI*******" AWS_SECRET_ACCESS_KEY = "WOl*****" ``` -### Quick Start + ```python import litellm from litellm import completion @@ -80,6 +86,66 @@ response2 = completion( + + +Install redis +```shell +pip install redisvl==0.0.7 +``` + +For the hosted version you can setup your own Redis DB here: https://app.redislabs.com/ + +```python +import litellm +from litellm import completion +from litellm.caching import Cache + +random_number = random.randint( + 1, 100000 +) # add a random number to ensure it's always adding / reading from cache + +print("testing semantic caching") +litellm.cache = Cache( + type="redis-semantic", + host=os.environ["REDIS_HOST"], + port=os.environ["REDIS_PORT"], + password=os.environ["REDIS_PASSWORD"], + similarity_threshold=0.8, # similarity threshold for cache hits, 0 == no similarity, 1 = exact matches, 0.5 == 50% similarity + redis_semantic_cache_embedding_model="text-embedding-ada-002", # this model is passed to litellm.embedding(), any litellm.embedding() model is supported here +) +response1 = completion( + model="gpt-3.5-turbo", + messages=[ + { + "role": "user", + "content": f"write a one sentence poem about: {random_number}", + } + ], + max_tokens=20, +) +print(f"response1: {response1}") + +random_number = random.randint(1, 100000) + +response2 = completion( + model="gpt-3.5-turbo", + messages=[ + { + "role": "user", + "content": f"write a one sentence poem about: {random_number}", + } + ], + max_tokens=20, +) +print(f"response2: {response1}") +assert response1.id == response2.id +# response1 == response2, response 1 is cached +``` + + + + + ### Quick Start diff --git a/docs/my-website/docs/completion/token_usage.md b/docs/my-website/docs/completion/token_usage.md index 3760c3311bf..626973c57be 100644 --- a/docs/my-website/docs/completion/token_usage.md +++ b/docs/my-website/docs/completion/token_usage.md @@ -150,5 +150,12 @@ litellm.register_model(model_cost= "https://raw.githubusercontent.com/BerriAI/litellm/main/model_prices_and_context_window.json") ``` +**Don't pull hosted model_cost_map** +If you have firewalls, and want to just use the local copy of the model cost map, you can do so like this: +```bash +export LITELLM_LOCAL_MODEL_COST_MAP="True" +``` + +Note: this means you will need to upgrade to get updated pricing, and newer models. diff --git a/docs/my-website/docs/embedding/supported_embedding.md b/docs/my-website/docs/embedding/supported_embedding.md index 462cc1e7029..d864c5796c0 100644 --- a/docs/my-website/docs/embedding/supported_embedding.md +++ b/docs/my-website/docs/embedding/supported_embedding.md @@ -13,8 +13,8 @@ response = embedding(model='text-embedding-ada-002', input=["good morning from l - `model`: *string* - ID of the model to use. `model='text-embedding-ada-002'` -- `input`: *array* - Input text to embed, encoded as a string or array of tokens. To embed multiple inputs in a single request, pass an array of strings or array of token arrays. The input must not exceed the max input tokens for the model (8192 tokens for text-embedding-ada-002), cannot be an empty string, and any array must be 2048 dimensions or less. -``` +- `input`: *string or array* - Input text to embed, encoded as a string or array of tokens. To embed multiple inputs in a single request, pass an array of strings or array of token arrays. The input must not exceed the max input tokens for the model (8192 tokens for text-embedding-ada-002), cannot be an empty string, and any array must be 2048 dimensions or less. +```python input=["good morning from litellm"] ``` @@ -22,7 +22,11 @@ input=["good morning from litellm"] - `user`: *string (optional)* A unique identifier representing your end-user, -- `timeout`: *integer* - The maximum time, in seconds, to wait for the API to respond. Defaults to 600 seconds (10 minutes). +- `dimensions`: *integer (Optional)* The number of dimensions the resulting output embeddings should have. Only supported in OpenAI/Azure text-embedding-3 and later models. + +- `encoding_format`: *string (Optional)* The format to return the embeddings in. Can be either `"float"` or `"base64"`. Defaults to `encoding_format="float"` + +- `timeout`: *integer (Optional)* - The maximum time, in seconds, to wait for the API to respond. Defaults to 600 seconds (10 minutes). - `api_base`: *string (optional)* - The api endpoint you want to call the model with @@ -66,11 +70,18 @@ input=["good morning from litellm"] from litellm import embedding import os os.environ['OPENAI_API_KEY'] = "" -response = embedding('text-embedding-ada-002', input=["good morning from litellm"]) +response = embedding( + model="text-embedding-3-small", + input=["good morning from litellm", "this is another item"], + metadata={"anything": "good day"}, + dimensions=5 # Only supported in text-embedding-3 and later models. +) ``` | Model Name | Function Call | Required OS Variables | |----------------------|---------------------------------------------|--------------------------------------| +| text-embedding-3-small | `embedding('text-embedding-3-small', input)` | `os.environ['OPENAI_API_KEY']` | +| text-embedding-3-large | `embedding('text-embedding-3-large', input)` | `os.environ['OPENAI_API_KEY']` | | text-embedding-ada-002 | `embedding('text-embedding-ada-002', input)` | `os.environ['OPENAI_API_KEY']` | ## Azure OpenAI Embedding Models diff --git a/docs/my-website/docs/enterprise.md b/docs/my-website/docs/enterprise.md new file mode 100644 index 00000000000..d530568d76c --- /dev/null +++ b/docs/my-website/docs/enterprise.md @@ -0,0 +1,15 @@ +# Enterprise + +LiteLLM offers dedicated enterprise support. + +This covers: +- **Feature Prioritization** +- **Custom Integrations** +- **Professional Support - Dedicated discord + slack** +- **Custom SLAs** + +:::info + +[Talk to founders](https://calendly.com/d/4mp-gd3-k5k/litellm-1-1-onboarding-chat) + +::: \ No newline at end of file diff --git a/docs/my-website/docs/image_generation.md b/docs/my-website/docs/image_generation.md index 08c5dc68e6d..002d95c0307 100644 --- a/docs/my-website/docs/image_generation.md +++ b/docs/my-website/docs/image_generation.md @@ -131,3 +131,23 @@ response = image_generation( prompt="cute baby otter" ) ``` + +## Bedrock - Stable Diffusion +Use this for stable diffusion on bedrock + + +### Usage +```python +import os +from litellm import image_generation + +os.environ["AWS_ACCESS_KEY_ID"] = "" +os.environ["AWS_SECRET_ACCESS_KEY"] = "" +os.environ["AWS_REGION_NAME"] = "" + +response = image_generation( + prompt="A cute baby sea otter", + model="bedrock/stability.stable-diffusion-xl-v0", + ) +print(f"response: {response}") +``` \ No newline at end of file diff --git a/docs/my-website/docs/index.md b/docs/my-website/docs/index.md index f6bd7bc42b6..d7ed1401950 100644 --- a/docs/my-website/docs/index.md +++ b/docs/my-website/docs/index.md @@ -5,10 +5,14 @@ import TabItem from '@theme/TabItem'; https://github.com/BerriAI/litellm -import QuickStart from '../src/components/QuickStart.js' ## **Call 100+ LLMs using the same Input/Output Format** +- Translate inputs to provider's `completion`, `embedding`, and `image_generation` endpoints +- [Consistent output](https://docs.litellm.ai/docs/completion/output), text responses will always be available at `['choices'][0]['message']['content']` +- Retry/fallback logic across multiple deployments (e.g. Azure/OpenAI) - [Router](https://docs.litellm.ai/docs/routing) +- Track spend & set budgets per project [OpenAI Proxy Server](https://docs.litellm.ai/docs/simple_proxy) + ## Basic usage
Open In Colab @@ -157,9 +161,6 @@ response = completion( messages=[{ "content": "Hello, how are you?","role": "user"}], stream=True, ) - -for chunk in response: - print(chunk) ``` @@ -177,9 +178,6 @@ response = completion( messages=[{ "content": "Hello, how are you?","role": "user"}], stream=True, ) - -for chunk in response: - print(chunk) ``` @@ -199,9 +197,6 @@ response = completion( messages=[{ "content": "Hello, how are you?","role": "user"}], stream=True, ) - -for chunk in response: - print(chunk) ``` @@ -222,9 +217,7 @@ response = completion( stream=True, ) - -for chunk in response: - print(chunk) +print(response) ``` @@ -246,9 +239,6 @@ response = completion( messages = [{ "content": "Hello, how are you?","role": "user"}], stream=True, ) - -for chunk in response: - print(chunk) ``` @@ -265,9 +255,6 @@ response = completion( api_base="http://localhost:11434", stream=True, ) - -for chunk in response: - print(chunk) ``` @@ -284,9 +271,6 @@ response = completion( messages = [{ "content": "Hello, how are you?","role": "user"}], stream=True, ) - -for chunk in response: - print(chunk) ``` @@ -327,34 +311,8 @@ litellm.success_callback = ["langfuse", "llmonitor"] # log input/output to langf response = completion(model="gpt-3.5-turbo", messages=[{"role": "user", "content": "Hi 👋 - i'm openai"}]) ``` -## Calculate Costs, Usage, Latency - -Pass the completion response to `litellm.completion_cost(completion_response=response)` and get the cost - -```python -from litellm import completion, completion_cost -import os -os.environ["OPENAI_API_KEY"] = "your-api-key" - -response = completion( - model="gpt-3.5-turbo", - messages=[{ "content": "Hello, how are you?","role": "user"}] -) - -cost = completion_cost(completion_response=response) -print("Cost for completion call with gpt-3.5-turbo: ", f"${float(cost):.10f}") -``` - -**Output** -```shell -Cost for completion call with gpt-3.5-turbo: $0.0000775000 -``` - -### Track Costs, Usage, Latency for streaming -We use a custom callback function for this - more info on custom callbacks: https://docs.litellm.ai/docs/observability/custom_callback -- We define a callback function to calculate cost `def track_cost_callback()` -- In `def track_cost_callback()` we check if the stream is complete - `if "complete_streaming_response" in kwargs` -- Use `litellm.completion_cost()` to calculate cost, once the stream is complete +## Track Costs, Usage, Latency for streaming +Use a callback function for this - more info on custom callbacks: https://docs.litellm.ai/docs/observability/custom_callback ```python import litellm @@ -366,18 +324,8 @@ def track_cost_callback( start_time, end_time # start/end time ): try: - # check if it has collected an entire stream response - if "complete_streaming_response" in kwargs: - # for tracking streaming cost we pass the "messages" and the output_text to litellm.completion_cost - completion_response=kwargs["complete_streaming_response"] - input_text = kwargs["messages"] - output_text = completion_response["choices"][0]["message"]["content"] - response_cost = litellm.completion_cost( - model = kwargs["model"], - messages = input_text, - completion=output_text - ) - print("streaming response_cost", response_cost) + response_cost = kwargs.get("response_cost", 0) + print("streaming response_cost", response_cost) except: pass # set callback @@ -400,6 +348,8 @@ response = completion( Track spend across multiple projects/people +![ui_3](https://github.com/BerriAI/litellm/assets/29436595/47c97d5e-b9be-4839-b28c-43d7f4f10033) + The proxy provides: 1. [Hooks for auth](https://docs.litellm.ai/docs/proxy/virtual_keys#custom-auth) 2. [Hooks for logging](https://docs.litellm.ai/docs/proxy/logging#step-1---create-your-custom-litellm-callback-class) @@ -436,8 +386,7 @@ response = client.chat.completions.create(model="gpt-3.5-turbo", messages = [ print(response) ``` - ## More details * [exception mapping](./exception_mapping.md) * [retries + model fallbacks for completion()](./completion/reliable_completions.md) -* [tutorial for model fallbacks with completion()](./tutorials/fallbacks.md) +* [proxy virtual keys & spend management](./tutorials/fallbacks.md) \ No newline at end of file diff --git a/docs/my-website/docs/observability/langfuse_integration.md b/docs/my-website/docs/observability/langfuse_integration.md index 3de426ec385..294f3fb3896 100644 --- a/docs/my-website/docs/observability/langfuse_integration.md +++ b/docs/my-website/docs/observability/langfuse_integration.md @@ -27,6 +27,7 @@ Use just 2 lines of code, to instantly log your responses **across all providers Get your Langfuse API Keys from https://cloud.langfuse.com/ ```python litellm.success_callback = ["langfuse"] +litellm.failure_callback = ["langfuse"] # logs errors to langfuse ``` ```python # pip install langfuse @@ -93,7 +94,7 @@ print(response) ``` -### Set Custom Trace ID, Trace User ID +### Set Custom Trace ID, Trace User ID and Tags Pass `trace_id`, `trace_user_id` in `metadata` @@ -122,6 +123,8 @@ response = completion( "generation_id": "gen-id22", # set langfuse Generation ID "trace_id": "trace-id22", # set langfuse Trace ID "trace_user_id": "user-id2", # set langfuse Trace User ID + "session_id": "session-1", # set langfuse Session ID + "tags": ["tag1", "tag2"] # set langfuse Tags }, ) diff --git a/docs/my-website/docs/providers/azure.md b/docs/my-website/docs/providers/azure.md index 4895b2b1cfb..bc141810cef 100644 --- a/docs/my-website/docs/providers/azure.md +++ b/docs/my-website/docs/providers/azure.md @@ -74,6 +74,8 @@ response = litellm.completion( | gpt-4-32k | `completion('azure/', messages)` | | gpt-4-32k-0314 | `completion('azure/', messages)` | | gpt-4-32k-0613 | `completion('azure/', messages)` | +| gpt-4-1106-preview | `completion('azure/', messages)` | +| gpt-4-0125-preview | `completion('azure/', messages)` | | gpt-3.5-turbo | `completion('azure/', messages)` | | gpt-3.5-turbo-0301 | `completion('azure/', messages)` | | gpt-3.5-turbo-0613 | `completion('azure/', messages)` | diff --git a/docs/my-website/docs/providers/bedrock.md b/docs/my-website/docs/providers/bedrock.md index d6a341e3e8a..691e1f29d46 100644 --- a/docs/my-website/docs/providers/bedrock.md +++ b/docs/my-website/docs/providers/bedrock.md @@ -197,7 +197,7 @@ response = completion( ### SSO Login (AWS Profile) - Set `AWS_PROFILE` environment variable -- Make bedrock completion call +- Make bedrock completion call ```python import os from litellm import completion @@ -208,11 +208,24 @@ response = completion( ) ``` -### STS based Auth +or pass `aws_profile_name`: + +```python +import os +from litellm import completion + +response = completion( + model="bedrock/anthropic.claude-instant-v1", + messages=[{ "content": "Hello, how are you?","role": "user"}], + aws_profile_name="dev-profile", +) +``` + +### STS based Auth - Set `aws_role_name` and `aws_session_name` in completion() / embedding() function -Make the bedrock completion call +Make the bedrock completion call ```python from litellm import completion @@ -315,3 +328,50 @@ print(response) | Titan Embeddings - G1 | `embedding(model="bedrock/amazon.titan-embed-text-v1", input=input)` | | Cohere Embeddings - English | `embedding(model="bedrock/cohere.embed-english-v3", input=input)` | | Cohere Embeddings - Multilingual | `embedding(model="bedrock/cohere.embed-multilingual-v3", input=input)` | + +## Image Generation +Use this for stable diffusion on bedrock + + +### Usage +```python +import os +from litellm import image_generation + +os.environ["AWS_ACCESS_KEY_ID"] = "" +os.environ["AWS_SECRET_ACCESS_KEY"] = "" +os.environ["AWS_REGION_NAME"] = "" + +response = image_generation( + prompt="A cute baby sea otter", + model="bedrock/stability.stable-diffusion-xl-v0", + ) +print(f"response: {response}") +``` + +**Set optional params** +```python +import os +from litellm import image_generation + +os.environ["AWS_ACCESS_KEY_ID"] = "" +os.environ["AWS_SECRET_ACCESS_KEY"] = "" +os.environ["AWS_REGION_NAME"] = "" + +response = image_generation( + prompt="A cute baby sea otter", + model="bedrock/stability.stable-diffusion-xl-v0", + ### OPENAI-COMPATIBLE ### + size="128x512", # width=128, height=512 + ### PROVIDER-SPECIFIC ### see `AmazonStabilityConfig` in bedrock.py for all params + seed=30 + ) +print(f"response: {response}") +``` + +## Supported AWS Bedrock Image Generation Models + +| Model Name | Function Call | +|----------------------|---------------------------------------------| +| Stable Diffusion - v0 | `embedding(model="bedrock/stability.stable-diffusion-xl-v0", prompt=prompt)` | +| Stable Diffusion - v0 | `embedding(model="bedrock/stability.stable-diffusion-xl-v1", prompt=prompt)` | \ No newline at end of file diff --git a/docs/my-website/docs/providers/openai.md b/docs/my-website/docs/providers/openai.md index 1a515dea3aa..dd026661d88 100644 --- a/docs/my-website/docs/providers/openai.md +++ b/docs/my-website/docs/providers/openai.md @@ -34,6 +34,7 @@ os.environ["OPENAI_API_BASE"] = "openaiai-api-base" # OPTIONAL | Model Name | Function Call | |-----------------------|-----------------------------------------------------------------| +| gpt-4-0125-preview | `response = completion(model="gpt-4-0125-preview", messages=messages)` | | gpt-4-1106-preview | `response = completion(model="gpt-4-1106-preview", messages=messages)` | | gpt-3.5-turbo-1106 | `response = completion(model="gpt-3.5-turbo-1106", messages=messages)` | | gpt-3.5-turbo | `response = completion(model="gpt-3.5-turbo", messages=messages)` | @@ -173,6 +174,31 @@ response = completion( messages=[{ "content": "Hello, how are you?","role": "user"}] ) ``` + +### Set `ssl_verify=False` + +This is done by setting your own `httpx.Client` + +- For `litellm.completion` set `litellm.client_session=httpx.Client(verify=False)` +- For `litellm.acompletion` set `litellm.aclient_session=AsyncClient.Client(verify=False)` +```python +import litellm, httpx + +# for completion +litellm.client_session = httpx.Client(verify=False) +response = litellm.completion( + model="gpt-3.5-turbo", + messages=messages, +) + +# for acompletion +litellm.aclient_session = httpx.AsyncClient(verify=False) +response = litellm.acompletion( + model="gpt-3.5-turbo", + messages=messages, +) +``` + ### Using Helicone Proxy with LiteLLM ```python import os diff --git a/docs/my-website/docs/providers/vertex.md b/docs/my-website/docs/providers/vertex.md index 3349faa5299..d44410ffc8c 100644 --- a/docs/my-website/docs/providers/vertex.md +++ b/docs/my-website/docs/providers/vertex.md @@ -1,4 +1,4 @@ -# VertexAI - Google [Gemini] +# VertexAI - Google [Gemini, Model Garden] Open In Colab @@ -20,6 +20,27 @@ litellm.vertex_location = "us-central1" # proj location response = litellm.completion(model="gemini-pro", messages=[{"role": "user", "content": "write code for saying hi from LiteLLM"}]) ``` +## OpenAI Proxy Usage + +1. Modify the config.yaml + +```yaml +litellm_settings: + vertex_project: "hardy-device-38811" # Your Project ID + vertex_location: "us-central1" # proj location + +model_list: + -model_name: team1-gemini-pro + litellm_params: + model: gemini-pro +``` + +2. Start the proxy + +```bash +$ litellm --config /path/to/config.yaml +``` + ## Set Vertex Project & Vertex Location All calls using Vertex AI require the following parameters: * Your Project ID @@ -46,16 +67,39 @@ os.environ["VERTEXAI_LOCATION"] = "us-central1 # Your Location # set directly on module litellm.vertex_location = "us-central1 # Your Location ``` +## Model Garden +| Model Name | Function Call | +|------------------|--------------------------------------| +| llama2 | `completion('vertex_ai/', messages)` | + +#### Using Model Garden + +```python +from litellm import completion +import os + +## set ENV variables +os.environ["VERTEXAI_PROJECT"] = "hardy-device-38811" +os.environ["VERTEXAI_LOCATION"] = "us-central1" + +response = completion( + model="vertex_ai/", + messages=[{ "content": "Hello, how are you?","role": "user"}] +) +``` ## Gemini Pro | Model Name | Function Call | |------------------|--------------------------------------| -| gemini-pro | `completion('gemini-pro', messages)` | +| gemini-pro | `completion('gemini-pro', messages)`, `completion('vertex_ai/gemini-pro', messages)` | ## Gemini Pro Vision | Model Name | Function Call | |------------------|--------------------------------------| -| gemini-pro-vision | `completion('gemini-pro-vision', messages)` | +| gemini-pro-vision | `completion('gemini-pro-vision', messages)`, `completion('vertex_ai/gemini-pro-vision', messages)`| + + + #### Using Gemini Pro Vision @@ -93,6 +137,7 @@ response = litellm.completion( print(response) ``` + ## Chat Models | Model Name | Function Call | |------------------|--------------------------------------| diff --git a/docs/my-website/docs/proxy/alerting.md b/docs/my-website/docs/proxy/alerting.md index 699f6d6ffa7..e99f435248a 100644 --- a/docs/my-website/docs/proxy/alerting.md +++ b/docs/my-website/docs/proxy/alerting.md @@ -1,6 +1,13 @@ # Slack Alerting -Get alerts for failed db read/writes, hanging api calls, failed api calls. +Get alerts for: +- hanging LLM api calls +- failed LLM api calls +- slow LLM api calls +- budget Tracking per key/user: + - When a User/Key crosses their Budget + - When a User/Key is 15% away from crossing their Budget +- failed db read/writes ## Quick Start diff --git a/docs/my-website/docs/proxy/caching.md b/docs/my-website/docs/proxy/caching.md index 03bb9fed34e..50aba03db56 100644 --- a/docs/my-website/docs/proxy/caching.md +++ b/docs/my-website/docs/proxy/caching.md @@ -7,16 +7,17 @@ Cache LLM Responses LiteLLM supports: - In Memory Cache - Redis Cache +- Redis Semantic Cache - s3 Bucket Cache -## Quick Start - Redis, s3 Cache +## Quick Start - Redis, s3 Cache, Semantic Cache Caching can be enabled by adding the `cache` key in the `config.yaml` -### Step 1: Add `cache` to the config.yaml +#### Step 1: Add `cache` to the config.yaml ```yaml model_list: - model_name: gpt-3.5-turbo @@ -31,7 +32,7 @@ litellm_settings: cache: True # set cache responses to True, litellm defaults to using a redis cache ``` -### Step 2: Add Redis Credentials to .env +#### Step 2: Add Redis Credentials to .env Set either `REDIS_URL` or the `REDIS_HOST` in your os environment, to enable caching. ```shell @@ -49,7 +50,7 @@ REDIS_ = "" ``` [**See how it's read from the environment**](https://github.com/BerriAI/litellm/blob/4d7ff1b33b9991dcf38d821266290631d9bcd2dd/litellm/_redis.py#L40) -### Step 3: Run proxy with config +#### Step 3: Run proxy with config ```shell $ litellm --config /path/to/config.yaml ``` @@ -57,7 +58,7 @@ $ litellm --config /path/to/config.yaml -### Step 1: Add `cache` to the config.yaml +#### Step 1: Add `cache` to the config.yaml ```yaml model_list: - model_name: gpt-3.5-turbo @@ -79,7 +80,57 @@ litellm_settings: s3_endpoint_url: https://s3.amazonaws.com # [OPTIONAL] S3 endpoint URL, if you want to use Backblaze/cloudflare s3 buckets ``` -### Step 2: Run proxy with config +#### Step 2: Run proxy with config +```shell +$ litellm --config /path/to/config.yaml +``` + + + + + +Caching can be enabled by adding the `cache` key in the `config.yaml` + +#### Step 1: Add `cache` to the config.yaml +```yaml +model_list: + - model_name: gpt-3.5-turbo + litellm_params: + model: gpt-3.5-turbo + - model_name: azure-embedding-model + litellm_params: + model: azure/azure-embedding-model + api_base: os.environ/AZURE_API_BASE + api_key: os.environ/AZURE_API_KEY + api_version: "2023-07-01-preview" + +litellm_settings: + set_verbose: True + cache: True # set cache responses to True, litellm defaults to using a redis cache + cache_params: + type: "redis-semantic" + similarity_threshold: 0.8 # similarity threshold for semantic cache + redis_semantic_cache_embedding_model: azure-embedding-model # set this to a model_name set in model_list +``` + +#### Step 2: Add Redis Credentials to .env +Set either `REDIS_URL` or the `REDIS_HOST` in your os environment, to enable caching. + + ```shell + REDIS_URL = "" # REDIS_URL='redis://username:password@hostname:port/database' + ## OR ## + REDIS_HOST = "" # REDIS_HOST='redis-18841.c274.us-east-1-3.ec2.cloud.redislabs.com' + REDIS_PORT = "" # REDIS_PORT='18841' + REDIS_PASSWORD = "" # REDIS_PASSWORD='liteLlmIsAmazing' + ``` + +**Additional kwargs** +You can pass in any additional redis.Redis arg, by storing the variable + value in your os environment, like this: +```shell +REDIS_ = "" +``` + +#### Step 3: Run proxy with config ```shell $ litellm --config /path/to/config.yaml ``` @@ -160,9 +211,10 @@ litellm_settings: The proxy support 3 cache-controls: -- `ttl`: Will cache the response for the user-defined amount of time (in seconds). -- `s-maxage`: Will only accept cached responses that are within user-defined range (in seconds). -- `no-cache`: Will not return a cached response, but instead call the actual endpoint. +- `ttl`: *Optional(int)* - Will cache the response for the user-defined amount of time (in seconds). +- `s-maxage`: *Optional(int)* Will only accept cached responses that are within user-defined range (in seconds). +- `no-cache`: *Optional(bool)* Will not return a cached response, but instead call the actual endpoint. +- `no-store`: *Optional(bool)* Will not cache the response. [Let us know if you need more](https://github.com/BerriAI/litellm/issues/1218) diff --git a/docs/my-website/docs/proxy/configs.md b/docs/my-website/docs/proxy/configs.md index b3fc93105d7..786df59c2ef 100644 --- a/docs/my-website/docs/proxy/configs.md +++ b/docs/my-website/docs/proxy/configs.md @@ -22,18 +22,22 @@ Set a model alias for your deployments. In the `config.yaml` the model_name parameter is the user-facing name to use for your deployment. -In the config below requests with: +In the config below: +- `model_name`: the name to pass TO litellm from the external client +- `litellm_params.model`: the model string passed to the litellm.completion() function + +E.g.: - `model=vllm-models` will route to `openai/facebook/opt-125m`. - `model=gpt-3.5-turbo` will load balance between `azure/gpt-turbo-small-eu` and `azure/gpt-turbo-small-ca` ```yaml model_list: - - model_name: gpt-3.5-turbo # user-facing model alias + - model_name: gpt-3.5-turbo ### RECEIVED MODEL NAME ### litellm_params: # all params accepted by litellm.completion() - https://docs.litellm.ai/docs/completion/input - model: azure/gpt-turbo-small-eu + model: azure/gpt-turbo-small-eu ### MODEL NAME sent to `litellm.completion()` ### api_base: https://my-endpoint-europe-berri-992.openai.azure.com/ api_key: "os.environ/AZURE_API_KEY_EU" # does os.getenv("AZURE_API_KEY_EU") - rpm: 6 # Rate limit for this deployment: in requests per minute (rpm) + rpm: 6 # [OPTIONAL] Rate limit for this deployment: in requests per minute (rpm) - model_name: bedrock-claude-v1 litellm_params: model: bedrock/anthropic.claude-instant-v1 @@ -43,6 +47,11 @@ model_list: api_base: https://my-endpoint-canada-berri992.openai.azure.com/ api_key: "os.environ/AZURE_API_KEY_CA" rpm: 6 + - model_name: anthropic-claude + litellm_params: + model="bedrock/anthropic.claude-instant-v1" + ### [OPTIONAL] SET AWS REGION ### + aws_region_name="us-east-1" - model_name: vllm-models litellm_params: model: openai/facebook/opt-125m # the `openai/` prefix tells litellm it's openai compatible @@ -58,6 +67,11 @@ litellm_settings: # module level litellm settings - https://github.com/BerriAI/l general_settings: master_key: sk-1234 # [OPTIONAL] Only use this if you to require all calls to contain this key (Authorization: Bearer sk-1234) ``` +:::info + +For more provider-specific info, [go here](../providers/) + +::: #### Step 2: Start Proxy with config @@ -188,7 +202,7 @@ print(response) -## Save Model-specific params (API Base, API Keys, Temperature, Max Tokens, Seed, Headers etc.) +## Save Model-specific params (API Base, API Keys, Temperature, Max Tokens, Seed, Organization, Headers etc.) You can use the config to save model-specific information like api_base, api_key, temperature, max_tokens, etc. [**All input params**](https://docs.litellm.ai/docs/completion/input#input-params-1) @@ -210,6 +224,12 @@ model_list: api_key: sk-123 api_base: https://openai-gpt-4-test-v-2.openai.azure.com/ temperature: 0.2 + - model_name: openai-gpt-3.5 + litellm_params: + model: openai/gpt-3.5-turbo + api_key: sk-123 + organization: org-ikDc4ex8NB + temperature: 0.2 - model_name: mistral-7b litellm_params: model: ollama/mistral @@ -226,6 +246,28 @@ model_list: $ litellm --config /path/to/config.yaml ``` + +## Set Azure `base_model` for cost tracking + +**Problem**: Azure returns `gpt-4` in the response when `azure/gpt-4-1106-preview` is used. This leads to inaccurate cost tracking + +**Solution** ✅ : Set `base_model` on your config so litellm uses the correct model for calculating azure cost + +Example config with `base_model` +```yaml +model_list: + - model_name: azure-gpt-3.5 + litellm_params: + model: azure/chatgpt-v-2 + api_base: os.environ/AZURE_API_BASE + api_key: os.environ/AZURE_API_KEY + api_version: "2023-07-01-preview" + model_info: + base_model: azure/gpt-4-1106-preview +``` + +You can view your cost once you set up [Virtual keys](https://docs.litellm.ai/docs/proxy/virtual_keys) or [custom_callbacks](https://docs.litellm.ai/docs/proxy/logging) + ## Load API Keys ### Load API Keys from Environment @@ -318,6 +360,26 @@ See supported Embedding Providers & Models [here](https://docs.litellm.ai/docs/e #### Create Config.yaml + + +```yaml +model_list: + - model_name: bedrock-cohere + litellm_params: + model: "bedrock/cohere.command-text-v14" + aws_region_name: "us-west-2" + - model_name: bedrock-cohere + litellm_params: + model: "bedrock/cohere.command-text-v14" + aws_region_name: "us-east-2" + - model_name: bedrock-cohere + litellm_params: + model: "bedrock/cohere.command-text-v14" + aws_region_name: "us-east-1" + +``` + + @@ -430,20 +492,26 @@ model_list: #### Start Proxy + ```shell litellm --config config.yaml ``` #### Make Request -Sends Request to `deployed-codebert-base` +Sends Request to `bedrock-cohere` ```shell -curl --location 'http://0.0.0.0:8000/embeddings' \ +curl --location 'http://0.0.0.0:8000/chat/completions' \ --header 'Content-Type: application/json' \ --data ' { - "model": "deployed-codebert-base", - "input": ["write a litellm poem"] - }' + "model": "bedrock-cohere", + "messages": [ + { + "role": "user", + "content": "gm" + } + ] +}' ``` @@ -483,3 +551,55 @@ general_settings: max_parallel_requests: 100 # max parallel requests for a user = 100 ``` +## All settings + +```python +{ + "environment_variables": {}, + "model_list": [ + { + "model_name": "string", + "litellm_params": {}, + "model_info": { + "id": "string", + "mode": "embedding", + "input_cost_per_token": 0, + "output_cost_per_token": 0, + "max_tokens": 2048, + "base_model": "gpt-4-1106-preview", + "additionalProp1": {} + } + } + ], + "litellm_settings": {}, # ALL (https://github.com/BerriAI/litellm/blob/main/litellm/__init__.py) + "general_settings": { + "completion_model": "string", + "key_management_system": "google_kms", # either google_kms or azure_kms + "master_key": "string", + "database_url": "string", + "database_type": "dynamo_db", + "database_args": { + "billing_mode": "PROVISIONED_THROUGHPUT", + "read_capacity_units": 0, + "write_capacity_units": 0, + "ssl_verify": true, + "region_name": "string", + "user_table_name": "LiteLLM_UserTable", + "key_table_name": "LiteLLM_VerificationToken", + "config_table_name": "LiteLLM_Config", + "spend_table_name": "LiteLLM_SpendLogs" + }, + "otel": true, + "custom_auth": "string", + "max_parallel_requests": 0, + "infer_model_from_keys": true, + "background_health_checks": true, + "health_check_interval": 300, + "alerting": [ + "string" + ], + "alerting_threshold": 0 + } +} +``` + diff --git a/docs/my-website/docs/proxy/custom_pricing.md b/docs/my-website/docs/proxy/custom_pricing.md index 8eeaa77ef4f..0b747f1193b 100644 --- a/docs/my-website/docs/proxy/custom_pricing.md +++ b/docs/my-website/docs/proxy/custom_pricing.md @@ -10,6 +10,12 @@ There's 2 ways to track cost: By default, the response cost is accessible in the logging object via `kwargs["response_cost"]` on success (sync + async). [**Learn More**](../observability/custom_callback.md) +:::info + +LiteLLM already has pricing for any model in our [model cost map](https://github.com/BerriAI/litellm/blob/main/model_prices_and_context_window.json). + +::: + ## Quick Start Register custom pricing for sagemaker completion model. @@ -54,7 +60,7 @@ model_list: - model_name: sagemaker-embedding-model litellm_params: model: sagemaker/berri-benchmarking-gpt-j-6b-fp16 - input_cost_per_second: 0.000420 + input_cost_per_second: 0.000420 ``` **Step 2: Start proxy** @@ -67,25 +73,28 @@ litellm /path/to/config.yaml -## Cost Per Token +## Cost Per Token (e.g. Azure) + ```python # !pip install boto3 from litellm import completion, completion_cost -os.environ["AWS_ACCESS_KEY_ID"] = "" -os.environ["AWS_SECRET_ACCESS_KEY"] = "" -os.environ["AWS_REGION_NAME"] = "" +## set ENV variables +os.environ["AZURE_API_KEY"] = "" +os.environ["AZURE_API_BASE"] = "" +os.environ["AZURE_API_VERSION"] = "" -def test_completion_sagemaker(): +def test_completion_azure_model(): try: - print("testing sagemaker") + print("testing azure custom pricing") + # azure call response = completion( - model="sagemaker/berri-benchmarking-Llama-2-70b-chat-hf-4", - messages=[{"role": "user", "content": "Hey, how's it going?"}], - input_cost_per_token=0.005, - output_cost_per_token=1, + model = "azure/", + messages = [{ "content": "Hello, how are you?","role": "user"}] + input_cost_per_token=0.005, + output_cost_per_token=1, ) # Add any assertions here to check the response print(response) @@ -94,15 +103,19 @@ def test_completion_sagemaker(): except Exception as e: raise Exception(f"Error occurred: {e}") +test_completion_azure_model() ``` ### Usage with OpenAI Proxy Server ```yaml model_list: - - model_name: sagemaker-completion-model + - model_name: azure-model litellm_params: - model: sagemaker/berri-benchmarking-Llama-2-70b-chat-hf-4 - input_cost_per_token: 0.000420 # 👈 key change - output_cost_per_token: 0.000420 # 👈 key change + model: azure/ + api_key: os.environ/AZURE_API_KEY + api_base: os.environ/AZURE_API_BASE + api_version: os.envrion/AZURE_API_VERSION + input_cost_per_token: 0.000421 # 👈 ONLY to track cost per token + output_cost_per_token: 0.000520 # 👈 ONLY to track cost per token ``` \ No newline at end of file diff --git a/docs/my-website/docs/proxy/debugging.md b/docs/my-website/docs/proxy/debugging.md new file mode 100644 index 00000000000..c5653d90f71 --- /dev/null +++ b/docs/my-website/docs/proxy/debugging.md @@ -0,0 +1,34 @@ +# Debugging + +2 levels of debugging supported. + +- debug (prints info logs) +- detailed debug (prints debug logs) + +## `debug` + +**via cli** + +```bash +$ litellm --debug +``` + +**via env** + +```python +os.environ["LITELLM_LOG"] = "INFO" +``` + +## `detailed debug` + +**via cli** + +```bash +$ litellm --detailed_debug +``` + +**via env** + +```python +os.environ["LITELLM_LOG"] = "DEBUG" +``` \ No newline at end of file diff --git a/docs/my-website/docs/proxy/deploy.md b/docs/my-website/docs/proxy/deploy.md index d843f8d2882..81960a2a07e 100644 --- a/docs/my-website/docs/proxy/deploy.md +++ b/docs/my-website/docs/proxy/deploy.md @@ -116,6 +116,20 @@ Your OpenAI proxy server is now running on `http://0.0.0.0:4000`. +## Setting SSL Certification + +Use this, If you need to set ssl certificates for your on prem litellm proxy + +Pass `ssl_keyfile_path` (Path to the SSL keyfile) and `ssl_certfile_path` (Path to the SSL certfile) when starting litellm proxy + +```shell +docker run ghcr.io/berriai/litellm:main-latest \ + --ssl_keyfile_path ssl_test/keyfile.key \ + --ssl_certfile_path ssl_test/certfile.crt +``` + +Provide an ssl certificate when starting litellm proxy server + ## Platform-specific Guide diff --git a/docs/my-website/docs/proxy/health.md b/docs/my-website/docs/proxy/health.md index 12138ce0afd..5c73de4af28 100644 --- a/docs/my-website/docs/proxy/health.md +++ b/docs/my-website/docs/proxy/health.md @@ -112,7 +112,8 @@ Example Response: ```json { "status": "healthy", - "db": "connected" + "db": "connected", + "litellm_version":"1.19.2", } ``` @@ -121,7 +122,8 @@ Example Response: ```json { "status": "healthy", - "db": "Not connected" + "db": "Not connected", + "litellm_version":"1.19.2", } ``` diff --git a/docs/my-website/docs/proxy/logging.md b/docs/my-website/docs/proxy/logging.md index 8bf0fcee2e3..0c5fd6bb91d 100644 --- a/docs/my-website/docs/proxy/logging.md +++ b/docs/my-website/docs/proxy/logging.md @@ -435,6 +435,7 @@ print(response) + ## Logging Proxy Input/Output - s3 Buckets We will use the `--config` to set @@ -490,6 +491,34 @@ curl --location 'http://0.0.0.0:8000/chat/completions' \ Your logs should be available on the specified s3 Bucket +## Team-based Logging + +Set success callbacks (e.g. langfuse), for a specific team-id. + +```yaml +litellm_settings: + default_team_settings: + - team_id: my-secret-project + success_callback: ["langfuse"] + langfuse_public_key: os.environ/LANGFUSE_PUB_KEY_2 + langfuse_secret: os.environ/LANGFUSE_PRIVATE_KEY_2 + - team_id: ishaans-secret-project + success_callback: ["langfuse"] + langfuse_public_key: os.environ/LANGFUSE_PUB_KEY_3 + langfuse_secret: os.environ/LANGFUSE_SECRET_3 +``` + +Now, when you [generate keys](./virtual_keys.md) for this team-id + +```bash +curl -X POST 'http://0.0.0.0:8000/key/generate' \ +-H 'Authorization: Bearer sk-1234' \ +-H 'Content-Type: application/json' \ +-D '{"team_id": "ishaans-secret-project"}' +``` + +All requests made with these keys will log data to their team-specific logging. + ## Logging Proxy Input/Output - DynamoDB We will use the `--config` to set diff --git a/docs/my-website/docs/proxy/pii_masking.md b/docs/my-website/docs/proxy/pii_masking.md new file mode 100644 index 00000000000..9fd55c7e1e6 --- /dev/null +++ b/docs/my-website/docs/proxy/pii_masking.md @@ -0,0 +1,30 @@ +import Image from '@theme/IdealImage'; + +# PII Masking + +LiteLLM supports [Microsoft Presidio](https://github.com/microsoft/presidio/) for PII masking. + +## Step 1. Add env + +```bash +export PRESIDIO_ANALYZER_API_BASE="http://localhost:5002" +export PRESIDIO_ANONYMIZER_API_BASE="http://localhost:5001" +``` + +## Step 2. Set it as a callback in config.yaml + +```yaml +litellm_settings: + callbacks = ["presidio", ...] # e.g. ["presidio", custom_callbacks.proxy_handler_instance] +``` + +## Start proxy + +``` +litellm --config /path/to/config.yaml +``` + + +This will mask the input going to the llm provider + + \ No newline at end of file diff --git a/docs/my-website/docs/proxy/quick_start.md b/docs/my-website/docs/proxy/quick_start.md index fec578c96f2..f6513e2b878 100644 --- a/docs/my-website/docs/proxy/quick_start.md +++ b/docs/my-website/docs/proxy/quick_start.md @@ -8,16 +8,8 @@ Quick start CLI, Config, Docker LiteLLM Server manages: * **Unified Interface**: Calling 100+ LLMs [Huggingface/Bedrock/TogetherAI/etc.](#other-supported-models) in the OpenAI `ChatCompletions` & `Completions` format +* **Cost tracking**: Authentication, Spend Tracking & Budgets [Virtual Keys](https://docs.litellm.ai/docs/proxy/virtual_keys) * **Load Balancing**: between [Multiple Models](#multiple-models---quick-start) + [Deployments of the same model](#multiple-instances-of-1-model) - LiteLLM proxy can handle 1.5k+ requests/second during load tests. -* **Cost tracking**: Authentication & Spend Tracking [Virtual Keys](#managing-auth---virtual-keys) - -[**See LiteLLM Proxy code**](https://github.com/BerriAI/litellm/tree/main/litellm/proxy) - - -#### 📖 Proxy Endpoints - [Swagger Docs](https://litellm-api.up.railway.app/) - - -View all the supported args for the Proxy CLI [here](https://docs.litellm.ai/docs/simple_proxy#proxy-cli-arguments) ```shell $ pip install 'litellm[proxy]' @@ -40,115 +32,6 @@ litellm --test This will now automatically route any requests for gpt-3.5-turbo to bigcode starcoder, hosted on huggingface inference endpoints. -### Using LiteLLM Proxy - Curl Request, OpenAI Package, Langchain - - - - -```shell -curl --location 'http://0.0.0.0:8000/chat/completions' \ ---header 'Content-Type: application/json' \ ---data ' { - "model": "gpt-3.5-turbo", - "messages": [ - { - "role": "user", - "content": "what llm are you" - } - ] - } -' -``` - - - -```python -import openai -client = openai.OpenAI( - api_key="anything", - base_url="http://0.0.0.0:8000" -) - -# request sent to model set on litellm proxy, `litellm --model` -response = client.chat.completions.create(model="gpt-3.5-turbo", messages = [ - { - "role": "user", - "content": "this is a test request, write a short poem" - } -]) - -print(response) - -``` - - - -```python -from langchain.chat_models import ChatOpenAI -from langchain.prompts.chat import ( - ChatPromptTemplate, - HumanMessagePromptTemplate, - SystemMessagePromptTemplate, -) -from langchain.schema import HumanMessage, SystemMessage - -chat = ChatOpenAI( - openai_api_base="http://0.0.0.0:8000", # set openai_api_base to the LiteLLM Proxy - model = "gpt-3.5-turbo", - temperature=0.1 -) - -messages = [ - SystemMessage( - content="You are a helpful assistant that im using to make a test request to." - ), - HumanMessage( - content="test from litellm. tell me why it's amazing in 1 sentence" - ), -] -response = chat(messages) - -print(response) -``` - - - - -```python -from langchain.embeddings import OpenAIEmbeddings - -embeddings = OpenAIEmbeddings(model="sagemaker-embeddings", openai_api_base="http://0.0.0.0:8000", openai_api_key="temp-key") - - -text = "This is a test document." - -query_result = embeddings.embed_query(text) - -print(f"SAGEMAKER EMBEDDINGS") -print(query_result[:5]) - -embeddings = OpenAIEmbeddings(model="bedrock-embeddings", openai_api_base="http://0.0.0.0:8000", openai_api_key="temp-key") - -text = "This is a test document." - -query_result = embeddings.embed_query(text) - -print(f"BEDROCK EMBEDDINGS") -print(query_result[:5]) - -embeddings = OpenAIEmbeddings(model="bedrock-titan-embeddings", openai_api_base="http://0.0.0.0:8000", openai_api_key="temp-key") - -text = "This is a test document." - -query_result = embeddings.embed_query(text) - -print(f"TITAN EMBEDDINGS") -print(query_result[:5]) -``` - - - - ### Supported LLMs All LiteLLM supported LLMs are supported on the Proxy. Seel all [supported llms](https://docs.litellm.ai/docs/providers) @@ -330,9 +213,6 @@ $ litellm --model command-nightly - - - ## Quick Start - LiteLLM Proxy + Config.yaml The config allows you to create a model list and set `api_base`, `max_tokens` (all litellm params). See more details about the config [here](https://docs.litellm.ai/docs/proxy/configs) @@ -363,6 +243,115 @@ model_list: litellm --config your_config.yaml ``` + +## Using LiteLLM Proxy - Curl Request, OpenAI Package, Langchain + + + + +```shell +curl --location 'http://0.0.0.0:8000/chat/completions' \ +--header 'Content-Type: application/json' \ +--data ' { + "model": "gpt-3.5-turbo", + "messages": [ + { + "role": "user", + "content": "what llm are you" + } + ] + } +' +``` + + + +```python +import openai +client = openai.OpenAI( + api_key="anything", + base_url="http://0.0.0.0:8000" +) + +# request sent to model set on litellm proxy, `litellm --model` +response = client.chat.completions.create(model="gpt-3.5-turbo", messages = [ + { + "role": "user", + "content": "this is a test request, write a short poem" + } +]) + +print(response) + +``` + + + +```python +from langchain.chat_models import ChatOpenAI +from langchain.prompts.chat import ( + ChatPromptTemplate, + HumanMessagePromptTemplate, + SystemMessagePromptTemplate, +) +from langchain.schema import HumanMessage, SystemMessage + +chat = ChatOpenAI( + openai_api_base="http://0.0.0.0:8000", # set openai_api_base to the LiteLLM Proxy + model = "gpt-3.5-turbo", + temperature=0.1 +) + +messages = [ + SystemMessage( + content="You are a helpful assistant that im using to make a test request to." + ), + HumanMessage( + content="test from litellm. tell me why it's amazing in 1 sentence" + ), +] +response = chat(messages) + +print(response) +``` + + + + +```python +from langchain.embeddings import OpenAIEmbeddings + +embeddings = OpenAIEmbeddings(model="sagemaker-embeddings", openai_api_base="http://0.0.0.0:8000", openai_api_key="temp-key") + + +text = "This is a test document." + +query_result = embeddings.embed_query(text) + +print(f"SAGEMAKER EMBEDDINGS") +print(query_result[:5]) + +embeddings = OpenAIEmbeddings(model="bedrock-embeddings", openai_api_base="http://0.0.0.0:8000", openai_api_key="temp-key") + +text = "This is a test document." + +query_result = embeddings.embed_query(text) + +print(f"BEDROCK EMBEDDINGS") +print(query_result[:5]) + +embeddings = OpenAIEmbeddings(model="bedrock-titan-embeddings", openai_api_base="http://0.0.0.0:8000", openai_api_key="temp-key") + +text = "This is a test document." + +query_result = embeddings.embed_query(text) + +print(f"TITAN EMBEDDINGS") +print(query_result[:5]) +``` + + + [**More Info**](./configs.md) diff --git a/docs/my-website/docs/proxy/ui.md b/docs/my-website/docs/proxy/ui.md index 0a3f5901732..cc62ce09638 100644 --- a/docs/my-website/docs/proxy/ui.md +++ b/docs/my-website/docs/proxy/ui.md @@ -1,9 +1,11 @@ import Image from '@theme/IdealImage'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; -# [BETA] Admin UI +# 🔑 [BETA] Proxy UI +### **Create + delete keys through a UI** -- Track Spend Per API Key, User -- Allow your users to create their own keys through a UI +[Let users create their own keys](#setup-ssoauth-for-ui) :::info @@ -11,61 +13,129 @@ This is in beta, so things may change. If you have feedback, [let us know](https ::: + + + + ## Quick Start -Requirements: +- Requires proxy master key to be set +- Requires db connected -- Need to a SMTP server connection to send emails (e.g. [Resend](https://resend.com/docs/send-with-smtp)) +Follow [setup](./virtual_keys.md#setup) -[**See code**](https://github.com/BerriAI/litellm/blob/61cd800b9ffbb02c286481d2056b65c7fb5447bf/litellm/proxy/proxy_server.py#L1782) +### 1. Start the proxy +```bash +litellm --config /path/to/config.yaml -### Step 1. Save SMTP server credentials - -```env -export SMTP_HOST="my-smtp-host" -export SMTP_USERNAME="my-smtp-password" -export SMTP_PASSWORD="my-smtp-password" -export SMTP_SENDER_EMAIL="krrish@berri.ai" +#INFO: Proxy running on http://0.0.0.0:8000 ``` -### Step 2. Enable user auth +### 2. Go to UI +```bash +http://0.0.0.0:8000/ui # /ui +``` -In your config.yaml, + +## Get Admin UI Link on Swagger +Your Proxy Swagger is available on the root of the Proxy: e.g.: `http://localhost:4000/` + + + +## Change default username + password + +Set the following in your .env on the Proxy + +```shell +UI_USERNAME=ishaan-litellm +UI_PASSWORD=langchain +``` + +On accessing the LiteLLM UI, you will be prompted to enter your username, password + + +## Setup SSO/Auth for UI + +### Step 1: Set upperbounds for keys +Control the upperbound that users can use for `max_budget`, `budget_duration` or any `key/generate` param per key. ```yaml -general_settings: - # other changes - allow_user_auth: true +litellm_settings: + upperbound_key_generate_params: + max_budget: 100 # upperbound of $100, for all /key/generate requests + duration: "30d" # upperbound of 30 days for all /key/generate requests ``` -This will enable: -* Users to create keys via `/key/generate` (by default, only admin can create keys) -* The `/user/auth` endpoint to send user's emails with their login credentials (key + user id) +** Expected Behavior ** -### Step 3. Connect to UI +- Send a `/key/generate` request with `max_budget=200` +- Key will be created with `max_budget=100` since 100 is the upper bound -You can use our hosted UI (https://dashboard.litellm.ai/) or [self-host your own](https://github.com/BerriAI/litellm/tree/main/ui). +### Step 2: Setup Oauth Client + + -If you self-host, you need to save the UI url in your proxy environment as `LITELLM_HOSTED_UI`. +- Create a new Oauth 2.0 Client on https://console.cloud.google.com/ -Connect your proxy to your UI, by entering: -1. The hosted proxy URL -2. Accepted email subdomains -3. [OPTIONAL] Allowed admin emails +**Required .env variables on your Proxy** +```shell +# for Google SSO Login +GOOGLE_CLIENT_ID= +GOOGLE_CLIENT_SECRET= +``` - +- Set Redirect URL on your Oauth 2.0 Client on https://console.cloud.google.com/ + - Set a redirect url = `/sso/callback` + ```shell + https://litellm-production-7002.up.railway.app/sso/callback + ``` -## What users will see? + -### Auth + - +- Create a new App Registration on https://portal.azure.com/ +- Create a client Secret for your App Registration -### Create Keys +**Required .env variables on your Proxy** +```shell +MICROSOFT_CLIENT_ID="84583a4d-" +MICROSOFT_CLIENT_SECRET="nbk8Q~" +MICROSOFT_TENANT="5a39737 +``` +- Set Redirect URI on your App Registration on https://portal.azure.com/ + - Set a redirect url = `/sso/callback` + ```shell + http://localhost:4000/sso/callback + ``` - + -### Spend Per Key + - +### Step 3. Test flow + +## Set Admin view w/ SSO + +You just need to set Proxy Admin ID + +### Step 1: Copy your ID from the UI + + + +### Step 2: Set it in your .env as the PROXY_ADMIN_ID + +```env +export PROXY_ADMIN_ID="116544810872468347480" +``` + +### Step 3: See all proxy keys + + + +:::info + +If you don't see all your keys this could be due to a cached token. So just re-login and it should work. + +::: \ No newline at end of file diff --git a/docs/my-website/docs/proxy/user_keys.md b/docs/my-website/docs/proxy/user_keys.md index 463aa8140e2..47cfef9c329 100644 --- a/docs/my-website/docs/proxy/user_keys.md +++ b/docs/my-website/docs/proxy/user_keys.md @@ -1,7 +1,7 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# Use with Langchain, OpenAI SDK, Curl +# Use with Langchain, OpenAI SDK, LlamaIndex, Curl :::info @@ -51,6 +51,42 @@ response = client.chat.completions.create( print(response) ``` + + +```python +import os, dotenv + +from llama_index.llms import AzureOpenAI +from llama_index.embeddings import AzureOpenAIEmbedding +from llama_index import VectorStoreIndex, SimpleDirectoryReader, ServiceContext + +llm = AzureOpenAI( + engine="azure-gpt-3.5", # model_name on litellm proxy + temperature=0.0, + azure_endpoint="http://0.0.0.0:4000", # litellm proxy endpoint + api_key="sk-1234", # litellm proxy API Key + api_version="2023-07-01-preview", +) + +embed_model = AzureOpenAIEmbedding( + deployment_name="azure-embedding-model", + azure_endpoint="http://0.0.0.0:4000", + api_key="sk-1234", + api_version="2023-07-01-preview", +) + + +documents = SimpleDirectoryReader("llama_index_data").load_data() +service_context = ServiceContext.from_defaults(llm=llm, embed_model=embed_model) +index = VectorStoreIndex.from_documents(documents, service_context=service_context) + +query_engine = index.as_query_engine() +response = query_engine.query("What did the author do growing up?") +print(response) + +``` + + Pass `metadata` as part of the request body diff --git a/docs/my-website/docs/proxy/users.md b/docs/my-website/docs/proxy/users.md index be80e76f143..baca0188e86 100644 --- a/docs/my-website/docs/proxy/users.md +++ b/docs/my-website/docs/proxy/users.md @@ -1,7 +1,7 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# 💰 Budgets, Rate Limits per user +# 💰 Budgets, Rate Limits Requirements: @@ -10,22 +10,72 @@ Requirements: ## Set Budgets +You can set budgets at 3 levels: +- For the proxy +- For a user +- For a 'user' passed to `/chat/completions`, `/embeddings` etc +- For a key -Set `max_budget` in (USD $) param in the `/user/new` or `/key/generate` request. By default the `max_budget` is set to `null` and is not checked for keys - + -LiteLLM exposes a `/user/new` endpoint to create budgets for users, that persist across multiple keys. +Apply a budget across all calls on the proxy +**Step 1. Modify config.yaml** +```yaml +general_settings: + master_key: sk-1234 + +litellm_settings: + # other litellm settings + max_budget: 0 # (float) sets max budget as $0 USD + budget_duration: 30d # (str) frequency of reset - You can set duration as seconds ("30s"), minutes ("30m"), hours ("30h"), days ("30d"). +``` + +**Step 2. Start proxy** + +```bash +litellm /path/to/config.yaml +``` + +**Step 3. Send test call** + +```bash +curl --location 'http://0.0.0.0:8000/chat/completions' \ + --header 'Autherization: Bearer sk-1234' \ + --header 'Content-Type: application/json' \ + --data '{ + "model": "gpt-3.5-turbo", + "messages": [ + { + "role": "user", + "content": "what llm are you" + } + ], +}' +``` + + + +Apply a budget across multiple keys. + +LiteLLM exposes a `/user/new` endpoint to create budgets for this. + +You can: +- Add budgets to users [**Jump**](#add-budgets-to-users) +- Add budget durations, to reset spend [**Jump**](#add-budget-duration-to-users) + +By default the `max_budget` is set to `null` and is not checked for keys + +### **Add budgets to users** ```shell curl --location 'http://localhost:8000/user/new' \ --header 'Authorization: Bearer ' \ --header 'Content-Type: application/json' \ --data-raw '{"models": ["azure-models"], "max_budget": 0, "user_id": "krrish3@berri.ai"}' ``` -The request is a normal `/key/generate` request body + a `max_budget` field. [**See Swagger**](https://litellm-api.up.railway.app/#/user%20management/new_user_user_new_post) @@ -40,9 +90,93 @@ The request is a normal `/key/generate` request body + a `max_budget` field. } ``` +### **Add budget duration to users** + +`budget_duration`: Budget is reset at the end of specified duration. If not set, budget is never reset. You can set duration as seconds ("30s"), minutes ("30m"), hours ("30h"), days ("30d"). + +``` +curl 'http://0.0.0.0:8000/user/new' \ +--header 'Authorization: Bearer ' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "team_id": "core-infra", # [OPTIONAL] + "max_budget": 10, + "budget_duration": 10s, +}' +``` + +### Create new keys for existing user + +Now you can just call `/key/generate` with that user_id (i.e. krrish3@berri.ai) and: +- **Budget Check**: krrish3@berri.ai's budget (i.e. $10) will be checked for this key +- **Spend Tracking**: spend for this key will update krrish3@berri.ai's spend as well + +```bash +curl --location 'http://0.0.0.0:8000/key/generate' \ +--header 'Authorization: Bearer ' \ +--header 'Content-Type: application/json' \ +--data '{"models": ["azure-models"], "user_id": "krrish3@berri.ai"}' +``` - + + +Use this to budget `user` passed to `/chat/completions`, **without needing to create a key for every user** + +**Step 1. Modify config.yaml** +Define `litellm.max_user_budget` +```yaml +general_settings: + master_key: sk-1234 + +litellm_settings: + max_budget: 10 # global budget for proxy + max_user_budget: 0.0001 # budget for 'user' passed to /chat/completions +``` + +2. Make a /chat/completions call, pass 'user' - First call Works +```shell +curl --location 'http://0.0.0.0:4000/chat/completions' \ + --header 'Content-Type: application/json' \ + --header 'Authorization: Bearer sk-zi5onDRdHGD24v0Zdn7VBA' \ + --data ' { + "model": "azure-gpt-3.5", + "user": "ishaan3", + "messages": [ + { + "role": "user", + "content": "what time is it" + } + ] + }' +``` + +3. Make a /chat/completions call, pass 'user' - Call Fails, since 'ishaan3' over budget +```shell +curl --location 'http://0.0.0.0:4000/chat/completions' \ + --header 'Content-Type: application/json' \ + --header 'Authorization: Bearer sk-zi5onDRdHGD24v0Zdn7VBA' \ + --data ' { + "model": "azure-gpt-3.5", + "user": "ishaan3", + "messages": [ + { + "role": "user", + "content": "what time is it" + } + ] + }' +``` + +Error +```shell +{"error":{"message":"Authentication Error, ExceededBudget: User ishaan3 has exceeded their budget. Current spend: 0.0008869999999999999; Max Budget: 0.0001","type":"auth_error","param":"None","code":401}}% +``` + + + + +Apply a budget on a key. You can: - Add budgets to keys [**Jump**](#add-budgets-to-keys) @@ -53,6 +187,8 @@ You can: - After the key crosses it's `max_budget`, requests fail - If duration set, spend is reset at the end of the duration +By default the `max_budget` is set to `null` and is not checked for keys + ### **Add budgets to keys** ```bash diff --git a/docs/my-website/docs/proxy/virtual_keys.md b/docs/my-website/docs/proxy/virtual_keys.md index 999db6055d0..2be4b95c1f4 100644 --- a/docs/my-website/docs/proxy/virtual_keys.md +++ b/docs/my-website/docs/proxy/virtual_keys.md @@ -1,4 +1,4 @@ -# Virtual Keys +# Virtual Keys, Users Track Spend, Set budgets and create virtual keys for the proxy Grant other's temporary access to your proxy, with keys that expire after a set duration. @@ -6,6 +6,7 @@ Grant other's temporary access to your proxy, with keys that expire after a set :::info +- 🔑 [UI to Generate, Edit, Delete Keys (with SSO)](https://docs.litellm.ai/docs/proxy/ui) - [Deploy LiteLLM Proxy with Key Management](https://docs.litellm.ai/docs/proxy/deploy#deploy-with-database) - Dockerfile.database for LiteLLM Proxy + Key Management [here](https://github.com/BerriAI/litellm/blob/main/Dockerfile.database) @@ -16,8 +17,11 @@ Grant other's temporary access to your proxy, with keys that expire after a set Requirements: -- Need to a postgres database (e.g. [Supabase](https://supabase.com/), [Neon](https://neon.tech/), etc) +- Need a postgres database (e.g. [Supabase](https://supabase.com/), [Neon](https://neon.tech/), etc) - Set `DATABASE_URL=postgresql://:@:/` in your env +- Set a `master key`, this is your Proxy Admin key - you can use this to create other keys + - ** Set on config.yaml** set your master key under `general_settings:master_key`, example below + - ** Set env variable** set `LITELLM_MASTER_KEY` (**Note: either set this on the config.yaml or in your env** whatever is more convenient for you) (the proxy Dockerfile checks if the `DATABASE_URL` is set and then intializes the DB connection) @@ -81,15 +85,17 @@ curl 'http://0.0.0.0:8000/key/generate' \ Request Params: -- `models`: *list or null (optional)* - Specify the models a token has access too. If null, then token has access to all models on server. +- `duration`: *Optional[str]* - Specify the length of time the token is valid for. You can set duration as seconds ("30s"), minutes ("30m"), hours ("30h"), days ("30d"). +- `key_alias`: *Optional[str]* - User defined key alias +- `team_id`: *Optional[str]* - The team id of the user +- `models`: *Optional[list]* - Model_name's a user is allowed to call. (if empty, key is allowed to call all models) +- `aliases`: *Optional[dict]* - Any alias mappings, on top of anything in the config.yaml model list. - https://docs.litellm.ai/docs/proxy/virtual_keys#managing-auth---upgradedowngrade-models +- `config`: *Optional[dict]* - any key-specific configs, overrides config in config.yaml +- `spend`: *Optional[int]* - Amount spent by key. Default is 0. Will be updated by proxy whenever key is used. https://docs.litellm.ai/docs/proxy/virtual_keys#managing-auth---tracking-spend +- `max_budget`: *Optional[float]* - Specify max budget for a given key. +- `max_parallel_requests`: *Optional[int]* - Rate limit a user based on the number of parallel requests. Raises 429 error, if user's parallel requests > x. +- `metadata`: *Optional[dict]* - Metadata for key, store information for key. Example metadata = {"team": "core-infra", "app": "app2", "email": "ishaan@berri.ai" } -- `duration`: *str or null (optional)* Specify the length of time the token is valid for. If null, default is set to 1 hour. You can set duration as seconds ("30s"), minutes ("30m"), hours ("30h"), days ("30d"). - -- `metadata`: *dict or null (optional)* Pass metadata for the created token. If null defaults to {} - -- `team_id`: *str or null (optional)* Specify team_id for the associated key - -- `max_budget`: *float or null (optional)* Specify max budget (in Dollars $) for a given key. If no value is set, the key has no budget ### Response @@ -97,20 +103,11 @@ Request Params: { "key": "sk-kdEXbIqZRwEeEiHwdg7sFA", # Bearer token "expires": "2023-11-19T01:38:25.838000+00:00" # datetime object + "key_name": "sk-...7sFA" # abbreviated key string, ONLY stored in db if `allow_user_auth: true` set - [see](./ui.md) + ... } ``` -### Keys that don't expire - -Just set duration to None. - -```bash -curl --location 'http://0.0.0.0:8000/key/generate' \ ---header 'Authorization: Bearer ' \ ---header 'Content-Type: application/json' \ ---data '{"models": ["azure-models"], "aliases": {"mistral-7b": "gpt-3.5-turbo"}, "duration": null}' -``` - ### Upgrade/Downgrade Models If a user is expected to use a given model (i.e. gpt3-5), and you want to: @@ -285,7 +282,152 @@ Request Params: } ``` -## Set Budgets - Per Key +## /user/new + +### Request + +All [key/generate params supported](#keygenerate) for creating a user +```shell +curl 'http://0.0.0.0:4000/user/new' \ +--header 'Authorization: Bearer sk-1234' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "user_id": "ishaan1", + "user_email": "ishaan@litellm.ai", + "user_role": "admin", + "team_id": "cto-team", + "max_budget": 20, + "budget_duration": "1h" + +}' +``` + +Request Params: + +- user_id: str (optional - defaults to uuid) - The unique identifier for the user. +- user_email: str (optional - defaults to "") - The email address associated with the user. +- user_role: str (optional - defaults to "app_user") - The role assigned to the user. Can be "admin", "app_owner", "app_user" + +**Possible `user_role` values** +``` +"admin" - Maintaining the proxy and owning the overall budget +"app_owner" - employees maintaining the apps, each owner may own more than one app +"app_user" - users who know nothing about the proxy. These users get created when you pass `user` to /chat/completions +``` +- team_id: str (optional - defaults to "") - The identifier for the team to which the user belongs. +- max_budget: float (optional - defaults to `null`) - The maximum budget allocated for the user. No budget checks done if `max_budget==null` +- budget_duration: str (optional - defaults to `null`) - The duration for which the budget is valid, e.g., "1h", "1d" + +### Response +A key will be generated for the new user created + +```shell +{ + "models": [], + "spend": 0.0, + "max_budget": null, + "user_id": "ishaan1", + "team_id": null, + "max_parallel_requests": null, + "metadata": {}, + "tpm_limit": null, + "rpm_limit": null, + "budget_duration": null, + "allowed_cache_controls": [], + "key_alias": null, + "duration": null, + "aliases": {}, + "config": {}, + "key": "sk-JflB33ucTqc2NYvNAgiBCA", + "key_name": null, + "expires": null +} + +``` + +Request Params: +- keys: List[str] - List of keys to delete + +### Response + +```json +{ + "deleted_keys": ["sk-kdEXbIqZRwEeEiHwdg7sFA"] +} +``` + +## Advanced +### Upperbound /key/generate params +Use this, if you need to control the upperbound that users can use for `max_budget`, `budget_duration` or any `key/generate` param per key. + +Set `litellm_settings:upperbound_key_generate_params`: +```yaml +litellm_settings: + upperbound_key_generate_params: + max_budget: 100 # upperbound of $100, for all /key/generate requests + duration: "30d" # upperbound of 30 days for all /key/generate requests +``` + +** Expected Behavior ** + +- Send a `/key/generate` request with `max_budget=200` +- Key will be created with `max_budget=100` since 100 is the upper bound + +### Default /key/generate params +Use this, if you need to control the default `max_budget` or any `key/generate` param per key. + +When a `/key/generate` request does not specify `max_budget`, it will use the `max_budget` specified in `default_key_generate_params` + +Set `litellm_settings:default_key_generate_params`: +```yaml +litellm_settings: + default_key_generate_params: + max_budget: 1.5000 + models: ["azure-gpt-3.5"] + duration: # blank means `null` + metadata: {"setting":"default"} + team_id: "core-infra" +``` + +### Restrict models by `team_id` +`litellm-dev` can only access `azure-gpt-3.5` + +```yaml +litellm_settings: + default_team_settings: + - team_id: litellm-dev + models: ["azure-gpt-3.5"] +``` + +#### Create key with team_id="litellm-dev" +```shell +curl --location 'http://localhost:4000/key/generate' \ +--header 'Authorization: Bearer sk-1234' \ +--header 'Content-Type: application/json' \ +--data-raw '{"team_id": "litellm-dev"}' +``` + +#### Use Key to call invalid model - Fails +```shell +curl --location 'http://0.0.0.0:4000/chat/completions' \ + --header 'Content-Type: application/json' \ + --header 'Authorization: Bearer sk-qo992IjKOC2CHKZGRoJIGA' \ + --data '{ + "model": "BEDROCK_GROUP", + "messages": [ + { + "role": "user", + "content": "hi" + } + ] + }' +``` + +```shell +{"error":{"message":"Invalid model for team litellm-dev: BEDROCK_GROUP. Valid models for team are: ['azure-gpt-3.5']\n\n\nTraceback (most recent call last):\n File \"/Users/ishaanjaffer/Github/litellm/litellm/proxy/proxy_server.py\", line 2298, in chat_completion\n _is_valid_team_configs(\n File \"/Users/ishaanjaffer/Github/litellm/litellm/proxy/utils.py\", line 1296, in _is_valid_team_configs\n raise Exception(\nException: Invalid model for team litellm-dev: BEDROCK_GROUP. Valid models for team are: ['azure-gpt-3.5']\n\n","type":"None","param":"None","code":500}}% +``` + +### Set Budgets - Per Key Set `max_budget` in (USD $) param in the `key/generate` request. By default the `max_budget` is set to `null` and is not checked for keys @@ -331,7 +473,7 @@ Expected Response from `/chat/completions` when key has crossed budget ``` -## Set Budgets - Per User +### Set Budgets - Per User LiteLLM exposes a `/user/new` endpoint to create budgets for users, that persist across multiple keys. @@ -356,7 +498,7 @@ The request is a normal `/key/generate` request body + a `max_budget` field. } ``` -## Tracking Spend +### Tracking Spend You can get spend for a key by using the `/key/info` endpoint. @@ -391,13 +533,13 @@ This is automatically updated (in USD) when calls are made to /completions, /cha ``` -## Custom Auth +### Custom Auth You can now override the default api key auth. Here's how: -### 1. Create a custom auth file. +#### 1. Create a custom auth file. Make sure the response type follows the `UserAPIKeyAuth` pydantic object. This is used by for logging usage specific to that user key. @@ -414,7 +556,7 @@ async def user_api_key_auth(request: Request, api_key: str) -> UserAPIKeyAuth: raise Exception ``` -### 2. Pass the filepath (relative to the config.yaml) +#### 2. Pass the filepath (relative to the config.yaml) Pass the filepath to the config.yaml @@ -435,16 +577,16 @@ general_settings: [**Implementation Code**](https://github.com/BerriAI/litellm/blob/caf2a6b279ddbe89ebd1d8f4499f65715d684851/litellm/proxy/utils.py#L122) -### 3. Start the proxy +#### 3. Start the proxy ```shell $ litellm --config /path/to/config.yaml ``` -## Custom /key/generate +### Custom /key/generate If you need to add custom logic before generating a Proxy API Key (Example Validating `team_id`) -### 1. Write a custom `custom_generate_key_fn` +#### 1. Write a custom `custom_generate_key_fn` The input to the custom_generate_key_fn function is a single parameter: `data` [(Type: GenerateKeyRequest)](https://github.com/BerriAI/litellm/blob/main/litellm/proxy/_types.py#L125) @@ -510,7 +652,7 @@ async def custom_generate_key_fn(data: GenerateKeyRequest)-> dict: ``` -### 2. Pass the filepath (relative to the config.yaml) +#### 2. Pass the filepath (relative to the config.yaml) Pass the filepath to the config.yaml @@ -532,18 +674,18 @@ general_settings: -## [BETA] Dynamo DB +### [BETA] Dynamo DB Only live in `v1.16.21.dev1`. -### Step 1. Save keys to env +#### Step 1. Save keys to env ```shell AWS_ACCESS_KEY_ID = "your-aws-access-key-id" AWS_SECRET_ACCESS_KEY = "your-aws-secret-access-key" ``` -### Step 2. Add details to config +#### Step 2. Add details to config ```yaml general_settings: @@ -560,7 +702,7 @@ general_settings: } ``` -### Step 3. Generate Key +#### Step 3. Generate Key ```bash curl --location 'http://0.0.0.0:8000/key/generate' \ diff --git a/docs/my-website/docs/routing.md b/docs/my-website/docs/routing.md index 3b796c87ffe..151065d76a1 100644 --- a/docs/my-website/docs/routing.md +++ b/docs/my-website/docs/routing.md @@ -605,6 +605,49 @@ response = router.completion(model="gpt-3.5-turbo", messages=messages) print(f"response: {response}") ``` +## Custom Callbacks - Track API Key, API Endpoint, Model Used + +If you need to track the api_key, api endpoint, model, custom_llm_provider used for each completion call, you can setup a [custom callback](https://docs.litellm.ai/docs/observability/custom_callback) + +### Usage + +```python +import litellm +from litellm.integrations.custom_logger import CustomLogger + +class MyCustomHandler(CustomLogger): + def log_success_event(self, kwargs, response_obj, start_time, end_time): + print(f"On Success") + print("kwargs=", kwargs) + litellm_params= kwargs.get("litellm_params") + api_key = litellm_params.get("api_key") + api_base = litellm_params.get("api_base") + custom_llm_provider= litellm_params.get("custom_llm_provider") + response_cost = kwargs.get("response_cost") + + # print the values + print("api_key=", api_key) + print("api_base=", api_base) + print("custom_llm_provider=", custom_llm_provider) + print("response_cost=", response_cost) + + def log_failure_event(self, kwargs, response_obj, start_time, end_time): + print(f"On Failure") + print("kwargs=") + +customHandler = MyCustomHandler() + +litellm.callbacks = [customHandler] + +# Init Router +router = Router(model_list=model_list, routing_strategy="simple-shuffle") + +# router completion call +response = router.completion( + model="gpt-3.5-turbo", + messages=[{ "role": "user", "content": "Hi who are you"}] +) +``` ## Deploy Router diff --git a/docs/my-website/docusaurus.config.js b/docs/my-website/docusaurus.config.js index 865bcb446c6..0dadd71d6f3 100644 --- a/docs/my-website/docusaurus.config.js +++ b/docs/my-website/docusaurus.config.js @@ -99,6 +99,12 @@ const config = { position: 'left', label: 'Docs', }, + { + sidebarId: 'tutorialSidebar', + position: 'left', + label: 'Enterprise', + to: "docs/enterprise" + }, { href: 'https://github.com/BerriAI/litellm', label: 'GitHub', diff --git a/docs/my-website/img/admin_ui_2.png b/docs/my-website/img/admin_ui_2.png new file mode 100644 index 00000000000..7108d1f092e Binary files /dev/null and b/docs/my-website/img/admin_ui_2.png differ diff --git a/docs/my-website/img/google_oauth2.png b/docs/my-website/img/google_oauth2.png new file mode 100644 index 00000000000..d5cf951e47e Binary files /dev/null and b/docs/my-website/img/google_oauth2.png differ diff --git a/docs/my-website/img/google_redirect.png b/docs/my-website/img/google_redirect.png new file mode 100644 index 00000000000..4e25a075e92 Binary files /dev/null and b/docs/my-website/img/google_redirect.png differ diff --git a/docs/my-website/img/litellm_ui_3.gif b/docs/my-website/img/litellm_ui_3.gif new file mode 100644 index 00000000000..9a8c1cbe176 Binary files /dev/null and b/docs/my-website/img/litellm_ui_3.gif differ diff --git a/docs/my-website/img/litellm_ui_admin.png b/docs/my-website/img/litellm_ui_admin.png new file mode 100644 index 00000000000..16030397d58 Binary files /dev/null and b/docs/my-website/img/litellm_ui_admin.png differ diff --git a/docs/my-website/img/litellm_ui_copy_id.png b/docs/my-website/img/litellm_ui_copy_id.png new file mode 100644 index 00000000000..ac5c9b4b1bb Binary files /dev/null and b/docs/my-website/img/litellm_ui_copy_id.png differ diff --git a/docs/my-website/img/litellm_ui_create_key.png b/docs/my-website/img/litellm_ui_create_key.png new file mode 100644 index 00000000000..693e8d5ded3 Binary files /dev/null and b/docs/my-website/img/litellm_ui_create_key.png differ diff --git a/docs/my-website/img/litellm_ui_login.png b/docs/my-website/img/litellm_ui_login.png new file mode 100644 index 00000000000..f66d0ccfcf0 Binary files /dev/null and b/docs/my-website/img/litellm_ui_login.png differ diff --git a/docs/my-website/img/presidio_screenshot.png b/docs/my-website/img/presidio_screenshot.png new file mode 100644 index 00000000000..b535b2790be Binary files /dev/null and b/docs/my-website/img/presidio_screenshot.png differ diff --git a/docs/my-website/img/spend_per_user.png b/docs/my-website/img/spend_per_user.png new file mode 100644 index 00000000000..066c4baaff2 Binary files /dev/null and b/docs/my-website/img/spend_per_user.png differ diff --git a/docs/my-website/img/ui_3.gif b/docs/my-website/img/ui_3.gif new file mode 100644 index 00000000000..a58ff537907 Binary files /dev/null and b/docs/my-website/img/ui_3.gif differ diff --git a/docs/my-website/img/ui_link.png b/docs/my-website/img/ui_link.png new file mode 100644 index 00000000000..648020e3aa2 Binary files /dev/null and b/docs/my-website/img/ui_link.png differ diff --git a/docs/my-website/sidebars.js b/docs/my-website/sidebars.js index 6a5033e98b1..111d8923269 100644 --- a/docs/my-website/sidebars.js +++ b/docs/my-website/sidebars.js @@ -98,7 +98,7 @@ const sidebars = { link: { type: 'generated-index', title: '💥 OpenAI Proxy Server', - description: `Proxy Server to call 100+ LLMs in a unified interface, load balance deployments, track costs per user`, + description: `Proxy Server to call 100+ LLMs in a unified interface & track spend, set budgets per virtual key/user`, slug: '/simple_proxy', }, items: [ @@ -115,6 +115,8 @@ const sidebars = { "proxy/ui", "proxy/model_management", "proxy/health", + "proxy/debugging", + "proxy/pii_masking", { "type": "category", "label": "🔥 Load Balancing", @@ -123,6 +125,7 @@ const sidebars = { "proxy/reliability", ] }, + "proxy/caching", { "type": "category", "label": "Logging, Alerting, Caching", @@ -130,7 +133,6 @@ const sidebars = { "proxy/logging", "proxy/alerting", "proxy/streaming_logging", - "proxy/caching", ] }, { diff --git a/docs/my-website/src/pages/index.md b/docs/my-website/src/pages/index.md index 1b13b9b2ba7..d7ed1401950 100644 --- a/docs/my-website/src/pages/index.md +++ b/docs/my-website/src/pages/index.md @@ -8,6 +8,11 @@ https://github.com/BerriAI/litellm ## **Call 100+ LLMs using the same Input/Output Format** +- Translate inputs to provider's `completion`, `embedding`, and `image_generation` endpoints +- [Consistent output](https://docs.litellm.ai/docs/completion/output), text responses will always be available at `['choices'][0]['message']['content']` +- Retry/fallback logic across multiple deployments (e.g. Azure/OpenAI) - [Router](https://docs.litellm.ai/docs/routing) +- Track spend & set budgets per project [OpenAI Proxy Server](https://docs.litellm.ai/docs/simple_proxy) + ## Basic usage Open In Colab @@ -306,30 +311,7 @@ litellm.success_callback = ["langfuse", "llmonitor"] # log input/output to langf response = completion(model="gpt-3.5-turbo", messages=[{"role": "user", "content": "Hi 👋 - i'm openai"}]) ``` -## Calculate Costs, Usage, Latency - -Pass the completion response to `litellm.completion_cost(completion_response=response)` and get the cost - -```python -from litellm import completion, completion_cost -import os -os.environ["OPENAI_API_KEY"] = "your-api-key" - -response = completion( - model="gpt-3.5-turbo", - messages=[{ "content": "Hello, how are you?","role": "user"}] -) - -cost = completion_cost(completion_response=response) -print("Cost for completion call with gpt-3.5-turbo: ", f"${float(cost):.10f}") -``` - -**Output** -```shell -Cost for completion call with gpt-3.5-turbo: $0.0000775000 -``` - -### Track Costs, Usage, Latency for streaming +## Track Costs, Usage, Latency for streaming Use a callback function for this - more info on custom callbacks: https://docs.litellm.ai/docs/observability/custom_callback ```python @@ -342,18 +324,8 @@ def track_cost_callback( start_time, end_time # start/end time ): try: - # check if it has collected an entire stream response - if "complete_streaming_response" in kwargs: - # for tracking streaming cost we pass the "messages" and the output_text to litellm.completion_cost - completion_response=kwargs["complete_streaming_response"] - input_text = kwargs["messages"] - output_text = completion_response["choices"][0]["message"]["content"] - response_cost = litellm.completion_cost( - model = kwargs["model"], - messages = input_text, - completion=output_text - ) - print("streaming response_cost", response_cost) + response_cost = kwargs.get("response_cost", 0) + print("streaming response_cost", response_cost) except: pass # set callback @@ -372,13 +344,12 @@ response = completion( ) ``` - -Need a dedicated key? Email us @ krrish@berri.ai - ## OpenAI Proxy Track spend across multiple projects/people +![ui_3](https://github.com/BerriAI/litellm/assets/29436595/47c97d5e-b9be-4839-b28c-43d7f4f10033) + The proxy provides: 1. [Hooks for auth](https://docs.litellm.ai/docs/proxy/virtual_keys#custom-auth) 2. [Hooks for logging](https://docs.litellm.ai/docs/proxy/logging#step-1---create-your-custom-litellm-callback-class) @@ -418,4 +389,4 @@ print(response) ## More details * [exception mapping](./exception_mapping.md) * [retries + model fallbacks for completion()](./completion/reliable_completions.md) -* [tutorial for model fallbacks with completion()](./tutorials/fallbacks.md) \ No newline at end of file +* [proxy virtual keys & spend management](./tutorials/fallbacks.md) \ No newline at end of file diff --git a/litellm/__init__.py b/litellm/__init__.py index d67ecb718ad..6a0cb95ae63 100644 --- a/litellm/__init__.py +++ b/litellm/__init__.py @@ -1,11 +1,13 @@ ### INIT VARIABLES ### -import threading, requests +import threading, requests, os from typing import Callable, List, Optional, Dict, Union, Any from litellm.caching import Cache -from litellm._logging import set_verbose, _turn_on_debug +from litellm._logging import set_verbose, _turn_on_debug, verbose_logger from litellm.proxy._types import KeyManagementSystem import httpx +import dotenv +dotenv.load_dotenv() ############################################# if set_verbose == True: _turn_on_debug() @@ -62,6 +64,9 @@ cache: Optional[ model_alias_map: Dict[str, str] = {} model_group_alias_map: Dict[str, str] = {} max_budget: float = 0.0 # set the max budget across all providers +budget_duration: Optional[ + str +] = None # proxy only - resets budget after fixed duration. You can set duration as seconds ("30s"), minutes ("30m"), hours ("30h"), days ("30d"). _openai_completion_params = [ "functions", "function_call", @@ -140,6 +145,10 @@ model_cost_map_url: str = "https://raw.githubusercontent.com/BerriAI/litellm/mai suppress_debug_info = False dynamodb_table_name: Optional[str] = None s3_callback_params: Optional[Dict] = None +default_key_generate_params: Optional[Dict] = None +upperbound_key_generate_params: Optional[Dict] = None +default_team_settings: Optional[List] = None +max_user_budget: Optional[float] = None #### RELIABILITY #### request_timeout: Optional[float] = 6000 num_retries: Optional[int] = None # per model endpoint @@ -159,6 +168,19 @@ _key_management_system: Optional[KeyManagementSystem] = None def get_model_cost_map(url: str): + if ( + os.getenv("LITELLM_LOCAL_MODEL_COST_MAP", False) == True + or os.getenv("LITELLM_LOCAL_MODEL_COST_MAP", False) == "True" + ): + import importlib.resources + import json + + with importlib.resources.open_text( + "litellm", "model_prices_and_context_window_backup.json" + ) as f: + content = json.load(f) + return content + try: with requests.get( url, timeout=5 @@ -214,6 +236,7 @@ vertex_chat_models: List = [] vertex_code_chat_models: List = [] vertex_text_models: List = [] vertex_code_text_models: List = [] +vertex_embedding_models: List = [] ai21_models: List = [] nlp_cloud_models: List = [] aleph_alpha_models: List = [] @@ -243,6 +266,8 @@ for key, value in model_cost.items(): vertex_chat_models.append(key) elif value.get("litellm_provider") == "vertex_ai-code-chat-models": vertex_code_chat_models.append(key) + elif value.get("litellm_provider") == "vertex_ai-embedding-models": + vertex_embedding_models.append(key) elif value.get("litellm_provider") == "ai21": ai21_models.append(key) elif value.get("litellm_provider") == "nlp_cloud": @@ -262,6 +287,7 @@ openai_compatible_endpoints: List = [ "api.endpoints.anyscale.com/v1", "api.deepinfra.com/v1/openai", "api.mistral.ai/v1", + "api.together.xyz/v1", ] # this is maintained for Exception Mapping @@ -271,6 +297,7 @@ openai_compatible_providers: List = [ "deepinfra", "perplexity", "xinference", + "together_ai", ] @@ -479,7 +506,10 @@ bedrock_embedding_models: List = [ ] all_embedding_models = ( - open_ai_embedding_models + cohere_embedding_models + bedrock_embedding_models + open_ai_embedding_models + + cohere_embedding_models + + bedrock_embedding_models + + vertex_embedding_models ) ####### IMAGE GENERATION MODELS ################### @@ -534,6 +564,7 @@ from .llms.bedrock import ( AmazonAnthropicConfig, AmazonCohereConfig, AmazonLlamaConfig, + AmazonStabilityConfig, ) from .llms.openai import OpenAIConfig, OpenAITextCompletionConfig from .llms.azure import AzureOpenAIConfig, AzureOpenAIError diff --git a/litellm/_logging.py b/litellm/_logging.py index e9a4a99cd16..438fa9743de 100644 --- a/litellm/_logging.py +++ b/litellm/_logging.py @@ -7,8 +7,11 @@ handler = logging.StreamHandler() handler.setLevel(logging.DEBUG) # Create a formatter and set it for the handler +formatter = logging.Formatter( + "\033[92m%(asctime)s - %(name)s:%(levelname)s\033[0m: %(message)s", + datefmt="%H:%M:%S", +) -formatter = logging.Formatter("\033[92m%(name)s - %(levelname)s\033[0m: %(message)s") handler.setFormatter(formatter) diff --git a/litellm/_redis.py b/litellm/_redis.py index bee73f13493..4484926d4b5 100644 --- a/litellm/_redis.py +++ b/litellm/_redis.py @@ -11,6 +11,7 @@ import os import inspect import redis, litellm +import redis.asyncio as async_redis from typing import List, Optional @@ -67,7 +68,10 @@ def get_redis_url_from_environment(): ) -def get_redis_client(**env_overrides): +def _get_redis_client_logic(**env_overrides): + """ + Common functionality across sync + async redis client implementations + """ ### check if "os.environ/" passed in for k, v in env_overrides.items(): if isinstance(v, str) and v.startswith("os.environ/"): @@ -85,9 +89,33 @@ def get_redis_client(**env_overrides): redis_kwargs.pop("port", None) redis_kwargs.pop("db", None) redis_kwargs.pop("password", None) - - return redis.Redis.from_url(**redis_kwargs) elif "host" not in redis_kwargs or redis_kwargs["host"] is None: raise ValueError("Either 'host' or 'url' must be specified for redis.") litellm.print_verbose(f"redis_kwargs: {redis_kwargs}") + return redis_kwargs + + +def get_redis_client(**env_overrides): + redis_kwargs = _get_redis_client_logic(**env_overrides) + if "url" in redis_kwargs and redis_kwargs["url"] is not None: + return redis.Redis.from_url(**redis_kwargs) return redis.Redis(**redis_kwargs) + + +def get_redis_async_client(**env_overrides): + redis_kwargs = _get_redis_client_logic(**env_overrides) + if "url" in redis_kwargs and redis_kwargs["url"] is not None: + return async_redis.Redis.from_url(**redis_kwargs) + return async_redis.Redis( + socket_timeout=5, + **redis_kwargs, + ) + + +def get_redis_connection_pool(**env_overrides): + redis_kwargs = _get_redis_client_logic(**env_overrides) + if "url" in redis_kwargs and redis_kwargs["url"] is not None: + return async_redis.BlockingConnectionPool.from_url( + timeout=5, url=redis_kwargs["url"] + ) + return async_redis.BlockingConnectionPool(timeout=5, **redis_kwargs) diff --git a/litellm/budget_manager.py b/litellm/budget_manager.py index 0364741979a..84101575378 100644 --- a/litellm/budget_manager.py +++ b/litellm/budget_manager.py @@ -1,3 +1,12 @@ +# +-----------------------------------------------+ +# | | +# | NOT PROXY BUDGET MANAGER | +# | proxy budget manager is in proxy_server.py | +# | | +# +-----------------------------------------------+ +# +# Thank you users! We ❤️ you! - Krrish & Ishaan + import os, json, time import litellm from litellm.utils import ModelResponse @@ -16,7 +25,7 @@ class BudgetManager: self.client_type = client_type self.project_name = project_name self.api_base = api_base or "https://api.litellm.ai" - self.headers = headers or {'Content-Type': 'application/json'} + self.headers = headers or {"Content-Type": "application/json"} ## load the data or init the initial dictionaries self.load_data() diff --git a/litellm/caching.py b/litellm/caching.py index 38174c2abbc..56497206809 100644 --- a/litellm/caching.py +++ b/litellm/caching.py @@ -8,7 +8,7 @@ # Thank you users! We ❤️ you! - Krrish & Ishaan import litellm -import time, logging +import time, logging, asyncio import json, traceback, ast, hashlib from typing import Optional, Literal, List, Union, Any from openai._models import BaseModel as OpenAIObject @@ -28,9 +28,18 @@ class BaseCache: def set_cache(self, key, value, **kwargs): raise NotImplementedError + async def async_set_cache(self, key, value, **kwargs): + raise NotImplementedError + def get_cache(self, key, **kwargs): raise NotImplementedError + async def async_get_cache(self, key, **kwargs): + raise NotImplementedError + + async def disconnect(self): + raise NotImplementedError + class InMemoryCache(BaseCache): def __init__(self): @@ -43,6 +52,16 @@ class InMemoryCache(BaseCache): if "ttl" in kwargs: self.ttl_dict[key] = time.time() + kwargs["ttl"] + async def async_set_cache(self, key, value, **kwargs): + self.set_cache(key=key, value=value, **kwargs) + + async def async_set_cache_pipeline(self, cache_list, ttl=None): + for cache_key, cache_value in cache_list: + if ttl is not None: + self.set_cache(key=cache_key, value=cache_value, ttl=ttl) + else: + self.set_cache(key=cache_key, value=cache_value) + def get_cache(self, key, **kwargs): if key in self.cache_dict: if key in self.ttl_dict: @@ -57,17 +76,26 @@ class InMemoryCache(BaseCache): return cached_response return None + async def async_get_cache(self, key, **kwargs): + return self.get_cache(key=key, **kwargs) + def flush_cache(self): self.cache_dict.clear() self.ttl_dict.clear() + async def disconnect(self): + pass + + def delete_cache(self, key): + self.cache_dict.pop(key, None) + self.ttl_dict.pop(key, None) + class RedisCache(BaseCache): - def __init__(self, host=None, port=None, password=None, **kwargs): - import redis + # if users don't provider one, use the default litellm cache - # if users don't provider one, use the default litellm cache - from ._redis import get_redis_client + def __init__(self, host=None, port=None, password=None, **kwargs): + from ._redis import get_redis_client, get_redis_connection_pool redis_kwargs = {} if host is not None: @@ -78,18 +106,84 @@ class RedisCache(BaseCache): redis_kwargs["password"] = password redis_kwargs.update(kwargs) - self.redis_client = get_redis_client(**redis_kwargs) + self.redis_kwargs = redis_kwargs + self.async_redis_conn_pool = get_redis_connection_pool() + + def init_async_client(self): + from ._redis import get_redis_async_client + + return get_redis_async_client( + connection_pool=self.async_redis_conn_pool, **self.redis_kwargs + ) def set_cache(self, key, value, **kwargs): ttl = kwargs.get("ttl", None) - print_verbose(f"Set Redis Cache: key: {key}\nValue {value}") + print_verbose(f"Set Redis Cache: key: {key}\nValue {value}\nttl={ttl}") try: self.redis_client.set(name=key, value=str(value), ex=ttl) except Exception as e: # NON blocking - notify users Redis is throwing an exception logging.debug("LiteLLM Caching: set() - Got exception from REDIS : ", e) + async def async_set_cache(self, key, value, **kwargs): + _redis_client = self.init_async_client() + async with _redis_client as redis_client: + ttl = kwargs.get("ttl", None) + print_verbose( + f"Set ASYNC Redis Cache: key: {key}\nValue {value}\nttl={ttl}" + ) + try: + await redis_client.set(name=key, value=json.dumps(value), ex=ttl) + except Exception as e: + # NON blocking - notify users Redis is throwing an exception + logging.debug("LiteLLM Caching: set() - Got exception from REDIS : ", e) + + async def async_set_cache_pipeline(self, cache_list, ttl=None): + """ + Use Redis Pipelines for bulk write operations + """ + _redis_client = self.init_async_client() + try: + async with _redis_client as redis_client: + async with redis_client.pipeline(transaction=True) as pipe: + # Iterate through each key-value pair in the cache_list and set them in the pipeline. + for cache_key, cache_value in cache_list: + print_verbose( + f"Set ASYNC Redis Cache PIPELINE: key: {cache_key}\nValue {cache_value}\nttl={ttl}" + ) + # Set the value with a TTL if it's provided. + if ttl is not None: + pipe.setex(cache_key, ttl, json.dumps(cache_value)) + else: + pipe.set(cache_key, json.dumps(cache_value)) + # Execute the pipeline and return the results. + results = await pipe.execute() + + print_verbose(f"pipeline results: {results}") + # Optionally, you could process 'results' to make sure that all set operations were successful. + return results + except Exception as e: + print_verbose(f"Error occurred in pipeline write - {str(e)}") + # NON blocking - notify users Redis is throwing an exception + logging.debug("LiteLLM Caching: set() - Got exception from REDIS : ", e) + + def _get_cache_logic(self, cached_response: Any): + """ + Common 'get_cache_logic' across sync + async redis client implementations + """ + if cached_response is None: + return cached_response + # cached_response is in `b{} convert it to ModelResponse + cached_response = cached_response.decode("utf-8") # Convert bytes to string + try: + cached_response = json.loads( + cached_response + ) # Convert string to dictionary + except: + cached_response = ast.literal_eval(cached_response) + return cached_response + def get_cache(self, key, **kwargs): try: print_verbose(f"Get Redis Cache: key: {key}") @@ -97,26 +191,361 @@ class RedisCache(BaseCache): print_verbose( f"Got Redis Cache: key: {key}, cached_response {cached_response}" ) - if cached_response != None: - # cached_response is in `b{} convert it to ModelResponse - cached_response = cached_response.decode( - "utf-8" - ) # Convert bytes to string - try: - cached_response = json.loads( - cached_response - ) # Convert string to dictionary - except: - cached_response = ast.literal_eval(cached_response) - return cached_response + return self._get_cache_logic(cached_response=cached_response) except Exception as e: # NON blocking - notify users Redis is throwing an exception traceback.print_exc() logging.debug("LiteLLM Caching: get() - Got exception from REDIS: ", e) + async def async_get_cache(self, key, **kwargs): + _redis_client = self.init_async_client() + async with _redis_client as redis_client: + try: + print_verbose(f"Get Redis Cache: key: {key}") + cached_response = await redis_client.get(key) + print_verbose( + f"Got Async Redis Cache: key: {key}, cached_response {cached_response}" + ) + response = self._get_cache_logic(cached_response=cached_response) + return response + except Exception as e: + # NON blocking - notify users Redis is throwing an exception + traceback.print_exc() + logging.debug("LiteLLM Caching: get() - Got exception from REDIS: ", e) + def flush_cache(self): self.redis_client.flushall() + async def disconnect(self): + pass + + def delete_cache(self, key): + self.redis_client.delete(key) + + +class RedisSemanticCache(BaseCache): + def __init__( + self, + host=None, + port=None, + password=None, + redis_url=None, + similarity_threshold=None, + use_async=False, + embedding_model="text-embedding-ada-002", + **kwargs, + ): + from redisvl.index import SearchIndex + from redisvl.query import VectorQuery + + print_verbose( + "redis semantic-cache initializing INDEX - litellm_semantic_cache_index" + ) + if similarity_threshold is None: + raise Exception("similarity_threshold must be provided, passed None") + self.similarity_threshold = similarity_threshold + self.embedding_model = embedding_model + schema = { + "index": { + "name": "litellm_semantic_cache_index", + "prefix": "litellm", + "storage_type": "hash", + }, + "fields": { + "text": [{"name": "response"}], + "text": [{"name": "prompt"}], + "vector": [ + { + "name": "litellm_embedding", + "dims": 1536, + "distance_metric": "cosine", + "algorithm": "flat", + "datatype": "float32", + } + ], + }, + } + if redis_url is None: + # if no url passed, check if host, port and password are passed, if not raise an Exception + if host is None or port is None or password is None: + # try checking env for host, port and password + import os + + host = os.getenv("REDIS_HOST") + port = os.getenv("REDIS_PORT") + password = os.getenv("REDIS_PASSWORD") + if host is None or port is None or password is None: + raise Exception("Redis host, port, and password must be provided") + + redis_url = "redis://:" + password + "@" + host + ":" + port + print_verbose(f"redis semantic-cache redis_url: {redis_url}") + if use_async == False: + self.index = SearchIndex.from_dict(schema) + self.index.connect(redis_url=redis_url) + try: + self.index.create(overwrite=False) # don't overwrite existing index + except Exception as e: + print_verbose(f"Got exception creating semantic cache index: {str(e)}") + elif use_async == True: + schema["index"]["name"] = "litellm_semantic_cache_index_async" + self.index = SearchIndex.from_dict(schema) + self.index.connect(redis_url=redis_url, use_async=True) + + # + def _get_cache_logic(self, cached_response: Any): + """ + Common 'get_cache_logic' across sync + async redis client implementations + """ + if cached_response is None: + return cached_response + + # check if cached_response is bytes + if isinstance(cached_response, bytes): + cached_response = cached_response.decode("utf-8") + + try: + cached_response = json.loads( + cached_response + ) # Convert string to dictionary + except: + cached_response = ast.literal_eval(cached_response) + return cached_response + + def set_cache(self, key, value, **kwargs): + import numpy as np + + print_verbose(f"redis semantic-cache set_cache, kwargs: {kwargs}") + + # get the prompt + messages = kwargs["messages"] + prompt = "" + for message in messages: + prompt += message["content"] + + # create an embedding for prompt + embedding_response = litellm.embedding( + model=self.embedding_model, + input=prompt, + cache={"no-store": True, "no-cache": True}, + ) + + # get the embedding + embedding = embedding_response["data"][0]["embedding"] + + # make the embedding a numpy array, convert to bytes + embedding_bytes = np.array(embedding, dtype=np.float32).tobytes() + value = str(value) + assert isinstance(value, str) + + new_data = [ + {"response": value, "prompt": prompt, "litellm_embedding": embedding_bytes} + ] + + # Add more data + keys = self.index.load(new_data) + + return + + def get_cache(self, key, **kwargs): + print_verbose(f"sync redis semantic-cache get_cache, kwargs: {kwargs}") + from redisvl.query import VectorQuery + import numpy as np + + # query + + # get the messages + messages = kwargs["messages"] + prompt = "" + for message in messages: + prompt += message["content"] + + # convert to embedding + embedding_response = litellm.embedding( + model=self.embedding_model, + input=prompt, + cache={"no-store": True, "no-cache": True}, + ) + + # get the embedding + embedding = embedding_response["data"][0]["embedding"] + + query = VectorQuery( + vector=embedding, + vector_field_name="litellm_embedding", + return_fields=["response", "prompt", "vector_distance"], + num_results=1, + ) + + results = self.index.query(query) + if results == None: + return None + if isinstance(results, list): + if len(results) == 0: + return None + + vector_distance = results[0]["vector_distance"] + vector_distance = float(vector_distance) + similarity = 1 - vector_distance + cached_prompt = results[0]["prompt"] + + # check similarity, if more than self.similarity_threshold, return results + print_verbose( + f"semantic cache: similarity threshold: {self.similarity_threshold}, similarity: {similarity}, prompt: {prompt}, closest_cached_prompt: {cached_prompt}" + ) + if similarity > self.similarity_threshold: + # cache hit ! + cached_value = results[0]["response"] + print_verbose( + f"got a cache hit, similarity: {similarity}, Current prompt: {prompt}, cached_prompt: {cached_prompt}" + ) + return self._get_cache_logic(cached_response=cached_value) + else: + # cache miss ! + return None + + pass + + async def async_set_cache(self, key, value, **kwargs): + import numpy as np + from litellm.proxy.proxy_server import llm_router, llm_model_list + + try: + await self.index.acreate(overwrite=False) # don't overwrite existing index + except Exception as e: + print_verbose(f"Got exception creating semantic cache index: {str(e)}") + print_verbose(f"async redis semantic-cache set_cache, kwargs: {kwargs}") + + # get the prompt + messages = kwargs["messages"] + prompt = "" + for message in messages: + prompt += message["content"] + # create an embedding for prompt + router_model_names = ( + [m["model_name"] for m in llm_model_list] + if llm_model_list is not None + else [] + ) + if llm_router is not None and self.embedding_model in router_model_names: + user_api_key = kwargs.get("metadata", {}).get("user_api_key", "") + embedding_response = await llm_router.aembedding( + model=self.embedding_model, + input=prompt, + cache={"no-store": True, "no-cache": True}, + metadata={ + "user_api_key": user_api_key, + "semantic-cache-embedding": True, + "trace_id": kwargs.get("metadata", {}).get("trace_id", None), + }, + ) + else: + # convert to embedding + embedding_response = await litellm.aembedding( + model=self.embedding_model, + input=prompt, + cache={"no-store": True, "no-cache": True}, + ) + + # get the embedding + embedding = embedding_response["data"][0]["embedding"] + + # make the embedding a numpy array, convert to bytes + embedding_bytes = np.array(embedding, dtype=np.float32).tobytes() + value = str(value) + assert isinstance(value, str) + + new_data = [ + {"response": value, "prompt": prompt, "litellm_embedding": embedding_bytes} + ] + + # Add more data + keys = await self.index.aload(new_data) + return + + async def async_get_cache(self, key, **kwargs): + print_verbose(f"async redis semantic-cache get_cache, kwargs: {kwargs}") + from redisvl.query import VectorQuery + import numpy as np + from litellm.proxy.proxy_server import llm_router, llm_model_list + + # query + + # get the messages + messages = kwargs["messages"] + prompt = "" + for message in messages: + prompt += message["content"] + + router_model_names = ( + [m["model_name"] for m in llm_model_list] + if llm_model_list is not None + else [] + ) + if llm_router is not None and self.embedding_model in router_model_names: + user_api_key = kwargs.get("metadata", {}).get("user_api_key", "") + embedding_response = await llm_router.aembedding( + model=self.embedding_model, + input=prompt, + cache={"no-store": True, "no-cache": True}, + metadata={ + "user_api_key": user_api_key, + "semantic-cache-embedding": True, + "trace_id": kwargs.get("metadata", {}).get("trace_id", None), + }, + ) + else: + # convert to embedding + embedding_response = await litellm.aembedding( + model=self.embedding_model, + input=prompt, + cache={"no-store": True, "no-cache": True}, + ) + + # get the embedding + embedding = embedding_response["data"][0]["embedding"] + + query = VectorQuery( + vector=embedding, + vector_field_name="litellm_embedding", + return_fields=["response", "prompt", "vector_distance"], + ) + results = await self.index.aquery(query) + if results == None: + kwargs.setdefault("metadata", {})["semantic-similarity"] = 0.0 + return None + if isinstance(results, list): + if len(results) == 0: + kwargs.setdefault("metadata", {})["semantic-similarity"] = 0.0 + return None + + vector_distance = results[0]["vector_distance"] + vector_distance = float(vector_distance) + similarity = 1 - vector_distance + cached_prompt = results[0]["prompt"] + + # check similarity, if more than self.similarity_threshold, return results + print_verbose( + f"semantic cache: similarity threshold: {self.similarity_threshold}, similarity: {similarity}, prompt: {prompt}, closest_cached_prompt: {cached_prompt}" + ) + + # update kwargs["metadata"] with similarity, don't rewrite the original metadata + kwargs.setdefault("metadata", {})["semantic-similarity"] = similarity + + if similarity > self.similarity_threshold: + # cache hit ! + cached_value = results[0]["response"] + print_verbose( + f"got a cache hit, similarity: {similarity}, Current prompt: {prompt}, cached_prompt: {cached_prompt}" + ) + return self._get_cache_logic(cached_response=cached_value) + else: + # cache miss ! + return None + pass + + async def _index_info(self): + return await self.index.ainfo() + class S3Cache(BaseCache): def __init__( @@ -195,6 +624,9 @@ class S3Cache(BaseCache): # NON blocking - notify users S3 is throwing an exception print_verbose(f"S3 Caching: set_cache() - Got exception from S3: {e}") + async def async_set_cache(self, key, value, **kwargs): + self.set_cache(key=key, value=value, **kwargs) + def get_cache(self, key, **kwargs): import boto3, botocore @@ -237,9 +669,15 @@ class S3Cache(BaseCache): traceback.print_exc() print_verbose(f"S3 Caching: get_cache() - Got exception from S3: {e}") + async def async_get_cache(self, key, **kwargs): + return self.get_cache(key=key, **kwargs) + def flush_cache(self): pass + async def disconnect(self): + pass + class DualCache(BaseCache): """ @@ -304,15 +742,22 @@ class DualCache(BaseCache): if self.redis_cache is not None: self.redis_cache.flush_cache() + def delete_cache(self, key): + if self.in_memory_cache is not None: + self.in_memory_cache.delete_cache(key) + if self.redis_cache is not None: + self.redis_cache.delete_cache(key) + #### LiteLLM.Completion / Embedding Cache #### class Cache: def __init__( self, - type: Optional[Literal["local", "redis", "s3"]] = "local", + type: Optional[Literal["local", "redis", "redis-semantic", "s3"]] = "local", host: Optional[str] = None, port: Optional[str] = None, password: Optional[str] = None, + similarity_threshold: Optional[float] = None, supported_call_types: Optional[ List[Literal["completion", "acompletion", "embedding", "aembedding"]] ] = ["completion", "acompletion", "embedding", "aembedding"], @@ -327,16 +772,20 @@ class Cache: s3_aws_secret_access_key: Optional[str] = None, s3_aws_session_token: Optional[str] = None, s3_config: Optional[Any] = None, + redis_semantic_cache_use_async=False, + redis_semantic_cache_embedding_model="text-embedding-ada-002", **kwargs, ): """ Initializes the cache based on the given type. Args: - type (str, optional): The type of cache to initialize. Can be "local" or "redis". Defaults to "local". + type (str, optional): The type of cache to initialize. Can be "local", "redis", "redis-semantic", or "s3". Defaults to "local". host (str, optional): The host address for the Redis cache. Required if type is "redis". port (int, optional): The port number for the Redis cache. Required if type is "redis". password (str, optional): The password for the Redis cache. Required if type is "redis". + similarity_threshold (float, optional): The similarity threshold for semantic-caching, Required if type is "redis-semantic" + supported_call_types (list, optional): List of call types to cache for. Defaults to cache == on for all call types. **kwargs: Additional keyword arguments for redis.Redis() cache @@ -348,9 +797,19 @@ class Cache: """ if type == "redis": self.cache: BaseCache = RedisCache(host, port, password, **kwargs) - if type == "local": + elif type == "redis-semantic": + self.cache = RedisSemanticCache( + host, + port, + password, + similarity_threshold=similarity_threshold, + use_async=redis_semantic_cache_use_async, + embedding_model=redis_semantic_cache_embedding_model, + **kwargs, + ) + elif type == "local": self.cache = InMemoryCache() - if type == "s3": + elif type == "s3": self.cache = S3Cache( s3_bucket_name=s3_bucket_name, s3_region_name=s3_region_name, @@ -476,6 +935,45 @@ class Cache: } time.sleep(0.02) + def _get_cache_logic( + self, + cached_result: Optional[Any], + max_age: Optional[float], + ): + """ + Common get cache logic across sync + async implementations + """ + # Check if a timestamp was stored with the cached response + if ( + cached_result is not None + and isinstance(cached_result, dict) + and "timestamp" in cached_result + ): + timestamp = cached_result["timestamp"] + current_time = time.time() + + # Calculate age of the cached response + response_age = current_time - timestamp + + # Check if the cached response is older than the max-age + if max_age is not None and response_age > max_age: + return None # Cached response is too old + + # If the response is fresh, or there's no max-age requirement, return the cached response + # cached_response is in `b{} convert it to ModelResponse + cached_response = cached_result.get("response") + try: + if isinstance(cached_response, dict): + pass + else: + cached_response = json.loads( + cached_response # type: ignore + ) # Convert string to dictionary + except: + cached_response = ast.literal_eval(cached_response) # type: ignore + return cached_response + return cached_result + def get_cache(self, *args, **kwargs): """ Retrieves the cached result for the given arguments. @@ -488,6 +986,7 @@ class Cache: The cached result if it exists, otherwise None. """ try: # never block execution + messages = kwargs.get("messages", []) if "cache_key" in kwargs: cache_key = kwargs["cache_key"] else: @@ -497,55 +996,44 @@ class Cache: max_age = cache_control_args.get( "s-max-age", cache_control_args.get("s-maxage", float("inf")) ) - cached_result = self.cache.get_cache(cache_key) - # Check if a timestamp was stored with the cached response - if ( - cached_result is not None - and isinstance(cached_result, dict) - and "timestamp" in cached_result - and max_age is not None - ): - timestamp = cached_result["timestamp"] - current_time = time.time() - - # Calculate age of the cached response - response_age = current_time - timestamp - - # Check if the cached response is older than the max-age - if response_age > max_age: - print_verbose( - f"Cached response for key {cache_key} is too old. Max-age: {max_age}s, Age: {response_age}s" - ) - return None # Cached response is too old - - # If the response is fresh, or there's no max-age requirement, return the cached response - # cached_response is in `b{} convert it to ModelResponse - cached_response = cached_result.get("response") - try: - if isinstance(cached_response, dict): - pass - else: - cached_response = json.loads( - cached_response - ) # Convert string to dictionary - except: - cached_response = ast.literal_eval(cached_response) - return cached_response - return cached_result + cached_result = self.cache.get_cache(cache_key, messages=messages) + return self._get_cache_logic( + cached_result=cached_result, max_age=max_age + ) except Exception as e: print_verbose(f"An exception occurred: {traceback.format_exc()}") return None - def add_cache(self, result, *args, **kwargs): + async def async_get_cache(self, *args, **kwargs): """ - Adds a result to the cache. + Async get cache implementation. - Args: - *args: args to litellm.completion() or embedding() - **kwargs: kwargs to litellm.completion() or embedding() + Used for embedding calls in async wrapper + """ + try: # never block execution + messages = kwargs.get("messages", []) + if "cache_key" in kwargs: + cache_key = kwargs["cache_key"] + else: + cache_key = self.get_cache_key(*args, **kwargs) + if cache_key is not None: + cache_control_args = kwargs.get("cache", {}) + max_age = cache_control_args.get( + "s-max-age", cache_control_args.get("s-maxage", float("inf")) + ) + cached_result = await self.cache.async_get_cache( + cache_key, *args, **kwargs + ) + return self._get_cache_logic( + cached_result=cached_result, max_age=max_age + ) + except Exception as e: + print_verbose(f"An exception occurred: {traceback.format_exc()}") + return None - Returns: - None + def _add_cache_logic(self, result, *args, **kwargs): + """ + Common implementation across sync + async add_cache functions """ try: if "cache_key" in kwargs: @@ -564,14 +1052,82 @@ class Cache: if k == "ttl": kwargs["ttl"] = v cached_data = {"timestamp": time.time(), "response": result} - self.cache.set_cache(cache_key, cached_data, **kwargs) + return cache_key, cached_data, kwargs + else: + raise Exception("cache key is None") + except Exception as e: + raise e + + def add_cache(self, result, *args, **kwargs): + """ + Adds a result to the cache. + + Args: + *args: args to litellm.completion() or embedding() + **kwargs: kwargs to litellm.completion() or embedding() + + Returns: + None + """ + try: + cache_key, cached_data, kwargs = self._add_cache_logic( + result=result, *args, **kwargs + ) + self.cache.set_cache(cache_key, cached_data, **kwargs) except Exception as e: print_verbose(f"LiteLLM Cache: Excepton add_cache: {str(e)}") traceback.print_exc() pass - async def _async_add_cache(self, result, *args, **kwargs): - self.add_cache(result, *args, **kwargs) + async def async_add_cache(self, result, *args, **kwargs): + """ + Async implementation of add_cache + """ + try: + cache_key, cached_data, kwargs = self._add_cache_logic( + result=result, *args, **kwargs + ) + await self.cache.async_set_cache(cache_key, cached_data, **kwargs) + except Exception as e: + print_verbose(f"LiteLLM Cache: Excepton add_cache: {str(e)}") + traceback.print_exc() + + async def async_add_cache_pipeline(self, result, *args, **kwargs): + """ + Async implementation of add_cache for Embedding calls + + Does a bulk write, to prevent using too many clients + """ + try: + cache_list = [] + for idx, i in enumerate(kwargs["input"]): + preset_cache_key = litellm.cache.get_cache_key( + *args, **{**kwargs, "input": i} + ) + kwargs["cache_key"] = preset_cache_key + embedding_response = result.data[idx] + cache_key, cached_data, kwargs = self._add_cache_logic( + result=embedding_response, + *args, + **kwargs, + ) + cache_list.append((cache_key, cached_data)) + if hasattr(self.cache, "async_set_cache_pipeline"): + await self.cache.async_set_cache_pipeline(cache_list=cache_list) + else: + tasks = [] + for val in cache_list: + tasks.append( + self.cache.async_set_cache(cache_key, cached_data, **kwargs) + ) + await asyncio.gather(*tasks) + except Exception as e: + print_verbose(f"LiteLLM Cache: Excepton add_cache: {str(e)}") + traceback.print_exc() + + async def disconnect(self): + if hasattr(self.cache, "disconnect"): + await self.cache.disconnect() def enable_cache( diff --git a/litellm/integrations/custom_logger.py b/litellm/integrations/custom_logger.py index 316e48aedca..3bd0f40e6a3 100644 --- a/litellm/integrations/custom_logger.py +++ b/litellm/integrations/custom_logger.py @@ -63,6 +63,22 @@ class CustomLogger: # https://docs.litellm.ai/docs/observability/custom_callbac ): pass + async def async_post_call_streaming_hook( + self, original_exception: Exception, user_api_key_dict: UserAPIKeyAuth + ): + """ + Returns streaming chunk before their returned to user + """ + pass + + async def async_post_call_success_hook( + self, original_exception: Exception, user_api_key_dict: UserAPIKeyAuth + ): + """ + Returns llm response before it's returned to user + """ + pass + #### SINGLE-USE #### - https://docs.litellm.ai/docs/observability/custom_callback#using-your-custom-callback-function def log_input_event(self, model, messages, kwargs, print_verbose, callback_func): diff --git a/litellm/integrations/helicone.py b/litellm/integrations/helicone.py index f9dff85dbf3..cb866377324 100644 --- a/litellm/integrations/helicone.py +++ b/litellm/integrations/helicone.py @@ -2,6 +2,7 @@ # On success, logs events to Helicone import dotenv, os import requests +import litellm dotenv.load_dotenv() # Loading env variables using dotenv import traceback @@ -56,6 +57,10 @@ class HeliconeLogger: else "gpt-3.5-turbo" ) provider_request = {"model": model, "messages": messages} + if isinstance(response_obj, litellm.EmbeddingResponse) or isinstance( + response_obj, litellm.ModelResponse + ): + response_obj = response_obj.json() if "claude" in model: provider_request, response_obj = self.claude_mapping( diff --git a/litellm/integrations/langfuse.py b/litellm/integrations/langfuse.py index 722eb198c34..b548f22bc4a 100644 --- a/litellm/integrations/langfuse.py +++ b/litellm/integrations/langfuse.py @@ -9,11 +9,12 @@ dotenv.load_dotenv() # Loading env variables using dotenv import traceback from packaging.version import Version from litellm._logging import verbose_logger +import litellm class LangFuseLogger: # Class variables or attributes - def __init__(self): + def __init__(self, langfuse_public_key=None, langfuse_secret=None): try: from langfuse import Langfuse except Exception as e: @@ -21,8 +22,8 @@ class LangFuseLogger: f"\033[91mLangfuse not installed, try running 'pip install langfuse' to fix this error: {e}\033[0m" ) # Instance variables - self.secret_key = os.getenv("LANGFUSE_SECRET_KEY") - self.public_key = os.getenv("LANGFUSE_PUBLIC_KEY") + self.secret_key = langfuse_secret or os.getenv("LANGFUSE_SECRET_KEY") + self.public_key = langfuse_public_key or os.getenv("LANGFUSE_PUBLIC_KEY") self.langfuse_host = os.getenv("LANGFUSE_HOST", "https://cloud.langfuse.com") self.langfuse_release = os.getenv("LANGFUSE_RELEASE") self.langfuse_debug = os.getenv("LANGFUSE_DEBUG") @@ -34,8 +35,41 @@ class LangFuseLogger: debug=self.langfuse_debug, ) + if os.getenv("UPSTREAM_LANGFUSE_SECRET_KEY") is not None: + self.upstream_langfuse_secret_key = os.getenv( + "UPSTREAM_LANGFUSE_SECRET_KEY" + ) + self.upstream_langfuse_public_key = os.getenv( + "UPSTREAM_LANGFUSE_PUBLIC_KEY" + ) + self.upstream_langfuse_host = os.getenv("UPSTREAM_LANGFUSE_HOST") + self.upstream_langfuse_release = os.getenv("UPSTREAM_LANGFUSE_RELEASE") + self.upstream_langfuse_debug = os.getenv("UPSTREAM_LANGFUSE_DEBUG") + self.upstream_langfuse = Langfuse( + public_key=self.upstream_langfuse_public_key, + secret_key=self.upstream_langfuse_secret_key, + host=self.upstream_langfuse_host, + release=self.upstream_langfuse_release, + debug=self.upstream_langfuse_debug, + ) + else: + self.upstream_langfuse = None + + # def log_error(kwargs, response_obj, start_time, end_time): + # generation = trace.generation( + # level ="ERROR" # can be any of DEBUG, DEFAULT, WARNING or ERROR + # status_message='error' # can be any string (e.g. stringified stack trace or error body) + # ) def log_event( - self, kwargs, response_obj, start_time, end_time, user_id, print_verbose + self, + kwargs, + response_obj, + start_time, + end_time, + user_id, + print_verbose, + level="DEFAULT", + status_message=None, ): # Method definition @@ -63,32 +97,49 @@ class LangFuseLogger: pass # end of processing langfuse ######################## - input = prompt - output = response_obj["choices"][0]["message"].json() - print_verbose( - f"OUTPUT IN LANGFUSE: {output}; original: {response_obj['choices'][0]['message']}" - ) - self._log_langfuse_v2( - user_id, - metadata, - output, - start_time, - end_time, - kwargs, - optional_params, - input, - response_obj, - ) if self._is_langfuse_v2() else self._log_langfuse_v1( - user_id, - metadata, - output, - start_time, - end_time, - kwargs, - optional_params, - input, - response_obj, - ) + if ( + level == "ERROR" + and status_message is not None + and isinstance(status_message, str) + ): + input = prompt + output = status_message + elif response_obj is not None and ( + kwargs.get("call_type", None) == "embedding" + or isinstance(response_obj, litellm.EmbeddingResponse) + ): + input = prompt + output = response_obj["data"] + elif response_obj is not None: + input = prompt + output = response_obj["choices"][0]["message"].json() + print_verbose(f"OUTPUT IN LANGFUSE: {output}; original: {response_obj}") + if self._is_langfuse_v2(): + self._log_langfuse_v2( + user_id, + metadata, + output, + start_time, + end_time, + kwargs, + optional_params, + input, + response_obj, + level, + print_verbose, + ) + elif response_obj is not None: + self._log_langfuse_v1( + user_id, + metadata, + output, + start_time, + end_time, + kwargs, + optional_params, + input, + response_obj, + ) self.Langfuse.flush() print_verbose( @@ -97,15 +148,15 @@ class LangFuseLogger: verbose_logger.info(f"Langfuse Layer Logging - logging success") except: traceback.print_exc() - print_verbose(f"Langfuse Layer Error - {traceback.format_exc()}") + print(f"Langfuse Layer Error - {traceback.format_exc()}") pass async def _async_log_event( self, kwargs, response_obj, start_time, end_time, user_id, print_verbose ): - self.log_event( - kwargs, response_obj, start_time, end_time, user_id, print_verbose - ) + """ + TODO: support async calls when langfuse is truly async + """ def _is_langfuse_v2(self): import langfuse @@ -167,40 +218,84 @@ class LangFuseLogger: optional_params, input, response_obj, + level, + print_verbose, ): import langfuse - tags = [] - supports_tags = Version(langfuse.version.__version__) >= Version("2.6.3") + try: + tags = [] + supports_tags = Version(langfuse.version.__version__) >= Version("2.6.3") + supports_costs = Version(langfuse.version.__version__) >= Version("2.7.3") - trace_params = { - "name": metadata.get("generation_name", "litellm-completion"), - "input": input, - "output": output, - "user_id": metadata.get("trace_user_id", user_id), - "id": metadata.get("trace_id", None), - } - if supports_tags: - for key, value in metadata.items(): - tags.append(f"{key}:{value}") - if "cache_hit" in kwargs: - tags.append(f"cache_hit:{kwargs['cache_hit']}") - trace_params.update({"tags": tags}) + print_verbose(f"Langfuse Layer Logging - logging to langfuse v2 ") - trace = self.Langfuse.trace(**trace_params) + if supports_tags: + metadata_tags = metadata.get("tags", []) + tags = metadata_tags - trace.generation( - name=metadata.get("generation_name", "litellm-completion"), - id=metadata.get("generation_id", None), - startTime=start_time, - endTime=end_time, - model=kwargs["model"], - modelParameters=optional_params, - input=input, - output=output, - usage={ - "prompt_tokens": response_obj["usage"]["prompt_tokens"], - "completion_tokens": response_obj["usage"]["completion_tokens"], - }, - metadata=metadata, - ) + generation_name = metadata.get("generation_name", None) + if generation_name is None: + # just log `litellm-{call_type}` as the generation name + generation_name = f"litellm-{kwargs.get('call_type', 'completion')}" + + trace_params = { + "name": generation_name, + "input": input, + "user_id": metadata.get("trace_user_id", user_id), + "id": metadata.get("trace_id", None), + "session_id": metadata.get("session_id", None), + } + + if level == "ERROR": + trace_params["status_message"] = output + else: + trace_params["output"] = output + + cost = kwargs.get("response_cost", None) + print_verbose(f"trace: {cost}") + if supports_tags: + for key, value in metadata.items(): + if key in [ + "user_api_key", + "user_api_key_user_id", + "semantic-similarity", + ]: + tags.append(f"{key}:{value}") + if "cache_hit" in kwargs: + if kwargs["cache_hit"] is None: + kwargs["cache_hit"] = False + tags.append(f"cache_hit:{kwargs['cache_hit']}") + trace_params.update({"tags": tags}) + + trace = self.Langfuse.trace(**trace_params) + + generation_id = None + usage = None + if response_obj is not None and response_obj.get("id", None) is not None: + generation_id = litellm.utils.get_logging_id(start_time, response_obj) + usage = { + "prompt_tokens": response_obj["usage"]["prompt_tokens"], + "completion_tokens": response_obj["usage"]["completion_tokens"], + "total_cost": cost if supports_costs else None, + } + generation_params = { + "name": generation_name, + "id": metadata.get("generation_id", generation_id), + "startTime": start_time, + "endTime": end_time, + "model": kwargs["model"], + "modelParameters": optional_params, + "input": input, + "output": output, + "usage": usage, + "metadata": metadata, + "level": level, + } + + if output is not None and isinstance(output, str) and level == "ERROR": + generation_params["statusMessage"] = output + + trace.generation(**generation_params) + except Exception as e: + print(f"Langfuse Layer Error - {traceback.format_exc()}") diff --git a/litellm/integrations/s3.py b/litellm/integrations/s3.py index 98614949ea9..e25b39777c8 100644 --- a/litellm/integrations/s3.py +++ b/litellm/integrations/s3.py @@ -8,7 +8,7 @@ dotenv.load_dotenv() # Loading env variables using dotenv import traceback import datetime, subprocess, sys import litellm, uuid -from litellm._logging import print_verbose +from litellm._logging import print_verbose, verbose_logger class S3Logger: @@ -31,7 +31,9 @@ class S3Logger: import boto3 try: - print_verbose("in init s3 logger") + verbose_logger.debug( + f"in init s3 logger - s3_callback_params {litellm.s3_callback_params}" + ) if litellm.s3_callback_params is not None: # read in .env variables - example os.environ/AWS_BUCKET_NAME @@ -42,7 +44,7 @@ class S3Logger: s3_bucket_name = litellm.s3_callback_params.get("s3_bucket_name") s3_region_name = litellm.s3_callback_params.get("s3_region_name") s3_api_version = litellm.s3_callback_params.get("s3_api_version") - s3_use_ssl = litellm.s3_callback_params.get("s3_use_ssl") + s3_use_ssl = litellm.s3_callback_params.get("s3_use_ssl", True) s3_verify = litellm.s3_callback_params.get("s3_verify") s3_endpoint_url = litellm.s3_callback_params.get("s3_endpoint_url") s3_aws_access_key_id = litellm.s3_callback_params.get( @@ -59,6 +61,7 @@ class S3Logger: self.bucket_name = s3_bucket_name self.s3_path = s3_path + verbose_logger.debug(f"s3 logger using endpoint url {s3_endpoint_url}") # Create an S3 client with custom endpoint URL self.s3_client = boto3.client( "s3", @@ -84,7 +87,9 @@ class S3Logger: def log_event(self, kwargs, response_obj, start_time, end_time, print_verbose): try: - print_verbose(f"s3 Logging - Enters logging function for model {kwargs}") + verbose_logger.debug( + f"s3 Logging - Enters logging function for model {kwargs}" + ) # construct payload to send to s3 # follows the same params as langfuse.py @@ -123,12 +128,22 @@ class S3Logger: # non blocking if it can't cast to a str pass + s3_file_name = litellm.utils.get_logging_id(start_time, payload) or "" s3_object_key = ( (self.s3_path.rstrip("/") + "/" if self.s3_path else "") - + payload["id"] - + "-time=" - + str(start_time) + + start_time.strftime("%Y-%m-%d") + + "/" + + s3_file_name ) # we need the s3 key to include the time, so we log cache hits too + s3_object_key += ".json" + + s3_object_download_filename = ( + "time-" + + start_time.strftime("%Y-%m-%dT%H-%M-%S-%f") + + "_" + + payload["id"] + + ".json" + ) import json @@ -142,7 +157,8 @@ class S3Logger: Body=payload, ContentType="application/json", ContentLanguage="en", - ContentDisposition=f'inline; filename="{key}.json"', + ContentDisposition=f'inline; filename="{s3_object_download_filename}"', + CacheControl="private, immutable, max-age=31536000, s-maxage=0", ) print_verbose(f"Response from s3:{str(response)}") @@ -151,5 +167,5 @@ class S3Logger: return response except Exception as e: traceback.print_exc() - print_verbose(f"s3 Layer Error - {str(e)}\n{traceback.format_exc()}") + verbose_logger.debug(f"s3 Layer Error - {str(e)}\n{traceback.format_exc()}") pass diff --git a/litellm/llms/bedrock.py b/litellm/llms/bedrock.py index 4c36137da3d..ae076fdf029 100644 --- a/litellm/llms/bedrock.py +++ b/litellm/llms/bedrock.py @@ -2,9 +2,9 @@ import json, copy, types import os from enum import Enum import time -from typing import Callable, Optional, Any, Union +from typing import Callable, Optional, Any, Union, List import litellm -from litellm.utils import ModelResponse, get_secret, Usage +from litellm.utils import ModelResponse, get_secret, Usage, ImageResponse from .prompt_templates.factory import prompt_factory, custom_prompt import httpx @@ -282,6 +282,73 @@ class AmazonLlamaConfig: } +class AmazonStabilityConfig: + """ + Reference: https://us-west-2.console.aws.amazon.com/bedrock/home?region=us-west-2#/providers?model=stability.stable-diffusion-xl-v0 + + Supported Params for the Amazon / Stable Diffusion models: + + - `cfg_scale` (integer): Default `7`. Between [ 0 .. 35 ]. How strictly the diffusion process adheres to the prompt text (higher values keep your image closer to your prompt) + + - `seed` (float): Default: `0`. Between [ 0 .. 4294967295 ]. Random noise seed (omit this option or use 0 for a random seed) + + - `steps` (array of strings): Default `30`. Between [ 10 .. 50 ]. Number of diffusion steps to run. + + - `width` (integer): Default: `512`. multiple of 64 >= 128. Width of the image to generate, in pixels, in an increment divible by 64. + Engine-specific dimension validation: + + - SDXL Beta: must be between 128x128 and 512x896 (or 896x512); only one dimension can be greater than 512. + - SDXL v0.9: must be one of 1024x1024, 1152x896, 1216x832, 1344x768, 1536x640, 640x1536, 768x1344, 832x1216, or 896x1152 + - SDXL v1.0: same as SDXL v0.9 + - SD v1.6: must be between 320x320 and 1536x1536 + + - `height` (integer): Default: `512`. multiple of 64 >= 128. Height of the image to generate, in pixels, in an increment divible by 64. + Engine-specific dimension validation: + + - SDXL Beta: must be between 128x128 and 512x896 (or 896x512); only one dimension can be greater than 512. + - SDXL v0.9: must be one of 1024x1024, 1152x896, 1216x832, 1344x768, 1536x640, 640x1536, 768x1344, 832x1216, or 896x1152 + - SDXL v1.0: same as SDXL v0.9 + - SD v1.6: must be between 320x320 and 1536x1536 + """ + + cfg_scale: Optional[int] = None + seed: Optional[float] = None + steps: Optional[List[str]] = None + width: Optional[int] = None + height: Optional[int] = None + + def __init__( + self, + cfg_scale: Optional[int] = None, + seed: Optional[float] = None, + steps: Optional[List[str]] = None, + width: Optional[int] = None, + height: Optional[int] = None, + ) -> None: + locals_ = locals() + for key, value in locals_.items(): + if key != "self" and value is not None: + setattr(self.__class__, key, value) + + @classmethod + def get_config(cls): + return { + k: v + for k, v in cls.__dict__.items() + if not k.startswith("__") + and not isinstance( + v, + ( + types.FunctionType, + types.BuiltinFunctionType, + classmethod, + staticmethod, + ), + ) + and v is not None + } + + def init_bedrock_client( region_name=None, aws_access_key_id: Optional[str] = None, @@ -289,7 +356,9 @@ def init_bedrock_client( aws_region_name: Optional[str] = None, aws_bedrock_runtime_endpoint: Optional[str] = None, aws_session_name: Optional[str] = None, + aws_profile_name: Optional[str] = None, aws_role_name: Optional[str] = None, + timeout: Optional[int] = None, ): # check for custom AWS_REGION_NAME and use it if not passed to init_bedrock_client litellm_aws_region_name = get_secret("AWS_REGION_NAME", None) @@ -303,6 +372,7 @@ def init_bedrock_client( aws_region_name, aws_bedrock_runtime_endpoint, aws_session_name, + aws_profile_name, aws_role_name, ] @@ -317,6 +387,7 @@ def init_bedrock_client( aws_region_name, aws_bedrock_runtime_endpoint, aws_session_name, + aws_profile_name, aws_role_name, ) = params_to_check @@ -346,6 +417,8 @@ def init_bedrock_client( import boto3 + config = boto3.session.Config(connect_timeout=timeout, read_timeout=timeout) + ### CHECK STS ### if aws_role_name is not None and aws_session_name is not None: # use sts if role name passed in @@ -366,6 +439,7 @@ def init_bedrock_client( aws_session_token=sts_response["Credentials"]["SessionToken"], region_name=region_name, endpoint_url=endpoint_url, + config=config, ) elif aws_access_key_id is not None: # uses auth params passed to completion @@ -377,6 +451,16 @@ def init_bedrock_client( aws_secret_access_key=aws_secret_access_key, region_name=region_name, endpoint_url=endpoint_url, + config=config, + ) + elif aws_profile_name is not None: + # uses auth values from AWS profile usually stored in ~/.aws/credentials + + client = boto3.Session(profile_name=aws_profile_name).client( + service_name="bedrock-runtime", + region_name=region_name, + endpoint_url=endpoint_url, + config=config, ) else: # aws_access_key_id is None, assume user is trying to auth using env variables @@ -386,6 +470,7 @@ def init_bedrock_client( service_name="bedrock-runtime", region_name=region_name, endpoint_url=endpoint_url, + config=config, ) return client @@ -441,6 +526,7 @@ def completion( optional_params=None, litellm_params=None, logger_fn=None, + timeout=None, ): exception_mapping_worked = False try: @@ -450,6 +536,7 @@ def completion( aws_region_name = optional_params.pop("aws_region_name", None) aws_role_name = optional_params.pop("aws_role_name", None) aws_session_name = optional_params.pop("aws_session_name", None) + aws_profile_name = optional_params.pop("aws_profile_name", None) aws_bedrock_runtime_endpoint = optional_params.pop( "aws_bedrock_runtime_endpoint", None ) @@ -466,6 +553,8 @@ def completion( aws_bedrock_runtime_endpoint=aws_bedrock_runtime_endpoint, aws_role_name=aws_role_name, aws_session_name=aws_session_name, + aws_profile_name=aws_profile_name, + timeout=timeout, ) model = model @@ -652,6 +741,8 @@ def completion( try: if len(outputText) > 0: model_response["choices"][0]["message"]["content"] = outputText + else: + raise Exception() except: raise BedrockError( message=json.dumps(outputText), @@ -659,9 +750,16 @@ def completion( ) ## CALCULATING USAGE - baseten charges on time, not tokens - have some mapping of cost here. - prompt_tokens = len(encoding.encode(prompt)) - completion_tokens = len( - encoding.encode(model_response["choices"][0]["message"].get("content", "")) + prompt_tokens = response_metadata.get( + "x-amzn-bedrock-input-token-count", len(encoding.encode(prompt)) + ) + completion_tokens = response_metadata.get( + "x-amzn-bedrock-output-token-count", + len( + encoding.encode( + model_response["choices"][0]["message"].get("content", "") + ) + ), ) model_response["created"] = int(time.time()) @@ -672,6 +770,8 @@ def completion( total_tokens=prompt_tokens + completion_tokens, ) model_response.usage = usage + model_response._hidden_params["region_name"] = client.meta.region_name + print_verbose(f"model_response._hidden_params: {model_response._hidden_params}") return model_response except BedrockError as e: exception_mapping_worked = True @@ -693,6 +793,11 @@ def _embedding_func_single( encoding=None, logging_obj=None, ): + if isinstance(input, str) is False: + raise BedrockError( + message="Bedrock Embedding API input must be type str | List[str]", + status_code=400, + ) # logic for parsing in - calling - parsing out model embedding calls ## FORMAT EMBEDDING INPUT ## provider = model.split(".")[0] @@ -786,7 +891,8 @@ def embedding( aws_role_name=aws_role_name, aws_session_name=aws_session_name, ) - if type(input) == str: + if isinstance(input, str): + ## Embedding Call embeddings = [ _embedding_func_single( model, @@ -796,8 +902,8 @@ def embedding( logging_obj=logging_obj, ) ] - else: - ## Embedding Call + elif isinstance(input, list): + ## Embedding Call - assuming this is a List[str] embeddings = [ _embedding_func_single( model, @@ -808,6 +914,12 @@ def embedding( ) for i in input ] # [TODO]: make these parallel calls + else: + # enters this branch if input = int, ex. input=2 + raise BedrockError( + message="Bedrock Embedding API input must be type str | List[str]", + status_code=400, + ) ## Populate OpenAI compliant dictionary embedding_response = [] @@ -834,3 +946,112 @@ def embedding( model_response.usage = usage return model_response + + +def image_generation( + model: str, + prompt: str, + timeout=None, + logging_obj=None, + model_response=None, + optional_params=None, + aimg_generation=False, +): + """ + Bedrock Image Gen endpoint support + """ + ### BOTO3 INIT ### + # pop aws_secret_access_key, aws_access_key_id, aws_region_name from kwargs, since completion calls fail with them + aws_secret_access_key = optional_params.pop("aws_secret_access_key", None) + aws_access_key_id = optional_params.pop("aws_access_key_id", None) + aws_region_name = optional_params.pop("aws_region_name", None) + aws_role_name = optional_params.pop("aws_role_name", None) + aws_session_name = optional_params.pop("aws_session_name", None) + aws_bedrock_runtime_endpoint = optional_params.pop( + "aws_bedrock_runtime_endpoint", None + ) + + # use passed in BedrockRuntime.Client if provided, otherwise create a new one + client = init_bedrock_client( + aws_access_key_id=aws_access_key_id, + aws_secret_access_key=aws_secret_access_key, + aws_region_name=aws_region_name, + aws_bedrock_runtime_endpoint=aws_bedrock_runtime_endpoint, + aws_role_name=aws_role_name, + aws_session_name=aws_session_name, + timeout=timeout, + ) + + ### FORMAT IMAGE GENERATION INPUT ### + modelId = model + provider = model.split(".")[0] + inference_params = copy.deepcopy(optional_params) + inference_params.pop( + "user", None + ) # make sure user is not passed in for bedrock call + data = {} + if provider == "stability": + prompt = prompt.replace(os.linesep, " ") + ## LOAD CONFIG + config = litellm.AmazonStabilityConfig.get_config() + for k, v in config.items(): + if ( + k not in inference_params + ): # completion(top_k=3) > anthropic_config(top_k=3) <- allows for dynamic variables to be passed in + inference_params[k] = v + data = {"text_prompts": [{"text": prompt, "weight": 1}], **inference_params} + else: + raise BedrockError( + status_code=422, message=f"Unsupported model={model}, passed in" + ) + + body = json.dumps(data).encode("utf-8") + ## LOGGING + request_str = f""" + response = client.invoke_model( + body={body}, + modelId={modelId}, + accept="application/json", + contentType="application/json", + )""" # type: ignore + logging_obj.pre_call( + input=prompt, + api_key="", # boto3 is used for init. + additional_args={ + "complete_input_dict": {"model": modelId, "texts": prompt}, + "request_str": request_str, + }, + ) + try: + response = client.invoke_model( + body=body, + modelId=modelId, + accept="application/json", + contentType="application/json", + ) + response_body = json.loads(response.get("body").read()) + ## LOGGING + logging_obj.post_call( + input=prompt, + api_key="", + additional_args={"complete_input_dict": data}, + original_response=json.dumps(response_body), + ) + except Exception as e: + raise BedrockError( + message=f"Embedding Error with model {model}: {e}", status_code=500 + ) + + ### FORMAT RESPONSE TO OPENAI FORMAT ### + if response_body is None: + raise Exception("Error in response object format") + + if model_response is None: + model_response = ImageResponse() + + image_list: List = [] + for artifact in response_body["artifacts"]: + image_dict = {"url": artifact["base64"]} + + model_response.data = image_dict + return model_response diff --git a/litellm/llms/ollama.py b/litellm/llms/ollama.py index 0f99622b32e..9339deb78d7 100644 --- a/litellm/llms/ollama.py +++ b/litellm/llms/ollama.py @@ -145,8 +145,17 @@ def get_ollama_response( ): # completion(top_k=3) > cohere_config(top_k=3) <- allows for dynamic variables to be passed in optional_params[k] = v - optional_params["stream"] = optional_params.get("stream", False) - data = {"model": model, "prompt": prompt, **optional_params} + stream = optional_params.pop("stream", False) + format = optional_params.pop("format", None) + data = { + "model": model, + "prompt": prompt, + "options": optional_params, + "stream": stream, + } + if format is not None: + data["format"] = format + ## LOGGING logging_obj.pre_call( input=None, @@ -159,7 +168,7 @@ def get_ollama_response( }, ) if acompletion is True: - if optional_params.get("stream", False) == True: + if stream == True: response = ollama_async_streaming( url=url, data=data, @@ -176,10 +185,12 @@ def get_ollama_response( logging_obj=logging_obj, ) return response - elif optional_params.get("stream", False) == True: + elif stream == True: return ollama_completion_stream(url=url, data=data, logging_obj=logging_obj) - response = requests.post(url=f"{url}", json=data, timeout=litellm.request_timeout) + response = requests.post( + url=f"{url}", json={**data, "stream": stream}, timeout=litellm.request_timeout + ) if response.status_code != 200: raise OllamaError(status_code=response.status_code, message=response.text) @@ -254,7 +265,7 @@ async def ollama_async_streaming(url, data, model_response, encoding, logging_ob ) as response: if response.status_code != 200: raise OllamaError( - status_code=response.status_code, message=response.text + status_code=response.status_code, message=await response.aread() ) streamwrapper = litellm.CustomStreamWrapper( @@ -267,6 +278,7 @@ async def ollama_async_streaming(url, data, model_response, encoding, logging_ob yield transformed_chunk except Exception as e: traceback.print_exc() + raise e async def ollama_acompletion(url, data, model_response, encoding, logging_obj): diff --git a/litellm/llms/ollama_chat.py b/litellm/llms/ollama_chat.py index 31e3f0d16ad..c9d6654c7c3 100644 --- a/litellm/llms/ollama_chat.py +++ b/litellm/llms/ollama_chat.py @@ -145,8 +145,16 @@ def get_ollama_response( ): # completion(top_k=3) > cohere_config(top_k=3) <- allows for dynamic variables to be passed in optional_params[k] = v - optional_params["stream"] = optional_params.get("stream", False) - data = {"model": model, "messages": messages, **optional_params} + stream = optional_params.pop("stream", False) + format = optional_params.pop("format", None) + data = { + "model": model, + "messages": messages, + "options": optional_params, + "stream": stream, + } + if format is not None: + data["format"] = format ## LOGGING logging_obj.pre_call( input=None, @@ -159,7 +167,7 @@ def get_ollama_response( }, ) if acompletion is True: - if optional_params.get("stream", False) == True: + if stream == True: response = ollama_async_streaming( url=url, data=data, @@ -176,7 +184,7 @@ def get_ollama_response( logging_obj=logging_obj, ) return response - elif optional_params.get("stream", False) == True: + elif stream == True: return ollama_completion_stream(url=url, data=data, logging_obj=logging_obj) response = requests.post( @@ -220,8 +228,10 @@ def get_ollama_response( model_response["choices"][0]["message"] = response_json["message"] model_response["created"] = int(time.time()) model_response["model"] = "ollama/" + model - prompt_tokens = response_json.get("prompt_eval_count", len(encoding.encode(prompt))) # type: ignore - completion_tokens = response_json["eval_count"] + prompt_tokens = response_json.get("prompt_eval_count", litellm.token_counter(messages=messages)) # type: ignore + completion_tokens = response_json.get( + "eval_count", litellm.token_counter(text=response_json["message"]["content"]) + ) model_response["usage"] = litellm.Usage( prompt_tokens=prompt_tokens, completion_tokens=completion_tokens, @@ -318,10 +328,16 @@ async def ollama_acompletion(url, data, model_response, encoding, logging_obj): model_response["choices"][0]["message"] = message else: model_response["choices"][0]["message"] = response_json["message"] + model_response["created"] = int(time.time()) - model_response["model"] = "ollama/" + data["model"] - prompt_tokens = response_json.get("prompt_eval_count", len(encoding.encode(prompt))) # type: ignore - completion_tokens = response_json["eval_count"] + model_response["model"] = "ollama_chat/" + data["model"] + prompt_tokens = response_json.get("prompt_eval_count", litellm.token_counter(messages=data["messages"])) # type: ignore + completion_tokens = response_json.get( + "eval_count", + litellm.token_counter( + text=response_json["message"]["content"], count_response_tokens=True + ), + ) model_response["usage"] = litellm.Usage( prompt_tokens=prompt_tokens, completion_tokens=completion_tokens, diff --git a/litellm/llms/openai.py b/litellm/llms/openai.py index 01887616caf..1ca7e1710f7 100644 --- a/litellm/llms/openai.py +++ b/litellm/llms/openai.py @@ -221,6 +221,8 @@ class OpenAIChatCompletion(BaseLLM): headers: Optional[dict] = None, custom_prompt_dict: dict = {}, client=None, + organization: Optional[str] = None, + custom_llm_provider: Optional[str] = None, ): super().completion() exception_mapping_worked = False @@ -235,6 +237,14 @@ class OpenAIChatCompletion(BaseLLM): status_code=422, message=f"Timeout needs to be a float" ) + if custom_llm_provider == "mistral": + # check if message content passed in as list, and not string + messages = prompt_factory( + model=model, + messages=messages, + custom_llm_provider=custom_llm_provider, + ) + for _ in range( 2 ): # if call fails due to alternating messages, retry with reformatted message @@ -254,6 +264,7 @@ class OpenAIChatCompletion(BaseLLM): timeout=timeout, client=client, max_retries=max_retries, + organization=organization, ) else: return self.acompletion( @@ -266,6 +277,7 @@ class OpenAIChatCompletion(BaseLLM): timeout=timeout, client=client, max_retries=max_retries, + organization=organization, ) elif optional_params.get("stream", False): return self.streaming( @@ -278,6 +290,7 @@ class OpenAIChatCompletion(BaseLLM): timeout=timeout, client=client, max_retries=max_retries, + organization=organization, ) else: if not isinstance(max_retries, int): @@ -291,6 +304,7 @@ class OpenAIChatCompletion(BaseLLM): http_client=litellm.client_session, timeout=timeout, max_retries=max_retries, + organization=organization, ) else: openai_client = client @@ -320,12 +334,13 @@ class OpenAIChatCompletion(BaseLLM): model_response_object=model_response, ) except Exception as e: - if "Conversation roles must alternate user/assistant" in str( - e - ) or "user and assistant roles should be alternating" in str(e): + if ( + "Conversation roles must alternate user/assistant" in str(e) + or "user and assistant roles should be alternating" in str(e) + ) and messages is not None: # reformat messages to ensure user/assistant are alternating, if there's either 2 consecutive 'user' messages or 2 consecutive 'assistant' message, add a blank 'user' or 'assistant' message to ensure compatibility new_messages = [] - for i in range(len(messages) - 1): + for i in range(len(messages) - 1): # type: ignore new_messages.append(messages[i]) if messages[i]["role"] == messages[i + 1]["role"]: if messages[i]["role"] == "user": @@ -336,7 +351,9 @@ class OpenAIChatCompletion(BaseLLM): new_messages.append({"role": "user", "content": ""}) new_messages.append(messages[-1]) messages = new_messages - elif "Last message must have role `user`" in str(e): + elif ( + "Last message must have role `user`" in str(e) + ) and messages is not None: new_messages = messages new_messages.append({"role": "user", "content": ""}) messages = new_messages @@ -358,6 +375,7 @@ class OpenAIChatCompletion(BaseLLM): timeout: float, api_key: Optional[str] = None, api_base: Optional[str] = None, + organization: Optional[str] = None, client=None, max_retries=None, logging_obj=None, @@ -372,6 +390,7 @@ class OpenAIChatCompletion(BaseLLM): http_client=litellm.aclient_session, timeout=timeout, max_retries=max_retries, + organization=organization, ) else: openai_aclient = client @@ -412,6 +431,7 @@ class OpenAIChatCompletion(BaseLLM): model: str, api_key: Optional[str] = None, api_base: Optional[str] = None, + organization: Optional[str] = None, client=None, max_retries=None, headers=None, @@ -423,6 +443,7 @@ class OpenAIChatCompletion(BaseLLM): http_client=litellm.client_session, timeout=timeout, max_retries=max_retries, + organization=organization, ) else: openai_client = client @@ -431,8 +452,8 @@ class OpenAIChatCompletion(BaseLLM): input=data["messages"], api_key=api_key, additional_args={ - "headers": headers, - "api_base": api_base, + "headers": {"Authorization": f"Bearer {openai_client.api_key}"}, + "api_base": openai_client._base_url._uri_reference, "acompletion": False, "complete_input_dict": data, }, @@ -454,6 +475,7 @@ class OpenAIChatCompletion(BaseLLM): model: str, api_key: Optional[str] = None, api_base: Optional[str] = None, + organization: Optional[str] = None, client=None, max_retries=None, headers=None, @@ -467,6 +489,7 @@ class OpenAIChatCompletion(BaseLLM): http_client=litellm.aclient_session, timeout=timeout, max_retries=max_retries, + organization=organization, ) else: openai_aclient = client @@ -718,8 +741,22 @@ class OpenAIChatCompletion(BaseLLM): return convert_to_model_response_object(response_object=response, model_response_object=model_response, response_type="image_generation") # type: ignore except OpenAIError as e: exception_mapping_worked = True + ## LOGGING + logging_obj.post_call( + input=prompt, + api_key=api_key, + additional_args={"complete_input_dict": data}, + original_response=str(e), + ) raise e except Exception as e: + ## LOGGING + logging_obj.post_call( + input=prompt, + api_key=api_key, + additional_args={"complete_input_dict": data}, + original_response=str(e), + ) if hasattr(e, "status_code"): raise OpenAIError(status_code=e.status_code, message=str(e)) else: @@ -734,8 +771,11 @@ class OpenAIChatCompletion(BaseLLM): messages: Optional[list] = None, input: Optional[list] = None, prompt: Optional[str] = None, + organization: Optional[str] = None, ): - client = AsyncOpenAI(api_key=api_key, timeout=timeout) + client = AsyncOpenAI( + api_key=api_key, timeout=timeout, organization=organization + ) if model is None and mode != "image_generation": raise Exception("model is not set") diff --git a/litellm/llms/prompt_templates/factory.py b/litellm/llms/prompt_templates/factory.py index 43fbe872409..6321860cc5b 100644 --- a/litellm/llms/prompt_templates/factory.py +++ b/litellm/llms/prompt_templates/factory.py @@ -99,12 +99,16 @@ def ollama_pt( def mistral_instruct_pt(messages): + # Following the Mistral example's https://huggingface.co/docs/transformers/main/chat_templating prompt = custom_prompt( initial_prompt_value="", role_dict={ - "system": {"pre_message": "[INST]", "post_message": "[/INST]"}, - "user": {"pre_message": "[INST]", "post_message": "[/INST]"}, - "assistant": {"pre_message": "[INST]", "post_message": "[/INST]"}, + "system": { + "pre_message": "[INST] \n", + "post_message": " [/INST]\n", + }, + "user": {"pre_message": "[INST] ", "post_message": " [/INST]\n"}, + "assistant": {"pre_message": " ", "post_message": " "}, }, final_prompt_value="", messages=messages, @@ -112,6 +116,28 @@ def mistral_instruct_pt(messages): return prompt +def mistral_api_pt(messages): + """ + - handles scenario where content is list and not string + - content list is just text, and no images + - if image passed in, then just return as is (user-intended) + + Motivation: mistral api doesn't support content as a list + """ + new_messages = [] + for m in messages: + texts = "" + if isinstance(m["content"], list): + for c in m["content"]: + if c["type"] == "image_url": + return messages + elif c["type"] == "text" and isinstance(c["text"], str): + texts += c["text"] + new_m = {"role": m["role"], "content": texts} + new_messages.append(new_m) + return new_messages + + # Falcon prompt template - from https://github.com/lm-sys/FastChat/blob/main/fastchat/conversation.py#L110 def falcon_instruct_pt(messages): prompt = "" @@ -372,6 +398,7 @@ def anthropic_pt( You can "put words in Claude's mouth" by ending with an assistant message. See: https://docs.anthropic.com/claude/docs/put-words-in-claudes-mouth """ + class AnthropicConstants(Enum): HUMAN_PROMPT = "\n\nHuman: " AI_PROMPT = "\n\nAssistant: " @@ -394,32 +421,35 @@ def anthropic_pt( prompt += f"{AnthropicConstants.AI_PROMPT.value}" return prompt - + def _load_image_from_url(image_url): try: from PIL import Image except: - raise Exception("gemini image conversion failed please run `pip install Pillow`") + raise Exception( + "gemini image conversion failed please run `pip install Pillow`" + ) from io import BytesIO + try: # Send a GET request to the image URL response = requests.get(image_url) response.raise_for_status() # Raise an exception for HTTP errors # Check the response's content type to ensure it is an image - content_type = response.headers.get('content-type') - if not content_type or 'image' not in content_type: - raise ValueError(f"URL does not point to a valid image (content-type: {content_type})") + content_type = response.headers.get("content-type") + if not content_type or "image" not in content_type: + raise ValueError( + f"URL does not point to a valid image (content-type: {content_type})" + ) # Load the image from the response content return Image.open(BytesIO(response.content)) - + except requests.RequestException as e: - print(f"Request failed: {e}") - except UnidentifiedImageError: - print("Cannot identify image file (it may not be a supported image format or might be corrupted).") - except ValueError as e: - print(e) + raise Exception(f"Request failed: {e}") + except Exception as e: + raise e def _gemini_vision_convert_messages(messages: list): @@ -437,10 +467,11 @@ def _gemini_vision_convert_messages(messages: list): try: from PIL import Image except: - raise Exception("gemini image conversion failed please run `pip install Pillow`") + raise Exception( + "gemini image conversion failed please run `pip install Pillow`" + ) try: - # given messages for gpt-4 vision, convert them for gemini # https://github.com/GoogleCloudPlatform/generative-ai/blob/main/gemini/getting-started/intro_gemini_python.ipynb prompt = "" @@ -589,7 +620,7 @@ def prompt_factory( if custom_llm_provider == "ollama": return ollama_pt(model=model, messages=messages) elif custom_llm_provider == "anthropic": - if any(_ in model for _ in ["claude-2.1","claude-v2:1"]): + if any(_ in model for _ in ["claude-2.1", "claude-v2:1"]): return claude_2_1_pt(messages=messages) else: return anthropic_pt(messages=messages) @@ -603,6 +634,8 @@ def prompt_factory( return _gemini_vision_convert_messages(messages=messages) else: return gemini_text_image_pt(messages=messages) + elif custom_llm_provider == "mistral": + return mistral_api_pt(messages=messages) try: if "meta-llama/llama-2" in model and "chat" in model: return llama_2_chat_pt(messages=messages) diff --git a/litellm/llms/sagemaker.py b/litellm/llms/sagemaker.py index 1608f7a0ffe..96f84c88957 100644 --- a/litellm/llms/sagemaker.py +++ b/litellm/llms/sagemaker.py @@ -34,22 +34,35 @@ class TokenIterator: self.byte_iterator = iter(stream) self.buffer = io.BytesIO() self.read_pos = 0 + self.end_of_data = False def __iter__(self): return self def __next__(self): - while True: - self.buffer.seek(self.read_pos) - line = self.buffer.readline() - if line and line[-1] == ord("\n"): - self.read_pos += len(line) + 1 - full_line = line[:-1].decode("utf-8") - line_data = json.loads(full_line.lstrip("data:").rstrip("/n")) - return line_data["token"]["text"] - chunk = next(self.byte_iterator) - self.buffer.seek(0, io.SEEK_END) - self.buffer.write(chunk["PayloadPart"]["Bytes"]) + try: + while True: + self.buffer.seek(self.read_pos) + line = self.buffer.readline() + if line and line[-1] == ord("\n"): + response_obj = {"text": "", "is_finished": False} + self.read_pos += len(line) + 1 + full_line = line[:-1].decode("utf-8") + line_data = json.loads(full_line.lstrip("data:").rstrip("/n")) + if line_data.get("generated_text", None) is not None: + self.end_of_data = True + response_obj["is_finished"] = True + response_obj["text"] = line_data["token"]["text"] + return response_obj + chunk = next(self.byte_iterator) + self.buffer.seek(0, io.SEEK_END) + self.buffer.write(chunk["PayloadPart"]["Bytes"]) + except StopIteration as e: + if self.end_of_data == True: + raise e # Re-raise StopIteration + else: + self.end_of_data = True + return "data: [DONE]" class SagemakerConfig: @@ -353,7 +366,7 @@ def embedding( aws_access_key_id = optional_params.pop("aws_access_key_id", None) aws_region_name = optional_params.pop("aws_region_name", None) - if aws_access_key_id != None: + if aws_access_key_id is not None: # uses auth params passed to completion # aws_access_key_id is not None, assume user is trying to auth using litellm.completion client = boto3.client( diff --git a/litellm/llms/together_ai.py b/litellm/llms/together_ai.py index d4b85e9ca31..15ed29916ca 100644 --- a/litellm/llms/together_ai.py +++ b/litellm/llms/together_ai.py @@ -1,3 +1,7 @@ +""" +Deprecated. We now do together ai calls via the openai client. +Reference: https://docs.together.ai/docs/openai-api-compatibility +""" import os, types import json from enum import Enum diff --git a/litellm/llms/vertex_ai.py b/litellm/llms/vertex_ai.py index 57cf6c2a0ec..d42bd003f83 100644 --- a/litellm/llms/vertex_ai.py +++ b/litellm/llms/vertex_ai.py @@ -3,7 +3,7 @@ import json from enum import Enum import requests import time -from typing import Callable, Optional +from typing import Callable, Optional, Union from litellm.utils import ModelResponse, Usage, CustomStreamWrapper import litellm, uuid import httpx @@ -75,6 +75,41 @@ class VertexAIConfig: } +import asyncio + + +class TextStreamer: + """ + Fake streaming iterator for Vertex AI Model Garden calls + """ + + def __init__(self, text): + self.text = text.split() # let's assume words as a streaming unit + self.index = 0 + + def __iter__(self): + return self + + def __next__(self): + if self.index < len(self.text): + result = self.text[self.index] + self.index += 1 + return result + else: + raise StopIteration + + def __aiter__(self): + return self + + async def __anext__(self): + if self.index < len(self.text): + result = self.text[self.index] + self.index += 1 + return result + else: + raise StopAsyncIteration # once we run out of data to stream, we raise this error + + def _get_image_bytes_from_url(image_url: str) -> bytes: try: response = requests.get(image_url) @@ -236,9 +271,17 @@ def completion( Part, GenerationConfig, ) + from google.cloud import aiplatform + from google.protobuf import json_format # type: ignore + from google.protobuf.struct_pb2 import Value # type: ignore from google.cloud.aiplatform_v1beta1.types import content as gapic_content_types + import google.auth - vertexai.init(project=vertex_project, location=vertex_location) + ## Load credentials with the correct quota project ref: https://github.com/googleapis/python-aiplatform/issues/2557#issuecomment-1709284744 + creds, _ = google.auth.default(quota_project_id=vertex_project) + vertexai.init( + project=vertex_project, location=vertex_location, credentials=creds + ) ## Load Config config = litellm.VertexAIConfig.get_config() @@ -272,6 +315,11 @@ def completion( request_str = "" response_obj = None + async_client = None + instances = None + client_options = { + "api_endpoint": f"{vertex_location}-aiplatform.googleapis.com" + } if ( model in litellm.vertex_language_models or model in litellm.vertex_vision_models @@ -291,39 +339,51 @@ def completion( llm_model = CodeGenerationModel.from_pretrained(model) mode = "text" request_str += f"llm_model = CodeGenerationModel.from_pretrained({model})\n" - else: # vertex_code_llm_models + elif model in litellm.vertex_code_chat_models: # vertex_code_llm_models llm_model = CodeChatModel.from_pretrained(model) mode = "chat" request_str += f"llm_model = CodeChatModel.from_pretrained({model})\n" + else: # assume vertex model garden + client = aiplatform.gapic.PredictionServiceClient( + client_options=client_options + ) - if acompletion == True: # [TODO] expand support to vertex ai chat + text models + instances = [optional_params] + instances[0]["prompt"] = prompt + instances = [ + json_format.ParseDict(instance_dict, Value()) + for instance_dict in instances + ] + llm_model = client.endpoint_path( + project=vertex_project, location=vertex_location, endpoint=model + ) + + mode = "custom" + request_str += f"llm_model = client.endpoint_path(project={vertex_project}, location={vertex_location}, endpoint={model})\n" + + if acompletion == True: + data = { + "llm_model": llm_model, + "mode": mode, + "prompt": prompt, + "logging_obj": logging_obj, + "request_str": request_str, + "model": model, + "model_response": model_response, + "encoding": encoding, + "messages": messages, + "print_verbose": print_verbose, + "client_options": client_options, + "instances": instances, + "vertex_location": vertex_location, + "vertex_project": vertex_project, + **optional_params, + } if optional_params.get("stream", False) is True: # async streaming - return async_streaming( - llm_model=llm_model, - mode=mode, - prompt=prompt, - logging_obj=logging_obj, - request_str=request_str, - model=model, - model_response=model_response, - messages=messages, - print_verbose=print_verbose, - **optional_params, - ) - return async_completion( - llm_model=llm_model, - mode=mode, - prompt=prompt, - logging_obj=logging_obj, - request_str=request_str, - model=model, - model_response=model_response, - encoding=encoding, - messages=messages, - print_verbose=print_verbose, - **optional_params, - ) + return async_streaming(**data) + + return async_completion(**data) if mode == "vision": print_verbose("\nMaking VertexAI Gemini Pro Vision Call") @@ -468,7 +528,36 @@ def completion( }, ) completion_response = llm_model.predict(prompt, **optional_params).text + elif mode == "custom": + """ + Vertex AI Model Garden + """ + request_str += ( + f"client.predict(endpoint={llm_model}, instances={instances})\n" + ) + ## LOGGING + logging_obj.pre_call( + input=prompt, + api_key=None, + additional_args={ + "complete_input_dict": optional_params, + "request_str": request_str, + }, + ) + response = client.predict( + endpoint=llm_model, + instances=instances, + ).predictions + completion_response = response[0] + if ( + isinstance(completion_response, str) + and "\nOutput:\n" in completion_response + ): + completion_response = completion_response.split("\nOutput:\n", 1)[1] + if "stream" in optional_params and optional_params["stream"] == True: + response = TextStreamer(completion_response) + return response ## LOGGING logging_obj.post_call( input=prompt, api_key=None, original_response=completion_response @@ -536,6 +625,10 @@ async def async_completion( encoding=None, messages=None, print_verbose=None, + client_options=None, + instances=None, + vertex_project=None, + vertex_location=None, **optional_params, ): """ @@ -624,7 +717,43 @@ async def async_completion( ) response_obj = await llm_model.predict_async(prompt, **optional_params) completion_response = response_obj.text + elif mode == "custom": + """ + Vertex AI Model Garden + """ + from google.cloud import aiplatform + async_client = aiplatform.gapic.PredictionServiceAsyncClient( + client_options=client_options + ) + llm_model = async_client.endpoint_path( + project=vertex_project, location=vertex_location, endpoint=model + ) + + request_str += ( + f"client.predict(endpoint={llm_model}, instances={instances})\n" + ) + ## LOGGING + logging_obj.pre_call( + input=prompt, + api_key=None, + additional_args={ + "complete_input_dict": optional_params, + "request_str": request_str, + }, + ) + + response_obj = await async_client.predict( + endpoint=llm_model, + instances=instances, + ) + response = response_obj.predictions + completion_response = response[0] + if ( + isinstance(completion_response, str) + and "\nOutput:\n" in completion_response + ): + completion_response = completion_response.split("\nOutput:\n", 1)[1] ## LOGGING logging_obj.post_call( input=prompt, api_key=None, original_response=completion_response @@ -654,14 +783,12 @@ async def async_completion( # init prompt tokens # this block attempts to get usage from response_obj if it exists, if not it uses the litellm token counter prompt_tokens, completion_tokens, total_tokens = 0, 0, 0 - if response_obj is not None: - if hasattr(response_obj, "usage_metadata") and hasattr( - response_obj.usage_metadata, "prompt_token_count" - ): - prompt_tokens = response_obj.usage_metadata.prompt_token_count - completion_tokens = ( - response_obj.usage_metadata.candidates_token_count - ) + if response_obj is not None and ( + hasattr(response_obj, "usage_metadata") + and hasattr(response_obj.usage_metadata, "prompt_token_count") + ): + prompt_tokens = response_obj.usage_metadata.prompt_token_count + completion_tokens = response_obj.usage_metadata.candidates_token_count else: prompt_tokens = len(encoding.encode(prompt)) completion_tokens = len( @@ -690,8 +817,13 @@ async def async_streaming( model_response: ModelResponse, logging_obj=None, request_str=None, + encoding=None, messages=None, print_verbose=None, + client_options=None, + instances=None, + vertex_project=None, + vertex_location=None, **optional_params, ): """ @@ -760,17 +892,198 @@ async def async_streaming( }, ) response = llm_model.predict_streaming_async(prompt, **optional_params) + elif mode == "custom": + from google.cloud import aiplatform + async_client = aiplatform.gapic.PredictionServiceAsyncClient( + client_options=client_options + ) + llm_model = async_client.endpoint_path( + project=vertex_project, location=vertex_location, endpoint=model + ) + + request_str += f"client.predict(endpoint={llm_model}, instances={instances})\n" + ## LOGGING + logging_obj.pre_call( + input=prompt, + api_key=None, + additional_args={ + "complete_input_dict": optional_params, + "request_str": request_str, + }, + ) + + response_obj = await async_client.predict( + endpoint=llm_model, + instances=instances, + ) + response = response_obj.predictions + completion_response = response[0] + if ( + isinstance(completion_response, str) + and "\nOutput:\n" in completion_response + ): + completion_response = completion_response.split("\nOutput:\n", 1)[1] + if "stream" in optional_params and optional_params["stream"] == True: + response = TextStreamer(completion_response) streamwrapper = CustomStreamWrapper( completion_stream=response, model=model, custom_llm_provider="vertex_ai", logging_obj=logging_obj, ) - async for transformed_chunk in streamwrapper: - yield transformed_chunk + return streamwrapper -def embedding(): +def embedding( + model: str, + input: Union[list, str], + api_key: Optional[str] = None, + logging_obj=None, + model_response=None, + optional_params=None, + encoding=None, + vertex_project=None, + vertex_location=None, + aembedding=False, +): # logic for parsing in - calling - parsing out model embedding calls - pass + try: + import vertexai + except: + raise VertexAIError( + status_code=400, + message="vertexai import failed please run `pip install google-cloud-aiplatform`", + ) + + from vertexai.language_models import TextEmbeddingModel + import google.auth + + ## Load credentials with the correct quota project ref: https://github.com/googleapis/python-aiplatform/issues/2557#issuecomment-1709284744 + try: + creds, _ = google.auth.default(quota_project_id=vertex_project) + vertexai.init( + project=vertex_project, location=vertex_location, credentials=creds + ) + except Exception as e: + raise VertexAIError(status_code=401, message=str(e)) + + if isinstance(input, str): + input = [input] + + try: + llm_model = TextEmbeddingModel.from_pretrained(model) + except Exception as e: + raise VertexAIError(status_code=422, message=str(e)) + + if aembedding == True: + return async_embedding( + model=model, + client=llm_model, + input=input, + logging_obj=logging_obj, + model_response=model_response, + optional_params=optional_params, + encoding=encoding, + ) + + request_str = f"""embeddings = llm_model.get_embeddings({input})""" + ## LOGGING PRE-CALL + logging_obj.pre_call( + input=input, + api_key=None, + additional_args={ + "complete_input_dict": optional_params, + "request_str": request_str, + }, + ) + + try: + embeddings = llm_model.get_embeddings(input) + except Exception as e: + raise VertexAIError(status_code=500, message=str(e)) + + ## LOGGING POST-CALL + logging_obj.post_call(input=input, api_key=None, original_response=embeddings) + ## Populate OpenAI compliant dictionary + embedding_response = [] + for idx, embedding in enumerate(embeddings): + embedding_response.append( + { + "object": "embedding", + "index": idx, + "embedding": embedding.values, + } + ) + model_response["object"] = "list" + model_response["data"] = embedding_response + model_response["model"] = model + input_tokens = 0 + + input_str = "".join(input) + + input_tokens += len(encoding.encode(input_str)) + + usage = Usage( + prompt_tokens=input_tokens, completion_tokens=0, total_tokens=input_tokens + ) + model_response.usage = usage + + return model_response + + +async def async_embedding( + model: str, + input: Union[list, str], + logging_obj=None, + model_response=None, + optional_params=None, + encoding=None, + client=None, +): + """ + Async embedding implementation + """ + request_str = f"""embeddings = llm_model.get_embeddings({input})""" + ## LOGGING PRE-CALL + logging_obj.pre_call( + input=input, + api_key=None, + additional_args={ + "complete_input_dict": optional_params, + "request_str": request_str, + }, + ) + + try: + embeddings = await client.get_embeddings_async(input) + except Exception as e: + raise VertexAIError(status_code=500, message=str(e)) + + ## LOGGING POST-CALL + logging_obj.post_call(input=input, api_key=None, original_response=embeddings) + ## Populate OpenAI compliant dictionary + embedding_response = [] + for idx, embedding in enumerate(embeddings): + embedding_response.append( + { + "object": "embedding", + "index": idx, + "embedding": embedding.values, + } + ) + model_response["object"] = "list" + model_response["data"] = embedding_response + model_response["model"] = model + input_tokens = 0 + + input_str = "".join(input) + + input_tokens += len(encoding.encode(input_str)) + + usage = Usage( + prompt_tokens=input_tokens, completion_tokens=0, total_tokens=input_tokens + ) + model_response.usage = usage + + return model_response diff --git a/litellm/main.py b/litellm/main.py index 6b9a0bb1853..a7990ecfb4d 100644 --- a/litellm/main.py +++ b/litellm/main.py @@ -15,7 +15,7 @@ import dotenv, traceback, random, asyncio, time, contextvars from copy import deepcopy import httpx import litellm - +from ._logging import verbose_logger from litellm import ( # type: ignore client, exception_type, @@ -31,6 +31,7 @@ from litellm.utils import ( get_llm_provider, get_api_key, mock_completion_streaming_obj, + async_mock_completion_streaming_obj, convert_to_model_response_object, token_counter, Usage, @@ -235,6 +236,9 @@ async def acompletion( "model_list": model_list, "acompletion": True, # assuming this is a required parameter } + _, custom_llm_provider, _, _ = get_llm_provider( + model=model, api_base=completion_kwargs.get("base_url", None) + ) try: # Use a partial function to pass your keyword arguments func = partial(completion, **completion_kwargs, **kwargs) @@ -246,7 +250,6 @@ async def acompletion( _, custom_llm_provider, _, _ = get_llm_provider( model=model, api_base=kwargs.get("api_base", None) ) - if ( custom_llm_provider == "openai" or custom_llm_provider == "azure" @@ -261,6 +264,7 @@ async def acompletion( or custom_llm_provider == "ollama" or custom_llm_provider == "ollama_chat" or custom_llm_provider == "vertex_ai" + or custom_llm_provider in litellm.openai_compatible_providers ): # currently implemented aiohttp calls for just azure, openai, hf, ollama, vertex ai soon all. init_response = await loop.run_in_executor(None, func_with_context) if isinstance(init_response, dict) or isinstance( @@ -274,14 +278,10 @@ async def acompletion( else: # Call the synchronous function using run_in_executor response = await loop.run_in_executor(None, func_with_context) # type: ignore - # if kwargs.get("stream", False): # return an async generator - # return _async_streaming( - # response=response, - # model=model, - # custom_llm_provider=custom_llm_provider, - # args=args, - # ) - # else: + if isinstance(response, CustomStreamWrapper): + response.set_logging_event_loop( + loop=loop + ) # sets the logging event loop if the user does sync streaming (e.g. on proxy for sagemaker calls) return response except Exception as e: custom_llm_provider = custom_llm_provider or "openai" @@ -308,6 +308,7 @@ def mock_completion( messages: List, stream: Optional[bool] = False, mock_response: str = "This is a mock request", + logging=None, **kwargs, ): """ @@ -336,6 +337,15 @@ def mock_completion( model_response = ModelResponse(stream=stream) if stream is True: # don't try to access stream object, + if kwargs.get("acompletion", False) == True: + return CustomStreamWrapper( + completion_stream=async_mock_completion_streaming_obj( + model_response, mock_response=mock_response, model=model + ), + model=model, + custom_llm_provider="openai", + logging_obj=logging, + ) response = mock_completion_streaming_obj( model_response, mock_response=mock_response, model=model ) @@ -455,6 +465,7 @@ def completion( num_retries = kwargs.get("num_retries", None) ## deprecated max_retries = kwargs.get("max_retries", None) context_window_fallback_dict = kwargs.get("context_window_fallback_dict", None) + organization = kwargs.get("organization", None) ### CUSTOM MODEL COST ### input_cost_per_token = kwargs.get("input_cost_per_token", None) output_cost_per_token = kwargs.get("output_cost_per_token", None) @@ -590,28 +601,43 @@ def completion( ) if model_response is not None and hasattr(model_response, "_hidden_params"): model_response._hidden_params["custom_llm_provider"] = custom_llm_provider + model_response._hidden_params["region_name"] = kwargs.get( + "aws_region_name", None + ) # support region-based pricing for bedrock + ### REGISTER CUSTOM MODEL PRICING -- IF GIVEN ### if input_cost_per_token is not None and output_cost_per_token is not None: + print_verbose(f"Registering model={model} in model cost map") litellm.register_model( { + f"{custom_llm_provider}/{model}": { + "input_cost_per_token": input_cost_per_token, + "output_cost_per_token": output_cost_per_token, + "litellm_provider": custom_llm_provider, + }, model: { "input_cost_per_token": input_cost_per_token, "output_cost_per_token": output_cost_per_token, "litellm_provider": custom_llm_provider, - } + }, } ) - if ( + elif ( input_cost_per_second is not None ): # time based pricing just needs cost in place output_cost_per_second = output_cost_per_second or 0.0 litellm.register_model( { + f"{custom_llm_provider}/{model}": { + "input_cost_per_second": input_cost_per_second, + "output_cost_per_second": output_cost_per_second, + "litellm_provider": custom_llm_provider, + }, model: { "input_cost_per_second": input_cost_per_second, "output_cost_per_second": output_cost_per_second, "litellm_provider": custom_llm_provider, - } + }, } ) ### BUILD CUSTOM PROMPT TEMPLATE -- IF GIVEN ### @@ -702,7 +728,12 @@ def completion( ) if mock_response: return mock_completion( - model, messages, stream=stream, mock_response=mock_response + model, + messages, + stream=stream, + mock_response=mock_response, + logging=logging, + acompletion=acompletion, ) if custom_llm_provider == "azure": # azure configs @@ -777,6 +808,7 @@ def completion( or custom_llm_provider == "anyscale" or custom_llm_provider == "mistral" or custom_llm_provider == "openai" + or custom_llm_provider == "together_ai" or "ft:gpt-3.5-turbo" in model # finetune gpt-3.5-turbo ): # allow user to make an openai call with a custom base # note: if a user sets a custom base - we should ensure this works @@ -788,7 +820,8 @@ def completion( or "https://api.openai.com/v1" ) openai.organization = ( - litellm.organization + organization + or litellm.organization or get_secret("OPENAI_ORGANIZATION") or None # default - https://github.com/openai/openai-python/blob/284c1799070c723c6a553337134148a7ab088dd8/openai/util.py#L105 ) @@ -828,6 +861,7 @@ def completion( timeout=timeout, custom_prompt_dict=custom_prompt_dict, client=client, # pass AsyncOpenAI, OpenAI client + organization=organization, ) except Exception as e: ## LOGGING - log the original exception returned @@ -1314,6 +1348,9 @@ def completion( or ("togethercomputer" in model) or (model in litellm.together_ai_models) ): + """ + Deprecated. We now do together ai calls via the openai client - https://docs.together.ai/docs/openai-api-compatibility + """ custom_llm_provider = "together_ai" together_ai_key = ( api_key @@ -1421,9 +1458,15 @@ def completion( return response response = model_response elif custom_llm_provider == "vertex_ai": - vertex_ai_project = litellm.vertex_project or get_secret("VERTEXAI_PROJECT") - vertex_ai_location = litellm.vertex_location or get_secret( - "VERTEXAI_LOCATION" + vertex_ai_project = ( + optional_params.pop("vertex_ai_project", None) + or litellm.vertex_project + or get_secret("VERTEXAI_PROJECT") + ) + vertex_ai_location = ( + optional_params.pop("vertex_ai_location", None) + or litellm.vertex_location + or get_secret("VERTEXAI_LOCATION") ) model_response = vertex_ai.completion( @@ -1514,11 +1557,6 @@ def completion( if ( "stream" in optional_params and optional_params["stream"] == True ): ## [BETA] - # sagemaker does not support streaming as of now so we're faking streaming: - # https://discuss.huggingface.co/t/streaming-output-text-when-deploying-on-sagemaker/39611 - # "SageMaker is currently not supporting streaming responses." - - # fake streaming for sagemaker print_verbose(f"ENTERS SAGEMAKER CUSTOMSTREAMWRAPPER") from .llms.sagemaker import TokenIterator @@ -1529,6 +1567,12 @@ def completion( custom_llm_provider="sagemaker", logging_obj=logging, ) + ## LOGGING + logging.post_call( + input=messages, + api_key=None, + original_response=response, + ) return response ## RESPONSE OBJECT @@ -1547,6 +1591,7 @@ def completion( logger_fn=logger_fn, encoding=encoding, logging_obj=logging, + timeout=timeout, ) if "stream" in optional_params and optional_params["stream"] == True: @@ -2191,6 +2236,7 @@ async def aembedding(*args, **kwargs): or custom_llm_provider == "deepinfra" or custom_llm_provider == "perplexity" or custom_llm_provider == "ollama" + or custom_llm_provider == "vertex_ai" ): # currently implemented aiohttp calls for just azure and openai, soon all. # Await normally init_response = await loop.run_in_executor(None, func_with_context) @@ -2221,6 +2267,7 @@ def embedding( model, input=[], # Optional params + dimensions: Optional[int] = None, timeout=600, # default to 10 minutes # set api_base, api_version, api_key api_base: Optional[str] = None, @@ -2241,6 +2288,7 @@ def embedding( Parameters: - model: The embedding model to use. - input: The input for which embeddings are to be generated. + - dimensions: The number of dimensions the resulting output embeddings should have. Only supported in text-embedding-3 and later models. - timeout: The timeout value for the API call, default 10 mins - litellm_call_id: The call ID for litellm logging. - litellm_logging_obj: The litellm logging object. @@ -2274,6 +2322,7 @@ def embedding( output_cost_per_second = kwargs.get("output_cost_per_second", None) openai_params = [ "user", + "dimensions", "request_timeout", "api_base", "api_version", @@ -2342,7 +2391,9 @@ def embedding( api_key=api_key, ) optional_params = get_optional_params_embeddings( + model=model, user=user, + dimensions=dimensions, encoding_format=encoding_format, custom_llm_provider=custom_llm_provider, **non_default_params, @@ -2461,7 +2512,7 @@ def embedding( client=client, aembedding=aembedding, ) - elif model in litellm.cohere_embedding_models: + elif custom_llm_provider == "cohere": cohere_key = ( api_key or litellm.cohere_key @@ -2503,6 +2554,29 @@ def embedding( optional_params=optional_params, model_response=EmbeddingResponse(), ) + elif custom_llm_provider == "vertex_ai": + vertex_ai_project = ( + optional_params.pop("vertex_ai_project", None) + or litellm.vertex_project + or get_secret("VERTEXAI_PROJECT") + ) + vertex_ai_location = ( + optional_params.pop("vertex_ai_location", None) + or litellm.vertex_location + or get_secret("VERTEXAI_LOCATION") + ) + + response = vertex_ai.embedding( + model=model, + input=input, + encoding=encoding, + logging_obj=logging, + optional_params=optional_params, + model_response=EmbeddingResponse(), + vertex_project=vertex_ai_project, + vertex_location=vertex_ai_location, + aembedding=aembedding, + ) elif custom_llm_provider == "oobabooga": response = oobabooga.embedding( model=model, @@ -3064,7 +3138,7 @@ def image_generation( custom_llm_provider=custom_llm_provider, **non_default_params, ) - logging = litellm_logging_obj + logging: Logging = litellm_logging_obj logging.update_environment_variables( model=model, user=user, @@ -3128,7 +3202,18 @@ def image_generation( model_response=model_response, aimg_generation=aimg_generation, ) - + elif custom_llm_provider == "bedrock": + if model is None: + raise Exception("Model needs to be set for bedrock") + model_response = bedrock.image_generation( + model=model, + prompt=prompt, + timeout=timeout, + logging_obj=litellm_logging_obj, + optional_params=optional_params, + model_response=model_response, + aimg_generation=aimg_generation, + ) return model_response except Exception as e: ## Map to OpenAI Exception @@ -3164,6 +3249,9 @@ async def ahealth_check( if model is None: raise Exception("model not set") + if model in litellm.model_cost and mode is None: + mode = litellm.model_cost[model]["mode"] + model, custom_llm_provider, _, _ = get_llm_provider(model=model) mode = mode or "chat" # default to chat completion calls @@ -3210,6 +3298,7 @@ async def ahealth_check( or custom_llm_provider == "text-completion-openai" ): api_key = model_params.get("api_key") or get_secret("OPENAI_API_KEY") + organization = model_params.get("organization") timeout = ( model_params.get("timeout") @@ -3227,8 +3316,12 @@ async def ahealth_check( mode=mode, prompt=prompt, input=input, + organization=organization, ) else: + model_params["cache"] = { + "no-cache": True + } # don't used cached responses for making health check calls if mode == "embedding": model_params.pop("messages", None) model_params["input"] = input @@ -3244,6 +3337,10 @@ async def ahealth_check( response = {} # args like remaining ratelimit etc. return response except Exception as e: + if model not in litellm.model_cost and mode is None: + raise Exception( + "Missing `mode`. Set the `mode` for the model - https://docs.litellm.ai/docs/proxy/health#embedding-models" + ) return {"error": str(e)} @@ -3251,6 +3348,7 @@ async def ahealth_check( ## Set verbose to true -> ```litellm.set_verbose = True``` def print_verbose(print_statement): try: + verbose_logger.debug(print_statement) if litellm.set_verbose: print(print_statement) # noqa except: @@ -3342,6 +3440,16 @@ def stream_chunk_builder( chunks: list, messages: Optional[list] = None, start_time=None, end_time=None ): model_response = litellm.ModelResponse() + ### SORT CHUNKS BASED ON CREATED ORDER ## + print_verbose("Goes into checking if chunk has hiddden created at param") + if chunks[0]._hidden_params.get("created_at", None): + print_verbose("Chunks have a created at hidden param") + # Sort chunks based on created_at in ascending order + chunks = sorted( + chunks, key=lambda x: x._hidden_params.get("created_at", float("inf")) + ) + print_verbose("Chunks sorted") + # set hidden params from chunk to model_response if model_response is not None and hasattr(model_response, "_hidden_params"): model_response._hidden_params = chunks[0].get("_hidden_params", {}) diff --git a/litellm/model_prices_and_context_window_backup.json b/litellm/model_prices_and_context_window_backup.json index 454b2504ad7..e44f46ff84a 100644 --- a/litellm/model_prices_and_context_window_backup.json +++ b/litellm/model_prices_and_context_window_backup.json @@ -1,13 +1,26 @@ { "gpt-4": { - "max_tokens": 8192, + "max_tokens": 8192, + "max_input_tokens": 8192, + "max_output_tokens": 4096, "input_cost_per_token": 0.00003, "output_cost_per_token": 0.00006, "litellm_provider": "openai", "mode": "chat" }, + "gpt-4-turbo-preview": { + "max_tokens": 8192, + "max_input_tokens": 8192, + "max_output_tokens": 4096, + "input_cost_per_token": 0.00001, + "output_cost_per_token": 0.00003, + "litellm_provider": "openai", + "mode": "chat" + }, "gpt-4-0314": { "max_tokens": 8192, + "max_input_tokens": 8192, + "max_output_tokens": 4096, "input_cost_per_token": 0.00003, "output_cost_per_token": 0.00006, "litellm_provider": "openai", @@ -15,6 +28,8 @@ }, "gpt-4-0613": { "max_tokens": 8192, + "max_input_tokens": 8192, + "max_output_tokens": 4096, "input_cost_per_token": 0.00003, "output_cost_per_token": 0.00006, "litellm_provider": "openai", @@ -22,6 +37,8 @@ }, "gpt-4-32k": { "max_tokens": 32768, + "max_input_tokens": 32768, + "max_output_tokens": 4096, "input_cost_per_token": 0.00006, "output_cost_per_token": 0.00012, "litellm_provider": "openai", @@ -29,6 +46,8 @@ }, "gpt-4-32k-0314": { "max_tokens": 32768, + "max_input_tokens": 32768, + "max_output_tokens": 4096, "input_cost_per_token": 0.00006, "output_cost_per_token": 0.00012, "litellm_provider": "openai", @@ -36,6 +55,8 @@ }, "gpt-4-32k-0613": { "max_tokens": 32768, + "max_input_tokens": 32768, + "max_output_tokens": 4096, "input_cost_per_token": 0.00006, "output_cost_per_token": 0.00012, "litellm_provider": "openai", @@ -43,6 +64,17 @@ }, "gpt-4-1106-preview": { "max_tokens": 128000, + "max_input_tokens": 128000, + "max_output_tokens": 4096, + "input_cost_per_token": 0.00001, + "output_cost_per_token": 0.00003, + "litellm_provider": "openai", + "mode": "chat" + }, + "gpt-4-0125-preview": { + "max_tokens": 128000, + "max_input_tokens": 128000, + "max_output_tokens": 4096, "input_cost_per_token": 0.00001, "output_cost_per_token": 0.00003, "litellm_provider": "openai", @@ -50,6 +82,17 @@ }, "gpt-4-vision-preview": { "max_tokens": 128000, + "max_input_tokens": 128000, + "max_output_tokens": 4096, + "input_cost_per_token": 0.00001, + "output_cost_per_token": 0.00003, + "litellm_provider": "openai", + "mode": "chat" + }, + "gpt-4-1106-vision-preview": { + "max_tokens": 128000, + "max_input_tokens": 128000, + "max_output_tokens": 4096, "input_cost_per_token": 0.00001, "output_cost_per_token": 0.00003, "litellm_provider": "openai", @@ -57,6 +100,8 @@ }, "gpt-3.5-turbo": { "max_tokens": 4097, + "max_input_tokens": 4097, + "max_output_tokens": 4096, "input_cost_per_token": 0.0000015, "output_cost_per_token": 0.000002, "litellm_provider": "openai", @@ -64,6 +109,8 @@ }, "gpt-3.5-turbo-0301": { "max_tokens": 4097, + "max_input_tokens": 4097, + "max_output_tokens": 4096, "input_cost_per_token": 0.0000015, "output_cost_per_token": 0.000002, "litellm_provider": "openai", @@ -71,6 +118,8 @@ }, "gpt-3.5-turbo-0613": { "max_tokens": 4097, + "max_input_tokens": 4097, + "max_output_tokens": 4096, "input_cost_per_token": 0.0000015, "output_cost_per_token": 0.000002, "litellm_provider": "openai", @@ -78,13 +127,26 @@ }, "gpt-3.5-turbo-1106": { "max_tokens": 16385, + "max_input_tokens": 16385, + "max_output_tokens": 4096, "input_cost_per_token": 0.0000010, "output_cost_per_token": 0.0000020, "litellm_provider": "openai", "mode": "chat" }, + "gpt-3.5-turbo-0125": { + "max_tokens": 16385, + "max_input_tokens": 16385, + "max_output_tokens": 4096, + "input_cost_per_token": 0.0000005, + "output_cost_per_token": 0.0000015, + "litellm_provider": "openai", + "mode": "chat" + }, "gpt-3.5-turbo-16k": { "max_tokens": 16385, + "max_input_tokens": 16385, + "max_output_tokens": 4096, "input_cost_per_token": 0.000003, "output_cost_per_token": 0.000004, "litellm_provider": "openai", @@ -92,6 +154,8 @@ }, "gpt-3.5-turbo-16k-0613": { "max_tokens": 16385, + "max_input_tokens": 16385, + "max_output_tokens": 4096, "input_cost_per_token": 0.000003, "output_cost_per_token": 0.000004, "litellm_provider": "openai", @@ -99,11 +163,27 @@ }, "ft:gpt-3.5-turbo": { "max_tokens": 4097, - "input_cost_per_token": 0.000012, - "output_cost_per_token": 0.000016, + "max_input_tokens": 4097, + "max_output_tokens": 4096, + "input_cost_per_token": 0.000003, + "output_cost_per_token": 0.000006, "litellm_provider": "openai", "mode": "chat" }, + "text-embedding-3-large": { + "max_tokens": 8191, + "input_cost_per_token": 0.00000013, + "output_cost_per_token": 0.000000, + "litellm_provider": "openai", + "mode": "embedding" + }, + "text-embedding-3-small": { + "max_tokens": 8191, + "input_cost_per_token": 0.00000002, + "output_cost_per_token": 0.000000, + "litellm_provider": "openai", + "mode": "embedding" + }, "text-embedding-ada-002": { "max_tokens": 8191, "input_cost_per_token": 0.0000001, @@ -111,41 +191,182 @@ "litellm_provider": "openai", "mode": "embedding" }, - "azure/gpt-4-1106-preview": { + "text-embedding-ada-002-v2": { + "max_tokens": 8191, + "input_cost_per_token": 0.0000001, + "output_cost_per_token": 0.000000, + "litellm_provider": "openai", + "mode": "embedding" + }, + "256-x-256/dall-e-2": { + "mode": "image_generation", + "input_cost_per_pixel": 0.00000024414, + "output_cost_per_pixel": 0.0, + "litellm_provider": "openai" + }, + "512-x-512/dall-e-2": { + "mode": "image_generation", + "input_cost_per_pixel": 0.0000000686, + "output_cost_per_pixel": 0.0, + "litellm_provider": "openai" + }, + "1024-x-1024/dall-e-2": { + "mode": "image_generation", + "input_cost_per_pixel": 0.000000019, + "output_cost_per_pixel": 0.0, + "litellm_provider": "openai" + }, + "hd/1024-x-1792/dall-e-3": { + "mode": "image_generation", + "input_cost_per_pixel": 0.00000006539, + "output_cost_per_pixel": 0.0, + "litellm_provider": "openai" + }, + "hd/1792-x-1024/dall-e-3": { + "mode": "image_generation", + "input_cost_per_pixel": 0.00000006539, + "output_cost_per_pixel": 0.0, + "litellm_provider": "openai" + }, + "hd/1024-x-1024/dall-e-3": { + "mode": "image_generation", + "input_cost_per_pixel": 0.00000007629, + "output_cost_per_pixel": 0.0, + "litellm_provider": "openai" + }, + "standard/1024-x-1792/dall-e-3": { + "mode": "image_generation", + "input_cost_per_pixel": 0.00000004359, + "output_cost_per_pixel": 0.0, + "litellm_provider": "openai" + }, + "standard/1792-x-1024/dall-e-3": { + "mode": "image_generation", + "input_cost_per_pixel": 0.00000004359, + "output_cost_per_pixel": 0.0, + "litellm_provider": "openai" + }, + "standard/1024-x-1024/dall-e-3": { + "mode": "image_generation", + "input_cost_per_pixel": 0.0000000381469, + "output_cost_per_pixel": 0.0, + "litellm_provider": "openai" + }, + "azure/gpt-4-0125-preview": { "max_tokens": 128000, + "max_input_tokens": 128000, + "max_output_tokens": 4096, "input_cost_per_token": 0.00001, "output_cost_per_token": 0.00003, "litellm_provider": "azure", "mode": "chat" }, - "azure/gpt-4-32k": { + "azure/gpt-4-1106-preview": { + "max_tokens": 128000, + "max_input_tokens": 128000, + "max_output_tokens": 4096, + "input_cost_per_token": 0.00001, + "output_cost_per_token": 0.00003, + "litellm_provider": "azure", + "mode": "chat" + }, + "azure/gpt-4-0613": { "max_tokens": 8192, + "max_input_tokens": 8192, + "max_output_tokens": 4096, + "input_cost_per_token": 0.00003, + "output_cost_per_token": 0.00006, + "litellm_provider": "azure", + "mode": "chat" + }, + "azure/gpt-4-32k-0613": { + "max_tokens": 32768, + "max_input_tokens": 32768, + "max_output_tokens": 4096, + "input_cost_per_token": 0.00006, + "output_cost_per_token": 0.00012, + "litellm_provider": "azure", + "mode": "chat" + }, + "azure/gpt-4-32k": { + "max_tokens": 32768, + "max_input_tokens": 32768, + "max_output_tokens": 4096, "input_cost_per_token": 0.00006, "output_cost_per_token": 0.00012, "litellm_provider": "azure", "mode": "chat" }, "azure/gpt-4": { - "max_tokens": 16385, + "max_tokens": 8192, + "max_input_tokens": 8192, + "max_output_tokens": 4096, "input_cost_per_token": 0.00003, "output_cost_per_token": 0.00006, "litellm_provider": "azure", "mode": "chat" }, - "azure/gpt-3.5-turbo-16k": { + "azure/gpt-4-turbo": { + "max_tokens": 128000, + "max_input_tokens": 128000, + "max_output_tokens": 4096, + "input_cost_per_token": 0.00001, + "output_cost_per_token": 0.00003, + "litellm_provider": "azure", + "mode": "chat" + }, + "azure/gpt-4-turbo-vision-preview": { + "max_tokens": 128000, + "max_input_tokens": 128000, + "max_output_tokens": 4096, + "input_cost_per_token": 0.00001, + "output_cost_per_token": 0.00003, + "litellm_provider": "azure", + "mode": "chat" + }, + "azure/gpt-35-turbo-16k-0613": { "max_tokens": 16385, + "max_input_tokens": 16385, + "max_output_tokens": 4096, "input_cost_per_token": 0.000003, "output_cost_per_token": 0.000004, "litellm_provider": "azure", "mode": "chat" }, - "azure/gpt-3.5-turbo": { - "max_tokens": 4097, + "azure/gpt-35-turbo-1106": { + "max_tokens": 16384, + "max_input_tokens": 16384, + "max_output_tokens": 4096, "input_cost_per_token": 0.0000015, "output_cost_per_token": 0.000002, "litellm_provider": "azure", "mode": "chat" }, + "azure/gpt-35-turbo-16k": { + "max_tokens": 16385, + "max_input_tokens": 16385, + "max_output_tokens": 4096, + "input_cost_per_token": 0.000003, + "output_cost_per_token": 0.000004, + "litellm_provider": "azure", + "mode": "chat" + }, + "azure/gpt-35-turbo": { + "max_tokens": 4097, + "max_input_tokens": 4097, + "max_output_tokens": 4096, + "input_cost_per_token": 0.0000015, + "output_cost_per_token": 0.000002, + "litellm_provider": "azure", + "mode": "chat" + }, + "azure/ada": { + "max_tokens": 8191, + "input_cost_per_token": 0.0000001, + "output_cost_per_token": 0.000000, + "litellm_provider": "azure", + "mode": "embedding" + }, "azure/text-embedding-ada-002": { "max_tokens": 8191, "input_cost_per_token": 0.0000001, @@ -153,36 +374,52 @@ "litellm_provider": "azure", "mode": "embedding" }, - "text-davinci-003": { - "max_tokens": 4097, - "input_cost_per_token": 0.000002, - "output_cost_per_token": 0.000002, - "litellm_provider": "text-completion-openai", - "mode": "completion" + "azure/standard/1024-x-1024/dall-e-3": { + "input_cost_per_pixel": 0.0000000381469, + "output_cost_per_token": 0.0, + "litellm_provider": "azure", + "mode": "image_generation" }, - "text-curie-001": { - "max_tokens": 2049, - "input_cost_per_token": 0.000002, - "output_cost_per_token": 0.000002, - "litellm_provider": "text-completion-openai", - "mode": "completion" + "azure/hd/1024-x-1024/dall-e-3": { + "input_cost_per_pixel": 0.00000007629, + "output_cost_per_token": 0.0, + "litellm_provider": "azure", + "mode": "image_generation" }, - "text-babbage-001": { - "max_tokens": 2049, - "input_cost_per_token": 0.0000004, - "output_cost_per_token": 0.0000004, - "litellm_provider": "text-completion-openai", - "mode": "completion" + "azure/standard/1024-x-1792/dall-e-3": { + "input_cost_per_pixel": 0.00000004359, + "output_cost_per_token": 0.0, + "litellm_provider": "azure", + "mode": "image_generation" }, - "text-ada-001": { - "max_tokens": 2049, - "input_cost_per_token": 0.0000004, - "output_cost_per_token": 0.0000004, - "litellm_provider": "text-completion-openai", - "mode": "completion" + "azure/standard/1792-x-1024/dall-e-3": { + "input_cost_per_pixel": 0.00000004359, + "output_cost_per_token": 0.0, + "litellm_provider": "azure", + "mode": "image_generation" + }, + "azure/hd/1024-x-1792/dall-e-3": { + "input_cost_per_pixel": 0.00000006539, + "output_cost_per_token": 0.0, + "litellm_provider": "azure", + "mode": "image_generation" + }, + "azure/hd/1792-x-1024/dall-e-3": { + "input_cost_per_pixel": 0.00000006539, + "output_cost_per_token": 0.0, + "litellm_provider": "azure", + "mode": "image_generation" + }, + "azure/standard/1024-x-1024/dall-e-2": { + "input_cost_per_pixel": 0.0, + "output_cost_per_token": 0.0, + "litellm_provider": "azure", + "mode": "image_generation" }, "babbage-002": { "max_tokens": 16384, + "max_input_tokens": 16384, + "max_output_tokens": 4096, "input_cost_per_token": 0.0000004, "output_cost_per_token": 0.0000004, "litellm_provider": "text-completion-openai", @@ -190,6 +427,8 @@ }, "davinci-002": { "max_tokens": 16384, + "max_input_tokens": 16384, + "max_output_tokens": 4096, "input_cost_per_token": 0.000002, "output_cost_per_token": 0.000002, "litellm_provider": "text-completion-openai", @@ -197,6 +436,8 @@ }, "gpt-3.5-turbo-instruct": { "max_tokens": 8192, + "max_input_tokens": 8192, + "max_output_tokens": 4096, "input_cost_per_token": 0.0000015, "output_cost_per_token": 0.000002, "litellm_provider": "text-completion-openai", @@ -210,6 +451,33 @@ "litellm_provider": "anthropic", "mode": "chat" }, + "mistral/mistral-tiny": { + "max_tokens": 8192, + "input_cost_per_token": 0.00000015, + "output_cost_per_token": 0.00000046, + "litellm_provider": "mistral", + "mode": "chat" + }, + "mistral/mistral-small": { + "max_tokens": 8192, + "input_cost_per_token": 0.00000066, + "output_cost_per_token": 0.00000197, + "litellm_provider": "mistral", + "mode": "chat" + }, + "mistral/mistral-medium": { + "max_tokens": 8192, + "input_cost_per_token": 0.00000273, + "output_cost_per_token": 0.00000820, + "litellm_provider": "mistral", + "mode": "chat" + }, + "mistral/mistral-embed": { + "max_tokens": 8192, + "input_cost_per_token": 0.000000111, + "litellm_provider": "mistral", + "mode": "embedding" + }, "claude-instant-1.2": { "max_tokens": 100000, "max_output_tokens": 8191, @@ -248,6 +516,20 @@ "litellm_provider": "vertex_ai-text-models", "mode": "completion" }, + "text-unicorn": { + "max_tokens": 8192, + "input_cost_per_token": 0.00001, + "output_cost_per_token": 0.000028, + "litellm_provider": "vertex_ai-text-models", + "mode": "completion" + }, + "text-unicorn@001": { + "max_tokens": 8192, + "input_cost_per_token": 0.00001, + "output_cost_per_token": 0.000028, + "litellm_provider": "vertex_ai-text-models", + "mode": "completion" + }, "chat-bison": { "max_tokens": 4096, "input_cost_per_token": 0.000000125, @@ -262,6 +544,13 @@ "litellm_provider": "vertex_ai-chat-models", "mode": "chat" }, + "chat-bison@002": { + "max_tokens": 4096, + "input_cost_per_token": 0.000000125, + "output_cost_per_token": 0.000000125, + "litellm_provider": "vertex_ai-chat-models", + "mode": "chat" + }, "chat-bison-32k": { "max_tokens": 32000, "input_cost_per_token": 0.000000125, @@ -287,14 +576,21 @@ "max_tokens": 2048, "input_cost_per_token": 0.000000125, "output_cost_per_token": 0.000000125, - "litellm_provider": "vertex_ai-chat-models", + "litellm_provider": "vertex_ai-code-text-models", "mode": "completion" }, - "code-gecko@latest": { + "code-gecko@002": { "max_tokens": 2048, "input_cost_per_token": 0.000000125, "output_cost_per_token": 0.000000125, - "litellm_provider": "vertex_ai-chat-models", + "litellm_provider": "vertex_ai-code-text-models", + "mode": "completion" + }, + "code-gecko": { + "max_tokens": 2048, + "input_cost_per_token": 0.000000125, + "output_cost_per_token": 0.000000125, + "litellm_provider": "vertex_ai-code-text-models", "mode": "completion" }, "codechat-bison": { @@ -318,6 +614,67 @@ "litellm_provider": "vertex_ai-code-chat-models", "mode": "chat" }, + "gemini-pro": { + "max_tokens": 30720, + "max_output_tokens": 2048, + "input_cost_per_token": 0.00000025, + "output_cost_per_token": 0.0000005, + "litellm_provider": "vertex_ai-language-models", + "mode": "chat" + }, + "gemini-pro-vision": { + "max_tokens": 30720, + "max_output_tokens": 2048, + "input_cost_per_token": 0.00000025, + "output_cost_per_token": 0.0000005, + "litellm_provider": "vertex_ai-vision-models", + "mode": "chat" + }, + "textembedding-gecko": { + "max_tokens": 3072, + "max_input_tokens": 3072, + "output_vector_size": 768, + "input_cost_per_token": 0.00000000625, + "output_cost_per_token": 0, + "litellm_provider": "vertex_ai-embedding-models", + "mode": "embedding" + }, + "textembedding-gecko-multilingual": { + "max_tokens": 3072, + "max_input_tokens": 3072, + "output_vector_size": 768, + "input_cost_per_token": 0.00000000625, + "output_cost_per_token": 0, + "litellm_provider": "vertex_ai-embedding-models", + "mode": "embedding" + }, + "textembedding-gecko-multilingual@001": { + "max_tokens": 3072, + "max_input_tokens": 3072, + "output_vector_size": 768, + "input_cost_per_token": 0.00000000625, + "output_cost_per_token": 0, + "litellm_provider": "vertex_ai-embedding-models", + "mode": "embedding" + }, + "textembedding-gecko@001": { + "max_tokens": 3072, + "max_input_tokens": 3072, + "output_vector_size": 768, + "input_cost_per_token": 0.00000000625, + "output_cost_per_token": 0, + "litellm_provider": "vertex_ai-embedding-models", + "mode": "embedding" + }, + "textembedding-gecko@003": { + "max_tokens": 3072, + "max_input_tokens": 3072, + "output_vector_size": 768, + "input_cost_per_token": 0.00000000625, + "output_cost_per_token": 0, + "litellm_provider": "vertex_ai-embedding-models", + "mode": "embedding" + }, "palm/chat-bison": { "max_tokens": 4096, "input_cost_per_token": 0.000000125, @@ -360,6 +717,22 @@ "litellm_provider": "palm", "mode": "completion" }, + "gemini/gemini-pro": { + "max_tokens": 30720, + "max_output_tokens": 2048, + "input_cost_per_token": 0.0, + "output_cost_per_token": 0.0, + "litellm_provider": "gemini", + "mode": "chat" + }, + "gemini/gemini-pro-vision": { + "max_tokens": 30720, + "max_output_tokens": 2048, + "input_cost_per_token": 0.0, + "output_cost_per_token": 0.0, + "litellm_provider": "gemini", + "mode": "chat" + }, "command-nightly": { "max_tokens": 4096, "input_cost_per_token": 0.000015, @@ -628,6 +1001,14 @@ "litellm_provider": "bedrock", "mode": "chat" }, + "amazon.titan-embed-text-v1": { + "max_tokens": 8192, + "output_vector_size": 1536, + "input_cost_per_token": 0.0000001, + "output_cost_per_token": 0.0, + "litellm_provider": "bedrock", + "mode": "embedding" + }, "anthropic.claude-v1": { "max_tokens": 100000, "max_output_tokens": 8191, @@ -636,6 +1017,102 @@ "litellm_provider": "bedrock", "mode": "chat" }, + "bedrock/us-east-1/anthropic.claude-v1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_token": 0.000008, + "output_cost_per_token": 0.000024, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/us-west-2/anthropic.claude-v1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_token": 0.000008, + "output_cost_per_token": 0.000024, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/ap-northeast-1/anthropic.claude-v1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_token": 0.000008, + "output_cost_per_token": 0.000024, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/ap-northeast-1/1-month-commitment/anthropic.claude-v1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_second": 0.0455, + "output_cost_per_second": 0.0455, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/ap-northeast-1/6-month-commitment/anthropic.claude-v1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_second": 0.02527, + "output_cost_per_second": 0.02527, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/eu-central-1/anthropic.claude-v1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_token": 0.000008, + "output_cost_per_token": 0.000024, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/eu-central-1/1-month-commitment/anthropic.claude-v1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_second": 0.0415, + "output_cost_per_second": 0.0415, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/eu-central-1/6-month-commitment/anthropic.claude-v1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_second": 0.02305, + "output_cost_per_second": 0.02305, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/us-east-1/1-month-commitment/anthropic.claude-v1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_second": 0.0175, + "output_cost_per_second": 0.0175, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/us-east-1/6-month-commitment/anthropic.claude-v1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_second": 0.00972, + "output_cost_per_second": 0.00972, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/us-west-2/1-month-commitment/anthropic.claude-v1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_second": 0.0175, + "output_cost_per_second": 0.0175, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/us-west-2/6-month-commitment/anthropic.claude-v1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_second": 0.00972, + "output_cost_per_second": 0.00972, + "litellm_provider": "bedrock", + "mode": "chat" + }, "anthropic.claude-v2": { "max_tokens": 100000, "max_output_tokens": 8191, @@ -644,6 +1121,102 @@ "litellm_provider": "bedrock", "mode": "chat" }, + "bedrock/us-east-1/anthropic.claude-v2": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_token": 0.000008, + "output_cost_per_token": 0.000024, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/us-west-2/anthropic.claude-v2": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_token": 0.000008, + "output_cost_per_token": 0.000024, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/ap-northeast-1/anthropic.claude-v2": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_token": 0.000008, + "output_cost_per_token": 0.000024, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/ap-northeast-1/1-month-commitment/anthropic.claude-v2": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_second": 0.0455, + "output_cost_per_second": 0.0455, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/ap-northeast-1/6-month-commitment/anthropic.claude-v2": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_second": 0.02527, + "output_cost_per_second": 0.02527, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/eu-central-1/anthropic.claude-v2": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_token": 0.000008, + "output_cost_per_token": 0.000024, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/eu-central-1/1-month-commitment/anthropic.claude-v2": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_second": 0.0415, + "output_cost_per_second": 0.0415, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/eu-central-1/6-month-commitment/anthropic.claude-v2": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_second": 0.02305, + "output_cost_per_second": 0.02305, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/us-east-1/1-month-commitment/anthropic.claude-v2": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_second": 0.0175, + "output_cost_per_second": 0.0175, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/us-east-1/6-month-commitment/anthropic.claude-v2": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_second": 0.00972, + "output_cost_per_second": 0.00972, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/us-west-2/1-month-commitment/anthropic.claude-v2": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_second": 0.0175, + "output_cost_per_second": 0.0175, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/us-west-2/6-month-commitment/anthropic.claude-v2": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_second": 0.00972, + "output_cost_per_second": 0.00972, + "litellm_provider": "bedrock", + "mode": "chat" + }, "anthropic.claude-v2:1": { "max_tokens": 200000, "max_output_tokens": 8191, @@ -652,6 +1225,102 @@ "litellm_provider": "bedrock", "mode": "chat" }, + "bedrock/us-east-1/anthropic.claude-v2:1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_token": 0.000008, + "output_cost_per_token": 0.000024, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/us-west-2/anthropic.claude-v2:1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_token": 0.000008, + "output_cost_per_token": 0.000024, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/ap-northeast-1/anthropic.claude-v2:1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_token": 0.000008, + "output_cost_per_token": 0.000024, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/ap-northeast-1/1-month-commitment/anthropic.claude-v2:1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_second": 0.0455, + "output_cost_per_second": 0.0455, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/ap-northeast-1/6-month-commitment/anthropic.claude-v2:1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_second": 0.02527, + "output_cost_per_second": 0.02527, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/eu-central-1/anthropic.claude-v2:1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_token": 0.000008, + "output_cost_per_token": 0.000024, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/eu-central-1/1-month-commitment/anthropic.claude-v2:1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_second": 0.0415, + "output_cost_per_second": 0.0415, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/eu-central-1/6-month-commitment/anthropic.claude-v2:1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_second": 0.02305, + "output_cost_per_second": 0.02305, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/us-east-1/1-month-commitment/anthropic.claude-v2:1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_second": 0.0175, + "output_cost_per_second": 0.0175, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/us-east-1/6-month-commitment/anthropic.claude-v2:1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_second": 0.00972, + "output_cost_per_second": 0.00972, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/us-west-2/1-month-commitment/anthropic.claude-v2:1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_second": 0.0175, + "output_cost_per_second": 0.0175, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/us-west-2/6-month-commitment/anthropic.claude-v2:1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_second": 0.00972, + "output_cost_per_second": 0.00972, + "litellm_provider": "bedrock", + "mode": "chat" + }, "anthropic.claude-instant-v1": { "max_tokens": 100000, "max_output_tokens": 8191, @@ -660,6 +1329,102 @@ "litellm_provider": "bedrock", "mode": "chat" }, + "bedrock/us-east-1/anthropic.claude-instant-v1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_token": 0.0000008, + "output_cost_per_token": 0.0000024, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/us-east-1/1-month-commitment/anthropic.claude-instant-v1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_second": 0.011, + "output_cost_per_second": 0.011, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/us-east-1/6-month-commitment/anthropic.claude-instant-v1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_second": 0.00611, + "output_cost_per_second": 0.00611, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/us-west-2/1-month-commitment/anthropic.claude-instant-v1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_second": 0.011, + "output_cost_per_second": 0.011, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/us-west-2/6-month-commitment/anthropic.claude-instant-v1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_second": 0.00611, + "output_cost_per_second": 0.00611, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/us-west-2/anthropic.claude-instant-v1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_token": 0.0000008, + "output_cost_per_token": 0.0000024, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/ap-northeast-1/anthropic.claude-instant-v1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_token": 0.00000223, + "output_cost_per_token": 0.00000755, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/ap-northeast-1/1-month-commitment/anthropic.claude-instant-v1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_second": 0.01475, + "output_cost_per_second": 0.01475, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/ap-northeast-1/6-month-commitment/anthropic.claude-instant-v1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_second": 0.008194, + "output_cost_per_second": 0.008194, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/eu-central-1/anthropic.claude-instant-v1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_token": 0.00000248, + "output_cost_per_token": 0.00000838, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/eu-central-1/1-month-commitment/anthropic.claude-instant-v1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_second": 0.01635, + "output_cost_per_second": 0.01635, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/eu-central-1/6-month-commitment/anthropic.claude-instant-v1": { + "max_tokens": 100000, + "max_output_tokens": 8191, + "input_cost_per_second": 0.009083, + "output_cost_per_second": 0.009083, + "litellm_provider": "bedrock", + "mode": "chat" + }, "cohere.command-text-v14": { "max_tokens": 4096, "input_cost_per_token": 0.0000015, @@ -667,6 +1432,55 @@ "litellm_provider": "bedrock", "mode": "chat" }, + "bedrock/*/1-month-commitment/cohere.command-text-v14": { + "max_tokens": 4096, + "input_cost_per_second": 0.011, + "output_cost_per_second": 0.011, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/*/6-month-commitment/cohere.command-text-v14": { + "max_tokens": 4096, + "input_cost_per_second": 0.0066027, + "output_cost_per_second": 0.0066027, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "cohere.command-light-text-v14": { + "max_tokens": 4000, + "input_cost_per_token": 0.0000003, + "output_cost_per_token": 0.0000006, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/*/1-month-commitment/cohere.command-light-text-v14": { + "max_tokens": 4096, + "input_cost_per_second": 0.001902, + "output_cost_per_second": 0.001902, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "bedrock/*/6-month-commitment/cohere.command-light-text-v14": { + "max_tokens": 4096, + "input_cost_per_second": 0.0011416, + "output_cost_per_second": 0.0011416, + "litellm_provider": "bedrock", + "mode": "chat" + }, + "cohere.embed-english-v3": { + "max_tokens": 512, + "input_cost_per_token": 0.0000001, + "output_cost_per_token": 0.000000, + "litellm_provider": "bedrock", + "mode": "embedding" + }, + "cohere.embed-multilingual-v3": { + "max_tokens": 512, + "input_cost_per_token": 0.0000001, + "output_cost_per_token": 0.000000, + "litellm_provider": "bedrock", + "mode": "embedding" + }, "meta.llama2-13b-chat-v1": { "max_tokens": 4096, "input_cost_per_token": 0.00000075, @@ -681,6 +1495,48 @@ "litellm_provider": "bedrock", "mode": "chat" }, + "512-x-512/50-steps/stability.stable-diffusion-xl-v0": { + "max_tokens": 77, + "max_input_tokens": 77, + "output_cost_per_image": 0.018, + "litellm_provider": "bedrock", + "mode": "image_generation" + }, + "512-x-512/max-steps/stability.stable-diffusion-xl-v0": { + "max_tokens": 77, + "max_input_tokens": 77, + "output_cost_per_image": 0.036, + "litellm_provider": "bedrock", + "mode": "image_generation" + }, + "max-x-max/50-steps/stability.stable-diffusion-xl-v0": { + "max_tokens": 77, + "max_input_tokens": 77, + "output_cost_per_image": 0.036, + "litellm_provider": "bedrock", + "mode": "image_generation" + }, + "max-x-max/max-steps/stability.stable-diffusion-xl-v0": { + "max_tokens": 77, + "max_input_tokens": 77, + "output_cost_per_image": 0.072, + "litellm_provider": "bedrock", + "mode": "image_generation" + }, + "1024-x-1024/50-steps/stability.stable-diffusion-xl-v1": { + "max_tokens": 77, + "max_input_tokens": 77, + "output_cost_per_image": 0.04, + "litellm_provider": "bedrock", + "mode": "image_generation" + }, + "1024-x-1024/max-steps/stability.stable-diffusion-xl-v1": { + "max_tokens": 77, + "max_input_tokens": 77, + "output_cost_per_image": 0.08, + "litellm_provider": "bedrock", + "mode": "image_generation" + }, "sagemaker/meta-textgeneration-llama-2-7b": { "max_tokens": 4096, "input_cost_per_token": 0.000, @@ -805,104 +1661,197 @@ "litellm_provider": "ollama", "mode": "completion" }, + "deepinfra/lizpreciatior/lzlv_70b_fp16_hf": { + "max_tokens": 4096, + "input_cost_per_token": 0.00000070, + "output_cost_per_token": 0.00000090, + "litellm_provider": "deepinfra", + "mode": "chat" + }, + "deepinfra/Gryphe/MythoMax-L2-13b": { + "max_tokens": 4096, + "input_cost_per_token": 0.00000022, + "output_cost_per_token": 0.00000022, + "litellm_provider": "deepinfra", + "mode": "chat" + }, + "deepinfra/mistralai/Mistral-7B-Instruct-v0.1": { + "max_tokens": 32768, + "input_cost_per_token": 0.00000013, + "output_cost_per_token": 0.00000013, + "litellm_provider": "deepinfra", + "mode": "chat" + }, "deepinfra/meta-llama/Llama-2-70b-chat-hf": { "max_tokens": 4096, - "input_cost_per_token": 0.000000700, - "output_cost_per_token": 0.000000950, + "input_cost_per_token": 0.00000070, + "output_cost_per_token": 0.00000090, + "litellm_provider": "deepinfra", + "mode": "chat" + }, + "deepinfra/cognitivecomputations/dolphin-2.6-mixtral-8x7b": { + "max_tokens": 32768, + "input_cost_per_token": 0.00000027, + "output_cost_per_token": 0.00000027, "litellm_provider": "deepinfra", "mode": "chat" }, "deepinfra/codellama/CodeLlama-34b-Instruct-hf": { "max_tokens": 4096, - "input_cost_per_token": 0.0000006, - "output_cost_per_token": 0.0000006, + "input_cost_per_token": 0.00000060, + "output_cost_per_token": 0.00000060, "litellm_provider": "deepinfra", "mode": "chat" - }, - "deepinfra/meta-llama/Llama-2-13b-chat-hf": { + }, + "deepinfra/deepinfra/mixtral": { "max_tokens": 4096, - "input_cost_per_token": 0.00000035, - "output_cost_per_token": 0.00000035, + "input_cost_per_token": 0.00000027, + "output_cost_per_token": 0.00000027, "litellm_provider": "deepinfra", - "mode": "chat" - }, - "deepinfra/meta-llama/Llama-2-7b-chat-hf": { + "mode": "completion" + }, + "deepinfra/Phind/Phind-CodeLlama-34B-v2": { "max_tokens": 4096, - "input_cost_per_token": 0.0000002, - "output_cost_per_token": 0.0000002, + "input_cost_per_token": 0.00000060, + "output_cost_per_token": 0.00000060, "litellm_provider": "deepinfra", "mode": "chat" - }, - "deepinfra/mistralai/Mistral-7B-Instruct-v0.1": { + }, + "deepinfra/mistralai/Mixtral-8x7B-Instruct-v0.1": { + "max_tokens": 32768, + "input_cost_per_token": 0.00000027, + "output_cost_per_token": 0.00000027, + "litellm_provider": "deepinfra", + "mode": "chat" + }, + "deepinfra/deepinfra/airoboros-70b": { "max_tokens": 4096, - "input_cost_per_token": 0.0000002, - "output_cost_per_token": 0.0000002, + "input_cost_per_token": 0.00000070, + "output_cost_per_token": 0.00000090, "litellm_provider": "deepinfra", "mode": "chat" - }, - "deepinfra/jondurbin/airoboros-l2-70b-gpt4-1.4.1": { + }, + "deepinfra/01-ai/Yi-34B-Chat": { "max_tokens": 4096, - "input_cost_per_token": 0.0000007, - "output_cost_per_token": 0.00000095, + "input_cost_per_token": 0.00000060, + "output_cost_per_token": 0.00000060, "litellm_provider": "deepinfra", "mode": "chat" - }, - "perplexity/pplx-7b-chat": { + }, + "deepinfra/01-ai/Yi-6B-200K": { + "max_tokens": 4096, + "input_cost_per_token": 0.00000013, + "output_cost_per_token": 0.00000013, + "litellm_provider": "deepinfra", + "mode": "completion" + }, + "deepinfra/jondurbin/airoboros-l2-70b-gpt4-1.4.1": { + "max_tokens": 4096, + "input_cost_per_token": 0.00000070, + "output_cost_per_token": 0.00000090, + "litellm_provider": "deepinfra", + "mode": "chat" + }, + "deepinfra/meta-llama/Llama-2-13b-chat-hf": { + "max_tokens": 4096, + "input_cost_per_token": 0.00000022, + "output_cost_per_token": 0.00000022, + "litellm_provider": "deepinfra", + "mode": "chat" + }, + "deepinfra/amazon/MistralLite": { + "max_tokens": 32768, + "input_cost_per_token": 0.00000020, + "output_cost_per_token": 0.00000020, + "litellm_provider": "deepinfra", + "mode": "chat" + }, + "deepinfra/meta-llama/Llama-2-7b-chat-hf": { + "max_tokens": 4096, + "input_cost_per_token": 0.00000013, + "output_cost_per_token": 0.00000013, + "litellm_provider": "deepinfra", + "mode": "chat" + }, + "deepinfra/01-ai/Yi-34B-200K": { + "max_tokens": 4096, + "input_cost_per_token": 0.00000060, + "output_cost_per_token": 0.00000060, + "litellm_provider": "deepinfra", + "mode": "completion" + }, + "deepinfra/openchat/openchat_3.5": { + "max_tokens": 4096, + "input_cost_per_token": 0.00000013, + "output_cost_per_token": 0.00000013, + "litellm_provider": "deepinfra", + "mode": "chat" + }, + "perplexity/codellama-34b-instruct": { + "max_tokens": 16384, + "input_cost_per_token": 0.00000035, + "output_cost_per_token": 0.00000140, + "litellm_provider": "perplexity", + "mode": "chat" + }, + "perplexity/codellama-70b-instruct": { + "max_tokens": 16384, + "input_cost_per_token": 0.00000070, + "output_cost_per_token": 0.00000280, + "litellm_provider": "perplexity", + "mode": "chat" + }, + "perplexity/pplx-7b-chat": { "max_tokens": 8192, - "input_cost_per_token": 0.0000000, - "output_cost_per_token": 0.000000, + "input_cost_per_token": 0.00000007, + "output_cost_per_token": 0.00000028, "litellm_provider": "perplexity", "mode": "chat" - }, - "perplexity/pplx-70b-chat": { + }, + "perplexity/pplx-70b-chat": { + "max_tokens": 4096, + "input_cost_per_token": 0.00000070, + "output_cost_per_token": 0.00000280, + "litellm_provider": "perplexity", + "mode": "chat" + }, + "perplexity/pplx-7b-online": { "max_tokens": 4096, "input_cost_per_token": 0.0000000, - "output_cost_per_token": 0.000000, + "output_cost_per_token": 0.00000028, + "input_cost_per_request": 0.005, "litellm_provider": "perplexity", "mode": "chat" - }, - "perplexity/pplx-7b-online": { + }, + "perplexity/pplx-70b-online": { "max_tokens": 4096, "input_cost_per_token": 0.0000000, - "output_cost_per_token": 0.0005, + "output_cost_per_token": 0.00000280, + "input_cost_per_request": 0.005, "litellm_provider": "perplexity", "mode": "chat" - }, - "perplexity/pplx-70b-online": { + }, + "perplexity/llama-2-70b-chat": { "max_tokens": 4096, - "input_cost_per_token": 0.0000000, - "output_cost_per_token": 0.0005, + "input_cost_per_token": 0.00000070, + "output_cost_per_token": 0.00000280, "litellm_provider": "perplexity", "mode": "chat" - }, - "perplexity/llama-2-13b-chat": { + }, + "perplexity/mistral-7b-instruct": { "max_tokens": 4096, - "input_cost_per_token": 0.0000000, - "output_cost_per_token": 0.000000, + "input_cost_per_token": 0.00000007, + "output_cost_per_token": 0.00000028, "litellm_provider": "perplexity", "mode": "chat" - }, - "perplexity/llama-2-70b-chat": { - "max_tokens": 4096, - "input_cost_per_token": 0.0000000, - "output_cost_per_token": 0.000000, - "litellm_provider": "perplexity", - "mode": "chat" - }, - "perplexity/mistral-7b-instruct": { - "max_tokens": 4096, - "input_cost_per_token": 0.0000000, - "output_cost_per_token": 0.000000, - "litellm_provider": "perplexity", - "mode": "chat" - }, - "perplexity/replit-code-v1.5-3b": { - "max_tokens": 4096, - "input_cost_per_token": 0.0000000, - "output_cost_per_token": 0.000000, - "litellm_provider": "perplexity", - "mode": "chat" - }, + }, + "perplexity/mixtral-8x7b-instruct": { + "max_tokens": 4096, + "input_cost_per_token": 0.00000007, + "output_cost_per_token": 0.00000028, + "litellm_provider": "perplexity", + "mode": "chat" + }, "anyscale/mistralai/Mistral-7B-Instruct-v0.1": { "max_tokens": 16384, "input_cost_per_token": 0.00000015, @@ -944,5 +1893,48 @@ "output_cost_per_token": 0.000001, "litellm_provider": "anyscale", "mode": "chat" - } + }, + "cloudflare/@cf/meta/llama-2-7b-chat-fp16": { + "max_tokens": 3072, + "input_cost_per_token": 0.000001923, + "output_cost_per_token": 0.000001923, + "litellm_provider": "cloudflare", + "mode": "chat" + }, + "cloudflare/@cf/meta/llama-2-7b-chat-int8": { + "max_tokens": 2048, + "input_cost_per_token": 0.000001923, + "output_cost_per_token": 0.000001923, + "litellm_provider": "cloudflare", + "mode": "chat" + }, + "cloudflare/@cf/mistral/mistral-7b-instruct-v0.1": { + "max_tokens": 8192, + "input_cost_per_token": 0.000001923, + "output_cost_per_token": 0.000001923, + "litellm_provider": "cloudflare", + "mode": "chat" + }, + "cloudflare/@hf/thebloke/codellama-7b-instruct-awq": { + "max_tokens": 4096, + "input_cost_per_token": 0.000001923, + "output_cost_per_token": 0.000001923, + "litellm_provider": "cloudflare", + "mode": "chat" + }, + "voyage/voyage-01": { + "max_tokens": 4096, + "input_cost_per_token": 0.0000001, + "output_cost_per_token": 0.000000, + "litellm_provider": "voyage", + "mode": "embedding" + }, + "voyage/voyage-lite-01": { + "max_tokens": 4096, + "input_cost_per_token": 0.0000001, + "output_cost_per_token": 0.000000, + "litellm_provider": "voyage", + "mode": "embedding" + } + } diff --git a/litellm/proxy/_experimental/out/404.html b/litellm/proxy/_experimental/out/404.html new file mode 100644 index 00000000000..6f87d8a0735 --- /dev/null +++ b/litellm/proxy/_experimental/out/404.html @@ -0,0 +1 @@ +404: This page could not be found.🚅 LiteLLM

404

This page could not be found.

\ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/RFLw1mmLh8foSp0K2TJeY/_buildManifest.js b/litellm/proxy/_experimental/out/_next/static/RFLw1mmLh8foSp0K2TJeY/_buildManifest.js new file mode 100644 index 00000000000..f779caa02f8 --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/RFLw1mmLh8foSp0K2TJeY/_buildManifest.js @@ -0,0 +1 @@ +self.__BUILD_MANIFEST={__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/_error":["static/chunks/pages/_error-d6107f1aac0c574c.js"],sortedPages:["/_app","/_error"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/RFLw1mmLh8foSp0K2TJeY/_ssgManifest.js b/litellm/proxy/_experimental/out/_next/static/RFLw1mmLh8foSp0K2TJeY/_ssgManifest.js new file mode 100644 index 00000000000..5b3ff592fd4 --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/RFLw1mmLh8foSp0K2TJeY/_ssgManifest.js @@ -0,0 +1 @@ +self.__SSG_MANIFEST=new Set([]);self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB() \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/69-9b4acf26920649bc.js b/litellm/proxy/_experimental/out/_next/static/chunks/69-9b4acf26920649bc.js new file mode 100644 index 00000000000..acd770fdb8f --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/69-9b4acf26920649bc.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[69],{60269:function(e,t){"use strict";function r(){return""}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getDeploymentIdQueryOrEmptyString",{enumerable:!0,get:function(){return r}})},9338:function(){"trimStart"in String.prototype||(String.prototype.trimStart=String.prototype.trimLeft),"trimEnd"in String.prototype||(String.prototype.trimEnd=String.prototype.trimRight),"description"in Symbol.prototype||Object.defineProperty(Symbol.prototype,"description",{configurable:!0,get:function(){var e=/\((.*)\)/.exec(this.toString());return e?e[1]:void 0}}),Array.prototype.flat||(Array.prototype.flat=function(e,t){return t=this.concat.apply([],this),e>1&&t.some(Array.isArray)?t.flat(e-1):t},Array.prototype.flatMap=function(e,t){return this.map(e,t).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(e){if("function"!=typeof e)return this.then(e,e);var t=this.constructor||Promise;return this.then(function(r){return t.resolve(e()).then(function(){return r})},function(r){return t.resolve(e()).then(function(){throw r})})}),Object.fromEntries||(Object.fromEntries=function(e){return Array.from(e).reduce(function(e,t){return e[t[0]]=t[1],e},{})}),Array.prototype.at||(Array.prototype.at=function(e){var t=Math.trunc(e)||0;if(t<0&&(t+=this.length),!(t<0||t>=this.length))return this[t]})},45786:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addBasePath",{enumerable:!0,get:function(){return u}});let n=r(51312),o=r(82139);function u(e,t){return(0,o.normalizePathTrailingSlash)((0,n.addPathPrefix)(e,"/ui"))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},66159:function(e,t){"use strict";function r(e){var t,r;t=self.__next_s,r=()=>{e()},t&&t.length?t.reduce((e,t)=>{let[r,n]=t;return e.then(()=>new Promise((e,t)=>{let o=document.createElement("script");if(n)for(let e in n)"children"!==e&&o.setAttribute(e,n[e]);r?(o.src=r,o.onload=()=>e(),o.onerror=t):n&&(o.innerHTML=n.children,setTimeout(e)),document.head.appendChild(o)}))},Promise.resolve()).catch(e=>{console.error(e)}).then(()=>{r()}):r()}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"appBootstrap",{enumerable:!0,get:function(){return r}}),window.next={version:"14.1.0",appDir:!0},("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},15355:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"callServer",{enumerable:!0,get:function(){return o}});let n=r(47690);async function o(e,t){let r=(0,n.getServerActionDispatcher)();if(!r)throw Error("Invariant: missing action dispatcher.");return new Promise((n,o)=>{r({actionId:e,actionArgs:t,resolve:n,reject:o})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},70945:function(e,t,r){"use strict";let n,o;Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hydrate",{enumerable:!0,get:function(){return C}});let u=r(86921),l=r(91884),a=r(3827);r(9338);let i=u._(r(47600)),c=l._(r(64090)),s=r(97355),f=r(27484);r(38599);let d=u._(r(4101)),p=r(15355),h=r(74950),y=r(85367),_=window.console.error;window.console.error=function(){for(var e=arguments.length,t=Array(e),r=0;r{if((0,h.isNextRouterError)(e.error)){e.preventDefault();return}});let v=document,b=()=>{let{pathname:e,search:t}=location;return e+t},g=new TextEncoder,m=!1,P=!1,j=null;function R(e){if(0===e[0])n=[];else if(1===e[0]){if(!n)throw Error("Unexpected server data: missing bootstrap script.");o?o.enqueue(g.encode(e[1])):n.push(e[1])}else 2===e[0]&&(j=e[1])}let O=function(){o&&!P&&(o.close(),P=!0,n=void 0),m=!0};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",O,!1):O();let S=self.__next_f=self.__next_f||[];S.forEach(R),S.push=R;let E=new Map;function w(e){let{cacheKey:t}=e;c.default.useEffect(()=>{E.delete(t)});let r=function(e){let t=E.get(e);if(t)return t;let r=new ReadableStream({start(e){n&&(n.forEach(t=>{e.enqueue(g.encode(t))}),m&&!P&&(e.close(),P=!0,n=void 0)),o=e}}),u=(0,s.createFromReadableStream)(r,{callServer:p.callServer});return E.set(e,u),u}(t);return(0,c.use)(r)}let M=c.default.StrictMode;function T(e){let{children:t}=e;return t}function x(e){return(0,a.jsx)(w,{...e,cacheKey:b()})}function C(){let e=(0,y.createMutableActionQueue)(),t=(0,a.jsx)(M,{children:(0,a.jsx)(f.HeadManagerContext.Provider,{value:{appDir:!0},children:(0,a.jsx)(y.ActionQueueContext.Provider,{value:e,children:(0,a.jsx)(T,{children:(0,a.jsx)(x,{})})})})}),r={onRecoverableError:d.default};"__next_error__"===document.documentElement.id?i.default.createRoot(v,r).render(t):c.default.startTransition(()=>i.default.hydrateRoot(v,t,{...r,formState:j}))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},35317:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(99590),(0,r(66159).appBootstrap)(()=>{let{hydrate:e}=r(70945);r(47690),r(5613),e()}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},99590:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(60269);{let e=r.u;r.u=function(){for(var t=arguments.length,r=Array(t),n=0;n(l(function(){var e;let t=document.getElementsByName(u)[0];if(null==t?void 0:null==(e=t.shadowRoot)?void 0:e.childNodes[0])return t.shadowRoot.childNodes[0];{let e=document.createElement(u);e.style.cssText="position:absolute";let t=document.createElement("div");return t.ariaLive="assertive",t.id="__next-route-announcer__",t.role="alert",t.style.cssText="position:absolute;border:0;height:1px;margin:-1px;padding:0;width:1px;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap;word-wrap:normal",e.attachShadow({mode:"open"}).appendChild(t),document.body.appendChild(e),t}}()),()=>{let e=document.getElementsByTagName(u)[0];(null==e?void 0:e.isConnected)&&document.body.removeChild(e)}),[]);let[a,i]=(0,n.useState)(""),c=(0,n.useRef)();return(0,n.useEffect)(()=>{let e="";if(document.title)e=document.title;else{let t=document.querySelector("h1");t&&(e=t.innerText||t.textContent||"")}void 0!==c.current&&c.current!==e&&i(e),c.current=e},[t]),r?(0,o.createPortal)(a,r):null}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},42275:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{RSC_HEADER:function(){return r},ACTION:function(){return n},NEXT_ROUTER_STATE_TREE:function(){return o},NEXT_ROUTER_PREFETCH_HEADER:function(){return u},NEXT_URL:function(){return l},RSC_CONTENT_TYPE_HEADER:function(){return a},RSC_VARY_HEADER:function(){return i},FLIGHT_PARAMETERS:function(){return c},NEXT_RSC_UNION_QUERY:function(){return s},NEXT_DID_POSTPONE_HEADER:function(){return f}});let r="RSC",n="Next-Action",o="Next-Router-State-Tree",u="Next-Router-Prefetch",l="Next-Url",a="text/x-component",i=r+", "+o+", "+u+", "+l,c=[[r],[o],[u]],s="_rsc",f="x-nextjs-postponed";("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},47690:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getServerActionDispatcher:function(){return O},urlToUrlWithoutFlightMarker:function(){return E},createEmptyCacheNode:function(){return T},default:function(){return A}});let n=r(91884),o=r(3827),u=n._(r(64090)),l=r(38599),a=r(91414),i=r(68419),c=r(14758),s=r(21276),f=r(48955),d=r(94492),p=r(16407),h=r(45786),y=r(92054),_=r(85737),v=r(40671),b=r(44399),g=r(42275),m=r(18895),P=r(87379),j=new Map,R=null;function O(){return R}let S={};function E(e){let t=new URL(e,location.origin);if(t.searchParams.delete(g.NEXT_RSC_UNION_QUERY),t.pathname.endsWith(".txt")){let{pathname:e}=t,r=e.endsWith("/index.txt")?10:4;t.pathname=e.slice(0,-r)}return t}function w(e){return e.origin!==window.location.origin}function M(e){let{appRouterState:t,sync:r}=e;return(0,u.useInsertionEffect)(()=>{let{tree:e,pushRef:n,canonicalUrl:o}=t,u={...n.preserveCustomHistoryState?window.history.state:{},__NA:!0,__PRIVATE_NEXTJS_INTERNALS_TREE:e};n.pendingPush&&(0,i.createHrefFromUrl)(new URL(window.location.href))!==o?(n.pendingPush=!1,window.history.pushState(u,"",o)):window.history.replaceState(u,"",o),r(t)},[t,r]),null}function T(){return{lazyData:null,rsc:null,prefetchRsc:null,parallelRoutes:new Map}}function x(e){null==e&&(e={});let t=window.history.state,r=null==t?void 0:t.__NA;r&&(e.__NA=r);let n=null==t?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE;return n&&(e.__PRIVATE_NEXTJS_INTERNALS_TREE=n),e}function C(e){let{headCacheNode:t}=e,r=null!==t?t.head:null,n=null!==t?t.prefetchHead:null,o=null!==n?n:r;return(0,u.useDeferredValue)(r,o)}function N(e){let t,{buildId:r,initialHead:n,initialTree:i,initialCanonicalUrl:f,initialSeedData:g,assetPrefix:O,missingSlots:E}=e,T=(0,u.useMemo)(()=>(0,d.createInitialRouterState)({buildId:r,initialSeedData:g,initialCanonicalUrl:f,initialTree:i,initialParallelRoutes:j,isServer:!1,location:window.location,initialHead:n}),[r,g,f,i,n]),[N,A,I]=(0,s.useReducerWithReduxDevtools)(T);(0,u.useEffect)(()=>{j=null},[]);let{canonicalUrl:k}=(0,s.useUnwrapState)(N),{searchParams:U,pathname:D}=(0,u.useMemo)(()=>{let e=new URL(k,window.location.href);return{searchParams:e.searchParams,pathname:(0,P.hasBasePath)(e.pathname)?(0,m.removeBasePath)(e.pathname):e.pathname}},[k]),F=(0,u.useCallback)((e,t,r)=>{(0,u.startTransition)(()=>{A({type:a.ACTION_SERVER_PATCH,flightData:t,previousTree:e,overrideCanonicalUrl:r})})},[A]),L=(0,u.useCallback)((e,t,r)=>{let n=new URL((0,h.addBasePath)(e),location.href);return A({type:a.ACTION_NAVIGATE,url:n,isExternalUrl:w(n),locationSearch:location.search,shouldScroll:null==r||r,navigateType:t})},[A]);R=(0,u.useCallback)(e=>{(0,u.startTransition)(()=>{A({...e,type:a.ACTION_SERVER_ACTION})})},[A]);let H=(0,u.useMemo)(()=>({back:()=>window.history.back(),forward:()=>window.history.forward(),prefetch:(e,t)=>{if((0,p.isBot)(window.navigator.userAgent))return;let r=new URL((0,h.addBasePath)(e),window.location.href);w(r)||(0,u.startTransition)(()=>{var e;A({type:a.ACTION_PREFETCH,url:r,kind:null!=(e=null==t?void 0:t.kind)?e:a.PrefetchKind.FULL})})},replace:(e,t)=>{void 0===t&&(t={}),(0,u.startTransition)(()=>{var r;L(e,"replace",null==(r=t.scroll)||r)})},push:(e,t)=>{void 0===t&&(t={}),(0,u.startTransition)(()=>{var r;L(e,"push",null==(r=t.scroll)||r)})},refresh:()=>{(0,u.startTransition)(()=>{A({type:a.ACTION_REFRESH,origin:window.location.origin})})},fastRefresh:()=>{throw Error("fastRefresh can only be used in development mode. Please use refresh instead.")}}),[A,L]);(0,u.useEffect)(()=>{window.next&&(window.next.router=H)},[H]),(0,u.useEffect)(()=>{function e(e){var t;e.persisted&&(null==(t=window.history.state)?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE)&&A({type:a.ACTION_RESTORE,url:new URL(window.location.href),tree:window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE})}return window.addEventListener("pageshow",e),()=>{window.removeEventListener("pageshow",e)}},[A]);let{pushRef:$}=(0,s.useUnwrapState)(N);if($.mpaNavigation){if(S.pendingMpaPath!==k){let e=window.location;$.pendingPush?e.assign(k):e.replace(k),S.pendingMpaPath=k}(0,u.use)((0,b.createInfinitePromise)())}(0,u.useEffect)(()=>{let e=window.history.pushState.bind(window.history),t=window.history.replaceState.bind(window.history),r=e=>{let t=window.location.href;(0,u.startTransition)(()=>{A({type:a.ACTION_RESTORE,url:new URL(null!=e?e:t,t),tree:window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE})})};window.history.pushState=function(t,n,o){return(null==t?void 0:t.__NA)||(null==t?void 0:t._N)||(t=x(t),o&&r(o)),e(t,n,o)},window.history.replaceState=function(e,n,o){return(null==e?void 0:e.__NA)||(null==e?void 0:e._N)||(e=x(e),o&&r(o)),t(e,n,o)};let n=e=>{let{state:t}=e;if(t){if(!t.__NA){window.location.reload();return}(0,u.startTransition)(()=>{A({type:a.ACTION_RESTORE,url:new URL(window.location.href),tree:t.__PRIVATE_NEXTJS_INTERNALS_TREE})})}};return window.addEventListener("popstate",n),()=>{window.history.pushState=e,window.history.replaceState=t,window.removeEventListener("popstate",n)}},[A]);let{cache:B,tree:W,nextUrl:G,focusAndScrollRef:z}=(0,s.useUnwrapState)(N),K=(0,u.useMemo)(()=>(0,v.findHeadInCache)(B,W[1]),[B,W]);if(null!==K){let[e,r]=K;t=(0,o.jsx)(C,{headCacheNode:e},r)}else t=null;let V=(0,o.jsxs)(_.RedirectBoundary,{children:[t,B.rsc,(0,o.jsx)(y.AppRouterAnnouncer,{tree:W})]});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(M,{appRouterState:(0,s.useUnwrapState)(N),sync:I}),(0,o.jsx)(c.PathnameContext.Provider,{value:D,children:(0,o.jsx)(c.SearchParamsContext.Provider,{value:U,children:(0,o.jsx)(l.GlobalLayoutRouterContext.Provider,{value:{buildId:r,changeByServerResponse:F,tree:W,focusAndScrollRef:z,nextUrl:G},children:(0,o.jsx)(l.AppRouterContext.Provider,{value:H,children:(0,o.jsx)(l.LayoutRouterContext.Provider,{value:{childNodes:B.parallelRoutes,tree:W,url:k},children:V})})})})})]})}function A(e){let{globalErrorComponent:t,...r}=e;return(0,o.jsx)(f.ErrorBoundary,{errorComponent:t,children:(0,o.jsx)(N,{...r})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},73706:function(e,t,r){"use strict";function n(e){}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"clientHookInServerComponentError",{enumerable:!0,get:function(){return n}}),r(86921),r(64090),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},48955:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ErrorBoundaryHandler:function(){return s},GlobalError:function(){return f},default:function(){return d},ErrorBoundary:function(){return p}});let n=r(86921),o=r(3827),u=n._(r(64090)),l=r(15313),a=r(74950),i={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},text:{fontSize:"14px",fontWeight:400,lineHeight:"28px",margin:"0 8px"}};function c(e){let{error:t}=e;if("function"==typeof fetch.__nextGetStaticStore){var r;let e=null==(r=fetch.__nextGetStaticStore())?void 0:r.getStore();if((null==e?void 0:e.isRevalidate)||(null==e?void 0:e.isStaticGeneration))throw console.error(t),t}return null}class s extends u.default.Component{static getDerivedStateFromError(e){if((0,a.isNextRouterError)(e))throw e;return{error:e}}static getDerivedStateFromProps(e,t){return e.pathname!==t.previousPathname&&t.error?{error:null,previousPathname:e.pathname}:{error:t.error,previousPathname:e.pathname}}render(){return this.state.error?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(c,{error:this.state.error}),this.props.errorStyles,this.props.errorScripts,(0,o.jsx)(this.props.errorComponent,{error:this.state.error,reset:this.reset})]}):this.props.children}constructor(e){super(e),this.reset=()=>{this.setState({error:null})},this.state={error:null,previousPathname:this.props.pathname}}}function f(e){let{error:t}=e,r=null==t?void 0:t.digest;return(0,o.jsxs)("html",{id:"__next_error__",children:[(0,o.jsx)("head",{}),(0,o.jsxs)("body",{children:[(0,o.jsx)(c,{error:t}),(0,o.jsx)("div",{style:i.error,children:(0,o.jsxs)("div",{children:[(0,o.jsx)("h2",{style:i.text,children:"Application error: a "+(r?"server":"client")+"-side exception has occurred (see the "+(r?"server logs":"browser console")+" for more information)."}),r?(0,o.jsx)("p",{style:i.text,children:"Digest: "+r}):null]})})]})]})}let d=f;function p(e){let{errorComponent:t,errorStyles:r,errorScripts:n,children:u}=e,a=(0,l.usePathname)();return t?(0,o.jsx)(s,{pathname:a,errorComponent:t,errorStyles:r,errorScripts:n,children:u}):(0,o.jsx)(o.Fragment,{children:u})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},47127:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DynamicServerError:function(){return n},isDynamicServerError:function(){return o}});let r="DYNAMIC_SERVER_USAGE";class n extends Error{constructor(e){super("Dynamic server usage: "+e),this.description=e,this.digest=r}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&"string"==typeof e.digest&&e.digest===r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},44399:function(e,t){"use strict";let r;function n(){return r||(r=new Promise(()=>{})),r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createInfinitePromise",{enumerable:!0,get:function(){return n}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},74950:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isNextRouterError",{enumerable:!0,get:function(){return u}});let n=r(12322),o=r(6155);function u(e){return e&&e.digest&&((0,o.isRedirectError)(e)||(0,n.isNotFoundError)(e))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5613:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return O}});let n=r(86921),o=r(91884),u=r(3827),l=o._(r(64090)),a=n._(r(89542)),i=r(38599),c=r(73546),s=r(44399),f=r(48955),d=r(22295),p=r(73011),h=r(85737),y=r(11902),_=r(6793),v=r(555),b=["bottom","height","left","right","top","width","x","y"];function g(e,t){let r=e.getBoundingClientRect();return r.top>=0&&r.top<=t}class m extends l.default.Component{componentDidMount(){this.handlePotentialScroll()}componentDidUpdate(){this.props.focusAndScrollRef.apply&&this.handlePotentialScroll()}render(){return this.props.children}constructor(...e){super(...e),this.handlePotentialScroll=()=>{let{focusAndScrollRef:e,segmentPath:t}=this.props;if(e.apply){var r;if(0!==e.segmentPaths.length&&!e.segmentPaths.some(e=>t.every((t,r)=>(0,d.matchSegment)(t,e[r]))))return;let n=null,o=e.hashFragment;if(o&&(n="top"===o?document.body:null!=(r=document.getElementById(o))?r:document.getElementsByName(o)[0]),n||(n=a.default.findDOMNode(this)),!(n instanceof Element))return;for(;!(n instanceof HTMLElement)||function(e){if(["sticky","fixed"].includes(getComputedStyle(e).position))return!0;let t=e.getBoundingClientRect();return b.every(e=>0===t[e])}(n);){if(null===n.nextElementSibling)return;n=n.nextElementSibling}e.apply=!1,e.hashFragment=null,e.segmentPaths=[],(0,p.handleSmoothScroll)(()=>{if(o){n.scrollIntoView();return}let e=document.documentElement,t=e.clientHeight;!g(n,t)&&(e.scrollTop=0,g(n,t)||n.scrollIntoView())},{dontForceLayout:!0,onlyHashChange:e.onlyHashChange}),e.onlyHashChange=!1,n.focus()}}}}function P(e){let{segmentPath:t,children:r}=e,n=(0,l.useContext)(i.GlobalLayoutRouterContext);if(!n)throw Error("invariant global layout router not mounted");return(0,u.jsx)(m,{segmentPath:t,focusAndScrollRef:n.focusAndScrollRef,children:r})}function j(e){let{parallelRouterKey:t,url:r,childNodes:n,segmentPath:o,tree:a,cacheKey:f}=e,p=(0,l.useContext)(i.GlobalLayoutRouterContext);if(!p)throw Error("invariant global layout router not mounted");let{buildId:h,changeByServerResponse:y,tree:_}=p,v=n.get(f);if(void 0===v){let e={lazyData:null,rsc:null,prefetchRsc:null,head:null,parallelRoutes:new Map};v=e,n.set(f,e)}let b=null!==v.prefetchRsc?v.prefetchRsc:v.rsc,g=(0,l.useDeferredValue)(v.rsc,b),m="object"==typeof g&&null!==g&&"function"==typeof g.then?(0,l.use)(g):g;if(!m){let e=v.lazyData;if(null===e){let t=function e(t,r){if(t){let[n,o]=t,u=2===t.length;if((0,d.matchSegment)(r[0],n)&&r[1].hasOwnProperty(o)){if(u){let t=e(void 0,r[1][o]);return[r[0],{...r[1],[o]:[t[0],t[1],t[2],"refetch"]}]}return[r[0],{...r[1],[o]:e(t.slice(2),r[1][o])}]}}return r}(["",...o],_);v.lazyData=e=(0,c.fetchServerResponse)(new URL(r,location.origin),t,p.nextUrl,h)}let[t,n]=(0,l.use)(e);v.lazyData=null,setTimeout(()=>{(0,l.startTransition)(()=>{y(_,t,n)})}),(0,l.use)((0,s.createInfinitePromise)())}return(0,u.jsx)(i.LayoutRouterContext.Provider,{value:{tree:a[1][t],childNodes:v.parallelRoutes,url:r},children:m})}function R(e){let{children:t,loading:r,loadingStyles:n,loadingScripts:o,hasLoading:a}=e;return a?(0,u.jsx)(l.Suspense,{fallback:(0,u.jsxs)(u.Fragment,{children:[n,o,r]}),children:t}):(0,u.jsx)(u.Fragment,{children:t})}function O(e){let{parallelRouterKey:t,segmentPath:r,error:n,errorStyles:o,errorScripts:a,templateStyles:c,templateScripts:s,loading:d,loadingStyles:p,loadingScripts:b,hasLoading:g,template:m,notFound:O,notFoundStyles:S,styles:E}=e,w=(0,l.useContext)(i.LayoutRouterContext);if(!w)throw Error("invariant expected layout router to be mounted");let{childNodes:M,tree:T,url:x}=w,C=M.get(t);C||(C=new Map,M.set(t,C));let N=T[1][t][0],A=(0,_.getSegmentValue)(N),I=[N];return(0,u.jsxs)(u.Fragment,{children:[E,I.map(e=>{let l=(0,_.getSegmentValue)(e),E=(0,v.createRouterCacheKey)(e);return(0,u.jsxs)(i.TemplateContext.Provider,{value:(0,u.jsx)(P,{segmentPath:r,children:(0,u.jsx)(f.ErrorBoundary,{errorComponent:n,errorStyles:o,errorScripts:a,children:(0,u.jsx)(R,{hasLoading:g,loading:d,loadingStyles:p,loadingScripts:b,children:(0,u.jsx)(y.NotFoundBoundary,{notFound:O,notFoundStyles:S,children:(0,u.jsx)(h.RedirectBoundary,{children:(0,u.jsx)(j,{parallelRouterKey:t,url:x,tree:T,childNodes:C,segmentPath:r,cacheKey:E,isActive:A===l})})})})})}),children:[c,s,m]},(0,v.createRouterCacheKey)(e,!0))})]})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},22295:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{matchSegment:function(){return o},canSegmentBeOverridden:function(){return u}});let n=r(2883),o=(e,t)=>"string"==typeof e?"string"==typeof t&&e===t:"string"!=typeof t&&e[0]===t[0]&&e[1]===t[1],u=(e,t)=>{var r;return!Array.isArray(e)&&!!Array.isArray(t)&&(null==(r=(0,n.getSegmentParam)(e))?void 0:r.param)===t[0]};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},15313:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ReadonlyURLSearchParams:function(){return h},useSearchParams:function(){return y},usePathname:function(){return _},ServerInsertedHTMLContext:function(){return c.ServerInsertedHTMLContext},useServerInsertedHTML:function(){return c.useServerInsertedHTML},useRouter:function(){return v},useParams:function(){return b},useSelectedLayoutSegments:function(){return g},useSelectedLayoutSegment:function(){return m},redirect:function(){return s.redirect},permanentRedirect:function(){return s.permanentRedirect},RedirectType:function(){return s.RedirectType},notFound:function(){return f.notFound}});let n=r(64090),o=r(38599),u=r(14758),l=r(73706),a=r(6793),i=r(63266),c=r(32472),s=r(6155),f=r(12322),d=Symbol("internal for urlsearchparams readonly");function p(){return Error("ReadonlyURLSearchParams cannot be modified")}class h{[Symbol.iterator](){return this[d][Symbol.iterator]()}append(){throw p()}delete(){throw p()}set(){throw p()}sort(){throw p()}constructor(e){this[d]=e,this.entries=e.entries.bind(e),this.forEach=e.forEach.bind(e),this.get=e.get.bind(e),this.getAll=e.getAll.bind(e),this.has=e.has.bind(e),this.keys=e.keys.bind(e),this.values=e.values.bind(e),this.toString=e.toString.bind(e),this.size=e.size}}function y(){(0,l.clientHookInServerComponentError)("useSearchParams");let e=(0,n.useContext)(u.SearchParamsContext);return(0,n.useMemo)(()=>e?new h(e):null,[e])}function _(){return(0,l.clientHookInServerComponentError)("usePathname"),(0,n.useContext)(u.PathnameContext)}function v(){(0,l.clientHookInServerComponentError)("useRouter");let e=(0,n.useContext)(o.AppRouterContext);if(null===e)throw Error("invariant expected app router to be mounted");return e}function b(){(0,l.clientHookInServerComponentError)("useParams");let e=(0,n.useContext)(o.GlobalLayoutRouterContext),t=(0,n.useContext)(u.PathParamsContext);return(0,n.useMemo)(()=>(null==e?void 0:e.tree)?function e(t,r){for(let n of(void 0===r&&(r={}),Object.values(t[1]))){let t=n[0],o=Array.isArray(t),u=o?t[1]:t;!u||u.startsWith(i.PAGE_SEGMENT_KEY)||(o&&("c"===t[2]||"oc"===t[2])?r[t[0]]=t[1].split("/"):o&&(r[t[0]]=t[1]),r=e(n,r))}return r}(e.tree):t,[null==e?void 0:e.tree,t])}function g(e){void 0===e&&(e="children"),(0,l.clientHookInServerComponentError)("useSelectedLayoutSegments");let{tree:t}=(0,n.useContext)(o.LayoutRouterContext);return function e(t,r,n,o){let u;if(void 0===n&&(n=!0),void 0===o&&(o=[]),n)u=t[1][r];else{var l;let e=t[1];u=null!=(l=e.children)?l:Object.values(e)[0]}if(!u)return o;let c=u[0],s=(0,a.getSegmentValue)(c);return!s||s.startsWith(i.PAGE_SEGMENT_KEY)?o:(o.push(s),e(u,r,!1,o))}(t,e)}function m(e){void 0===e&&(e="children"),(0,l.clientHookInServerComponentError)("useSelectedLayoutSegment");let t=g(e);return 0===t.length?null:t[0]}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},11902:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"NotFoundBoundary",{enumerable:!0,get:function(){return s}});let n=r(91884),o=r(3827),u=n._(r(64090)),l=r(15313),a=r(12322);r(76184);let i=r(38599);class c extends u.default.Component{componentDidCatch(){}static getDerivedStateFromError(e){if((0,a.isNotFoundError)(e))return{notFoundTriggered:!0};throw e}static getDerivedStateFromProps(e,t){return e.pathname!==t.previousPathname&&t.notFoundTriggered?{notFoundTriggered:!1,previousPathname:e.pathname}:{notFoundTriggered:t.notFoundTriggered,previousPathname:e.pathname}}render(){return this.state.notFoundTriggered?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("meta",{name:"robots",content:"noindex"}),!1,this.props.notFoundStyles,this.props.notFound]}):this.props.children}constructor(e){super(e),this.state={notFoundTriggered:!!e.asNotFound,previousPathname:e.pathname}}}function s(e){let{notFound:t,notFoundStyles:r,asNotFound:n,children:a}=e,s=(0,l.usePathname)(),f=(0,u.useContext)(i.MissingSlotContext);return t?(0,o.jsx)(c,{pathname:s,notFound:t,notFoundStyles:r,asNotFound:n,missingSlots:f,children:a}):(0,o.jsx)(o.Fragment,{children:a})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},12322:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{notFound:function(){return n},isNotFoundError:function(){return o}});let r="NEXT_NOT_FOUND";function n(){let e=Error(r);throw e.digest=r,e}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},82418:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PromiseQueue",{enumerable:!0,get:function(){return c}});let n=r(42299),o=r(13603);var u=o._("_maxConcurrency"),l=o._("_runningCount"),a=o._("_queue"),i=o._("_processNext");class c{enqueue(e){let t,r;let o=new Promise((e,n)=>{t=e,r=n}),u=async()=>{try{n._(this,l)[l]++;let r=await e();t(r)}catch(e){r(e)}finally{n._(this,l)[l]--,n._(this,i)[i]()}};return n._(this,a)[a].push({promiseFn:o,task:u}),n._(this,i)[i](),o}bump(e){let t=n._(this,a)[a].findIndex(t=>t.promiseFn===e);if(t>-1){let e=n._(this,a)[a].splice(t,1)[0];n._(this,a)[a].unshift(e),n._(this,i)[i](!0)}}constructor(e=5){Object.defineProperty(this,i,{value:s}),Object.defineProperty(this,u,{writable:!0,value:void 0}),Object.defineProperty(this,l,{writable:!0,value:void 0}),Object.defineProperty(this,a,{writable:!0,value:void 0}),n._(this,u)[u]=e,n._(this,l)[l]=0,n._(this,a)[a]=[]}}function s(e){if(void 0===e&&(e=!1),(n._(this,l)[l]0){var t;null==(t=n._(this,a)[a].shift())||t.task()}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},85737:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{RedirectErrorBoundary:function(){return c},RedirectBoundary:function(){return s}});let n=r(91884),o=r(3827),u=n._(r(64090)),l=r(15313),a=r(6155);function i(e){let{redirect:t,reset:r,redirectType:n}=e,o=(0,l.useRouter)();return(0,u.useEffect)(()=>{u.default.startTransition(()=>{n===a.RedirectType.push?o.push(t,{}):o.replace(t,{}),r()})},[t,n,r,o]),null}class c extends u.default.Component{static getDerivedStateFromError(e){if((0,a.isRedirectError)(e))return{redirect:(0,a.getURLFromRedirectError)(e),redirectType:(0,a.getRedirectTypeFromError)(e)};throw e}render(){let{redirect:e,redirectType:t}=this.state;return null!==e&&null!==t?(0,o.jsx)(i,{redirect:e,redirectType:t,reset:()=>this.setState({redirect:null})}):this.props.children}constructor(e){super(e),this.state={redirect:null,redirectType:null}}}function s(e){let{children:t}=e,r=(0,l.useRouter)();return(0,o.jsx)(c,{router:r,children:t})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9510:function(e,t){"use strict";var r,n;Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RedirectStatusCode",{enumerable:!0,get:function(){return r}}),(n=r||(r={}))[n.SeeOther=303]="SeeOther",n[n.TemporaryRedirect=307]="TemporaryRedirect",n[n.PermanentRedirect=308]="PermanentRedirect",("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6155:function(e,t,r){"use strict";var n,o;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{RedirectType:function(){return n},getRedirectError:function(){return c},redirect:function(){return s},permanentRedirect:function(){return f},isRedirectError:function(){return d},getURLFromRedirectError:function(){return p},getRedirectTypeFromError:function(){return h},getRedirectStatusCodeFromError:function(){return y}});let u=r(96668),l=r(61264),a=r(9510),i="NEXT_REDIRECT";function c(e,t,r){void 0===r&&(r=a.RedirectStatusCode.TemporaryRedirect);let n=Error(i);n.digest=i+";"+t+";"+e+";"+r+";";let o=u.requestAsyncStorage.getStore();return o&&(n.mutableCookies=o.mutableCookies),n}function s(e,t){void 0===t&&(t="replace");let r=l.actionAsyncStorage.getStore();throw c(e,t,(null==r?void 0:r.isAction)?a.RedirectStatusCode.SeeOther:a.RedirectStatusCode.TemporaryRedirect)}function f(e,t){void 0===t&&(t="replace");let r=l.actionAsyncStorage.getStore();throw c(e,t,(null==r?void 0:r.isAction)?a.RedirectStatusCode.SeeOther:a.RedirectStatusCode.PermanentRedirect)}function d(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,r,n,o]=e.digest.split(";",4),u=Number(o);return t===i&&("replace"===r||"push"===r)&&"string"==typeof n&&!isNaN(u)&&u in a.RedirectStatusCode}function p(e){return d(e)?e.digest.split(";",3)[2]:null}function h(e){if(!d(e))throw Error("Not a redirect error");return e.digest.split(";",2)[1]}function y(e){if(!d(e))throw Error("Not a redirect error");return Number(e.digest.split(";",4)[3])}(o=n||(n={})).push="push",o.replace="replace",("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},31778:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}});let n=r(91884),o=r(3827),u=n._(r(64090)),l=r(38599);function a(){let e=(0,u.useContext)(l.TemplateContext);return(0,o.jsx)(o.Fragment,{children:e})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},96668:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"requestAsyncStorage",{enumerable:!0,get:function(){return n}});let n=(0,r(70693).createAsyncLocalStorage)();("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},39671:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"applyFlightData",{enumerable:!0,get:function(){return u}});let n=r(4765),o=r(9e4);function u(e,t,r,u){void 0===u&&(u=!1);let[l,a,i]=r.slice(-3);if(null===a)return!1;if(3===r.length){let r=a[2];t.rsc=r,t.prefetchRsc=null,(0,n.fillLazyItemsTillLeafWithHead)(t,e,l,a,i,u)}else t.rsc=e.rsc,t.prefetchRsc=e.prefetchRsc,t.parallelRoutes=new Map(e.parallelRoutes),(0,o.fillCacheWithNewSubTreeData)(t,e,r,u);return!0}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},27098:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{applyRouterStatePatchToFullTree:function(){return a},applyRouterStatePatchToTreeSkipDefault:function(){return i}});let n=r(63266),o=r(22295);function u(e,t,r){void 0===r&&(r=!1);let[l,a]=e,[i,c]=t;if(!r&&i===n.DEFAULT_SEGMENT_KEY&&l!==n.DEFAULT_SEGMENT_KEY)return e;if((0,o.matchSegment)(l,i)){let t={};for(let e in a)void 0!==c[e]?t[e]=u(a[e],c[e],r):t[e]=a[e];for(let e in c)t[e]||(t[e]=c[e]);let n=[l,t];return e[2]&&(n[2]=e[2]),e[3]&&(n[3]=e[3]),e[4]&&(n[4]=e[4]),n}return t}function l(e,t,r,n){let a;void 0===n&&(n=!1);let[i,c,,,s]=t;if(1===e.length)return u(t,r,n);let[f,d]=e;if(!(0,o.matchSegment)(f,i))return null;if(2===e.length)a=u(c[d],r,n);else if(null===(a=l(e.slice(2),c[d],r,n)))return null;let p=[e[0],{...c,[d]:a}];return s&&(p[4]=!0),p}function a(e,t,r){return l(e,t,r,!0)}function i(e,t,r){return l(e,t,r,!1)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4038:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{extractPathFromFlightRouterState:function(){return c},computeChangedPath:function(){return s}});let n=r(94749),o=r(63266),u=r(22295),l=e=>"/"===e[0]?e.slice(1):e,a=e=>"string"==typeof e?e:e[1];function i(e){return e.reduce((e,t)=>""===(t=l(t))||(0,o.isGroupSegment)(t)?e:e+"/"+t,"")||"/"}function c(e){var t;let r=Array.isArray(e[0])?e[0][1]:e[0];if(r===o.DEFAULT_SEGMENT_KEY||n.INTERCEPTION_ROUTE_MARKERS.some(e=>r.startsWith(e)))return;if(r.startsWith(o.PAGE_SEGMENT_KEY))return"";let u=[r],l=null!=(t=e[1])?t:{},a=l.children?c(l.children):void 0;if(void 0!==a)u.push(a);else for(let[e,t]of Object.entries(l)){if("children"===e)continue;let r=c(t);void 0!==r&&u.push(r)}return i(u)}function s(e,t){let r=function e(t,r){let[o,l]=t,[i,s]=r,f=a(o),d=a(i);if(n.INTERCEPTION_ROUTE_MARKERS.some(e=>f.startsWith(e)||d.startsWith(e)))return"";if(!(0,u.matchSegment)(o,i)){var p;return null!=(p=c(r))?p:""}for(let t in l)if(s[t]){let r=e(l[t],s[t]);if(null!==r)return a(i)+"/"+r}return null}(e,t);return null==r||"/"===r?r:i(r.split("/"))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},68419:function(e,t){"use strict";function r(e,t){return void 0===t&&(t=!0),e.pathname+e.search+(t?e.hash:"")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createHrefFromUrl",{enumerable:!0,get:function(){return r}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},94492:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createInitialRouterState",{enumerable:!0,get:function(){return l}});let n=r(68419),o=r(4765),u=r(4038);function l(e){var t;let{buildId:r,initialTree:l,initialSeedData:a,initialCanonicalUrl:i,initialParallelRoutes:c,isServer:s,location:f,initialHead:d}=e,p={lazyData:null,rsc:a[2],prefetchRsc:null,parallelRoutes:s?new Map:c};return(null===c||0===c.size)&&(0,o.fillLazyItemsTillLeafWithHead)(p,void 0,l,a,d),{buildId:r,tree:l,cache:p,prefetchCache:new Map,pushRef:{pendingPush:!1,mpaNavigation:!1,preserveCustomHistoryState:!0},focusAndScrollRef:{apply:!1,onlyHashChange:!1,hashFragment:null,segmentPaths:[]},canonicalUrl:f?(0,n.createHrefFromUrl)(f):i,nextUrl:null!=(t=(0,u.extractPathFromFlightRouterState)(l)||(null==f?void 0:f.pathname))?t:null}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},555:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createRouterCacheKey",{enumerable:!0,get:function(){return o}});let n=r(63266);function o(e,t){return(void 0===t&&(t=!1),Array.isArray(e))?(e[0]+"|"+e[1]+"|"+e[2]).toLowerCase():t&&e.startsWith(n.PAGE_SEGMENT_KEY)?n.PAGE_SEGMENT_KEY:e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},73546:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"fetchServerResponse",{enumerable:!0,get:function(){return s}});let n=r(42275),o=r(47690),u=r(15355),l=r(91414),a=r(1),{createFromFetch:i}=r(97355);function c(e){return[(0,o.urlToUrlWithoutFlightMarker)(e).toString(),void 0]}async function s(e,t,r,s,f){let d={[n.RSC_HEADER]:"1",[n.NEXT_ROUTER_STATE_TREE]:encodeURIComponent(JSON.stringify(t))};f===l.PrefetchKind.AUTO&&(d[n.NEXT_ROUTER_PREFETCH_HEADER]="1"),r&&(d[n.NEXT_URL]=r);let p=(0,a.hexHash)([d[n.NEXT_ROUTER_PREFETCH_HEADER]||"0",d[n.NEXT_ROUTER_STATE_TREE],d[n.NEXT_URL]].join(","));try{let t=new URL(e);t.pathname.endsWith("/")?t.pathname+="index.txt":t.pathname+=".txt",t.searchParams.set(n.NEXT_RSC_UNION_QUERY,p);let r=await fetch(t,{credentials:"same-origin",headers:d}),l=(0,o.urlToUrlWithoutFlightMarker)(r.url),a=r.redirected?l:void 0,f=r.headers.get("content-type")||"",h=!!r.headers.get(n.NEXT_DID_POSTPONE_HEADER),y=f===n.RSC_CONTENT_TYPE_HEADER;if(y||(y=f.startsWith("text/plain")),!y||!r.ok)return e.hash&&(l.hash=e.hash),c(l.toString());let[_,v]=await i(Promise.resolve(r),{callServer:u.callServer});if(s!==_)return c(r.url);return[v,a,h]}catch(t){return console.error("Failed to fetch RSC payload for "+e+". Falling back to browser navigation.",t),[e.toString(),void 0]}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},62950:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"fillCacheWithDataProperty",{enumerable:!0,get:function(){return function e(t,r,o,u){let l=o.length<=2,[a,i]=o,c=(0,n.createRouterCacheKey)(i),s=r.parallelRoutes.get(a),f=t.parallelRoutes.get(a);f&&f!==s||(f=new Map(s),t.parallelRoutes.set(a,f));let d=null==s?void 0:s.get(c),p=f.get(c);if(l){p&&p.lazyData&&p!==d||f.set(c,{lazyData:u(),rsc:null,prefetchRsc:null,parallelRoutes:new Map});return}if(!p||!d){p||f.set(c,{lazyData:u(),rsc:null,prefetchRsc:null,parallelRoutes:new Map});return}return p===d&&(p={lazyData:p.lazyData,rsc:p.rsc,prefetchRsc:p.prefetchRsc,parallelRoutes:new Map(p.parallelRoutes)},f.set(c,p)),e(p,d,o.slice(2),u)}}});let n=r(555);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9e4:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"fillCacheWithNewSubTreeData",{enumerable:!0,get:function(){return function e(t,r,l,a){let i=l.length<=5,[c,s]=l,f=(0,u.createRouterCacheKey)(s),d=r.parallelRoutes.get(c);if(!d)return;let p=t.parallelRoutes.get(c);p&&p!==d||(p=new Map(d),t.parallelRoutes.set(c,p));let h=d.get(f),y=p.get(f);if(i){if(!y||!y.lazyData||y===h){let e=l[3];y={lazyData:null,rsc:e[2],prefetchRsc:null,parallelRoutes:h?new Map(h.parallelRoutes):new Map},h&&(0,n.invalidateCacheByRouterState)(y,h,l[2]),(0,o.fillLazyItemsTillLeafWithHead)(y,h,l[2],e,l[4],a),p.set(f,y)}return}y&&h&&(y===h&&(y={lazyData:y.lazyData,rsc:y.rsc,prefetchRsc:y.prefetchRsc,parallelRoutes:new Map(y.parallelRoutes)},p.set(f,y)),e(y,h,l.slice(2),a))}}});let n=r(46152),o=r(4765),u=r(555);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4765:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"fillLazyItemsTillLeafWithHead",{enumerable:!0,get:function(){return function e(t,r,o,u,l,a){if(0===Object.keys(o[1]).length){t.head=l;return}for(let i in o[1]){let c;let s=o[1][i],f=s[0],d=(0,n.createRouterCacheKey)(f),p=null!==u&&void 0!==u[1][i]?u[1][i]:null;if(r){let n=r.parallelRoutes.get(i);if(n){let r,o=new Map(n),u=o.get(d);r=null!==p?{lazyData:null,rsc:p[2],prefetchRsc:null,parallelRoutes:new Map(null==u?void 0:u.parallelRoutes)}:a&&u?{lazyData:u.lazyData,rsc:u.rsc,prefetchRsc:u.prefetchRsc,parallelRoutes:new Map(u.parallelRoutes)}:{lazyData:null,rsc:null,prefetchRsc:null,parallelRoutes:new Map(null==u?void 0:u.parallelRoutes)},o.set(d,r),e(r,u,s,p||null,l,a),t.parallelRoutes.set(i,o);continue}}c=null!==p?{lazyData:null,rsc:p[2],prefetchRsc:null,parallelRoutes:new Map}:{lazyData:null,rsc:null,prefetchRsc:null,parallelRoutes:new Map};let h=t.parallelRoutes.get(i);h?h.set(d,c):t.parallelRoutes.set(i,new Map([[d,c]])),e(c,void 0,s,p,l,a)}}}});let n=r(555);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},71486:function(e,t){"use strict";var r,n;function o(e){let{kind:t,prefetchTime:r,lastUsedTime:n}=e;return Date.now()<(null!=n?n:r)+3e4?n?"reusable":"fresh":"auto"===t&&Date.now(){for(let r of t[0]){let t=r.slice(0,-3),n=r[r.length-3],l=r[r.length-2],a=r[r.length-1];"string"!=typeof t&&function(e,t,r,n,l){let a=e;for(let e=0;e{c(e,t)})}function i(e,t,r,n){let o=e[1],l=null!==t?t[1]:null,a=new Map;for(let e in o){let t=o[e],c=null!==l?l[e]:null,s=t[0],f=(0,u.createRouterCacheKey)(s),d=i(t,void 0===c?null:c,r,n),p=new Map;p.set(f,d),a.set(e,p)}let c=0===a.size,s=null!==t?t[2]:null;return{lazyData:null,parallelRoutes:a,prefetchRsc:n||void 0===s?null:s,prefetchHead:!n&&c?r:null,rsc:p(),head:c?p():null}}function c(e,t){let r=e.node;if(null===r)return;let n=e.children;if(null===n)s(e.route,r,t);else for(let e of n.values())c(e,t);e.node=null}function s(e,t,r){let n=e[1],o=t.parallelRoutes;for(let e in n){let t=n[e],l=o.get(e);if(void 0===l)continue;let a=t[0],i=(0,u.createRouterCacheKey)(a),c=l.get(i);void 0!==c&&s(t,c,r)}let l=t.rsc;d(l)&&(null===r?l.resolve(null):l.reject(r));let a=t.head;d(a)&&a.resolve(null)}let f=Symbol();function d(e){return e&&e.tag===f}function p(){let e,t;let r=new Promise((r,n)=>{e=r,t=n});return r.status="pending",r.resolve=t=>{"pending"===r.status&&(r.status="fulfilled",r.value=t,e(t))},r.reject=e=>{"pending"===r.status&&(r.status="rejected",r.reason=e,t(e))},r.tag=f,r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},95606:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createPrefetchCacheKey",{enumerable:!0,get:function(){return l}});let n=r(51312),o=r(87027),u=r(68419);function l(e,t){let r=(0,u.createHrefFromUrl)(e,!1);return t&&!(0,o.pathHasPrefix)(r,t)?(0,n.addPathPrefix)(r,""+t+"%"):r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},16503:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"fastRefreshReducer",{enumerable:!0,get:function(){return n}}),r(73546),r(68419),r(27098),r(11956),r(5596),r(28875),r(39671),r(47690),r(52224);let n=function(e,t){return e};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},40671:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"findHeadInCache",{enumerable:!0,get:function(){return o}});let n=r(555);function o(e,t){return function e(t,r,o){if(0===Object.keys(r).length)return[t,o];for(let u in r){let[l,a]=r[u],i=t.parallelRoutes.get(u);if(!i)continue;let c=(0,n.createRouterCacheKey)(l),s=i.get(c);if(!s)continue;let f=e(s,a,o+"/"+c);if(f)return f}return null}(e,t,"")}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6793:function(e,t){"use strict";function r(e){return Array.isArray(e)?e[1]:e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSegmentValue",{enumerable:!0,get:function(){return r}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5596:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{handleExternalUrl:function(){return g},navigateReducer:function(){return P}});let n=r(73546),o=r(68419),u=r(23074),l=r(62950),a=r(27098),i=r(13556),c=r(11956),s=r(91414),f=r(28875),d=r(39671),p=r(71486),h=r(27052),y=r(5678),_=r(47690),v=r(63266);r(6384);let b=r(95606);function g(e,t,r,n){return t.mpaNavigation=!0,t.canonicalUrl=r,t.pendingPush=n,t.scrollableSegments=void 0,(0,f.handleMutable)(e,t)}function m(e){let t=[],[r,n]=e;if(0===Object.keys(n).length)return[[r]];for(let[e,o]of Object.entries(n))for(let n of m(o))""===r?t.push([e,...n]):t.push([r,e,...n]);return t}let P=function(e,t){let{url:r,isExternalUrl:P,navigateType:j,shouldScroll:R}=t,O={},{hash:S}=r,E=(0,o.createHrefFromUrl)(r),w="push"===j;if((0,h.prunePrefetchCache)(e.prefetchCache),O.preserveCustomHistoryState=!1,P)return g(e,O,r.toString(),w);let M=(0,b.createPrefetchCacheKey)(r,e.nextUrl),T=e.prefetchCache.get(M);if(!T){let t={data:(0,n.fetchServerResponse)(r,e.tree,e.nextUrl,e.buildId,void 0),kind:s.PrefetchKind.TEMPORARY,prefetchTime:Date.now(),treeAtTimeOfPrefetch:e.tree,lastUsedTime:null};e.prefetchCache.set(M,t),T=t}let x=(0,p.getPrefetchEntryCacheStatus)(T),{treeAtTimeOfPrefetch:C,data:N}=T;return y.prefetchQueue.bump(N),N.then(t=>{let[s,h,y]=t;if(T&&!T.lastUsedTime&&(T.lastUsedTime=Date.now()),"string"==typeof s)return g(e,O,s,w);let b=e.tree,P=e.cache,j=[];for(let t of s){let o=t.slice(0,-4),s=t.slice(-3)[0],f=["",...o],h=(0,a.applyRouterStatePatchToTreeSkipDefault)(f,b,s);if(null===h&&(h=(0,a.applyRouterStatePatchToTreeSkipDefault)(f,C,s)),null!==h){if((0,c.isNavigatingToNewRootLayout)(b,h))return g(e,O,E,w);let a=(0,_.createEmptyCacheNode)(),R=(0,d.applyFlightData)(P,a,t,(null==T?void 0:T.kind)==="auto"&&x===p.PrefetchCacheEntryStatus.reusable);for(let t of((!R&&x===p.PrefetchCacheEntryStatus.stale||y)&&(R=function(e,t,r,n,o){let u=!1;for(let a of(e.rsc=t.rsc,e.prefetchRsc=t.prefetchRsc,e.parallelRoutes=new Map(t.parallelRoutes),m(n).map(e=>[...r,...e])))(0,l.fillCacheWithDataProperty)(e,t,a,o),u=!0;return u}(a,P,o,s,()=>(0,n.fetchServerResponse)(r,b,e.nextUrl,e.buildId))),(0,i.shouldHardNavigate)(f,b)?(a.rsc=P.rsc,a.prefetchRsc=P.prefetchRsc,(0,u.invalidateCacheBelowFlightSegmentPath)(a,P,o),O.cache=a):R&&(O.cache=a),P=a,b=h,m(s))){let e=[...o,...t];e[e.length-1]!==v.DEFAULT_SEGMENT_KEY&&j.push(e)}}}return O.patchedTree=b,O.canonicalUrl=h?(0,o.createHrefFromUrl)(h):E,O.pendingPush=w,O.scrollableSegments=j,O.hashFragment=S,O.shouldScroll=R,(0,f.handleMutable)(e,O)},()=>e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5678:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{prefetchQueue:function(){return c},prefetchReducer:function(){return s}});let n=r(73546),o=r(91414),u=r(27052),l=r(42275),a=r(82418),i=r(95606),c=new a.PromiseQueue(5);function s(e,t){(0,u.prunePrefetchCache)(e.prefetchCache);let{url:r}=t;r.searchParams.delete(l.NEXT_RSC_UNION_QUERY);let a=(0,i.createPrefetchCacheKey)(r,e.nextUrl),s=e.prefetchCache.get(a);if(s&&(s.kind===o.PrefetchKind.TEMPORARY&&e.prefetchCache.set(a,{...s,kind:t.kind}),!(s.kind===o.PrefetchKind.AUTO&&t.kind===o.PrefetchKind.FULL)))return e;let f=c.enqueue(()=>(0,n.fetchServerResponse)(r,e.tree,e.nextUrl,e.buildId,t.kind));return e.prefetchCache.set(a,{treeAtTimeOfPrefetch:e.tree,data:f,kind:t.kind,prefetchTime:Date.now(),lastUsedTime:null}),e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},27052:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"prunePrefetchCache",{enumerable:!0,get:function(){return o}});let n=r(71486);function o(e){for(let[t,r]of e)(0,n.getPrefetchEntryCacheStatus)(r)===n.PrefetchCacheEntryStatus.expired&&e.delete(t)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},67491:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"refreshReducer",{enumerable:!0,get:function(){return d}});let n=r(73546),o=r(68419),u=r(27098),l=r(11956),a=r(5596),i=r(28875),c=r(4765),s=r(47690),f=r(52224);function d(e,t){let{origin:r}=t,d={},p=e.canonicalUrl,h=e.tree;d.preserveCustomHistoryState=!1;let y=(0,s.createEmptyCacheNode)();return y.lazyData=(0,n.fetchServerResponse)(new URL(p,r),[h[0],h[1],h[2],"refetch"],e.nextUrl,e.buildId),y.lazyData.then(r=>{let[n,s]=r;if("string"==typeof n)return(0,a.handleExternalUrl)(e,d,n,e.pushRef.pendingPush);for(let r of(y.lazyData=null,n)){if(3!==r.length)return console.log("REFRESH FAILED"),e;let[n]=r,i=(0,u.applyRouterStatePatchToFullTree)([""],h,n);if(null===i)return(0,f.handleSegmentMismatch)(e,t,n);if((0,l.isNavigatingToNewRootLayout)(h,i))return(0,a.handleExternalUrl)(e,d,p,e.pushRef.pendingPush);let _=s?(0,o.createHrefFromUrl)(s):void 0;s&&(d.canonicalUrl=_);let[v,b]=r.slice(-2);if(null!==v){let e=v[2];y.rsc=e,y.prefetchRsc=null,(0,c.fillLazyItemsTillLeafWithHead)(y,void 0,n,v,b),d.cache=y,d.prefetchCache=new Map}d.patchedTree=i,d.canonicalUrl=p,h=i}return(0,i.handleMutable)(e,d)},()=>e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},57222:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"restoreReducer",{enumerable:!0,get:function(){return u}});let n=r(68419),o=r(4038);function u(e,t){var r;let{url:u,tree:l}=t,a=(0,n.createHrefFromUrl)(u),i=e.cache;return{buildId:e.buildId,canonicalUrl:a,pushRef:{pendingPush:!1,mpaNavigation:!1,preserveCustomHistoryState:!0},focusAndScrollRef:e.focusAndScrollRef,cache:i,prefetchCache:e.prefetchCache,tree:l,nextUrl:null!=(r=(0,o.extractPathFromFlightRouterState)(l))?r:u.pathname}}r(6384),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},40899:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"serverActionReducer",{enumerable:!0,get:function(){return b}});let n=r(15355),o=r(42275),u=r(45786),l=r(68419),a=r(5596),i=r(27098),c=r(11956),s=r(28875),f=r(4765),d=r(47690),p=r(4038),h=r(52224),{createFromFetch:y,encodeReply:_}=r(97355);async function v(e,t){let r,{actionId:l,actionArgs:a}=t,i=await _(a),c=(0,p.extractPathFromFlightRouterState)(e.tree),s=e.nextUrl&&e.nextUrl!==c,f=await fetch("",{method:"POST",headers:{Accept:o.RSC_CONTENT_TYPE_HEADER,[o.ACTION]:l,[o.NEXT_ROUTER_STATE_TREE]:encodeURIComponent(JSON.stringify(e.tree)),...s?{[o.NEXT_URL]:e.nextUrl}:{}},body:i}),d=f.headers.get("x-action-redirect");try{let e=JSON.parse(f.headers.get("x-action-revalidated")||"[[],0,0]");r={paths:e[0]||[],tag:!!e[1],cookie:e[2]}}catch(e){r={paths:[],tag:!1,cookie:!1}}let h=d?new URL((0,u.addBasePath)(d),new URL(e.canonicalUrl,window.location.href)):void 0;if(f.headers.get("content-type")===o.RSC_CONTENT_TYPE_HEADER){let e=await y(Promise.resolve(f),{callServer:n.callServer});if(d){let[,t]=null!=e?e:[];return{actionFlightData:t,redirectLocation:h,revalidatedParts:r}}let[t,[,o]]=null!=e?e:[];return{actionResult:t,actionFlightData:o,redirectLocation:h,revalidatedParts:r}}return{redirectLocation:h,revalidatedParts:r}}function b(e,t){let{resolve:r,reject:n}=t,o={},u=e.canonicalUrl,p=e.tree;return o.preserveCustomHistoryState=!1,o.inFlightServerAction=v(e,t),o.inFlightServerAction.then(n=>{let{actionResult:y,actionFlightData:_,redirectLocation:v}=n;if(v&&(e.pushRef.pendingPush=!0,o.pendingPush=!0),!_)return(o.actionResultResolved||(r(y),o.actionResultResolved=!0),v)?(0,a.handleExternalUrl)(e,o,v.href,e.pushRef.pendingPush):e;if("string"==typeof _)return(0,a.handleExternalUrl)(e,o,_,e.pushRef.pendingPush);for(let r of(o.inFlightServerAction=null,_)){if(3!==r.length)return console.log("SERVER ACTION APPLY FAILED"),e;let[n]=r,l=(0,i.applyRouterStatePatchToFullTree)([""],p,n);if(null===l)return(0,h.handleSegmentMismatch)(e,t,n);if((0,c.isNavigatingToNewRootLayout)(p,l))return(0,a.handleExternalUrl)(e,o,u,e.pushRef.pendingPush);let[s,y]=r.slice(-2),_=null!==s?s[2]:null;if(null!==_){let e=(0,d.createEmptyCacheNode)();e.rsc=_,e.prefetchRsc=null,(0,f.fillLazyItemsTillLeafWithHead)(e,void 0,n,s,y),o.cache=e,o.prefetchCache=new Map}o.patchedTree=l,o.canonicalUrl=u,p=l}if(v){let e=(0,l.createHrefFromUrl)(v,!1);o.canonicalUrl=e}return o.actionResultResolved||(r(y),o.actionResultResolved=!0),(0,s.handleMutable)(e,o)},t=>{if("rejected"===t.status)return o.actionResultResolved||(n(t.reason),o.actionResultResolved=!0),e;throw t})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},94173:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"serverPatchReducer",{enumerable:!0,get:function(){return f}});let n=r(68419),o=r(27098),u=r(11956),l=r(5596),a=r(39671),i=r(28875),c=r(47690),s=r(52224);function f(e,t){let{flightData:r,overrideCanonicalUrl:f}=t,d={};if(d.preserveCustomHistoryState=!1,"string"==typeof r)return(0,l.handleExternalUrl)(e,d,r,e.pushRef.pendingPush);let p=e.tree,h=e.cache;for(let i of r){let r=i.slice(0,-4),[y]=i.slice(-3,-2),_=(0,o.applyRouterStatePatchToTreeSkipDefault)(["",...r],p,y);if(null===_)return(0,s.handleSegmentMismatch)(e,t,y);if((0,u.isNavigatingToNewRootLayout)(p,_))return(0,l.handleExternalUrl)(e,d,e.canonicalUrl,e.pushRef.pendingPush);let v=f?(0,n.createHrefFromUrl)(f):void 0;v&&(d.canonicalUrl=v);let b=(0,c.createEmptyCacheNode)();(0,a.applyFlightData)(h,b,i),d.patchedTree=_,d.cache=b,h=b,p=_}return(0,i.handleMutable)(e,d)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},91414:function(e,t){"use strict";var r,n;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{PrefetchKind:function(){return r},ACTION_REFRESH:function(){return o},ACTION_NAVIGATE:function(){return u},ACTION_RESTORE:function(){return l},ACTION_SERVER_PATCH:function(){return a},ACTION_PREFETCH:function(){return i},ACTION_FAST_REFRESH:function(){return c},ACTION_SERVER_ACTION:function(){return s},isThenable:function(){return f}});let o="refresh",u="navigate",l="restore",a="server-patch",i="prefetch",c="fast-refresh",s="server-action";function f(e){return e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then}(n=r||(r={})).AUTO="auto",n.FULL="full",n.TEMPORARY="temporary",("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},36878:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"reducer",{enumerable:!0,get:function(){return f}});let n=r(91414),o=r(5596),u=r(94173),l=r(57222),a=r(67491),i=r(5678),c=r(16503),s=r(40899),f=function(e,t){switch(t.type){case n.ACTION_NAVIGATE:return(0,o.navigateReducer)(e,t);case n.ACTION_SERVER_PATCH:return(0,u.serverPatchReducer)(e,t);case n.ACTION_RESTORE:return(0,l.restoreReducer)(e,t);case n.ACTION_REFRESH:return(0,a.refreshReducer)(e,t);case n.ACTION_FAST_REFRESH:return(0,c.fastRefreshReducer)(e,t);case n.ACTION_PREFETCH:return(0,i.prefetchReducer)(e,t);case n.ACTION_SERVER_ACTION:return(0,s.serverActionReducer)(e,t);default:throw Error("Unknown action")}};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},13556:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"shouldHardNavigate",{enumerable:!0,get:function(){return function e(t,r){let[o,u]=r,[l,a]=t;return(0,n.matchSegment)(l,o)?!(t.length<=2)&&e(t.slice(2),u[a]):!!Array.isArray(l)}}});let n=r(22295);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},15797:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createSearchParamsBailoutProxy",{enumerable:!0,get:function(){return o}});let n=r(28181);function o(){return new Proxy({},{get(e,t){"string"==typeof t&&(0,n.staticGenerationBailout)("searchParams."+t)}})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},40002:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"staticGenerationAsyncStorage",{enumerable:!0,get:function(){return n}});let n=(0,r(70693).createAsyncLocalStorage)();("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},28181:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{isStaticGenBailoutError:function(){return a},staticGenerationBailout:function(){return c}});let n=r(47127),o=r(40002),u="NEXT_STATIC_GEN_BAILOUT";class l extends Error{constructor(...e){super(...e),this.code=u}}function a(e){return"object"==typeof e&&null!==e&&"code"in e&&e.code===u}function i(e,t){let{dynamic:r,link:n}=t||{};return"Page"+(r?' with `dynamic = "'+r+'"`':"")+" couldn't be rendered statically because it used `"+e+"`."+(n?" See more info here: "+n:"")}let c=(e,t)=>{let{dynamic:r,link:u}=void 0===t?{}:t,a=o.staticGenerationAsyncStorage.getStore();if(!a)return!1;if(a.forceStatic)return!0;if(a.dynamicShouldError)throw new l(i(e,{link:u,dynamic:null!=r?r:"error"}));let c=i(e,{dynamic:r,link:"https://nextjs.org/docs/messages/dynamic-server-error"});if(null==a.postpone||a.postpone.call(a,e),a.revalidate=0,a.isStaticGeneration){let t=new n.DynamicServerError(c);throw a.dynamicUsageDescription=e,a.dynamicUsageStack=t.stack,t}return!1};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},77831:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return u}}),r(86921);let n=r(3827);r(64090);let o=r(15797);function u(e){let{Component:t,propsForComponent:r,isStaticGeneration:u}=e;if(u){let e=(0,o.createSearchParamsBailoutProxy)();return(0,n.jsx)(t,{searchParams:e,...r})}return(0,n.jsx)(t,{...r})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},21276:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{useUnwrapState:function(){return a},useReducerWithReduxDevtools:function(){return i}});let n=r(91884)._(r(64090)),o=r(91414),u=r(85367);function l(e){if(e instanceof Map){let t={};for(let[r,n]of e.entries()){if("function"==typeof n){t[r]="fn()";continue}if("object"==typeof n&&null!==n){if(n.$$typeof){t[r]=n.$$typeof.toString();continue}if(n._bundlerConfig){t[r]="FlightData";continue}}t[r]=l(n)}return t}if("object"==typeof e&&null!==e){let t={};for(let r in e){let n=e[r];if("function"==typeof n){t[r]="fn()";continue}if("object"==typeof n&&null!==n){if(n.$$typeof){t[r]=n.$$typeof.toString();continue}if(n.hasOwnProperty("_bundlerConfig")){t[r]="FlightData";continue}}t[r]=l(n)}return t}return Array.isArray(e)?e.map(l):e}function a(e){return(0,o.isThenable)(e)?(0,n.use)(e):e}let i=function(e){let[t,r]=n.default.useState(e),o=(0,n.useContext)(u.ActionQueueContext);if(!o)throw Error("Invariant: Missing ActionQueueContext");let a=(0,n.useRef)(),i=(0,n.useRef)();return(0,n.useEffect)(()=>{if(!a.current&&!1!==i.current){if(void 0===i.current&&void 0===window.__REDUX_DEVTOOLS_EXTENSION__){i.current=!1;return}return a.current=window.__REDUX_DEVTOOLS_EXTENSION__.connect({instanceId:8e3,name:"next-router"}),a.current&&(a.current.init(l(e)),o&&(o.devToolsInstance=a.current)),()=>{a.current=void 0}}},[e,o]),[t,(0,n.useCallback)(t=>{o.state||(o.state=e),o.dispatch(t,r)},[o,e]),(0,n.useCallback)(e=>{a.current&&a.current.send({type:"RENDER_SYNC"},l(e))},[])]};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},87379:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hasBasePath",{enumerable:!0,get:function(){return o}});let n=r(87027);function o(e){return(0,n.pathHasPrefix)(e,"/ui")}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},82139:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathTrailingSlash",{enumerable:!0,get:function(){return u}});let n=r(95868),o=r(36506),u=e=>{if(!e.startsWith("/"))return e;let{pathname:t,query:r,hash:u}=(0,o.parsePath)(e);return""+(0,n.removeTrailingSlash)(t)+r+u};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4101:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});let n=r(99775);function o(e){let t="function"==typeof reportError?reportError:e=>{window.console.error(e)};(0,n.isBailoutToCSRError)(e)||t(e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},18895:function(e,t,r){"use strict";function n(e){return(e=e.slice(3)).startsWith("/")||(e="/"+e),e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeBasePath",{enumerable:!0,get:function(){return n}}),r(87379),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},47600:function(e,t,r){"use strict";var n=r(89542);t.createRoot=n.createRoot,t.hydrateRoot=n.hydrateRoot},89542:function(e,t,r){"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=r(38790)},25450:function(e,t,r){"use strict";var n=r(89542),o=r(64090),u={stream:!0},l=new Map;function a(e){var t=r(e);return"function"!=typeof t.then||"fulfilled"===t.status?null:(t.then(function(e){t.status="fulfilled",t.value=e},function(e){t.status="rejected",t.reason=e}),t)}function i(){}var c=new Map,s=r.u;r.u=function(e){var t=c.get(e);return void 0!==t?t:s(e)};var f=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.Dispatcher,d=Symbol.for("react.element"),p=Symbol.for("react.provider"),h=Symbol.for("react.server_context"),y=Symbol.for("react.lazy"),_=Symbol.for("react.default_value"),v=Symbol.iterator,b=Array.isArray,g=Object.getPrototypeOf,m=Object.prototype,P=new WeakMap,j=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ContextRegistry;function R(e,t,r,n){this.status=e,this.value=t,this.reason=r,this._response=n}function O(e){switch(e.status){case"resolved_model":C(e);break;case"resolved_module":N(e)}switch(e.status){case"fulfilled":return e.value;case"pending":case"blocked":case"cyclic":throw e;default:throw e.reason}}function S(e,t){for(var r=0;rh?(_=h,h=3,p++):(_=0,h=3);continue;case 2:44===(g=d[p++])?h=4:v=v<<4|(96d.length&&(g=-1)}var m=d.byteOffset+p;if(-1>>1,o=e[n];if(0>>1;nu(i,r))cu(s,i)?(e[n]=s,e[c]=r,n=c):(e[n]=i,e[a]=r,n=a);else if(cu(s,r))e[n]=s,e[c]=r,n=c;else break}}return t}function u(e,t){var r=e.sortIndex-t.sortIndex;return 0!==r?r:e.id-t.id}if(t.unstable_now=void 0,"object"==typeof performance&&"function"==typeof performance.now){var l,a=performance;t.unstable_now=function(){return a.now()}}else{var i=Date,c=i.now();t.unstable_now=function(){return i.now()-c}}var s=[],f=[],d=1,p=null,h=3,y=!1,_=!1,v=!1,b="function"==typeof setTimeout?setTimeout:null,g="function"==typeof clearTimeout?clearTimeout:null,m="undefined"!=typeof setImmediate?setImmediate:null;function P(e){for(var t=n(f);null!==t;){if(null===t.callback)o(f);else if(t.startTime<=e)o(f),t.sortIndex=t.expirationTime,r(s,t);else break;t=n(f)}}function j(e){if(v=!1,P(e),!_){if(null!==n(s))_=!0,C();else{var t=n(f);null!==t&&N(j,t.startTime-e)}}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var R=!1,O=-1,S=5,E=-1;function w(){return!(t.unstable_now()-Ee&&w());){var a=p.callback;if("function"==typeof a){p.callback=null,h=p.priorityLevel;var i=a(p.expirationTime<=e);if(e=t.unstable_now(),"function"==typeof i){p.callback=i,P(e),r=!0;break t}p===n(s)&&o(s),P(e)}else o(s);p=n(s)}if(null!==p)r=!0;else{var c=n(f);null!==c&&N(j,c.startTime-e),r=!1}}break e}finally{p=null,h=u,y=!1}r=void 0}}finally{r?l():R=!1}}}if("function"==typeof m)l=function(){m(M)};else if("undefined"!=typeof MessageChannel){var T=new MessageChannel,x=T.port2;T.port1.onmessage=M,l=function(){x.postMessage(null)}}else l=function(){b(M,0)};function C(){R||(R=!0,l())}function N(e,r){O=b(function(){e(t.unstable_now())},r)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){_||y||(_=!0,C())},t.unstable_forceFrameRate=function(e){0>e||125l?(e.sortIndex=u,r(f,e),null===n(s)&&e===n(f)&&(v?(g(O),O=-1):v=!0,N(j,u-l))):(e.sortIndex=a,r(s,e),_||y||(_=!0,C())),e},t.unstable_shouldYield=w,t.unstable_wrapCallback=function(e){var t=h;return function(){var r=h;h=t;try{return e.apply(this,arguments)}finally{h=r}}}},58172:function(e,t,r){"use strict";e.exports=r(52531)},2883:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSegmentParam",{enumerable:!0,get:function(){return o}});let n=r(94749);function o(e){let t=n.INTERCEPTION_ROUTE_MARKERS.find(t=>e.startsWith(t));return(t&&(e=e.slice(t.length)),e.startsWith("[[...")&&e.endsWith("]]"))?{type:"optional-catchall",param:e.slice(5,-2)}:e.startsWith("[...")&&e.endsWith("]")?{type:"catchall",param:e.slice(4,-1)}:e.startsWith("[")&&e.endsWith("]")?{type:"dynamic",param:e.slice(1,-1)}:null}},94749:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{INTERCEPTION_ROUTE_MARKERS:function(){return o},isInterceptionRouteAppPath:function(){return u},extractInterceptionRouteInformation:function(){return l}});let n=r(37178),o=["(..)(..)","(.)","(..)","(...)"];function u(e){return void 0!==e.split("/").find(e=>o.find(t=>e.startsWith(t)))}function l(e){let t,r,u;for(let n of e.split("/"))if(r=o.find(e=>n.startsWith(e))){[t,u]=e.split(r,2);break}if(!t||!r||!u)throw Error("Invalid interception route: ".concat(e,". Must be in the format //(..|...|..)(..)/"));switch(t=(0,n.normalizeAppPath)(t),r){case"(.)":u="/"===t?"/".concat(u):t+"/"+u;break;case"(..)":if("/"===t)throw Error("Invalid interception route: ".concat(e,". Cannot use (..) marker at the root level, use (.) instead."));u=t.split("/").slice(0,-1).concat(u).join("/");break;case"(...)":u="/"+u;break;case"(..)(..)":let l=t.split("/");if(l.length<=2)throw Error("Invalid interception route: ".concat(e,". Cannot use (..)(..) marker at the root level or one level up."));u=l.slice(0,-2).concat(u).join("/");break;default:throw Error("Invariant: unexpected marker")}return{interceptingRoute:t,interceptedRoute:u}}},38599:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{AppRouterContext:function(){return o},LayoutRouterContext:function(){return u},GlobalLayoutRouterContext:function(){return l},TemplateContext:function(){return a},MissingSlotContext:function(){return i}});let n=r(86921)._(r(64090)),o=n.default.createContext(null),u=n.default.createContext(null),l=n.default.createContext(null),a=n.default.createContext(null),i=n.default.createContext(new Set)},1:function(e,t){"use strict";function r(e){let t=5381;for(let r=0;r>>0}function n(e){return r(e).toString(36).slice(0,5)}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{djb2Hash:function(){return r},hexHash:function(){return n}})},27484:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HeadManagerContext",{enumerable:!0,get:function(){return n}});let n=r(86921)._(r(64090)).default.createContext({})},14758:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{SearchParamsContext:function(){return o},PathnameContext:function(){return u},PathParamsContext:function(){return l}});let n=r(64090),o=(0,n.createContext)(null),u=(0,n.createContext)(null),l=(0,n.createContext)(null)},99775:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{BailoutToCSRError:function(){return n},isBailoutToCSRError:function(){return o}});let r="BAILOUT_TO_CLIENT_SIDE_RENDERING";class n extends Error{constructor(e){super("Bail out to client-side rendering: "+e),this.reason=e,this.digest=r}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===r}},89590:function(e,t){"use strict";function r(e){return e.startsWith("/")?e:"/"+e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ensureLeadingSlash",{enumerable:!0,get:function(){return r}})},85367:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ActionQueueContext:function(){return a},createMutableActionQueue:function(){return s}});let n=r(91884),o=r(91414),u=r(36878),l=n._(r(64090)),a=l.default.createContext(null);function i(e,t){null!==e.pending&&(e.pending=e.pending.next,null!==e.pending&&c({actionQueue:e,action:e.pending,setState:t}))}async function c(e){let{actionQueue:t,action:r,setState:n}=e,u=t.state;if(!u)throw Error("Invariant: Router state not initialized");t.pending=r;let l=r.payload,a=t.action(u,l);function c(e){if(r.discarded){t.needsRefresh&&null===t.pending&&(t.needsRefresh=!1,t.dispatch({type:o.ACTION_REFRESH,origin:window.location.origin},n));return}t.state=e,t.devToolsInstance&&t.devToolsInstance.send(l,e),i(t,n),r.resolve(e)}(0,o.isThenable)(a)?a.then(c,e=>{i(t,n),r.reject(e)}):c(a)}function s(){let e={state:null,dispatch:(t,r)=>(function(e,t,r){let n={resolve:r,reject:()=>{}};if(t.type!==o.ACTION_RESTORE){let e=new Promise((e,t)=>{n={resolve:e,reject:t}});(0,l.startTransition)(()=>{r(e)})}let u={payload:t,next:null,resolve:n.resolve,reject:n.reject};null===e.pending?(e.last=u,c({actionQueue:e,action:u,setState:r})):t.type===o.ACTION_NAVIGATE?(e.pending.discarded=!0,e.last=u,e.pending.payload.type===o.ACTION_SERVER_ACTION&&(e.needsRefresh=!0),c({actionQueue:e,action:u,setState:r})):(null!==e.last&&(e.last.next=u),e.last=u)})(e,t,r),action:async(e,t)=>{if(null===e)throw Error("Invariant: Router state not initialized");return(0,u.reducer)(e,t)},pending:null,last:null};return e}},51312:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathPrefix",{enumerable:!0,get:function(){return o}});let n=r(36506);function o(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:o,hash:u}=(0,n.parsePath)(e);return""+t+r+o+u}},37178:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{normalizeAppPath:function(){return u},normalizeRscURL:function(){return l}});let n=r(89590),o=r(63266);function u(e){return(0,n.ensureLeadingSlash)(e.split("/").reduce((e,t,r,n)=>!t||(0,o.isGroupSegment)(t)||"@"===t[0]||("page"===t||"route"===t)&&r===n.length-1?e:e+"/"+t,""))}function l(e){return e.replace(/\.rsc($|\?)/,"$1")}},73011:function(e,t){"use strict";function r(e,t){if(void 0===t&&(t={}),t.onlyHashChange){e();return}let r=document.documentElement,n=r.style.scrollBehavior;r.style.scrollBehavior="auto",t.dontForceLayout||r.getClientRects(),e(),r.style.scrollBehavior=n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSmoothScroll",{enumerable:!0,get:function(){return r}})},16407:function(e,t){"use strict";function r(e){return/Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i.test(e)}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isBot",{enumerable:!0,get:function(){return r}})},36506:function(e,t){"use strict";function r(e){let t=e.indexOf("#"),r=e.indexOf("?"),n=r>-1&&(t<0||r-1?{pathname:e.substring(0,n?r:t),query:n?e.substring(r,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parsePath",{enumerable:!0,get:function(){return r}})},87027:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"pathHasPrefix",{enumerable:!0,get:function(){return o}});let n=r(36506);function o(e,t){if("string"!=typeof e)return!1;let{pathname:r}=(0,n.parsePath)(e);return r===t||r.startsWith(t+"/")}},95868:function(e,t){"use strict";function r(e){return e.replace(/\/$/,"")||"/"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return r}})},63266:function(e,t){"use strict";function r(e){return"("===e[0]&&e.endsWith(")")}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{isGroupSegment:function(){return r},PAGE_SEGMENT_KEY:function(){return n},DEFAULT_SEGMENT_KEY:function(){return o}});let n="__PAGE__",o="__DEFAULT__"},32472:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ServerInsertedHTMLContext:function(){return o},useServerInsertedHTML:function(){return u}});let n=r(91884)._(r(64090)),o=n.default.createContext(null);function u(e){let t=(0,n.useContext)(o);t&&t(e)}},76184:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},70693:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createAsyncLocalStorage",{enumerable:!0,get:function(){return u}});let r=Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available");class n{disable(){throw r}getStore(){}run(){throw r}exit(){throw r}enterWith(){throw r}}let o=globalThis.AsyncLocalStorage;function u(){return o?new o:new n}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},42299:function(e,t,r){"use strict";function n(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw TypeError("attempted to use private field on non-instance");return e}r.r(t),r.d(t,{_:function(){return n},_class_private_field_loose_base:function(){return n}})},13603:function(e,t,r){"use strict";r.r(t),r.d(t,{_:function(){return o},_class_private_field_loose_key:function(){return o}});var n=0;function o(e){return"__private_"+n+++"_"+e}},86921:function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.r(t),r.d(t,{_:function(){return n},_interop_require_default:function(){return n}})},91884:function(e,t,r){"use strict";function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(n=function(e){return e?r:t})(e)}function o(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=n(t);if(r&&r.has(e))return r.get(e);var o={},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var a=u?Object.getOwnPropertyDescriptor(e,l):null;a&&(a.get||a.set)?Object.defineProperty(o,l,a):o[l]=e[l]}return o.default=e,r&&r.set(e,o),o}r.r(t),r.d(t,{_:function(){return o},_interop_require_wildcard:function(){return o}})}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/838-7fa0bab5a1c3631d.js b/litellm/proxy/_experimental/out/_next/static/chunks/838-7fa0bab5a1c3631d.js new file mode 100644 index 00000000000..8647704cbc0 --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/838-7fa0bab5a1c3631d.js @@ -0,0 +1,20 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[838],{12215:function(e,t,n){n.d(t,{iN:function(){return m},R_:function(){return f}});var r=n(41785),o=n(76991),i=[{index:7,opacity:.15},{index:6,opacity:.25},{index:5,opacity:.3},{index:5,opacity:.45},{index:5,opacity:.65},{index:5,opacity:.85},{index:4,opacity:.9},{index:3,opacity:.95},{index:2,opacity:.97},{index:1,opacity:.98}];function a(e){var t=e.r,n=e.g,o=e.b,i=(0,r.py)(t,n,o);return{h:360*i.h,s:i.s,v:i.v}}function c(e){var t=e.r,n=e.g,o=e.b;return"#".concat((0,r.vq)(t,n,o,!1))}function l(e,t,n){var r;return(r=Math.round(e.h)>=60&&240>=Math.round(e.h)?n?Math.round(e.h)-2*t:Math.round(e.h)+2*t:n?Math.round(e.h)+2*t:Math.round(e.h)-2*t)<0?r+=360:r>=360&&(r-=360),r}function u(e,t,n){var r;return 0===e.h&&0===e.s?e.s:((r=n?e.s-.16*t:4===t?e.s+.16:e.s+.05*t)>1&&(r=1),n&&5===t&&r>.1&&(r=.1),r<.06&&(r=.06),Number(r.toFixed(2)))}function s(e,t,n){var r;return(r=n?e.v+.05*t:e.v-.15*t)>1&&(r=1),Number(r.toFixed(2))}function f(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=[],r=(0,o.uA)(e),f=5;f>0;f-=1){var d=a(r),p=c((0,o.uA)({h:l(d,f,!0),s:u(d,f,!0),v:s(d,f,!0)}));n.push(p)}n.push(c(r));for(var h=1;h<=4;h+=1){var m=a(r),v=c((0,o.uA)({h:l(m,h),s:u(m,h),v:s(m,h)}));n.push(v)}return"dark"===t.theme?i.map(function(e){var r,i,a,l=e.index,u=e.opacity;return c((r=(0,o.uA)(t.backgroundColor||"#141414"),i=(0,o.uA)(n[l]),a=100*u/100,{r:(i.r-r.r)*a+r.r,g:(i.g-r.g)*a+r.g,b:(i.b-r.b)*a+r.b}))}):n}var d={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1677FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"},p={},h={};Object.keys(d).forEach(function(e){p[e]=f(d[e]),p[e].primary=p[e][5],h[e]=f(d[e],{theme:"dark",backgroundColor:"#141414"}),h[e].primary=h[e][5]}),p.red,p.volcano,p.gold,p.orange,p.yellow,p.lime,p.green,p.cyan;var m=p.blue;p.geekblue,p.purple,p.magenta,p.grey,p.grey},8985:function(e,t,n){n.d(t,{E4:function(){return eD},jG:function(){return P},ks:function(){return z},bf:function(){return B},CI:function(){return e_},fp:function(){return Y},xy:function(){return eZ}});var r,o,i=n(50833),a=n(80406),c=n(63787),l=n(5239),u=function(e){for(var t,n=0,r=0,o=e.length;o>=4;++r,o-=4)t=(65535&(t=255&e.charCodeAt(r)|(255&e.charCodeAt(++r))<<8|(255&e.charCodeAt(++r))<<16|(255&e.charCodeAt(++r))<<24))*1540483477+((t>>>16)*59797<<16),t^=t>>>24,n=(65535&t)*1540483477+((t>>>16)*59797<<16)^(65535&n)*1540483477+((n>>>16)*59797<<16);switch(o){case 3:n^=(255&e.charCodeAt(r+2))<<16;case 2:n^=(255&e.charCodeAt(r+1))<<8;case 1:n^=255&e.charCodeAt(r),n=(65535&n)*1540483477+((n>>>16)*59797<<16)}return n^=n>>>13,(((n=(65535&n)*1540483477+((n>>>16)*59797<<16))^n>>>15)>>>0).toString(36)},s=n(24050),f=n(64090),d=n.t(f,2);n(61475),n(92536);var p=n(47365),h=n(65127);function m(e){return e.join("%")}var v=function(){function e(t){(0,p.Z)(this,e),(0,i.Z)(this,"instanceId",void 0),(0,i.Z)(this,"cache",new Map),this.instanceId=t}return(0,h.Z)(e,[{key:"get",value:function(e){return this.opGet(m(e))}},{key:"opGet",value:function(e){return this.cache.get(e)||null}},{key:"update",value:function(e,t){return this.opUpdate(m(e),t)}},{key:"opUpdate",value:function(e,t){var n=t(this.cache.get(e));null===n?this.cache.delete(e):this.cache.set(e,n)}}]),e}(),g="data-token-hash",y="data-css-hash",b="__cssinjs_instance__",x=f.createContext({hashPriority:"low",cache:function(){var e=Math.random().toString(12).slice(2);if("undefined"!=typeof document&&document.head&&document.body){var t=document.body.querySelectorAll("style[".concat(y,"]"))||[],n=document.head.firstChild;Array.from(t).forEach(function(t){t[b]=t[b]||e,t[b]===e&&document.head.insertBefore(t,n)});var r={};Array.from(document.querySelectorAll("style[".concat(y,"]"))).forEach(function(t){var n,o=t.getAttribute(y);r[o]?t[b]===e&&(null===(n=t.parentNode)||void 0===n||n.removeChild(t)):r[o]=!0})}return new v(e)}(),defaultCache:!0}),w=n(6976),E=n(22127),O=function(){function e(){(0,p.Z)(this,e),(0,i.Z)(this,"cache",void 0),(0,i.Z)(this,"keys",void 0),(0,i.Z)(this,"cacheCallTimes",void 0),this.cache=new Map,this.keys=[],this.cacheCallTimes=0}return(0,h.Z)(e,[{key:"size",value:function(){return this.keys.length}},{key:"internalGet",value:function(e){var t,n,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o={map:this.cache};return e.forEach(function(e){if(o){var t;o=null===(t=o)||void 0===t||null===(t=t.map)||void 0===t?void 0:t.get(e)}else o=void 0}),null!==(t=o)&&void 0!==t&&t.value&&r&&(o.value[1]=this.cacheCallTimes++),null===(n=o)||void 0===n?void 0:n.value}},{key:"get",value:function(e){var t;return null===(t=this.internalGet(e,!0))||void 0===t?void 0:t[0]}},{key:"has",value:function(e){return!!this.internalGet(e)}},{key:"set",value:function(t,n){var r=this;if(!this.has(t)){if(this.size()+1>e.MAX_CACHE_SIZE+e.MAX_CACHE_OFFSET){var o=this.keys.reduce(function(e,t){var n=(0,a.Z)(e,2)[1];return r.internalGet(t)[1]0,"[Ant Design CSS-in-JS] Theme should have at least one derivative function."),C+=1}return(0,h.Z)(e,[{key:"getDerivativeToken",value:function(e){return this.derivatives.reduce(function(t,n){return n(e,t)},void 0)}}]),e}(),j=new O;function P(e){var t=Array.isArray(e)?e:[e];return j.has(t)||j.set(t,new k(t)),j.get(t)}var M=new WeakMap,A={},T=new WeakMap;function N(e){var t=T.get(e)||"";return t||(Object.keys(e).forEach(function(n){var r=e[n];t+=n,r instanceof k?t+=r.id:r&&"object"===(0,w.Z)(r)?t+=N(r):t+=r}),T.set(e,t)),t}function I(e,t){return u("".concat(t,"_").concat(N(e)))}var Z="random-".concat(Date.now(),"-").concat(Math.random()).replace(/\./g,""),R="_bAmBoO_",_=void 0,D=(0,E.Z)();function B(e){return"number"==typeof e?"".concat(e,"px"):e}function L(e,t,n){var r,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},a=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(a)return e;var c=(0,l.Z)((0,l.Z)({},o),{},(r={},(0,i.Z)(r,g,t),(0,i.Z)(r,y,n),r)),u=Object.keys(c).map(function(e){var t=c[e];return t?"".concat(e,'="').concat(t,'"'):null}).filter(function(e){return e}).join(" ");return"")}var z=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return"--".concat(t?"".concat(t,"-"):"").concat(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z0-9]+)/g,"$1-$2").replace(/([a-z])([A-Z0-9])/g,"$1-$2").toLowerCase()},F=function(e,t,n){var r,o={},i={};return Object.entries(e).forEach(function(e){var t=(0,a.Z)(e,2),r=t[0],c=t[1];if(null!=n&&null!==(l=n.preserve)&&void 0!==l&&l[r])i[r]=c;else if(("string"==typeof c||"number"==typeof c)&&!(null!=n&&null!==(u=n.ignore)&&void 0!==u&&u[r])){var l,u,s,f=z(r,null==n?void 0:n.prefix);o[f]="number"!=typeof c||null!=n&&null!==(s=n.unitless)&&void 0!==s&&s[r]?String(c):"".concat(c,"px"),i[r]="var(".concat(f,")")}}),[i,(r={scope:null==n?void 0:n.scope},Object.keys(o).length?".".concat(t).concat(null!=r&&r.scope?".".concat(r.scope):"","{").concat(Object.entries(o).map(function(e){var t=(0,a.Z)(e,2),n=t[0],r=t[1];return"".concat(n,":").concat(r,";")}).join(""),"}"):"")]},H=n(24800),W=(0,l.Z)({},d).useInsertionEffect,q=W?function(e,t,n){return W(function(){return e(),t()},n)}:function(e,t,n){f.useMemo(e,n),(0,H.Z)(function(){return t(!0)},n)},V=void 0!==(0,l.Z)({},d).useInsertionEffect?function(e){var t=[],n=!1;return f.useEffect(function(){return n=!1,function(){n=!0,t.length&&t.forEach(function(e){return e()})}},e),function(e){n||t.push(e)}}:function(){return function(e){e()}};function U(e,t,n,r,o){var i=f.useContext(x).cache,l=m([e].concat((0,c.Z)(t))),u=V([l]),s=function(e){i.opUpdate(l,function(t){var r=(0,a.Z)(t||[void 0,void 0],2),o=r[0],i=[void 0===o?0:o,r[1]||n()];return e?e(i):i})};f.useMemo(function(){s()},[l]);var d=i.opGet(l)[1];return q(function(){null==o||o(d)},function(e){return s(function(t){var n=(0,a.Z)(t,2),r=n[0],i=n[1];return e&&0===r&&(null==o||o(d)),[r+1,i]}),function(){i.opUpdate(l,function(t){var n=(0,a.Z)(t||[],2),o=n[0],c=void 0===o?0:o,s=n[1];return 0==c-1?(u(function(){(e||!i.opGet(l))&&(null==r||r(s,!1))}),null):[c-1,s]})}},[l]),d}var X={},G=new Map,K=function(e,t,n,r){var o=n.getDerivativeToken(e),i=(0,l.Z)((0,l.Z)({},o),t);return r&&(i=r(i)),i},$="token";function Y(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=(0,f.useContext)(x),o=r.cache.instanceId,i=r.container,d=n.salt,p=void 0===d?"":d,h=n.override,m=void 0===h?X:h,v=n.formatToken,w=n.getComputedToken,E=n.cssVar,O=function(e,t){for(var n=M,r=0;r=(G.get(e)||0)}),n.length-r.length>0&&r.forEach(function(e){"undefined"!=typeof document&&document.querySelectorAll("style[".concat(g,'="').concat(e,'"]')).forEach(function(e){if(e[b]===o){var t;null===(t=e.parentNode)||void 0===t||t.removeChild(e)}}),G.delete(e)})},function(e){var t=(0,a.Z)(e,4),n=t[0],r=t[3];if(E&&r){var c=(0,s.hq)(r,u("css-variables-".concat(n._themeKey)),{mark:y,prepend:"queue",attachTo:i,priority:-999});c[b]=o,c.setAttribute(g,n._themeKey)}})}var Q=n(14749),J={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},ee="comm",et="rule",en="decl",er=Math.abs,eo=String.fromCharCode;function ei(e,t,n){return e.replace(t,n)}function ea(e,t){return 0|e.charCodeAt(t)}function ec(e,t,n){return e.slice(t,n)}function el(e){return e.length}function eu(e,t){return t.push(e),e}function es(e,t){for(var n="",r=0;r0?p[y]+" "+b:ei(b,/&\f/g,p[y])).trim())&&(l[g++]=x);return ey(e,t,n,0===o?et:c,l,u,s,f)}function eS(e,t,n,r,o){return ey(e,t,n,en,ec(e,0,r),ec(e,r+1,-1),r,o)}var eC="data-ant-cssinjs-cache-path",ek="_FILE_STYLE__",ej=!0,eP="_multi_value_";function eM(e){var t,n,r;return es((r=function e(t,n,r,o,i,a,c,l,u){for(var s,f,d,p=0,h=0,m=c,v=0,g=0,y=0,b=1,x=1,w=1,E=0,O="",S=i,C=a,k=o,j=O;x;)switch(y=E,E=eb()){case 40:if(108!=y&&58==ea(j,m-1)){-1!=(f=j+=ei(eE(E),"&","&\f"),d=er(p?l[p-1]:0),f.indexOf("&\f",d))&&(w=-1);break}case 34:case 39:case 91:j+=eE(E);break;case 9:case 10:case 13:case 32:j+=function(e){for(;ev=ex();)if(ev<33)eb();else break;return ew(e)>2||ew(ev)>3?"":" "}(y);break;case 92:j+=function(e,t){for(var n;--t&&eb()&&!(ev<48)&&!(ev>102)&&(!(ev>57)||!(ev<65))&&(!(ev>70)||!(ev<97)););return n=em+(t<6&&32==ex()&&32==eb()),ec(eg,e,n)}(em-1,7);continue;case 47:switch(ex()){case 42:case 47:eu(ey(s=function(e,t){for(;eb();)if(e+ev===57)break;else if(e+ev===84&&47===ex())break;return"/*"+ec(eg,t,em-1)+"*"+eo(47===e?e:eb())}(eb(),em),n,r,ee,eo(ev),ec(s,2,-2),0,u),u);break;default:j+="/"}break;case 123*b:l[p++]=el(j)*w;case 125*b:case 59:case 0:switch(E){case 0:case 125:x=0;case 59+h:-1==w&&(j=ei(j,/\f/g,"")),g>0&&el(j)-m&&eu(g>32?eS(j+";",o,r,m-1,u):eS(ei(j," ","")+";",o,r,m-2,u),u);break;case 59:j+=";";default:if(eu(k=eO(j,n,r,p,h,i,l,O,S=[],C=[],m,a),a),123===E){if(0===h)e(j,n,k,k,S,a,m,l,C);else switch(99===v&&110===ea(j,3)?100:v){case 100:case 108:case 109:case 115:e(t,k,k,o&&eu(eO(t,k,k,0,0,i,l,O,i,S=[],m,C),C),i,C,m,l,o?S:C);break;default:e(j,k,k,k,[""],C,0,l,C)}}}p=h=g=0,b=w=1,O=j="",m=c;break;case 58:m=1+el(j),g=y;default:if(b<1){if(123==E)--b;else if(125==E&&0==b++&&125==(ev=em>0?ea(eg,--em):0,ep--,10===ev&&(ep=1,ed--),ev))continue}switch(j+=eo(E),E*b){case 38:w=h>0?1:(j+="\f",-1);break;case 44:l[p++]=(el(j)-1)*w,w=1;break;case 64:45===ex()&&(j+=eE(eb())),v=ex(),h=m=el(O=j+=function(e){for(;!ew(ex());)eb();return ec(eg,e,em)}(em)),E++;break;case 45:45===y&&2==el(j)&&(b=0)}}return a}("",null,null,null,[""],(n=t=e,ed=ep=1,eh=el(eg=n),em=0,t=[]),0,[0],t),eg="",r),ef).replace(/\{%%%\:[^;];}/g,";")}var eA=function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{root:!0,parentSelectors:[]},o=r.root,i=r.injectHash,u=r.parentSelectors,f=n.hashId,d=n.layer,p=(n.path,n.hashPriority),h=n.transformers,m=void 0===h?[]:h;n.linters;var v="",g={};function y(t){var r=t.getName(f);if(!g[r]){var o=e(t.style,n,{root:!1,parentSelectors:u}),i=(0,a.Z)(o,1)[0];g[r]="@keyframes ".concat(t.getName(f)).concat(i)}}if((function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return t.forEach(function(t){Array.isArray(t)?e(t,n):t&&n.push(t)}),n})(Array.isArray(t)?t:[t]).forEach(function(t){var r="string"!=typeof t||o?t:{};if("string"==typeof r)v+="".concat(r,"\n");else if(r._keyframe)y(r);else{var s=m.reduce(function(e,t){var n;return(null==t||null===(n=t.visit)||void 0===n?void 0:n.call(t,e))||e},r);Object.keys(s).forEach(function(t){var r=s[t];if("object"!==(0,w.Z)(r)||!r||"animationName"===t&&r._keyframe||"object"===(0,w.Z)(r)&&r&&("_skip_check_"in r||eP in r)){function d(e,t){var n=e.replace(/[A-Z]/g,function(e){return"-".concat(e.toLowerCase())}),r=t;J[e]||"number"!=typeof r||0===r||(r="".concat(r,"px")),"animationName"===e&&null!=t&&t._keyframe&&(y(t),r=t.getName(f)),v+="".concat(n,":").concat(r,";")}var h,m=null!==(h=null==r?void 0:r.value)&&void 0!==h?h:r;"object"===(0,w.Z)(r)&&null!=r&&r[eP]&&Array.isArray(m)?m.forEach(function(e){d(t,e)}):d(t,m)}else{var b=!1,x=t.trim(),E=!1;(o||i)&&f?x.startsWith("@")?b=!0:x=function(e,t,n){if(!t)return e;var r=".".concat(t),o="low"===n?":where(".concat(r,")"):r;return e.split(",").map(function(e){var t,n=e.trim().split(/\s+/),r=n[0]||"",i=(null===(t=r.match(/^\w+/))||void 0===t?void 0:t[0])||"";return[r="".concat(i).concat(o).concat(r.slice(i.length))].concat((0,c.Z)(n.slice(1))).join(" ")}).join(",")}(t,f,p):o&&!f&&("&"===x||""===x)&&(x="",E=!0);var O=e(r,n,{root:E,injectHash:b,parentSelectors:[].concat((0,c.Z)(u),[x])}),S=(0,a.Z)(O,2),C=S[0],k=S[1];g=(0,l.Z)((0,l.Z)({},g),k),v+="".concat(x).concat(C)}})}}),o){if(d&&(void 0===_&&(_=function(e,t,n){if((0,E.Z)()){(0,s.hq)(e,Z);var r,o,i=document.createElement("div");i.style.position="fixed",i.style.left="0",i.style.top="0",null==t||t(i),document.body.appendChild(i);var a=n?n(i):null===(r=getComputedStyle(i).content)||void 0===r?void 0:r.includes(R);return null===(o=i.parentNode)||void 0===o||o.removeChild(i),(0,s.jL)(Z),a}return!1}("@layer ".concat(Z," { .").concat(Z,' { content: "').concat(R,'"!important; } }'),function(e){e.className=Z})),_)){var b=d.split(","),x=b[b.length-1].trim();v="@layer ".concat(x," {").concat(v,"}"),b.length>1&&(v="@layer ".concat(d,"{%%%:%}").concat(v))}}else v="{".concat(v,"}");return[v,g]};function eT(e,t){return u("".concat(e.join("%")).concat(t))}function eN(){return null}var eI="style";function eZ(e,t){var n=e.token,o=e.path,l=e.hashId,u=e.layer,d=e.nonce,p=e.clientOnly,h=e.order,m=void 0===h?0:h,v=f.useContext(x),w=v.autoClear,O=(v.mock,v.defaultCache),S=v.hashPriority,C=v.container,k=v.ssrInline,j=v.transformers,P=v.linters,M=v.cache,A=n._tokenKey,T=[A].concat((0,c.Z)(o)),N=U(eI,T,function(){var e=T.join("|");if(!function(){if(!r&&(r={},(0,E.Z)())){var e,t=document.createElement("div");t.className=eC,t.style.position="fixed",t.style.visibility="hidden",t.style.top="-9999px",document.body.appendChild(t);var n=getComputedStyle(t).content||"";(n=n.replace(/^"/,"").replace(/"$/,"")).split(";").forEach(function(e){var t=e.split(":"),n=(0,a.Z)(t,2),o=n[0],i=n[1];r[o]=i});var o=document.querySelector("style[".concat(eC,"]"));o&&(ej=!1,null===(e=o.parentNode)||void 0===e||e.removeChild(o)),document.body.removeChild(t)}}(),r[e]){var n=function(e){var t=r[e],n=null;if(t&&(0,E.Z)()){if(ej)n=ek;else{var o=document.querySelector("style[".concat(y,'="').concat(r[e],'"]'));o?n=o.innerHTML:delete r[e]}}return[n,t]}(e),i=(0,a.Z)(n,2),c=i[0],s=i[1];if(c)return[c,A,s,{},p,m]}var f=eA(t(),{hashId:l,hashPriority:S,layer:u,path:o.join("-"),transformers:j,linters:P}),d=(0,a.Z)(f,2),h=d[0],v=d[1],g=eM(h),b=eT(T,g);return[g,A,b,v,p,m]},function(e,t){var n=(0,a.Z)(e,3)[2];(t||w)&&D&&(0,s.jL)(n,{mark:y})},function(e){var t=(0,a.Z)(e,4),n=t[0],r=(t[1],t[2]),o=t[3];if(D&&n!==ek){var i={mark:y,prepend:"queue",attachTo:C,priority:m},c="function"==typeof d?d():d;c&&(i.csp={nonce:c});var l=(0,s.hq)(n,r,i);l[b]=M.instanceId,l.setAttribute(g,A),Object.keys(o).forEach(function(e){(0,s.hq)(eM(o[e]),"_effect-".concat(e),i)})}}),I=(0,a.Z)(N,3),Z=I[0],R=I[1],_=I[2];return function(e){var t,n;return t=k&&!D&&O?f.createElement("style",(0,Q.Z)({},(n={},(0,i.Z)(n,g,R),(0,i.Z)(n,y,_),n),{dangerouslySetInnerHTML:{__html:Z}})):f.createElement(eN,null),f.createElement(f.Fragment,null,t,e)}}var eR="cssVar",e_=function(e,t){var n=e.key,r=e.prefix,o=e.unitless,i=e.ignore,l=e.token,u=e.scope,d=void 0===u?"":u,p=(0,f.useContext)(x),h=p.cache.instanceId,m=p.container,v=l._tokenKey,w=[].concat((0,c.Z)(e.path),[n,d,v]);return U(eR,w,function(){var e=F(t(),n,{prefix:r,unitless:o,ignore:i,scope:d}),c=(0,a.Z)(e,2),l=c[0],u=c[1],s=eT(w,u);return[l,u,s,n]},function(e){var t=(0,a.Z)(e,3)[2];D&&(0,s.jL)(t,{mark:y})},function(e){var t=(0,a.Z)(e,3),r=t[1],o=t[2];if(r){var i=(0,s.hq)(r,o,{mark:y,prepend:"queue",attachTo:m,priority:-999});i[b]=h,i.setAttribute(g,n)}})};o={},(0,i.Z)(o,eI,function(e,t,n){var r=(0,a.Z)(e,6),o=r[0],i=r[1],c=r[2],l=r[3],u=r[4],s=r[5],f=(n||{}).plain;if(u)return null;var d=o,p={"data-rc-order":"prependQueue","data-rc-priority":"".concat(s)};return d=L(o,i,c,p,f),l&&Object.keys(l).forEach(function(e){if(!t[e]){t[e]=!0;var n=eM(l[e]);d+=L(n,i,"_effect-".concat(e),p,f)}}),[s,c,d]}),(0,i.Z)(o,$,function(e,t,n){var r=(0,a.Z)(e,5),o=r[2],i=r[3],c=r[4],l=(n||{}).plain;if(!i)return null;var u=o._tokenKey,s=L(i,c,u,{"data-rc-order":"prependQueue","data-rc-priority":"".concat(-999)},l);return[-999,u,s]}),(0,i.Z)(o,eR,function(e,t,n){var r=(0,a.Z)(e,4),o=r[1],i=r[2],c=r[3],l=(n||{}).plain;if(!o)return null;var u=L(o,c,i,{"data-rc-order":"prependQueue","data-rc-priority":"".concat(-999)},l);return[-999,i,u]});var eD=function(){function e(t,n){(0,p.Z)(this,e),(0,i.Z)(this,"name",void 0),(0,i.Z)(this,"style",void 0),(0,i.Z)(this,"_keyframe",!0),this.name=t,this.style=n}return(0,h.Z)(e,[{key:"getName",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e?"".concat(e,"-").concat(this.name):this.name}}]),e}();function eB(e){return e.notSplit=!0,e}eB(["borderTop","borderBottom"]),eB(["borderTop"]),eB(["borderBottom"]),eB(["borderLeft","borderRight"]),eB(["borderLeft"]),eB(["borderRight"])},60688:function(e,t,n){n.d(t,{Z:function(){return P}});var r=n(14749),o=n(80406),i=n(50833),a=n(6787),c=n(64090),l=n(16480),u=n.n(l),s=n(12215),f=n(67689),d=n(5239),p=n(6976),h=n(24050),m=n(74687),v=n(53850);function g(e){return"object"===(0,p.Z)(e)&&"string"==typeof e.name&&"string"==typeof e.theme&&("object"===(0,p.Z)(e.icon)||"function"==typeof e.icon)}function y(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.keys(e).reduce(function(t,n){var r=e[n];return"class"===n?(t.className=r,delete t.class):(delete t[n],t[n.replace(/-(.)/g,function(e,t){return t.toUpperCase()})]=r),t},{})}function b(e){return(0,s.R_)(e)[0]}function x(e){return e?Array.isArray(e)?e:[e]:[]}var w=function(e){var t=(0,c.useContext)(f.Z),n=t.csp,r=t.prefixCls,o="\n.anticon {\n display: inline-block;\n color: inherit;\n font-style: normal;\n line-height: 0;\n text-align: center;\n text-transform: none;\n vertical-align: -0.125em;\n text-rendering: optimizeLegibility;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.anticon > * {\n line-height: 1;\n}\n\n.anticon svg {\n display: inline-block;\n}\n\n.anticon::before {\n display: none;\n}\n\n.anticon .anticon-icon {\n display: block;\n}\n\n.anticon[tabindex] {\n cursor: pointer;\n}\n\n.anticon-spin::before,\n.anticon-spin {\n display: inline-block;\n -webkit-animation: loadingCircle 1s infinite linear;\n animation: loadingCircle 1s infinite linear;\n}\n\n@-webkit-keyframes loadingCircle {\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes loadingCircle {\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n";r&&(o=o.replace(/anticon/g,r)),(0,c.useEffect)(function(){var t=e.current,r=(0,m.A)(t);(0,h.hq)(o,"@ant-design-icons",{prepend:!0,csp:n,attachTo:r})},[])},E=["icon","className","onClick","style","primaryColor","secondaryColor"],O={primaryColor:"#333",secondaryColor:"#E6E6E6",calculated:!1},S=function(e){var t,n,r=e.icon,o=e.className,i=e.onClick,l=e.style,u=e.primaryColor,s=e.secondaryColor,f=(0,a.Z)(e,E),p=c.useRef(),h=O;if(u&&(h={primaryColor:u,secondaryColor:s||b(u)}),w(p),t=g(r),n="icon should be icon definiton, but got ".concat(r),(0,v.ZP)(t,"[@ant-design/icons] ".concat(n)),!g(r))return null;var m=r;return m&&"function"==typeof m.icon&&(m=(0,d.Z)((0,d.Z)({},m),{},{icon:m.icon(h.primaryColor,h.secondaryColor)})),function e(t,n,r){return r?c.createElement(t.tag,(0,d.Z)((0,d.Z)({key:n},y(t.attrs)),r),(t.children||[]).map(function(r,o){return e(r,"".concat(n,"-").concat(t.tag,"-").concat(o))})):c.createElement(t.tag,(0,d.Z)({key:n},y(t.attrs)),(t.children||[]).map(function(r,o){return e(r,"".concat(n,"-").concat(t.tag,"-").concat(o))}))}(m.icon,"svg-".concat(m.name),(0,d.Z)((0,d.Z)({className:o,onClick:i,style:l,"data-icon":m.name,width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true"},f),{},{ref:p}))};function C(e){var t=x(e),n=(0,o.Z)(t,2),r=n[0],i=n[1];return S.setTwoToneColors({primaryColor:r,secondaryColor:i})}S.displayName="IconReact",S.getTwoToneColors=function(){return(0,d.Z)({},O)},S.setTwoToneColors=function(e){var t=e.primaryColor,n=e.secondaryColor;O.primaryColor=t,O.secondaryColor=n||b(t),O.calculated=!!n};var k=["className","icon","spin","rotate","tabIndex","onClick","twoToneColor"];C(s.iN.primary);var j=c.forwardRef(function(e,t){var n,l=e.className,s=e.icon,d=e.spin,p=e.rotate,h=e.tabIndex,m=e.onClick,v=e.twoToneColor,g=(0,a.Z)(e,k),y=c.useContext(f.Z),b=y.prefixCls,w=void 0===b?"anticon":b,E=y.rootClassName,O=u()(E,w,(n={},(0,i.Z)(n,"".concat(w,"-").concat(s.name),!!s.name),(0,i.Z)(n,"".concat(w,"-spin"),!!d||"loading"===s.name),n),l),C=h;void 0===C&&m&&(C=-1);var j=x(v),P=(0,o.Z)(j,2),M=P[0],A=P[1];return c.createElement("span",(0,r.Z)({role:"img","aria-label":s.name},g,{ref:t,tabIndex:C,onClick:m,className:O}),c.createElement(S,{icon:s,primaryColor:M,secondaryColor:A,style:p?{msTransform:"rotate(".concat(p,"deg)"),transform:"rotate(".concat(p,"deg)")}:void 0}))});j.displayName="AntdIcon",j.getTwoToneColor=function(){var e=S.getTwoToneColors();return e.calculated?[e.primaryColor,e.secondaryColor]:e.primaryColor},j.setTwoToneColor=C;var P=j},67689:function(e,t,n){var r=(0,n(64090).createContext)({});t.Z=r},99537:function(e,t,n){n.d(t,{Z:function(){return c}});var r=n(14749),o=n(64090),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z"}}]},name:"check-circle",theme:"filled"},a=n(60688),c=o.forwardRef(function(e,t){return o.createElement(a.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},77136:function(e,t,n){n.d(t,{Z:function(){return c}});var r=n(14749),o=n(64090),i={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm127.98 274.82h-.04l-.08.06L512 466.75 384.14 338.88c-.04-.05-.06-.06-.08-.06a.12.12 0 00-.07 0c-.03 0-.05.01-.09.05l-45.02 45.02a.2.2 0 00-.05.09.12.12 0 000 .07v.02a.27.27 0 00.06.06L466.75 512 338.88 639.86c-.05.04-.06.06-.06.08a.12.12 0 000 .07c0 .03.01.05.05.09l45.02 45.02a.2.2 0 00.09.05.12.12 0 00.07 0c.02 0 .04-.01.08-.05L512 557.25l127.86 127.87c.04.04.06.05.08.05a.12.12 0 00.07 0c.03 0 .05-.01.09-.05l45.02-45.02a.2.2 0 00.05-.09.12.12 0 000-.07v-.02a.27.27 0 00-.05-.06L557.25 512l127.87-127.86c.04-.04.05-.06.05-.08a.12.12 0 000-.07c0-.03-.01-.05-.05-.09l-45.02-45.02a.2.2 0 00-.09-.05.12.12 0 00-.07 0z"}}]},name:"close-circle",theme:"filled"},a=n(60688),c=o.forwardRef(function(e,t){return o.createElement(a.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},81303:function(e,t,n){n.d(t,{Z:function(){return c}});var r=n(14749),o=n(64090),i={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M799.86 166.31c.02 0 .04.02.08.06l57.69 57.7c.04.03.05.05.06.08a.12.12 0 010 .06c0 .03-.02.05-.06.09L569.93 512l287.7 287.7c.04.04.05.06.06.09a.12.12 0 010 .07c0 .02-.02.04-.06.08l-57.7 57.69c-.03.04-.05.05-.07.06a.12.12 0 01-.07 0c-.03 0-.05-.02-.09-.06L512 569.93l-287.7 287.7c-.04.04-.06.05-.09.06a.12.12 0 01-.07 0c-.02 0-.04-.02-.08-.06l-57.69-57.7c-.04-.03-.05-.05-.06-.07a.12.12 0 010-.07c0-.03.02-.05.06-.09L454.07 512l-287.7-287.7c-.04-.04-.05-.06-.06-.09a.12.12 0 010-.07c0-.02.02-.04.06-.08l57.7-57.69c.03-.04.05-.05.07-.06a.12.12 0 01.07 0c.03 0 .05.02.09.06L512 454.07l287.7-287.7c.04-.04.06-.05.09-.06a.12.12 0 01.07 0z"}}]},name:"close",theme:"outlined"},a=n(60688),c=o.forwardRef(function(e,t){return o.createElement(a.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},20383:function(e,t,n){n.d(t,{Z:function(){return c}});var r=n(14749),o=n(64090),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"}}]},name:"down",theme:"outlined"},a=n(60688),c=o.forwardRef(function(e,t){return o.createElement(a.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},20653:function(e,t,n){n.d(t,{Z:function(){return c}});var r=n(14749),o=n(64090),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"exclamation-circle",theme:"filled"},a=n(60688),c=o.forwardRef(function(e,t){return o.createElement(a.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},40388:function(e,t,n){n.d(t,{Z:function(){return c}});var r=n(14749),o=n(64090),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"info-circle",theme:"filled"},a=n(60688),c=o.forwardRef(function(e,t){return o.createElement(a.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},66155:function(e,t,n){n.d(t,{Z:function(){return c}});var r=n(14749),o=n(64090),i={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z"}}]},name:"loading",theme:"outlined"},a=n(60688),c=o.forwardRef(function(e,t){return o.createElement(a.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},96871:function(e,t,n){n.d(t,{Z:function(){return c}});var r=n(14749),o=n(64090),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"}}]},name:"search",theme:"outlined"},a=n(60688),c=o.forwardRef(function(e,t){return o.createElement(a.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},41785:function(e,t,n){n.d(t,{T6:function(){return d},VD:function(){return p},WE:function(){return u},Yt:function(){return h},lC:function(){return i},py:function(){return l},rW:function(){return o},s:function(){return f},ve:function(){return c},vq:function(){return s}});var r=n(27974);function o(e,t,n){return{r:255*(0,r.sh)(e,255),g:255*(0,r.sh)(t,255),b:255*(0,r.sh)(n,255)}}function i(e,t,n){var o=Math.max(e=(0,r.sh)(e,255),t=(0,r.sh)(t,255),n=(0,r.sh)(n,255)),i=Math.min(e,t,n),a=0,c=0,l=(o+i)/2;if(o===i)c=0,a=0;else{var u=o-i;switch(c=l>.5?u/(2-o-i):u/(o+i),o){case e:a=(t-n)/u+(t1&&(n-=1),n<1/6)?e+6*n*(t-e):n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function c(e,t,n){if(e=(0,r.sh)(e,360),t=(0,r.sh)(t,100),n=(0,r.sh)(n,100),0===t)i=n,c=n,o=n;else{var o,i,c,l=n<.5?n*(1+t):n+t-n*t,u=2*n-l;o=a(u,l,e+1/3),i=a(u,l,e),c=a(u,l,e-1/3)}return{r:255*o,g:255*i,b:255*c}}function l(e,t,n){var o=Math.max(e=(0,r.sh)(e,255),t=(0,r.sh)(t,255),n=(0,r.sh)(n,255)),i=Math.min(e,t,n),a=0,c=o-i;if(o===i)a=0;else{switch(o){case e:a=(t-n)/c+(t>16,g:(65280&e)>>8,b:255&e}}},6564:function(e,t,n){n.d(t,{R:function(){return r}});var r={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"}},76991:function(e,t,n){n.d(t,{uA:function(){return a}});var r=n(41785),o=n(6564),i=n(27974);function a(e){var t={r:0,g:0,b:0},n=1,a=null,c=null,l=null,u=!1,d=!1;return"string"==typeof e&&(e=function(e){if(0===(e=e.trim().toLowerCase()).length)return!1;var t=!1;if(o.R[e])e=o.R[e],t=!0;else if("transparent"===e)return{r:0,g:0,b:0,a:0,format:"name"};var n=s.rgb.exec(e);return n?{r:n[1],g:n[2],b:n[3]}:(n=s.rgba.exec(e))?{r:n[1],g:n[2],b:n[3],a:n[4]}:(n=s.hsl.exec(e))?{h:n[1],s:n[2],l:n[3]}:(n=s.hsla.exec(e))?{h:n[1],s:n[2],l:n[3],a:n[4]}:(n=s.hsv.exec(e))?{h:n[1],s:n[2],v:n[3]}:(n=s.hsva.exec(e))?{h:n[1],s:n[2],v:n[3],a:n[4]}:(n=s.hex8.exec(e))?{r:(0,r.VD)(n[1]),g:(0,r.VD)(n[2]),b:(0,r.VD)(n[3]),a:(0,r.T6)(n[4]),format:t?"name":"hex8"}:(n=s.hex6.exec(e))?{r:(0,r.VD)(n[1]),g:(0,r.VD)(n[2]),b:(0,r.VD)(n[3]),format:t?"name":"hex"}:(n=s.hex4.exec(e))?{r:(0,r.VD)(n[1]+n[1]),g:(0,r.VD)(n[2]+n[2]),b:(0,r.VD)(n[3]+n[3]),a:(0,r.T6)(n[4]+n[4]),format:t?"name":"hex8"}:!!(n=s.hex3.exec(e))&&{r:(0,r.VD)(n[1]+n[1]),g:(0,r.VD)(n[2]+n[2]),b:(0,r.VD)(n[3]+n[3]),format:t?"name":"hex"}}(e)),"object"==typeof e&&(f(e.r)&&f(e.g)&&f(e.b)?(t=(0,r.rW)(e.r,e.g,e.b),u=!0,d="%"===String(e.r).substr(-1)?"prgb":"rgb"):f(e.h)&&f(e.s)&&f(e.v)?(a=(0,i.JX)(e.s),c=(0,i.JX)(e.v),t=(0,r.WE)(e.h,a,c),u=!0,d="hsv"):f(e.h)&&f(e.s)&&f(e.l)&&(a=(0,i.JX)(e.s),l=(0,i.JX)(e.l),t=(0,r.ve)(e.h,a,l),u=!0,d="hsl"),Object.prototype.hasOwnProperty.call(e,"a")&&(n=e.a)),n=(0,i.Yq)(n),{ok:u,format:e.format||d,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:n}}var c="(?:".concat("[-\\+]?\\d*\\.\\d+%?",")|(?:").concat("[-\\+]?\\d+%?",")"),l="[\\s|\\(]+(".concat(c,")[,|\\s]+(").concat(c,")[,|\\s]+(").concat(c,")\\s*\\)?"),u="[\\s|\\(]+(".concat(c,")[,|\\s]+(").concat(c,")[,|\\s]+(").concat(c,")[,|\\s]+(").concat(c,")\\s*\\)?"),s={CSS_UNIT:new RegExp(c),rgb:RegExp("rgb"+l),rgba:RegExp("rgba"+u),hsl:RegExp("hsl"+l),hsla:RegExp("hsla"+u),hsv:RegExp("hsv"+l),hsva:RegExp("hsva"+u),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function f(e){return!!s.CSS_UNIT.exec(String(e))}},6336:function(e,t,n){n.d(t,{C:function(){return c}});var r=n(41785),o=n(6564),i=n(76991),a=n(27974),c=function(){function e(t,n){if(void 0===t&&(t=""),void 0===n&&(n={}),t instanceof e)return t;"number"==typeof t&&(t=(0,r.Yt)(t)),this.originalInput=t;var o,a=(0,i.uA)(t);this.originalInput=t,this.r=a.r,this.g=a.g,this.b=a.b,this.a=a.a,this.roundA=Math.round(100*this.a)/100,this.format=null!==(o=n.format)&&void 0!==o?o:a.format,this.gradientType=n.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=a.ok}return e.prototype.isDark=function(){return 128>this.getBrightness()},e.prototype.isLight=function(){return!this.isDark()},e.prototype.getBrightness=function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},e.prototype.getLuminance=function(){var e=this.toRgb(),t=e.r/255,n=e.g/255,r=e.b/255;return .2126*(t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.7152*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))+.0722*(r<=.03928?r/12.92:Math.pow((r+.055)/1.055,2.4))},e.prototype.getAlpha=function(){return this.a},e.prototype.setAlpha=function(e){return this.a=(0,a.Yq)(e),this.roundA=Math.round(100*this.a)/100,this},e.prototype.isMonochrome=function(){return 0===this.toHsl().s},e.prototype.toHsv=function(){var e=(0,r.py)(this.r,this.g,this.b);return{h:360*e.h,s:e.s,v:e.v,a:this.a}},e.prototype.toHsvString=function(){var e=(0,r.py)(this.r,this.g,this.b),t=Math.round(360*e.h),n=Math.round(100*e.s),o=Math.round(100*e.v);return 1===this.a?"hsv(".concat(t,", ").concat(n,"%, ").concat(o,"%)"):"hsva(".concat(t,", ").concat(n,"%, ").concat(o,"%, ").concat(this.roundA,")")},e.prototype.toHsl=function(){var e=(0,r.lC)(this.r,this.g,this.b);return{h:360*e.h,s:e.s,l:e.l,a:this.a}},e.prototype.toHslString=function(){var e=(0,r.lC)(this.r,this.g,this.b),t=Math.round(360*e.h),n=Math.round(100*e.s),o=Math.round(100*e.l);return 1===this.a?"hsl(".concat(t,", ").concat(n,"%, ").concat(o,"%)"):"hsla(".concat(t,", ").concat(n,"%, ").concat(o,"%, ").concat(this.roundA,")")},e.prototype.toHex=function(e){return void 0===e&&(e=!1),(0,r.vq)(this.r,this.g,this.b,e)},e.prototype.toHexString=function(e){return void 0===e&&(e=!1),"#"+this.toHex(e)},e.prototype.toHex8=function(e){return void 0===e&&(e=!1),(0,r.s)(this.r,this.g,this.b,this.a,e)},e.prototype.toHex8String=function(e){return void 0===e&&(e=!1),"#"+this.toHex8(e)},e.prototype.toHexShortString=function(e){return void 0===e&&(e=!1),1===this.a?this.toHexString(e):this.toHex8String(e)},e.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},e.prototype.toRgbString=function(){var e=Math.round(this.r),t=Math.round(this.g),n=Math.round(this.b);return 1===this.a?"rgb(".concat(e,", ").concat(t,", ").concat(n,")"):"rgba(".concat(e,", ").concat(t,", ").concat(n,", ").concat(this.roundA,")")},e.prototype.toPercentageRgb=function(){var e=function(e){return"".concat(Math.round(100*(0,a.sh)(e,255)),"%")};return{r:e(this.r),g:e(this.g),b:e(this.b),a:this.a}},e.prototype.toPercentageRgbString=function(){var e=function(e){return Math.round(100*(0,a.sh)(e,255))};return 1===this.a?"rgb(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%)"):"rgba(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%, ").concat(this.roundA,")")},e.prototype.toName=function(){if(0===this.a)return"transparent";if(this.a<1)return!1;for(var e="#"+(0,r.vq)(this.r,this.g,this.b,!1),t=0,n=Object.entries(o.R);t=0;return!t&&r&&(e.startsWith("hex")||"name"===e)?"name"===e&&0===this.a?this.toName():this.toRgbString():("rgb"===e&&(n=this.toRgbString()),"prgb"===e&&(n=this.toPercentageRgbString()),("hex"===e||"hex6"===e)&&(n=this.toHexString()),"hex3"===e&&(n=this.toHexString(!0)),"hex4"===e&&(n=this.toHex8String(!0)),"hex8"===e&&(n=this.toHex8String()),"name"===e&&(n=this.toName()),"hsl"===e&&(n=this.toHslString()),"hsv"===e&&(n=this.toHsvString()),n||this.toHexString())},e.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},e.prototype.clone=function(){return new e(this.toString())},e.prototype.lighten=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.l+=t/100,n.l=(0,a.V2)(n.l),new e(n)},e.prototype.brighten=function(t){void 0===t&&(t=10);var n=this.toRgb();return n.r=Math.max(0,Math.min(255,n.r-Math.round(-(t/100*255)))),n.g=Math.max(0,Math.min(255,n.g-Math.round(-(t/100*255)))),n.b=Math.max(0,Math.min(255,n.b-Math.round(-(t/100*255)))),new e(n)},e.prototype.darken=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.l-=t/100,n.l=(0,a.V2)(n.l),new e(n)},e.prototype.tint=function(e){return void 0===e&&(e=10),this.mix("white",e)},e.prototype.shade=function(e){return void 0===e&&(e=10),this.mix("black",e)},e.prototype.desaturate=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.s-=t/100,n.s=(0,a.V2)(n.s),new e(n)},e.prototype.saturate=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.s+=t/100,n.s=(0,a.V2)(n.s),new e(n)},e.prototype.greyscale=function(){return this.desaturate(100)},e.prototype.spin=function(t){var n=this.toHsl(),r=(n.h+t)%360;return n.h=r<0?360+r:r,new e(n)},e.prototype.mix=function(t,n){void 0===n&&(n=50);var r=this.toRgb(),o=new e(t).toRgb(),i=n/100;return new e({r:(o.r-r.r)*i+r.r,g:(o.g-r.g)*i+r.g,b:(o.b-r.b)*i+r.b,a:(o.a-r.a)*i+r.a})},e.prototype.analogous=function(t,n){void 0===t&&(t=6),void 0===n&&(n=30);var r=this.toHsl(),o=360/n,i=[this];for(r.h=(r.h-(o*t>>1)+720)%360;--t;)r.h=(r.h+o)%360,i.push(new e(r));return i},e.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new e(t)},e.prototype.monochromatic=function(t){void 0===t&&(t=6);for(var n=this.toHsv(),r=n.h,o=n.s,i=n.v,a=[],c=1/t;t--;)a.push(new e({h:r,s:o,v:i})),i=(i+c)%1;return a},e.prototype.splitcomplement=function(){var t=this.toHsl(),n=t.h;return[this,new e({h:(n+72)%360,s:t.s,l:t.l}),new e({h:(n+216)%360,s:t.s,l:t.l})]},e.prototype.onBackground=function(t){var n=this.toRgb(),r=new e(t).toRgb(),o=n.a+r.a*(1-n.a);return new e({r:(n.r*n.a+r.r*r.a*(1-n.a))/o,g:(n.g*n.a+r.g*r.a*(1-n.a))/o,b:(n.b*n.a+r.b*r.a*(1-n.a))/o,a:o})},e.prototype.triad=function(){return this.polyad(3)},e.prototype.tetrad=function(){return this.polyad(4)},e.prototype.polyad=function(t){for(var n=this.toHsl(),r=n.h,o=[this],i=360/t,a=1;aMath.abs(e-t))?1:e=360===t?(e<0?e%t+t:e%t)/parseFloat(String(t)):e%t/parseFloat(String(t))}function o(e){return Math.min(1,Math.max(0,e))}function i(e){return(isNaN(e=parseFloat(e))||e<0||e>1)&&(e=1),e}function a(e){return e<=1?"".concat(100*Number(e),"%"):e}function c(e){return 1===e.length?"0"+e:String(e)}n.d(t,{FZ:function(){return c},JX:function(){return a},V2:function(){return o},Yq:function(){return i},sh:function(){return r}})},88804:function(e,t,n){n.d(t,{Z:function(){return b}});var r,o=n(80406),i=n(64090),a=n(89542),c=n(22127);n(53850);var l=n(74084),u=i.createContext(null),s=n(63787),f=n(24800),d=[],p=n(24050);function h(e){var t=e.match(/^(.*)px$/),n=Number(null==t?void 0:t[1]);return Number.isNaN(n)?function(e){if("undefined"==typeof document)return 0;if(void 0===r){var t=document.createElement("div");t.style.width="100%",t.style.height="200px";var n=document.createElement("div"),o=n.style;o.position="absolute",o.top="0",o.left="0",o.pointerEvents="none",o.visibility="hidden",o.width="200px",o.height="150px",o.overflow="hidden",n.appendChild(t),document.body.appendChild(n);var i=t.offsetWidth;n.style.overflow="scroll";var a=t.offsetWidth;i===a&&(a=n.clientWidth),document.body.removeChild(n),r=i-a}return r}():n}var m="rc-util-locker-".concat(Date.now()),v=0,g=!1,y=function(e){return!1!==e&&((0,c.Z)()&&e?"string"==typeof e?document.querySelector(e):"function"==typeof e?e():e:null)},b=i.forwardRef(function(e,t){var n,r,b,x,w=e.open,E=e.autoLock,O=e.getContainer,S=(e.debug,e.autoDestroy),C=void 0===S||S,k=e.children,j=i.useState(w),P=(0,o.Z)(j,2),M=P[0],A=P[1],T=M||w;i.useEffect(function(){(C||w)&&A(w)},[w,C]);var N=i.useState(function(){return y(O)}),I=(0,o.Z)(N,2),Z=I[0],R=I[1];i.useEffect(function(){var e=y(O);R(null!=e?e:null)});var _=function(e,t){var n=i.useState(function(){return(0,c.Z)()?document.createElement("div"):null}),r=(0,o.Z)(n,1)[0],a=i.useRef(!1),l=i.useContext(u),p=i.useState(d),h=(0,o.Z)(p,2),m=h[0],v=h[1],g=l||(a.current?void 0:function(e){v(function(t){return[e].concat((0,s.Z)(t))})});function y(){r.parentElement||document.body.appendChild(r),a.current=!0}function b(){var e;null===(e=r.parentElement)||void 0===e||e.removeChild(r),a.current=!1}return(0,f.Z)(function(){return e?l?l(y):y():b(),b},[e]),(0,f.Z)(function(){m.length&&(m.forEach(function(e){return e()}),v(d))},[m]),[r,g]}(T&&!Z,0),D=(0,o.Z)(_,2),B=D[0],L=D[1],z=null!=Z?Z:B;n=!!(E&&w&&(0,c.Z)()&&(z===B||z===document.body)),r=i.useState(function(){return v+=1,"".concat(m,"_").concat(v)}),b=(0,o.Z)(r,1)[0],(0,f.Z)(function(){if(n){var e=function(e){if("undefined"==typeof document||!e||!(e instanceof Element))return{width:0,height:0};var t=getComputedStyle(e,"::-webkit-scrollbar"),n=t.width,r=t.height;return{width:h(n),height:h(r)}}(document.body).width,t=document.body.scrollHeight>(window.innerHeight||document.documentElement.clientHeight)&&window.innerWidth>document.body.offsetWidth;(0,p.hq)("\nhtml body {\n overflow-y: hidden;\n ".concat(t?"width: calc(100% - ".concat(e,"px);"):"","\n}"),b)}else(0,p.jL)(b);return function(){(0,p.jL)(b)}},[n,b]);var F=null;k&&(0,l.Yr)(k)&&t&&(F=k.ref);var H=(0,l.x1)(F,t);if(!T||!(0,c.Z)()||void 0===Z)return null;var W=!1===z||("boolean"==typeof x&&(g=x),g),q=k;return t&&(q=i.cloneElement(k,{ref:H})),i.createElement(u.Provider,{value:L},W?q:(0,a.createPortal)(q,z))})},44101:function(e,t,n){n.d(t,{Z:function(){return H}});var r=n(5239),o=n(80406),i=n(6787),a=n(88804),c=n(16480),l=n.n(c),u=n(46505),s=n(97472),f=n(74687),d=n(54811),p=n(91010),h=n(24800),m=n(76158),v=n(64090),g=n(14749),y=n(49367),b=n(74084);function x(e){var t=e.prefixCls,n=e.align,r=e.arrow,o=e.arrowPos,i=r||{},a=i.className,c=i.content,u=o.x,s=o.y,f=v.useRef();if(!n||!n.points)return null;var d={position:"absolute"};if(!1!==n.autoArrow){var p=n.points[0],h=n.points[1],m=p[0],g=p[1],y=h[0],b=h[1];m!==y&&["t","b"].includes(m)?"t"===m?d.top=0:d.bottom=0:d.top=void 0===s?0:s,g!==b&&["l","r"].includes(g)?"l"===g?d.left=0:d.right=0:d.left=void 0===u?0:u}return v.createElement("div",{ref:f,className:l()("".concat(t,"-arrow"),a),style:d},c)}function w(e){var t=e.prefixCls,n=e.open,r=e.zIndex,o=e.mask,i=e.motion;return o?v.createElement(y.ZP,(0,g.Z)({},i,{motionAppear:!0,visible:n,removeOnLeave:!0}),function(e){var n=e.className;return v.createElement("div",{style:{zIndex:r},className:l()("".concat(t,"-mask"),n)})}):null}var E=v.memo(function(e){return e.children},function(e,t){return t.cache}),O=v.forwardRef(function(e,t){var n=e.popup,i=e.className,a=e.prefixCls,c=e.style,s=e.target,f=e.onVisibleChanged,d=e.open,p=e.keepDom,m=e.fresh,O=e.onClick,S=e.mask,C=e.arrow,k=e.arrowPos,j=e.align,P=e.motion,M=e.maskMotion,A=e.forceRender,T=e.getPopupContainer,N=e.autoDestroy,I=e.portal,Z=e.zIndex,R=e.onMouseEnter,_=e.onMouseLeave,D=e.onPointerEnter,B=e.ready,L=e.offsetX,z=e.offsetY,F=e.offsetR,H=e.offsetB,W=e.onAlign,q=e.onPrepare,V=e.stretch,U=e.targetWidth,X=e.targetHeight,G="function"==typeof n?n():n,K=d||p,$=(null==T?void 0:T.length)>0,Y=v.useState(!T||!$),Q=(0,o.Z)(Y,2),J=Q[0],ee=Q[1];if((0,h.Z)(function(){!J&&$&&s&&ee(!0)},[J,$,s]),!J)return null;var et="auto",en={left:"-1000vw",top:"-1000vh",right:et,bottom:et};if(B||!d){var er,eo=j.points,ei=j.dynamicInset||(null===(er=j._experimental)||void 0===er?void 0:er.dynamicInset),ea=ei&&"r"===eo[0][1],ec=ei&&"b"===eo[0][0];ea?(en.right=F,en.left=et):(en.left=L,en.right=et),ec?(en.bottom=H,en.top=et):(en.top=z,en.bottom=et)}var el={};return V&&(V.includes("height")&&X?el.height=X:V.includes("minHeight")&&X&&(el.minHeight=X),V.includes("width")&&U?el.width=U:V.includes("minWidth")&&U&&(el.minWidth=U)),d||(el.pointerEvents="none"),v.createElement(I,{open:A||K,getContainer:T&&function(){return T(s)},autoDestroy:N},v.createElement(w,{prefixCls:a,open:d,zIndex:Z,mask:S,motion:M}),v.createElement(u.Z,{onResize:W,disabled:!d},function(e){return v.createElement(y.ZP,(0,g.Z)({motionAppear:!0,motionEnter:!0,motionLeave:!0,removeOnLeave:!1,forceRender:A,leavedClassName:"".concat(a,"-hidden")},P,{onAppearPrepare:q,onEnterPrepare:q,visible:d,onVisibleChanged:function(e){var t;null==P||null===(t=P.onVisibleChanged)||void 0===t||t.call(P,e),f(e)}}),function(n,o){var u=n.className,s=n.style,f=l()(a,u,i);return v.createElement("div",{ref:(0,b.sQ)(e,t,o),className:f,style:(0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({"--arrow-x":"".concat(k.x||0,"px"),"--arrow-y":"".concat(k.y||0,"px")},en),el),s),{},{boxSizing:"border-box",zIndex:Z},c),onMouseEnter:R,onMouseLeave:_,onPointerEnter:D,onClick:O},C&&v.createElement(x,{prefixCls:a,arrow:C,arrowPos:k,align:j}),v.createElement(E,{cache:!d&&!m},G))})}))}),S=v.forwardRef(function(e,t){var n=e.children,r=e.getTriggerDOMNode,o=(0,b.Yr)(n),i=v.useCallback(function(e){(0,b.mH)(t,r?r(e):e)},[r]),a=(0,b.x1)(i,n.ref);return o?v.cloneElement(n,{ref:a}):n}),C=v.createContext(null);function k(e){return e?Array.isArray(e)?e:[e]:[]}var j=n(73193);function P(e,t,n,r){return t||(n?{motionName:"".concat(e,"-").concat(n)}:r?{motionName:r}:null)}function M(e){return e.ownerDocument.defaultView}function A(e){for(var t=[],n=null==e?void 0:e.parentElement,r=["hidden","scroll","clip","auto"];n;){var o=M(n).getComputedStyle(n);[o.overflowX,o.overflowY,o.overflow].some(function(e){return r.includes(e)})&&t.push(n),n=n.parentElement}return t}function T(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return Number.isNaN(e)?t:e}function N(e){return T(parseFloat(e),0)}function I(e,t){var n=(0,r.Z)({},e);return(t||[]).forEach(function(e){if(!(e instanceof HTMLBodyElement||e instanceof HTMLHtmlElement)){var t=M(e).getComputedStyle(e),r=t.overflow,o=t.overflowClipMargin,i=t.borderTopWidth,a=t.borderBottomWidth,c=t.borderLeftWidth,l=t.borderRightWidth,u=e.getBoundingClientRect(),s=e.offsetHeight,f=e.clientHeight,d=e.offsetWidth,p=e.clientWidth,h=N(i),m=N(a),v=N(c),g=N(l),y=T(Math.round(u.width/d*1e3)/1e3),b=T(Math.round(u.height/s*1e3)/1e3),x=h*b,w=v*y,E=0,O=0;if("clip"===r){var S=N(o);E=S*y,O=S*b}var C=u.x+w-E,k=u.y+x-O,j=C+u.width+2*E-w-g*y-(d-p-v-g)*y,P=k+u.height+2*O-x-m*b-(s-f-h-m)*b;n.left=Math.max(n.left,C),n.top=Math.max(n.top,k),n.right=Math.min(n.right,j),n.bottom=Math.min(n.bottom,P)}}),n}function Z(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n="".concat(t),r=n.match(/^(.*)\%$/);return r?parseFloat(r[1])/100*e:parseFloat(n)}function R(e,t){var n=(0,o.Z)(t||[],2),r=n[0],i=n[1];return[Z(e.width,r),Z(e.height,i)]}function _(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return[e[0],e[1]]}function D(e,t){var n,r=t[0],o=t[1];return n="t"===r?e.y:"b"===r?e.y+e.height:e.y+e.height/2,{x:"l"===o?e.x:"r"===o?e.x+e.width:e.x+e.width/2,y:n}}function B(e,t){var n={t:"b",b:"t",l:"r",r:"l"};return e.map(function(e,r){return r===t?n[e]||"c":e}).join("")}var L=n(63787);n(53850);var z=n(19223),F=["prefixCls","children","action","showAction","hideAction","popupVisible","defaultPopupVisible","onPopupVisibleChange","afterPopupVisibleChange","mouseEnterDelay","mouseLeaveDelay","focusDelay","blurDelay","mask","maskClosable","getPopupContainer","forceRender","autoDestroy","destroyPopupOnHide","popup","popupClassName","popupStyle","popupPlacement","builtinPlacements","popupAlign","zIndex","stretch","getPopupClassNameFromAlign","fresh","alignPoint","onPopupClick","onPopupAlign","arrow","popupMotion","maskMotion","popupTransitionName","popupAnimation","maskTransitionName","maskAnimation","className","getTriggerDOMNode"],H=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a.Z;return v.forwardRef(function(t,n){var a,c,g,y,b,x,w,E,N,Z,H,W,q,V,U,X,G,K=t.prefixCls,$=void 0===K?"rc-trigger-popup":K,Y=t.children,Q=t.action,J=t.showAction,ee=t.hideAction,et=t.popupVisible,en=t.defaultPopupVisible,er=t.onPopupVisibleChange,eo=t.afterPopupVisibleChange,ei=t.mouseEnterDelay,ea=t.mouseLeaveDelay,ec=void 0===ea?.1:ea,el=t.focusDelay,eu=t.blurDelay,es=t.mask,ef=t.maskClosable,ed=t.getPopupContainer,ep=t.forceRender,eh=t.autoDestroy,em=t.destroyPopupOnHide,ev=t.popup,eg=t.popupClassName,ey=t.popupStyle,eb=t.popupPlacement,ex=t.builtinPlacements,ew=void 0===ex?{}:ex,eE=t.popupAlign,eO=t.zIndex,eS=t.stretch,eC=t.getPopupClassNameFromAlign,ek=t.fresh,ej=t.alignPoint,eP=t.onPopupClick,eM=t.onPopupAlign,eA=t.arrow,eT=t.popupMotion,eN=t.maskMotion,eI=t.popupTransitionName,eZ=t.popupAnimation,eR=t.maskTransitionName,e_=t.maskAnimation,eD=t.className,eB=t.getTriggerDOMNode,eL=(0,i.Z)(t,F),ez=v.useState(!1),eF=(0,o.Z)(ez,2),eH=eF[0],eW=eF[1];(0,h.Z)(function(){eW((0,m.Z)())},[]);var eq=v.useRef({}),eV=v.useContext(C),eU=v.useMemo(function(){return{registerSubPopup:function(e,t){eq.current[e]=t,null==eV||eV.registerSubPopup(e,t)}}},[eV]),eX=(0,p.Z)(),eG=v.useState(null),eK=(0,o.Z)(eG,2),e$=eK[0],eY=eK[1],eQ=(0,d.Z)(function(e){(0,s.S)(e)&&e$!==e&&eY(e),null==eV||eV.registerSubPopup(eX,e)}),eJ=v.useState(null),e0=(0,o.Z)(eJ,2),e1=e0[0],e2=e0[1],e4=v.useRef(null),e5=(0,d.Z)(function(e){(0,s.S)(e)&&e1!==e&&(e2(e),e4.current=e)}),e6=v.Children.only(Y),e3=(null==e6?void 0:e6.props)||{},e8={},e9=(0,d.Z)(function(e){var t,n;return(null==e1?void 0:e1.contains(e))||(null===(t=(0,f.A)(e1))||void 0===t?void 0:t.host)===e||e===e1||(null==e$?void 0:e$.contains(e))||(null===(n=(0,f.A)(e$))||void 0===n?void 0:n.host)===e||e===e$||Object.values(eq.current).some(function(t){return(null==t?void 0:t.contains(e))||e===t})}),e7=P($,eT,eZ,eI),te=P($,eN,e_,eR),tt=v.useState(en||!1),tn=(0,o.Z)(tt,2),tr=tn[0],to=tn[1],ti=null!=et?et:tr,ta=(0,d.Z)(function(e){void 0===et&&to(e)});(0,h.Z)(function(){to(et||!1)},[et]);var tc=v.useRef(ti);tc.current=ti;var tl=v.useRef([]);tl.current=[];var tu=(0,d.Z)(function(e){var t;ta(e),(null!==(t=tl.current[tl.current.length-1])&&void 0!==t?t:ti)!==e&&(tl.current.push(e),null==er||er(e))}),ts=v.useRef(),tf=function(){clearTimeout(ts.current)},td=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;tf(),0===t?tu(e):ts.current=setTimeout(function(){tu(e)},1e3*t)};v.useEffect(function(){return tf},[]);var tp=v.useState(!1),th=(0,o.Z)(tp,2),tm=th[0],tv=th[1];(0,h.Z)(function(e){(!e||ti)&&tv(!0)},[ti]);var tg=v.useState(null),ty=(0,o.Z)(tg,2),tb=ty[0],tx=ty[1],tw=v.useState([0,0]),tE=(0,o.Z)(tw,2),tO=tE[0],tS=tE[1],tC=function(e){tS([e.clientX,e.clientY])},tk=(a=ej?tO:e1,c=v.useState({ready:!1,offsetX:0,offsetY:0,offsetR:0,offsetB:0,arrowX:0,arrowY:0,scaleX:1,scaleY:1,align:ew[eb]||{}}),y=(g=(0,o.Z)(c,2))[0],b=g[1],x=v.useRef(0),w=v.useMemo(function(){return e$?A(e$):[]},[e$]),E=v.useRef({}),ti||(E.current={}),N=(0,d.Z)(function(){if(e$&&a&&ti){var e,t,n,i,c,l,u,f=e$.ownerDocument,d=M(e$).getComputedStyle(e$),p=d.width,h=d.height,m=d.position,v=e$.style.left,g=e$.style.top,y=e$.style.right,x=e$.style.bottom,O=e$.style.overflow,S=(0,r.Z)((0,r.Z)({},ew[eb]),eE),C=f.createElement("div");if(null===(e=e$.parentElement)||void 0===e||e.appendChild(C),C.style.left="".concat(e$.offsetLeft,"px"),C.style.top="".concat(e$.offsetTop,"px"),C.style.position=m,C.style.height="".concat(e$.offsetHeight,"px"),C.style.width="".concat(e$.offsetWidth,"px"),e$.style.left="0",e$.style.top="0",e$.style.right="auto",e$.style.bottom="auto",e$.style.overflow="hidden",Array.isArray(a))n={x:a[0],y:a[1],width:0,height:0};else{var k=a.getBoundingClientRect();n={x:k.x,y:k.y,width:k.width,height:k.height}}var P=e$.getBoundingClientRect(),A=f.documentElement,N=A.clientWidth,Z=A.clientHeight,L=A.scrollWidth,z=A.scrollHeight,F=A.scrollTop,H=A.scrollLeft,W=P.height,q=P.width,V=n.height,U=n.width,X=S.htmlRegion,G="visible",K="visibleFirst";"scroll"!==X&&X!==K&&(X=G);var $=X===K,Y=I({left:-H,top:-F,right:L-H,bottom:z-F},w),Q=I({left:0,top:0,right:N,bottom:Z},w),J=X===G?Q:Y,ee=$?Q:J;e$.style.left="auto",e$.style.top="auto",e$.style.right="0",e$.style.bottom="0";var et=e$.getBoundingClientRect();e$.style.left=v,e$.style.top=g,e$.style.right=y,e$.style.bottom=x,e$.style.overflow=O,null===(t=e$.parentElement)||void 0===t||t.removeChild(C);var en=T(Math.round(q/parseFloat(p)*1e3)/1e3),er=T(Math.round(W/parseFloat(h)*1e3)/1e3);if(!(0===en||0===er||(0,s.S)(a)&&!(0,j.Z)(a))){var eo=S.offset,ei=S.targetOffset,ea=R(P,eo),ec=(0,o.Z)(ea,2),el=ec[0],eu=ec[1],es=R(n,ei),ef=(0,o.Z)(es,2),ed=ef[0],ep=ef[1];n.x-=ed,n.y-=ep;var eh=S.points||[],em=(0,o.Z)(eh,2),ev=em[0],eg=_(em[1]),ey=_(ev),ex=D(n,eg),eO=D(P,ey),eS=(0,r.Z)({},S),eC=ex.x-eO.x+el,ek=ex.y-eO.y+eu,ej=tt(eC,ek),eP=tt(eC,ek,Q),eA=D(n,["t","l"]),eT=D(P,["t","l"]),eN=D(n,["b","r"]),eI=D(P,["b","r"]),eZ=S.overflow||{},eR=eZ.adjustX,e_=eZ.adjustY,eD=eZ.shiftX,eB=eZ.shiftY,eL=function(e){return"boolean"==typeof e?e:e>=0};tn();var ez=eL(e_),eF=ey[0]===eg[0];if(ez&&"t"===ey[0]&&(c>ee.bottom||E.current.bt)){var eH=ek;eF?eH-=W-V:eH=eA.y-eI.y-eu;var eW=tt(eC,eH),eq=tt(eC,eH,Q);eW>ej||eW===ej&&(!$||eq>=eP)?(E.current.bt=!0,ek=eH,eu=-eu,eS.points=[B(ey,0),B(eg,0)]):E.current.bt=!1}if(ez&&"b"===ey[0]&&(iej||eU===ej&&(!$||eX>=eP)?(E.current.tb=!0,ek=eV,eu=-eu,eS.points=[B(ey,0),B(eg,0)]):E.current.tb=!1}var eG=eL(eR),eK=ey[1]===eg[1];if(eG&&"l"===ey[1]&&(u>ee.right||E.current.rl)){var eY=eC;eK?eY-=q-U:eY=eA.x-eI.x-el;var eQ=tt(eY,ek),eJ=tt(eY,ek,Q);eQ>ej||eQ===ej&&(!$||eJ>=eP)?(E.current.rl=!0,eC=eY,el=-el,eS.points=[B(ey,1),B(eg,1)]):E.current.rl=!1}if(eG&&"r"===ey[1]&&(lej||e1===ej&&(!$||e2>=eP)?(E.current.lr=!0,eC=e0,el=-el,eS.points=[B(ey,1),B(eg,1)]):E.current.lr=!1}tn();var e4=!0===eD?0:eD;"number"==typeof e4&&(lQ.right&&(eC-=u-Q.right-el,n.x>Q.right-e4&&(eC+=n.x-Q.right+e4)));var e5=!0===eB?0:eB;"number"==typeof e5&&(iQ.bottom&&(ek-=c-Q.bottom-eu,n.y>Q.bottom-e5&&(ek+=n.y-Q.bottom+e5)));var e6=P.x+eC,e3=P.y+ek,e8=n.x,e9=n.y;null==eM||eM(e$,eS);var e7=et.right-P.x-(eC+P.width),te=et.bottom-P.y-(ek+P.height);b({ready:!0,offsetX:eC/en,offsetY:ek/er,offsetR:e7/en,offsetB:te/er,arrowX:((Math.max(e6,e8)+Math.min(e6+q,e8+U))/2-e6)/en,arrowY:((Math.max(e3,e9)+Math.min(e3+W,e9+V))/2-e3)/er,scaleX:en,scaleY:er,align:eS})}function tt(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:J,r=P.x+e,o=P.y+t,i=Math.max(r,n.left),a=Math.max(o,n.top);return Math.max(0,(Math.min(r+q,n.right)-i)*(Math.min(o+W,n.bottom)-a))}function tn(){c=(i=P.y+ek)+W,u=(l=P.x+eC)+q}}}),Z=function(){b(function(e){return(0,r.Z)((0,r.Z)({},e),{},{ready:!1})})},(0,h.Z)(Z,[eb]),(0,h.Z)(function(){ti||Z()},[ti]),[y.ready,y.offsetX,y.offsetY,y.offsetR,y.offsetB,y.arrowX,y.arrowY,y.scaleX,y.scaleY,y.align,function(){x.current+=1;var e=x.current;Promise.resolve().then(function(){x.current===e&&N()})}]),tj=(0,o.Z)(tk,11),tP=tj[0],tM=tj[1],tA=tj[2],tT=tj[3],tN=tj[4],tI=tj[5],tZ=tj[6],tR=tj[7],t_=tj[8],tD=tj[9],tB=tj[10],tL=(H=void 0===Q?"hover":Q,v.useMemo(function(){var e=k(null!=J?J:H),t=k(null!=ee?ee:H),n=new Set(e),r=new Set(t);return eH&&(n.has("hover")&&(n.delete("hover"),n.add("click")),r.has("hover")&&(r.delete("hover"),r.add("click"))),[n,r]},[eH,H,J,ee])),tz=(0,o.Z)(tL,2),tF=tz[0],tH=tz[1],tW=tF.has("click"),tq=tH.has("click")||tH.has("contextMenu"),tV=(0,d.Z)(function(){tm||tB()});W=function(){tc.current&&ej&&tq&&td(!1)},(0,h.Z)(function(){if(ti&&e1&&e$){var e=A(e1),t=A(e$),n=M(e$),r=new Set([n].concat((0,L.Z)(e),(0,L.Z)(t)));function o(){tV(),W()}return r.forEach(function(e){e.addEventListener("scroll",o,{passive:!0})}),n.addEventListener("resize",o,{passive:!0}),tV(),function(){r.forEach(function(e){e.removeEventListener("scroll",o),n.removeEventListener("resize",o)})}}},[ti,e1,e$]),(0,h.Z)(function(){tV()},[tO,eb]),(0,h.Z)(function(){ti&&!(null!=ew&&ew[eb])&&tV()},[JSON.stringify(eE)]);var tU=v.useMemo(function(){var e=function(e,t,n,r){for(var o=n.points,i=Object.keys(e),a=0;a0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2?arguments[2]:void 0;return n?e[0]===t[0]:e[0]===t[0]&&e[1]===t[1]}(null===(c=e[l])||void 0===c?void 0:c.points,o,r))return"".concat(t,"-placement-").concat(l)}return""}(ew,$,tD,ej);return l()(e,null==eC?void 0:eC(tD))},[tD,eC,ew,$,ej]);v.useImperativeHandle(n,function(){return{nativeElement:e4.current,forceAlign:tV}});var tX=v.useState(0),tG=(0,o.Z)(tX,2),tK=tG[0],t$=tG[1],tY=v.useState(0),tQ=(0,o.Z)(tY,2),tJ=tQ[0],t0=tQ[1],t1=function(){if(eS&&e1){var e=e1.getBoundingClientRect();t$(e.width),t0(e.height)}};function t2(e,t,n,r){e8[e]=function(o){var i;null==r||r(o),td(t,n);for(var a=arguments.length,c=Array(a>1?a-1:0),l=1;l1?n-1:0),o=1;o1?n-1:0),o=1;oiU(t,e()).base(t.base()),or.apply(t,arguments),t}},scaleOrdinal:function(){return ou},scalePoint:function(){return of},scalePow:function(){return ap},scaleQuantile:function(){return function e(){var t,n=[],r=[],o=[];function i(){var e=0,t=Math.max(1,r.length);for(o=Array(t-1);++e2&&void 0!==arguments[2]?arguments[2]:o4;if(!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,o=(r-1)*t,i=Math.floor(o),a=+n(e[i],i,e);return a+(+n(e[i+1],i+1,e)-a)*(o-i)}}(n,e/t);return a}function a(e){return null==e||isNaN(e=+e)?t:r[o6(o,e)]}return a.invertExtent=function(e){var t=r.indexOf(e);return t<0?[NaN,NaN]:[t>0?o[t-1]:n[0],t=o?[i[o-1],r]:[i[t-1],i[t]]},c.unknown=function(e){return arguments.length&&(t=e),c},c.thresholds=function(){return i.slice()},c.copy=function(){return e().domain([n,r]).range(a).unknown(t)},or.apply(i3(c),arguments)}},scaleRadial:function(){return function e(){var t,n=iG(),r=[0,1],o=!1;function i(e){var r,i=Math.sign(r=n(e))*Math.sqrt(Math.abs(r));return isNaN(i)?t:o?Math.round(i):i}return i.invert=function(e){return n.invert(am(e))},i.domain=function(e){return arguments.length?(n.domain(e),i):n.domain()},i.range=function(e){return arguments.length?(n.range((r=Array.from(e,iz)).map(am)),i):r.slice()},i.rangeRound=function(e){return i.range(e).round(!0)},i.round=function(e){return arguments.length?(o=!!e,i):o},i.clamp=function(e){return arguments.length?(n.clamp(e),i):n.clamp()},i.unknown=function(e){return arguments.length?(t=e,i):t},i.copy=function(){return e(n.domain(),r).round(o).clamp(n.clamp()).unknown(t)},or.apply(i,arguments),i3(i)}},scaleSequential:function(){return function e(){var t=i3(ll()(iH));return t.copy=function(){return lu(t,e())},oo.apply(t,arguments)}},scaleSequentialLog:function(){return function e(){var t=ai(ll()).domain([1,10]);return t.copy=function(){return lu(t,e()).base(t.base())},oo.apply(t,arguments)}},scaleSequentialPow:function(){return ls},scaleSequentialQuantile:function(){return function e(){var t=[],n=iH;function r(e){if(null!=e&&!isNaN(e=+e))return n((o6(t,e,1)-1)/(t.length-1))}return r.domain=function(e){if(!arguments.length)return t.slice();for(let n of(t=[],e))null==n||isNaN(n=+n)||t.push(n);return t.sort(oJ),r},r.interpolator=function(e){return arguments.length?(n=e,r):n},r.range=function(){return t.map((e,r)=>n(r/(t.length-1)))},r.quantiles=function(e){return Array.from({length:e+1},(n,r)=>(function(e,t,n){if(!(!(r=(e=Float64Array.from(function*(e,t){if(void 0===t)for(let t of e)null!=t&&(t=+t)>=t&&(yield t);else{let n=-1;for(let r of e)null!=(r=t(r,++n,e))&&(r=+r)>=r&&(yield r)}}(e,void 0))).length)||isNaN(t=+t))){if(t<=0||r<2)return ag(e);if(t>=1)return av(e);var r,o=(r-1)*t,i=Math.floor(o),a=av((function e(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1/0,i=arguments.length>4?arguments[4]:void 0;if(n=Math.floor(n),r=Math.floor(Math.max(0,r)),o=Math.floor(Math.min(t.length-1,o)),!(r<=n&&n<=o))return t;for(i=void 0===i?ay:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:oJ;if(e===oJ)return ay;if("function"!=typeof e)throw TypeError("compare is not a function");return(t,n)=>{let r=e(t,n);return r||0===r?r:(0===e(n,n))-(0===e(t,t))}}(i);o>r;){if(o-r>600){let a=o-r+1,c=n-r+1,l=Math.log(a),u=.5*Math.exp(2*l/3),s=.5*Math.sqrt(l*u*(a-u)/a)*(c-a/2<0?-1:1),f=Math.max(r,Math.floor(n-c*u/a+s)),d=Math.min(o,Math.floor(n+(a-c)*u/a+s));e(t,n,f,d,i)}let a=t[n],c=r,l=o;for(ab(t,r,n),i(t[o],a)>0&&ab(t,r,o);ci(t[c],a);)++c;for(;i(t[l],a)>0;)--l}0===i(t[r],a)?ab(t,r,l):ab(t,++l,o),l<=n&&(r=l+1),n<=l&&(o=l-1)}return t})(e,i).subarray(0,i+1));return a+(ag(e.subarray(i+1))-a)*(o-i)}})(t,r/e))},r.copy=function(){return e(n).domain(t)},oo.apply(r,arguments)}},scaleSequentialSqrt:function(){return lf},scaleSequentialSymlog:function(){return function e(){var t=al(ll());return t.copy=function(){return lu(t,e()).constant(t.constant())},oo.apply(t,arguments)}},scaleSqrt:function(){return ah},scaleSymlog:function(){return function e(){var t=al(iX());return t.copy=function(){return iU(t,e()).constant(t.constant())},or.apply(t,arguments)}},scaleThreshold:function(){return function e(){var t,n=[.5],r=[0,1],o=1;function i(e){return null!=e&&e<=e?r[o6(n,e,0,o)]:t}return i.domain=function(e){return arguments.length?(o=Math.min((n=Array.from(e)).length,r.length-1),i):n.slice()},i.range=function(e){return arguments.length?(r=Array.from(e),o=Math.min(n.length,r.length-1),i):r.slice()},i.invertExtent=function(e){var t=r.indexOf(e);return[n[t-1],n[t]]},i.unknown=function(e){return arguments.length?(t=e,i):t},i.copy=function(){return e().domain(n).range(r).unknown(t)},or.apply(i,arguments)}},scaleTime:function(){return la},scaleUtc:function(){return lc},tickFormat:function(){return i6}});var C=n(69703),k=n(54942),j=n(2898),P=n(99250),M=n(65492),A=n(64090),T=function(){for(var e,t,n=0,r="",o=arguments.length;n0?1:-1},q=function(e){return _()(e)&&e.indexOf("%")===e.length-1},V=function(e){return H()(e)&&!B()(e)},U=function(e){return V(e)||_()(e)},X=0,G=function(e){var t=++X;return"".concat(e||"").concat(t)},K=function(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!V(e)&&!_()(e))return r;if(q(e)){var i=e.indexOf("%");n=t*parseFloat(e.slice(0,i))/100}else n=+e;return B()(n)&&(n=r),o&&n>t&&(n=t),n},$=function(e){if(!e)return null;var t=Object.keys(e);return t&&t.length?e[t[0]]:null},Y=function(e){if(!Array.isArray(e))return!1;for(var t=e.length,n={},r=0;r2?n-2:0),o=2;o=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var ey={click:"onClick",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseover:"onMouseOver",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart"},eb=function(e){return"string"==typeof e?e:e?e.displayName||e.name||"Component":""},ex=null,ew=null,eE=function e(t){if(t===ex&&Array.isArray(ew))return ew;var n=[];return A.Children.forEach(t,function(t){en()(t)||((0,Z.isFragment)(t)?n=n.concat(e(t.props.children)):n.push(t))}),ew=n,ex=t,n};function eO(e,t){var n=[],r=[];return r=Array.isArray(t)?t.map(function(e){return eb(e)}):[eb(t)],eE(e).forEach(function(e){var t=z()(e,"type.displayName")||z()(e,"type.name");-1!==r.indexOf(t)&&n.push(e)}),n}function eS(e,t){var n=eO(e,t);return n&&n[0]}var eC=function(e){if(!e||!e.props)return!1;var t=e.props,n=t.width,r=t.height;return!!V(n)&&!(n<=0)&&!!V(r)&&!(r<=0)},ek=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColormatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-url","foreignObject","g","glyph","glyphRef","hkern","image","line","lineGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],ej=function(e,t,n,r){var o,i=null!==(o=null==ef?void 0:ef[r])&&void 0!==o?o:[];return!eo()(e)&&(r&&i.includes(t)||eu.includes(t))||n&&ed.includes(t)},eP=function(e,t,n){if(!e||"function"==typeof e||"boolean"==typeof e)return null;var r=e;if((0,A.isValidElement)(e)&&(r=e.props),!ea()(r))return null;var o={};return Object.keys(r).forEach(function(e){var i;ej(null===(i=r)||void 0===i?void 0:i[e],e,t,n)&&(o[e]=r[e])}),o},eM=function e(t,n){if(t===n)return!0;var r=A.Children.count(t);if(r!==A.Children.count(n))return!1;if(0===r)return!0;if(1===r)return eA(Array.isArray(t)?t[0]:t,Array.isArray(n)?n[0]:n);for(var o=0;o=0)n.push(e);else if(e){var i=eb(e.type),a=t[i]||{},c=a.handler,l=a.once;if(c&&(!l||!r[i])){var u=c(e,i,o);n.push(u),r[i]=!0}}}),n},eN=function(e){var t=e&&e.type;return t&&ey[t]?ey[t]:null};function eI(e){return(eI="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function eZ(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function eR(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&(e=I()(e,v,{trailing:!0,leading:!1}));var t=new ResizeObserver(e),n=w.current.getBoundingClientRect();return k(n.width,n.height),t.observe(w.current),function(){t.disconnect()}},[k,v]);var j=(0,A.useMemo)(function(){var e=S.containerWidth,t=S.containerHeight;if(e<0||t<0)return null;ee(q(c)||q(u),"The width(%s) and height(%s) are both fixed numbers,\n maybe you don't need to use a ResponsiveContainer.",c,u),ee(!r||r>0,"The aspect(%s) must be greater than zero.",r);var n=q(c)?e:c,o=q(u)?t:u;r&&r>0&&(n?o=n/r:o&&(n=o*r),p&&o>p&&(o=p)),ee(n>0||o>0,"The width(%s) and height(%s) of chart should be greater than 0,\n please check the style of container, or the props width(%s) and height(%s),\n or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the\n height and width.",n,o,c,u,f,d,r);var i=!Array.isArray(h)&&(0,Z.isElement)(h)&&eb(h.type).endsWith("Chart");return A.Children.map(h,function(e){return(0,Z.isElement)(e)?(0,A.cloneElement)(e,eR({width:n,height:o},i?{style:eR({height:"100%",width:"100%",maxHeight:o,maxWidth:n},e.props.style)}:{})):e})},[r,h,u,p,d,f,S,c]);return A.createElement("div",{id:g?"".concat(g):void 0,className:T("recharts-responsive-container",y),style:eR(eR({},void 0===x?{}:x),{},{width:c,height:u,minWidth:f,minHeight:d,maxHeight:p}),ref:w},j)}),eB=n(1646),eL=n.n(eB),ez=n(97572),eF=n.n(ez),eH=n(209),eW=n.n(eH),eq=n(72986),eV=n.n(eq);function eU(e,t){if(!e)throw Error("Invariant failed")}var eX=["children","width","height","viewBox","className","style","title","desc"];function eG(){return(eG=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,eX),s=o||{width:n,height:r,x:0,y:0},f=T("recharts-surface",i);return A.createElement("svg",eG({},eP(u,!0,"svg"),{className:f,width:n,height:r,style:a,viewBox:"".concat(s.x," ").concat(s.y," ").concat(s.width," ").concat(s.height)}),A.createElement("title",null,c),A.createElement("desc",null,l),t)}var e$=["children","className"];function eY(){return(eY=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,e$),i=T("recharts-layer",r);return A.createElement("g",eY({className:i},eP(o,!0),{ref:t}),n)});function eJ(e){return(eJ="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function e0(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0;)if(!n.equals(e[r],t[r],r,r,e,t,n))return!1;return!0}function tu(e,t){return to(e.getTime(),t.getTime())}function ts(e,t,n){if(e.size!==t.size)return!1;for(var r,o,i={},a=e.entries(),c=0;(r=a.next())&&!r.done;){for(var l=t.entries(),u=!1,s=0;(o=l.next())&&!o.done;){var f=r.value,d=f[0],p=f[1],h=o.value,m=h[0],v=h[1];!u&&!i[s]&&(u=n.equals(d,m,c,s,e,t,n)&&n.equals(p,v,d,m,e,t,n))&&(i[s]=!0),s++}if(!u)return!1;c++}return!0}function tf(e,t,n){var r,o=tc(e),i=o.length;if(tc(t).length!==i)return!1;for(;i-- >0;)if((r=o[i])===ti&&(e.$$typeof||t.$$typeof)&&e.$$typeof!==t.$$typeof||!tr(t,r)||!n.equals(e[r],t[r],r,r,e,t,n))return!1;return!0}function td(e,t,n){var r,o,i,a=tn(e),c=a.length;if(tn(t).length!==c)return!1;for(;c-- >0;)if((r=a[c])===ti&&(e.$$typeof||t.$$typeof)&&e.$$typeof!==t.$$typeof||!tr(t,r)||!n.equals(e[r],t[r],r,r,e,t,n)||(o=ta(e,r),i=ta(t,r),(o||i)&&(!o||!i||o.configurable!==i.configurable||o.enumerable!==i.enumerable||o.writable!==i.writable)))return!1;return!0}function tp(e,t){return to(e.valueOf(),t.valueOf())}function th(e,t){return e.source===t.source&&e.flags===t.flags}function tm(e,t,n){if(e.size!==t.size)return!1;for(var r,o,i={},a=e.values();(r=a.next())&&!r.done;){for(var c=t.values(),l=!1,u=0;(o=c.next())&&!o.done;)!l&&!i[u]&&(l=n.equals(r.value,o.value,r.value,o.value,e,t,n))&&(i[u]=!0),u++;if(!l)return!1}return!0}function tv(e,t){var n=e.length;if(t.length!==n)return!1;for(;n-- >0;)if(e[n]!==t[n])return!1;return!0}var tg=Array.isArray,ty="function"==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView:null,tb=Object.assign,tx=Object.prototype.toString.call.bind(Object.prototype.toString),tw=tE();function tE(e){void 0===e&&(e={});var t,n,r,o,i,a,c,l,u,s=e.circular,f=e.createInternalComparator,d=e.createState,p=e.strict,h=(n=(t=function(e){var t=e.circular,n=e.createCustomConfig,r=e.strict,o={areArraysEqual:r?td:tl,areDatesEqual:tu,areMapsEqual:r?te(ts,td):ts,areObjectsEqual:r?td:tf,arePrimitiveWrappersEqual:tp,areRegExpsEqual:th,areSetsEqual:r?te(tm,td):tm,areTypedArraysEqual:r?td:tv};if(n&&(o=tb({},o,n(o))),t){var i=tt(o.areArraysEqual),a=tt(o.areMapsEqual),c=tt(o.areObjectsEqual),l=tt(o.areSetsEqual);o=tb({},o,{areArraysEqual:i,areMapsEqual:a,areObjectsEqual:c,areSetsEqual:l})}return o}(e)).areArraysEqual,r=t.areDatesEqual,o=t.areMapsEqual,i=t.areObjectsEqual,a=t.arePrimitiveWrappersEqual,c=t.areRegExpsEqual,l=t.areSetsEqual,u=t.areTypedArraysEqual,function(e,t,s){if(e===t)return!0;if(null==e||null==t||"object"!=typeof e||"object"!=typeof t)return e!=e&&t!=t;var f=e.constructor;if(f!==t.constructor)return!1;if(f===Object)return i(e,t,s);if(tg(e))return n(e,t,s);if(null!=ty&&ty(e))return u(e,t,s);if(f===Date)return r(e,t,s);if(f===RegExp)return c(e,t,s);if(f===Map)return o(e,t,s);if(f===Set)return l(e,t,s);var d=tx(e);return"[object Date]"===d?r(e,t,s):"[object RegExp]"===d?c(e,t,s):"[object Map]"===d?o(e,t,s):"[object Set]"===d?l(e,t,s):"[object Object]"===d?"function"!=typeof e.then&&"function"!=typeof t.then&&i(e,t,s):"[object Arguments]"===d?i(e,t,s):("[object Boolean]"===d||"[object Number]"===d||"[object String]"===d)&&a(e,t,s)}),m=f?f(h):function(e,t,n,r,o,i,a){return h(e,t,a)};return function(e){var t=e.circular,n=e.comparator,r=e.createState,o=e.equals,i=e.strict;if(r)return function(e,a){var c=r(),l=c.cache;return n(e,a,{cache:void 0===l?t?new WeakMap:void 0:l,equals:o,meta:c.meta,strict:i})};if(t)return function(e,t){return n(e,t,{cache:new WeakMap,equals:o,meta:void 0,strict:i})};var a={cache:void 0,equals:o,meta:void 0,strict:i};return function(e,t){return n(e,t,a)}}({circular:void 0!==s&&s,comparator:h,createState:d,equals:m,strict:void 0!==p&&p})}function tO(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=-1;requestAnimationFrame(function r(o){if(n<0&&(n=o),o-n>t)e(o),n=-1;else{var i;i=r,"undefined"!=typeof requestAnimationFrame&&requestAnimationFrame(i)}})}function tS(e){return(tS="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function tC(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n=0&&e<=1}),"[configBezier]: arguments should be x1, y1, x2, y2 of [0, 1] instead received %s",r);var d=tW(i,c),p=tW(a,l),h=(e=i,t=c,function(n){var r;return tH([].concat(function(e){if(Array.isArray(e))return tz(e)}(r=tF(e,t).map(function(e,t){return e*t}).slice(1))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||tL(r)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[0]),n)}),m=function(e){for(var t=e>1?1:e,n=t,r=0;r<8;++r){var o,i=d(n)-t,a=h(n);if(1e-4>Math.abs(i-t)||a<1e-4)break;n=(o=n-i/a)>1?1:o<0?0:o}return p(n)};return m.isStepper=!1,m},tV=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.stiff,n=void 0===t?100:t,r=e.damping,o=void 0===r?8:r,i=e.dt,a=void 0===i?17:i,c=function(e,t,r){var i=r+(-(e-t)*n-r*o)*a/1e3,c=r*a/1e3+e;return 1e-4>Math.abs(c-t)&&1e-4>Math.abs(i)?[t,0]:[c,i]};return c.isStepper=!0,c.dt=a,c},tU=function(){for(var e=arguments.length,t=Array(e),n=0;ne.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n0?n[o-1]:r,d=u||Object.keys(l);if("function"==typeof c||"spring"===c)return[].concat(t6(e),[t.runJSAnimation.bind(t,{from:f.style,to:l,duration:i,easing:c}),i]);var p=tD(d,i,c),h=t9(t9(t9({},f.style),l),{},{transition:p});return[].concat(t6(e),[h,i,s]).filter(tI)},[a,Math.max(void 0===c?0:c,r)])),[e.onAnimationEnd]))}},{key:"runAnimation",value:function(e){if(!this.manager){var t,n,r;this.manager=(t=function(){return null},n=!1,r=function e(r){if(!n){if(Array.isArray(r)){if(!r.length)return;var o=function(e){if(Array.isArray(e))return e}(r)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||function(e,t){if(e){if("string"==typeof e)return tC(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return tC(e,t)}}(r)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),i=o[0],a=o.slice(1);if("number"==typeof i){tO(e.bind(null,a),i);return}e(i),tO(e.bind(null,a));return}"object"===tS(r)&&t(r),"function"==typeof r&&r()}},{stop:function(){n=!0},start:function(e){n=!1,r(e)},subscribe:function(e){return t=e,function(){t=function(){return null}}}})}var o=e.begin,i=e.duration,a=e.attributeName,c=e.to,l=e.easing,u=e.onAnimationStart,s=e.onAnimationEnd,f=e.steps,d=e.children,p=this.manager;if(this.unSubscribe=p.subscribe(this.handleStyleChange),"function"==typeof l||"function"==typeof d||"spring"===l){this.runJSAnimation(e);return}if(f.length>1){this.runStepAnimation(e);return}var h=a?t7({},a,c):c,m=tD(Object.keys(h),i,l);p.start([u,o,t9(t9({},h),{},{transition:m}),i,s])}},{key:"render",value:function(){var e=this.props,t=e.children,n=(e.begin,e.duration),r=(e.attributeName,e.easing,e.isActive),o=(e.steps,e.from,e.to,e.canBegin,e.onAnimationEnd,e.shouldReAnimate,e.onAnimationReStart,function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,t5)),i=A.Children.count(t),a=t_(this.state.style);if("function"==typeof t)return t(a);if(!r||0===i||n<=0)return t;var c=function(e){var t=e.props,n=t.style,r=t.className;return(0,A.cloneElement)(e,t9(t9({},o),{},{style:t9(t9({},void 0===n?{}:n),a),className:r}))};return 1===i?c(A.Children.only(t)):A.createElement("div",null,A.Children.map(t,function(e){return c(e)}))}}],ne(i.prototype,n),r&&ne(i,r),Object.defineProperty(i,"prototype",{writable:!1}),i}(A.PureComponent);na.displayName="Animate",na.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}},na.propTypes={from:e3().oneOfType([e3().object,e3().string]),to:e3().oneOfType([e3().object,e3().string]),attributeName:e3().string,duration:e3().number,begin:e3().number,easing:e3().oneOfType([e3().string,e3().func]),steps:e3().arrayOf(e3().shape({duration:e3().number.isRequired,style:e3().object.isRequired,easing:e3().oneOfType([e3().oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),e3().func]),properties:e3().arrayOf("string"),onAnimationEnd:e3().func})),children:e3().oneOfType([e3().node,e3().func]),isActive:e3().bool,canBegin:e3().bool,onAnimationEnd:e3().func,shouldReAnimate:e3().bool,onAnimationStart:e3().func,onAnimationReStart:e3().func};var nc=n(42859),nl=["children","appearOptions","enterOptions","leaveOptions"];function nu(e){return(nu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ns(){return(ns=Object.assign?Object.assign.bind():function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.steps,n=e.duration;return t&&t.length?t.reduce(function(e,t){return e+(Number.isFinite(t.duration)&&t.duration>0?t.duration:0)},0):Number.isFinite(n)?n:0},nx=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&nh(e,t)}(i,e);var t,n,r,o=(t=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}(),function(){var e,n=nv(i);if(t){var r=nv(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return function(e,t){if(t&&("object"===nu(t)||"function"==typeof t))return t;if(void 0!==t)throw TypeError("Derived constructors may only return object or undefined");return nm(e)}(this,e)});function i(){var e;return!function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,i),ng(nm(e=o.call(this)),"handleEnter",function(t,n){var r=e.props,o=r.appearOptions,i=r.enterOptions;e.handleStyleActive(n?o:i)}),ng(nm(e),"handleExit",function(){var t=e.props.leaveOptions;e.handleStyleActive(t)}),e.state={isActive:!1},e}return n=[{key:"handleStyleActive",value:function(e){if(e){var t=e.onAnimationEnd?function(){e.onAnimationEnd()}:null;this.setState(nd(nd({},e),{},{onAnimationEnd:t,isActive:!0}))}}},{key:"parseTimeout",value:function(){var e=this.props,t=e.appearOptions,n=e.enterOptions,r=e.leaveOptions;return nb(t)+nb(n)+nb(r)}},{key:"render",value:function(){var e=this,t=this.props,n=t.children,r=(t.appearOptions,t.enterOptions,t.leaveOptions,function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(t,nl));return A.createElement(nc.Transition,ns({},r,{onEnter:this.handleEnter,onExit:this.handleExit,timeout:this.parseTimeout()}),function(){return A.createElement(na,e.state,A.Children.only(n))})}}],np(i.prototype,n),r&&np(i,r),Object.defineProperty(i,"prototype",{writable:!1}),i}(A.Component);function nw(e){var t=e.component,n=e.children,r=e.appear,o=e.enter,i=e.leave;return A.createElement(nc.TransitionGroup,{component:t},A.Children.map(n,function(e,t){return A.createElement(nx,{appearOptions:r,enterOptions:o,leaveOptions:i,key:"child-".concat(t)},e)}))}function nE(e){return(nE="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function nO(e,t,n){var r;return(r=function(e,t){if("object"!==nE(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==nE(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"),(t="symbol"===nE(r)?r:String(r))in e)?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}nx.propTypes={appearOptions:e3().object,enterOptions:e3().object,leaveOptions:e3().object,children:e3().element},nw.propTypes={appear:e3().object,enter:e3().object,leave:e3().object,children:e3().oneOfType([e3().array,e3().element]),component:e3().any},nw.defaultProps={component:"span"};var nS="recharts-tooltip-wrapper",nC={visibility:"hidden"};function nk(e){var t=e.allowEscapeViewBox,n=e.coordinate,r=e.key,o=e.offsetTopLeft,i=e.position,a=e.reverseDirection,c=e.tooltipDimension,l=e.viewBox,u=e.viewBoxDimension;if(i&&V(i[r]))return i[r];var s=n[r]-c-o,f=n[r]+o;return t[r]?a[r]?s:f:a[r]?sl[r]+u?Math.max(s,l[r]):Math.max(f,l[r])}function nj(e){return(nj="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function nP(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function nM(e){for(var t=1;t1||Math.abs(e.height-this.lastBoundingBox.height)>1)&&(this.lastBoundingBox.width=e.width,this.lastBoundingBox.height=e.height)}else(-1!==this.lastBoundingBox.width||-1!==this.lastBoundingBox.height)&&(this.lastBoundingBox.width=-1,this.lastBoundingBox.height=-1)}},{key:"componentDidMount",value:function(){document.addEventListener("keydown",this.handleKeyDown),this.updateBBox()}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyDown)}},{key:"componentDidUpdate",value:function(){var e,t;this.props.active&&this.updateBBox(),this.state.dismissed&&((null===(e=this.props.coordinate)||void 0===e?void 0:e.x)!==this.state.dismissedAtCoordinate.x||(null===(t=this.props.coordinate)||void 0===t?void 0:t.y)!==this.state.dismissedAtCoordinate.y)&&(this.state.dismissed=!1)}},{key:"render",value:function(){var e,t,n,r,o,i,a,c,l,u,s,f,d,p,h,m,v,g,y,b,x=this,w=this.props,E=w.active,O=w.allowEscapeViewBox,S=w.animationDuration,C=w.animationEasing,k=w.children,j=w.coordinate,P=w.hasPayload,M=w.isAnimationActive,N=w.offset,I=w.position,Z=w.reverseDirection,R=w.useTranslate3d,_=w.viewBox,D=w.wrapperStyle,B=(d=(e={allowEscapeViewBox:O,coordinate:j,offsetTopLeft:N,position:I,reverseDirection:Z,tooltipBox:{height:this.lastBoundingBox.height,width:this.lastBoundingBox.width},useTranslate3d:R,viewBox:_}).allowEscapeViewBox,p=e.coordinate,h=e.offsetTopLeft,m=e.position,v=e.reverseDirection,g=e.tooltipBox,y=e.useTranslate3d,b=e.viewBox,g.height>0&&g.width>0&&p?(n=(t={translateX:s=nk({allowEscapeViewBox:d,coordinate:p,key:"x",offsetTopLeft:h,position:m,reverseDirection:v,tooltipDimension:g.width,viewBox:b,viewBoxDimension:b.width}),translateY:f=nk({allowEscapeViewBox:d,coordinate:p,key:"y",offsetTopLeft:h,position:m,reverseDirection:v,tooltipDimension:g.height,viewBox:b,viewBoxDimension:b.height}),useTranslate3d:y}).translateX,r=t.translateY,u=t_({transform:t.useTranslate3d?"translate3d(".concat(n,"px, ").concat(r,"px, 0)"):"translate(".concat(n,"px, ").concat(r,"px)")})):u=nC,{cssProperties:u,cssClasses:(a=(o={translateX:s,translateY:f,coordinate:p}).coordinate,c=o.translateX,l=o.translateY,T(nS,(nO(i={},"".concat(nS,"-right"),V(c)&&a&&V(a.x)&&c>=a.x),nO(i,"".concat(nS,"-left"),V(c)&&a&&V(a.x)&&c=a.y),nO(i,"".concat(nS,"-top"),V(l)&&a&&V(a.y)&&l0;return A.createElement(n_,{allowEscapeViewBox:o,animationDuration:i,animationEasing:a,isAnimationActive:s,active:r,coordinate:l,hasPayload:x,offset:f,position:h,reverseDirection:m,useTranslate3d:v,viewBox:g,wrapperStyle:y},(e=nW(nW({},this.props),{},{payload:b}),A.isValidElement(c)?A.cloneElement(c,e):"function"==typeof c?A.createElement(c,e):A.createElement(e5,e)))}}],nq(i.prototype,n),r&&nq(i,r),Object.defineProperty(i,"prototype",{writable:!1}),i}(A.PureComponent);nX(n$,"displayName","Tooltip"),nX(n$,"defaultProps",{allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:"ease",contentStyle:{},coordinate:{x:0,y:0},cursor:!0,cursorStyle:{},filterNull:!0,isAnimationActive:!nD.isSsr,itemStyle:{},labelStyle:{},offset:10,reverseDirection:{x:!1,y:!1},separator:" : ",trigger:"hover",useTranslate3d:!1,viewBox:{x:0,y:0,height:0,width:0},wrapperStyle:{}});var nY=n(9332),nQ=n.n(nY);let nJ=Math.cos,n0=Math.sin,n1=Math.sqrt,n2=Math.PI,n4=2*n2;var n5={draw(e,t){let n=n1(t/n2);e.moveTo(n,0),e.arc(0,0,n,0,n4)}};let n6=n1(1/3),n3=2*n6,n8=n0(n2/10)/n0(7*n2/10),n9=n0(n4/10)*n8,n7=-nJ(n4/10)*n8,re=n1(3),rt=n1(3)/2,rn=1/n1(12),rr=(rn/2+1)*3;function ro(e){return function(){return e}}function ri(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function ra(){let e=ri(["M",",",""]);return ra=function(){return e},e}function rc(){let e=ri(["Z"]);return rc=function(){return e},e}function rl(){let e=ri(["L",",",""]);return rl=function(){return e},e}function ru(){let e=ri(["Q",",",",",",",""]);return ru=function(){return e},e}function rs(){let e=ri(["C",",",",",",",",",",",""]);return rs=function(){return e},e}function rf(){let e=ri(["M",",",""]);return rf=function(){return e},e}function rd(){let e=ri(["L",",",""]);return rd=function(){return e},e}function rp(){let e=ri(["L",",",""]);return rp=function(){return e},e}function rh(){let e=ri(["A",",",",0,0,",",",",",""]);return rh=function(){return e},e}function rm(){let e=ri(["M",",",""]);return rm=function(){return e},e}function rv(){let e=ri(["L",",",""]);return rv=function(){return e},e}function rg(){let e=ri(["A",",",",0,1,",",",",","A",",",",0,1,",",",",",""]);return rg=function(){return e},e}function ry(){let e=ri(["A",",",",0,",",",",",",",""]);return ry=function(){return e},e}function rb(){let e=ri(["M",",","h","v","h","Z"]);return rb=function(){return e},e}let rx=Math.PI,rw=2*rx,rE=rw-1e-6;function rO(e){this._+=e[0];for(let t=1,n=e.length;t1e-6){if(Math.abs(s*c-l*u)>1e-6&&o){let d=n-i,p=r-a,h=c*c+l*l,m=Math.sqrt(h),v=Math.sqrt(f),g=o*Math.tan((rx-Math.acos((h+f-(d*d+p*p))/(2*m*v)))/2),y=g/v,b=g/m;Math.abs(y-1)>1e-6&&this._append(rp(),e+y*u,t+y*s),this._append(rh(),o,o,+(s*d>u*p),this._x1=e+b*c,this._y1=t+b*l)}else this._append(rd(),this._x1=e,this._y1=t)}}arc(e,t,n,r,o,i){if(e=+e,t=+t,i=!!i,(n=+n)<0)throw Error("negative radius: ".concat(n));let a=n*Math.cos(r),c=n*Math.sin(r),l=e+a,u=t+c,s=1^i,f=i?r-o:o-r;null===this._x1?this._append(rm(),l,u):(Math.abs(this._x1-l)>1e-6||Math.abs(this._y1-u)>1e-6)&&this._append(rv(),l,u),n&&(f<0&&(f=f%rw+rw),f>rE?this._append(rg(),n,n,s,e-a,t-c,n,n,s,this._x1=l,this._y1=u):f>1e-6&&this._append(ry(),n,n,+(f>=rx),s,this._x1=e+n*Math.cos(o),this._y1=t+n*Math.sin(o)))}rect(e,t,n,r){this._append(rb(),this._x0=this._x1=+e,this._y0=this._y1=+t,n=+n,+r,-n)}toString(){return this._}constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=null==e?rO:function(e){let t=Math.floor(e);if(!(t>=0))throw Error("invalid digits: ".concat(e));if(t>15)return rO;let n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;t=0))throw RangeError("invalid digits: ".concat(n));t=e}return e},()=>new rS(t)}function rk(e){return(rk="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}rS.prototype,n1(3),n1(3);var rj=["type","size","sizeType"];function rP(){return(rP=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,rj)),{},{type:r,size:i,sizeType:c}),u=l.className,s=l.cx,f=l.cy,d=eP(l,!0);return s===+s&&f===+f&&i===+i?A.createElement("path",rP({},d,{className:T("recharts-symbols",u),transform:"translate(".concat(s,", ").concat(f,")"),d:(t=rT["symbol".concat(nQ()(r))]||n5,(function(e,t){let n=null,r=rC(o);function o(){let o;if(n||(n=o=r()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),o)return n=null,o+""||null}return e="function"==typeof e?e:ro(e||n5),t="function"==typeof t?t:ro(void 0===t?64:+t),o.type=function(t){return arguments.length?(e="function"==typeof t?t:ro(t),o):e},o.size=function(e){return arguments.length?(t="function"==typeof e?e:ro(+e),o):t},o.context=function(e){return arguments.length?(n=null==e?null:e,o):n},o})().type(t).size(rI(i,c,r))())})):null};function rR(e){return(rR="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r_(){return(r_=Object.assign?Object.assign.bind():function(e){for(var t=1;t');var p=t.inactive?a:t.color;return A.createElement("li",r_({className:f,style:l,key:"legend-item-".concat(n)},eh(e.props,t,n)),A.createElement(eK,{width:r,height:r,viewBox:c,style:u},e.renderIcon(t)),A.createElement("span",{className:"recharts-legend-item-text",style:{color:p}},s?s(d,t,n):d))})}},{key:"render",value:function(){var e=this.props,t=e.payload,n=e.layout,r=e.align;return t&&t.length?A.createElement("ul",{className:"recharts-default-legend",style:{padding:0,margin:0,textAlign:"horizontal"===n?r:"left"}},this.renderItems()):null}}],rB(i.prototype,n),r&&rB(i,r),Object.defineProperty(i,"prototype",{writable:!1}),i}(A.PureComponent);function rq(e){return(rq="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}rF(rW,"displayName","Legend"),rF(rW,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"middle",inactiveColor:"#ccc"});var rV=["ref"];function rU(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function rX(e){for(var t=1;t1||Math.abs(t.height-this.lastBoundingBox.height)>1)&&(this.lastBoundingBox.width=t.width,this.lastBoundingBox.height=t.height,e&&e(t))}else(-1!==this.lastBoundingBox.width||-1!==this.lastBoundingBox.height)&&(this.lastBoundingBox.width=-1,this.lastBoundingBox.height=-1,e&&e(null))}},{key:"getBBoxSnapshot",value:function(){return this.lastBoundingBox.width>=0&&this.lastBoundingBox.height>=0?rX({},this.lastBoundingBox):{width:0,height:0}}},{key:"getDefaultPosition",value:function(e){var t,n,r=this.props,o=r.layout,i=r.align,a=r.verticalAlign,c=r.margin,l=r.chartWidth,u=r.chartHeight;return e&&(void 0!==e.left&&null!==e.left||void 0!==e.right&&null!==e.right)||(t="center"===i&&"vertical"===o?{left:((l||0)-this.getBBoxSnapshot().width)/2}:"right"===i?{right:c&&c.right||0}:{left:c&&c.left||0}),e&&(void 0!==e.top&&null!==e.top||void 0!==e.bottom&&null!==e.bottom)||(n="middle"===a?{top:((u||0)-this.getBBoxSnapshot().height)/2}:"bottom"===a?{bottom:c&&c.bottom||0}:{top:c&&c.top||0}),rX(rX({},t),n)}},{key:"render",value:function(){var e=this,t=this.props,n=t.content,r=t.width,o=t.height,i=t.wrapperStyle,a=t.payloadUniqBy,c=t.payload,l=rX(rX({position:"absolute",width:r||"auto",height:o||"auto"},this.getDefaultPosition(i)),i);return A.createElement("div",{className:"recharts-legend-wrapper",style:l,ref:function(t){e.wrapperNode=t}},function(e,t){if(A.isValidElement(e))return A.cloneElement(e,t);if("function"==typeof e)return A.createElement(e,t);t.ref;var n=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(t,rV);return A.createElement(rW,n)}(n,rX(rX({},this.props),{},{payload:nz(c,a,r0)})))}}],r=[{key:"getWithHeight",value:function(e,t){var n=e.props.layout;return"vertical"===n&&V(e.props.height)?{height:e.props.height}:"horizontal"===n?{width:e.props.width||t}:null}}],n&&rG(i.prototype,n),r&&rG(i,r),Object.defineProperty(i,"prototype",{writable:!1}),i}(A.PureComponent);function r2(){return(r2=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n=0?1:-1,l=n>=0?1:-1,u=r>=0&&n>=0||r<0&&n<0?1:0;if(a>0&&o instanceof Array){for(var s=[0,0,0,0],f=0;f<4;f++)s[f]=o[f]>a?a:o[f];i="M".concat(e,",").concat(t+c*s[0]),s[0]>0&&(i+="A ".concat(s[0],",").concat(s[0],",0,0,").concat(u,",").concat(e+l*s[0],",").concat(t)),i+="L ".concat(e+n-l*s[1],",").concat(t),s[1]>0&&(i+="A ".concat(s[1],",").concat(s[1],",0,0,").concat(u,",\n ").concat(e+n,",").concat(t+c*s[1])),i+="L ".concat(e+n,",").concat(t+r-c*s[2]),s[2]>0&&(i+="A ".concat(s[2],",").concat(s[2],",0,0,").concat(u,",\n ").concat(e+n-l*s[2],",").concat(t+r)),i+="L ".concat(e+l*s[3],",").concat(t+r),s[3]>0&&(i+="A ".concat(s[3],",").concat(s[3],",0,0,").concat(u,",\n ").concat(e,",").concat(t+r-c*s[3])),i+="Z"}else if(a>0&&o===+o&&o>0){var d=Math.min(a,o);i="M ".concat(e,",").concat(t+c*d,"\n A ").concat(d,",").concat(d,",0,0,").concat(u,",").concat(e+l*d,",").concat(t,"\n L ").concat(e+n-l*d,",").concat(t,"\n A ").concat(d,",").concat(d,",0,0,").concat(u,",").concat(e+n,",").concat(t+c*d,"\n L ").concat(e+n,",").concat(t+r-c*d,"\n A ").concat(d,",").concat(d,",0,0,").concat(u,",").concat(e+n-l*d,",").concat(t+r,"\n L ").concat(e+l*d,",").concat(t+r,"\n A ").concat(d,",").concat(d,",0,0,").concat(u,",").concat(e,",").concat(t+r-c*d," Z")}else i="M ".concat(e,",").concat(t," h ").concat(n," v ").concat(r," h ").concat(-n," Z");return i},oe=function(e,t){if(!e||!t)return!1;var n=e.x,r=e.y,o=t.x,i=t.y,a=t.width,c=t.height;return!!(Math.abs(a)>0&&Math.abs(c)>0)&&n>=Math.min(o,o+a)&&n<=Math.max(o,o+a)&&r>=Math.min(i,i+c)&&r<=Math.max(i,i+c)},ot={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},on=function(e){var t,n=r9(r9({},ot),e),r=(0,A.useRef)(),o=function(e){if(Array.isArray(e))return e}(t=(0,A.useState)(-1))||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,c=[],l=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return c}}(t,2)||function(e,t){if(e){if("string"==typeof e)return r3(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r3(e,t)}}(t,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),i=o[0],a=o[1];(0,A.useEffect)(function(){if(r.current&&r.current.getTotalLength)try{var e=r.current.getTotalLength();e&&a(e)}catch(e){}},[]);var c=n.x,l=n.y,u=n.width,s=n.height,f=n.radius,d=n.className,p=n.animationEasing,h=n.animationDuration,m=n.animationBegin,v=n.isAnimationActive,g=n.isUpdateAnimationActive;if(c!==+c||l!==+l||u!==+u||s!==+s||0===u||0===s)return null;var y=T("recharts-rectangle",d);return g?A.createElement(na,{canBegin:i>0,from:{width:u,height:s,x:c,y:l},to:{width:u,height:s,x:c,y:l},duration:h,animationEasing:p,isActive:g},function(e){var t=e.width,o=e.height,a=e.x,c=e.y;return A.createElement(na,{canBegin:i>0,from:"0px ".concat(-1===i?1:i,"px"),to:"".concat(i,"px 0px"),attributeName:"strokeDasharray",begin:m,duration:h,isActive:v,easing:p},A.createElement("path",r6({},eP(n,!0),{className:y,d:r7(a,c,t,o,f),ref:r})))}):A.createElement("path",r6({},eP(n,!0),{className:y,d:r7(c,l,u,s,f)}))};function or(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}function oo(e,t){switch(arguments.length){case 0:break;case 1:"function"==typeof e?this.interpolator(e):this.range(e);break;default:this.domain(e),"function"==typeof t?this.interpolator(t):this.range(t)}return this}class oi extends Map{get(e){return super.get(oa(this,e))}has(e){return super.has(oa(this,e))}set(e,t){return super.set(function(e,t){let{_intern:n,_key:r}=e,o=r(t);return n.has(o)?n.get(o):(n.set(o,t),t)}(this,e),t)}delete(e){return super.delete(function(e,t){let{_intern:n,_key:r}=e,o=r(t);return n.has(o)&&(t=n.get(o),n.delete(o)),t}(this,e))}constructor(e,t=oc){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),null!=e)for(let[t,n]of e)this.set(t,n)}}function oa(e,t){let{_intern:n,_key:r}=e,o=r(t);return n.has(o)?n.get(o):t}function oc(e){return null!==e&&"object"==typeof e?e.valueOf():e}let ol=Symbol("implicit");function ou(){var e=new oi,t=[],n=[],r=ol;function o(o){let i=e.get(o);if(void 0===i){if(r!==ol)return r;e.set(o,i=t.push(o)-1)}return n[i%n.length]}return o.domain=function(n){if(!arguments.length)return t.slice();for(let r of(t=[],e=new oi,n))e.has(r)||e.set(r,t.push(r)-1);return o},o.range=function(e){return arguments.length?(n=Array.from(e),o):n.slice()},o.unknown=function(e){return arguments.length?(r=e,o):r},o.copy=function(){return ou(t,n).unknown(r)},or.apply(o,arguments),o}function os(){var e,t,n=ou().unknown(void 0),r=n.domain,o=n.range,i=0,a=1,c=!1,l=0,u=0,s=.5;function f(){var n=r().length,f=a1&&void 0!==arguments[1]?arguments[1]:{};if(null==e||nD.isSsr)return{width:0,height:0};var r=(Object.keys(t=oh({},n)).forEach(function(e){t[e]||delete t[e]}),t),o=JSON.stringify({text:e,copyStyle:r});if(om.widthCache[o])return om.widthCache[o];try{var i=document.getElementById(og);i||((i=document.createElement("span")).setAttribute("id",og),i.setAttribute("aria-hidden","true"),document.body.appendChild(i));var a=oh(oh({},ov),r);Object.assign(i.style,a),i.textContent="".concat(e);var c=i.getBoundingClientRect(),l={width:c.width,height:c.height};return om.widthCache[o]=l,++om.cacheCount>2e3&&(om.cacheCount=0,om.widthCache={}),l}catch(e){return{width:0,height:0}}};function ob(e){return(ob="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ox(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,c=[],l=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return c}}(e,t)||function(e,t){if(e){if("string"==typeof e)return ow(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ow(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ow(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function oD(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,c=[],l=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return c}}(e,t)||function(e,t){if(e){if("string"==typeof e)return oB(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return oB(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function oB(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&void 0!==arguments[0]?arguments[0]:[];return e.reduce(function(e,t){var i=t.word,a=t.width,c=e[e.length-1];return c&&(null==r||o||c.width+a+na||t.reduce(function(e,t){return e.width>t.width?e:t}).width>Number(r),t]},h=0,m=c.length-1,v=0;h<=m&&v<=c.length-1;){var g=Math.floor((h+m)/2),y=oD(p(g-1),2),b=y[0],x=y[1],w=oD(p(g),1)[0];if(b||w||(h=g+1),b&&w&&(m=g-1),!b&&w){i=x;break}v++}return i||d},oH=function(e){return[{words:en()(e)?[]:e.toString().split(oL)}]},oW=function(e){var t=e.width,n=e.scaleToFit,r=e.children,o=e.style,i=e.breakAll,a=e.maxLines;if((t||n)&&!nD.isSsr){var c=oz({breakAll:i,children:r,style:o});return c?oF({breakAll:i,children:r,maxLines:a,style:o},c.wordsWithComputedWidth,c.spaceWidth,t,n):oH(r)}return oH(r)},oq="#808080",oV=function(e){var t,n=e.x,r=void 0===n?0:n,o=e.y,i=void 0===o?0:o,a=e.lineHeight,c=void 0===a?"1em":a,l=e.capHeight,u=void 0===l?"0.71em":l,s=e.scaleToFit,f=void 0!==s&&s,d=e.textAnchor,p=e.verticalAnchor,h=e.fill,m=void 0===h?oq:h,v=o_(e,oI),g=(0,A.useMemo)(function(){return oW({breakAll:v.breakAll,children:v.children,maxLines:v.maxLines,scaleToFit:f,style:v.style,width:v.width})},[v.breakAll,v.children,v.maxLines,f,v.style,v.width]),y=v.dx,b=v.dy,x=v.angle,w=v.className,E=v.breakAll,O=o_(v,oZ);if(!U(r)||!U(i))return null;var S=r+(V(y)?y:0),C=i+(V(b)?b:0);switch(void 0===p?"end":p){case"start":t=oN("calc(".concat(u,")"));break;case"middle":t=oN("calc(".concat((g.length-1)/2," * -").concat(c," + (").concat(u," / 2))"));break;default:t=oN("calc(".concat(g.length-1," * -").concat(c,")"))}var k=[];if(f){var j=g[0].width,P=v.width;k.push("scale(".concat((V(P)?P/j:1)/j,")"))}return x&&k.push("rotate(".concat(x,", ").concat(S,", ").concat(C,")")),k.length&&(O.transform=k.join(" ")),A.createElement("text",oR({},eP(O,!0),{x:S,y:C,className:T("recharts-text",w),textAnchor:void 0===d?"start":d,fill:m.includes("url")?oq:m}),g.map(function(e,n){var r=e.words.join(E?"":" ");return A.createElement("tspan",{x:S,dy:0===n?t:c,key:r},r)}))};let oU=Math.sqrt(50),oX=Math.sqrt(10),oG=Math.sqrt(2);function oK(e,t,n){let r,o,i;let a=(t-e)/Math.max(0,n),c=Math.floor(Math.log10(a)),l=a/Math.pow(10,c),u=l>=oU?10:l>=oX?5:l>=oG?2:1;return(c<0?(r=Math.round(e*(i=Math.pow(10,-c)/u)),o=Math.round(t*i),r/it&&--o,i=-i):(r=Math.round(e/(i=Math.pow(10,c)*u)),o=Math.round(t/i),r*it&&--o),o0))return[];if(e===t)return[e];let r=t=o))return[];let c=i-o+1,l=Array(c);if(r){if(a<0)for(let e=0;et?1:e>=t?0:NaN}function o0(e,t){return null==e||null==t?NaN:te?1:t>=e?0:NaN}function o1(e){let t,n,r;function o(e,r){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:e.length;if(o>>1;0>n(e[t],r)?o=t+1:i=t}while(ooJ(e(t),n),r=(t,n)=>e(t)-n):(t=e===oJ||e===o0?e:o2,n=e,r=e),{left:o,center:function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:e.length,a=o(e,t,n,i-1);return a>n&&r(e[a-1],t)>-r(e[a],t)?a-1:a},right:function(e,r){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:e.length;if(o>>1;0>=n(e[t],r)?o=t+1:i=t}while(o>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?iv(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?iv(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=io.exec(e))?new iy(t[1],t[2],t[3],1):(t=ii.exec(e))?new iy(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=ia.exec(e))?iv(t[1],t[2],t[3],t[4]):(t=ic.exec(e))?iv(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=il.exec(e))?iS(t[1],t[2]/100,t[3]/100,1):(t=iu.exec(e))?iS(t[1],t[2]/100,t[3]/100,t[4]):is.hasOwnProperty(e)?im(is[e]):"transparent"===e?new iy(NaN,NaN,NaN,0):null}function im(e){return new iy(e>>16&255,e>>8&255,255&e,1)}function iv(e,t,n,r){return r<=0&&(e=t=n=NaN),new iy(e,t,n,r)}function ig(e,t,n,r){var o;return 1==arguments.length?((o=e)instanceof o9||(o=ih(o)),o)?new iy((o=o.rgb()).r,o.g,o.b,o.opacity):new iy:new iy(e,t,n,null==r?1:r)}function iy(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}function ib(){return"#".concat(iO(this.r)).concat(iO(this.g)).concat(iO(this.b))}function ix(){let e=iw(this.opacity);return"".concat(1===e?"rgb(":"rgba(").concat(iE(this.r),", ").concat(iE(this.g),", ").concat(iE(this.b)).concat(1===e?")":", ".concat(e,")"))}function iw(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function iE(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function iO(e){return((e=iE(e))<16?"0":"")+e.toString(16)}function iS(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new ik(e,t,n,r)}function iC(e){if(e instanceof ik)return new ik(e.h,e.s,e.l,e.opacity);if(e instanceof o9||(e=ih(e)),!e)return new ik;if(e instanceof ik)return e;var t=(e=e.rgb()).r/255,n=e.g/255,r=e.b/255,o=Math.min(t,n,r),i=Math.max(t,n,r),a=NaN,c=i-o,l=(i+o)/2;return c?(a=t===i?(n-r)/c+(n0&&l<1?0:a,new ik(a,c,l,e.opacity)}function ik(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}function ij(e){return(e=(e||0)%360)<0?e+360:e}function iP(e){return Math.max(0,Math.min(1,e||0))}function iM(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}function iA(e,t,n,r,o){var i=e*e,a=i*e;return((1-3*e+3*i-a)*t+(4-6*i+3*a)*n+(1+3*e+3*i-3*a)*r+a*o)/6}o3(o9,ih,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:id,formatHex:id,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return iC(this).formatHsl()},formatRgb:ip,toString:ip}),o3(iy,ig,o8(o9,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new iy(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new iy(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new iy(iE(this.r),iE(this.g),iE(this.b),iw(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:ib,formatHex:ib,formatHex8:function(){return"#".concat(iO(this.r)).concat(iO(this.g)).concat(iO(this.b)).concat(iO((isNaN(this.opacity)?1:this.opacity)*255))},formatRgb:ix,toString:ix})),o3(ik,function(e,t,n,r){return 1==arguments.length?iC(e):new ik(e,t,n,null==r?1:r)},o8(o9,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new ik(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new ik(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,o=2*n-r;return new iy(iM(e>=240?e-240:e+120,o,r),iM(e,o,r),iM(e<120?e+240:e-120,o,r),this.opacity)},clamp(){return new ik(ij(this.h),iP(this.s),iP(this.l),iw(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=iw(this.opacity);return"".concat(1===e?"hsl(":"hsla(").concat(ij(this.h),", ").concat(100*iP(this.s),"%, ").concat(100*iP(this.l),"%").concat(1===e?")":", ".concat(e,")"))}}));var iT=e=>()=>e;function iN(e,t){var n=t-e;return n?function(t){return e+t*n}:iT(isNaN(e)?t:e)}var iI=function e(t){var n,r=1==(n=+(n=t))?iN:function(e,t){var r,o,i;return t-e?(r=e,o=t,r=Math.pow(r,i=n),o=Math.pow(o,i)-r,i=1/i,function(e){return Math.pow(r+e*o,i)}):iT(isNaN(e)?t:e)};function o(e,t){var n=r((e=ig(e)).r,(t=ig(t)).r),o=r(e.g,t.g),i=r(e.b,t.b),a=iN(e.opacity,t.opacity);return function(t){return e.r=n(t),e.g=o(t),e.b=i(t),e.opacity=a(t),e+""}}return o.gamma=e,o}(1);function iZ(e){return function(t){var n,r,o=t.length,i=Array(o),a=Array(o),c=Array(o);for(n=0;n=1?(n=1,t-1):Math.floor(n*t),o=e[r],i=e[r+1],a=r>0?e[r-1]:2*o-i,c=rc&&(a=t.slice(c,a),u[l]?u[l]+=a:u[++l]=a),(o=o[0])===(i=i[0])?u[l]?u[l]+=i:u[++l]=i:(u[++l]=null,s.push({i:l,x:iR(o,i)})),c=iD.lastIndex;return ct&&(n=e,e=t,t=n),u=function(n){return Math.max(e,Math.min(t,n))}),r=l>2?iV:iq,o=i=null,f}function f(t){return null==t||isNaN(t=+t)?n:(o||(o=r(a.map(e),c,l)))(e(u(t)))}return f.invert=function(n){return u(t((i||(i=r(c,a.map(e),iR)))(n)))},f.domain=function(e){return arguments.length?(a=Array.from(e,iz),s()):a.slice()},f.range=function(e){return arguments.length?(c=Array.from(e),s()):c.slice()},f.rangeRound=function(e){return c=Array.from(e),l=iL,s()},f.clamp=function(e){return arguments.length?(u=!!e||iH,s()):u!==iH},f.interpolate=function(e){return arguments.length?(l=e,s()):l},f.unknown=function(e){return arguments.length?(n=e,f):n},function(n,r){return e=n,t=r,s()}}function iG(){return iX()(iH,iH)}var iK=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function i$(e){var t;if(!(t=iK.exec(e)))throw Error("invalid format: "+e);return new iY({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}function iY(e){this.fill=void 0===e.fill?" ":e.fill+"",this.align=void 0===e.align?">":e.align+"",this.sign=void 0===e.sign?"-":e.sign+"",this.symbol=void 0===e.symbol?"":e.symbol+"",this.zero=!!e.zero,this.width=void 0===e.width?void 0:+e.width,this.comma=!!e.comma,this.precision=void 0===e.precision?void 0:+e.precision,this.trim=!!e.trim,this.type=void 0===e.type?"":e.type+""}function iQ(e,t){if((n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var n,r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function iJ(e){return(e=iQ(Math.abs(e)))?e[1]:NaN}function i0(e,t){var n=iQ(e,t);if(!n)return e+"";var r=n[0],o=n[1];return o<0?"0."+Array(-o).join("0")+r:r.length>o+1?r.slice(0,o+1)+"."+r.slice(o+1):r+Array(o-r.length+2).join("0")}i$.prototype=iY.prototype,iY.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var i1={"%":(e,t)=>(100*e).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:function(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)},e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>i0(100*e,t),r:i0,s:function(e,t){var n=iQ(e,t);if(!n)return e+"";var r=n[0],o=n[1],i=o-(g=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,a=r.length;return i===a?r:i>a?r+Array(i-a+1).join("0"):i>0?r.slice(0,i)+"."+r.slice(i):"0."+Array(1-i).join("0")+iQ(e,Math.max(0,t+i-1))[0]},X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function i2(e){return e}var i4=Array.prototype.map,i5=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];function i6(e,t,n,r){var o,i,a=oQ(e,t,n);switch((r=i$(null==r?",f":r)).type){case"s":var c=Math.max(Math.abs(e),Math.abs(t));return null!=r.precision||isNaN(i=Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(iJ(c)/3)))-iJ(Math.abs(a))))||(r.precision=i),x(r,c);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(i=Math.max(0,iJ(Math.abs(Math.max(Math.abs(e),Math.abs(t)))-(o=Math.abs(o=a)))-iJ(o))+1)||(r.precision=i-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(i=Math.max(0,-iJ(Math.abs(a))))||(r.precision=i-("%"===r.type)*2)}return b(r)}function i3(e){var t=e.domain;return e.ticks=function(e){var n=t();return o$(n[0],n[n.length-1],null==e?10:e)},e.tickFormat=function(e,n){var r=t();return i6(r[0],r[r.length-1],null==e?10:e,n)},e.nice=function(n){null==n&&(n=10);var r,o,i=t(),a=0,c=i.length-1,l=i[a],u=i[c],s=10;for(u0;){if((o=oY(l,u,n))===r)return i[a]=l,i[c]=u,t(i);if(o>0)l=Math.floor(l/o)*o,u=Math.ceil(u/o)*o;else if(o<0)l=Math.ceil(l*o)/o,u=Math.floor(u*o)/o;else break;r=o}return e},e}function i8(){var e=iG();return e.copy=function(){return iU(e,i8())},or.apply(e,arguments),i3(e)}function i9(e,t){e=e.slice();var n,r=0,o=e.length-1,i=e[r],a=e[o];return a-e(-t,n)}function ai(e){let t,n;let r=e(i7,ae),o=r.domain,i=10;function a(){var a,c;return t=(a=i)===Math.E?Math.log:10===a&&Math.log10||2===a&&Math.log2||(a=Math.log(a),e=>Math.log(e)/a),n=10===(c=i)?ar:c===Math.E?Math.exp:e=>Math.pow(c,e),o()[0]<0?(t=ao(t),n=ao(n),e(at,an)):e(i7,ae),r}return r.base=function(e){return arguments.length?(i=+e,a()):i},r.domain=function(e){return arguments.length?(o(e),a()):o()},r.ticks=e=>{let r,a;let c=o(),l=c[0],u=c[c.length-1],s=u0){for(;f<=d;++f)for(r=1;ru)break;h.push(a)}}else for(;f<=d;++f)for(r=i-1;r>=1;--r)if(!((a=f>0?r/n(-f):r*n(f))u)break;h.push(a)}2*h.length{if(null==e&&(e=10),null==o&&(o=10===i?"s":","),"function"!=typeof o&&(i%1||null!=(o=i$(o)).precision||(o.trim=!0),o=b(o)),e===1/0)return o;let a=Math.max(1,i*e/r.ticks().length);return e=>{let r=e/n(Math.round(t(e)));return r*io(i9(o(),{floor:e=>n(Math.floor(t(e))),ceil:e=>n(Math.ceil(t(e)))})),r}function aa(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function ac(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function al(e){var t=1,n=e(aa(1),ac(t));return n.constant=function(n){return arguments.length?e(aa(t=+n),ac(t)):t},i3(n)}function au(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function as(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function af(e){return e<0?-e*e:e*e}function ad(e){var t=e(iH,iH),n=1;return t.exponent=function(t){return arguments.length?1==(n=+t)?e(iH,iH):.5===n?e(as,af):e(au(n),au(1/n)):n},i3(t)}function ap(){var e=ad(iX());return e.copy=function(){return iU(e,ap()).exponent(e.exponent())},or.apply(e,arguments),e}function ah(){return ap.apply(null,arguments).exponent(.5)}function am(e){return Math.sign(e)*e*e}function av(e,t){let n;if(void 0===t)for(let t of e)null!=t&&(n=t)&&(n=t);else{let r=-1;for(let o of e)null!=(o=t(o,++r,e))&&(n=o)&&(n=o)}return n}function ag(e,t){let n;if(void 0===t)for(let t of e)null!=t&&(n>t||void 0===n&&t>=t)&&(n=t);else{let r=-1;for(let o of e)null!=(o=t(o,++r,e))&&(n>o||void 0===n&&o>=o)&&(n=o)}return n}function ay(e,t){return(null==e||!(e>=e))-(null==t||!(t>=t))||(et?1:0)}function ab(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}b=(y=function(e){var t,n,r,o=void 0===e.grouping||void 0===e.thousands?i2:(t=i4.call(e.grouping,Number),n=e.thousands+"",function(e,r){for(var o=e.length,i=[],a=0,c=t[0],l=0;o>0&&c>0&&(l+c+1>r&&(c=Math.max(1,r-l)),i.push(e.substring(o-=c,o+c)),!((l+=c+1)>r));)c=t[a=(a+1)%t.length];return i.reverse().join(n)}),i=void 0===e.currency?"":e.currency[0]+"",a=void 0===e.currency?"":e.currency[1]+"",c=void 0===e.decimal?".":e.decimal+"",l=void 0===e.numerals?i2:(r=i4.call(e.numerals,String),function(e){return e.replace(/[0-9]/g,function(e){return r[+e]})}),u=void 0===e.percent?"%":e.percent+"",s=void 0===e.minus?"−":e.minus+"",f=void 0===e.nan?"NaN":e.nan+"";function d(e){var t=(e=i$(e)).fill,n=e.align,r=e.sign,d=e.symbol,p=e.zero,h=e.width,m=e.comma,v=e.precision,y=e.trim,b=e.type;"n"===b?(m=!0,b="g"):i1[b]||(void 0===v&&(v=12),y=!0,b="g"),(p||"0"===t&&"="===n)&&(p=!0,t="0",n="=");var x="$"===d?i:"#"===d&&/[boxX]/.test(b)?"0"+b.toLowerCase():"",w="$"===d?a:/[%p]/.test(b)?u:"",E=i1[b],O=/[defgprs%]/.test(b);function S(e){var i,a,u,d=x,S=w;if("c"===b)S=E(e)+S,e="";else{var C=(e=+e)<0||1/e<0;if(e=isNaN(e)?f:E(Math.abs(e),v),y&&(e=function(e){e:for(var t,n=e.length,r=1,o=-1;r0&&(o=0)}return o>0?e.slice(0,o)+e.slice(t+1):e}(e)),C&&0==+e&&"+"!==r&&(C=!1),d=(C?"("===r?r:s:"-"===r||"("===r?"":r)+d,S=("s"===b?i5[8+g/3]:"")+S+(C&&"("===r?")":""),O){for(i=-1,a=e.length;++i(u=e.charCodeAt(i))||u>57){S=(46===u?c+e.slice(i+1):e.slice(i))+S,e=e.slice(0,i);break}}}m&&!p&&(e=o(e,1/0));var k=d.length+e.length+S.length,j=k>1)+d+e+S+j.slice(k);break;default:e=j+d+e+S}return l(e)}return v=void 0===v?6:/[gprs]/.test(b)?Math.max(1,Math.min(21,v)):Math.max(0,Math.min(20,v)),S.toString=function(){return e+""},S}return{format:d,formatPrefix:function(e,t){var n=d(((e=i$(e)).type="f",e)),r=3*Math.max(-8,Math.min(8,Math.floor(iJ(t)/3))),o=Math.pow(10,-r),i=i5[8+r/3];return function(e){return n(o*e)+i}}}}({thousands:",",grouping:[3],currency:["$",""]})).format,x=y.formatPrefix;let ax=new Date,aw=new Date;function aE(e,t,n,r){function o(t){return e(t=0==arguments.length?new Date:new Date(+t)),t}return o.floor=t=>(e(t=new Date(+t)),t),o.ceil=n=>(e(n=new Date(n-1)),t(n,1),e(n),n),o.round=e=>{let t=o(e),n=o.ceil(e);return e-t(t(e=new Date(+e),null==n?1:Math.floor(n)),e),o.range=(n,r,i)=>{let a;let c=[];if(n=o.ceil(n),i=null==i?1:Math.floor(i),!(n0))return c;do c.push(a=new Date(+n)),t(n,i),e(n);while(aaE(t=>{if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)},(e,r)=>{if(e>=e){if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););}}),n&&(o.count=(t,r)=>(ax.setTime(+t),aw.setTime(+r),e(ax),e(aw),Math.floor(n(ax,aw))),o.every=e=>isFinite(e=Math.floor(e))&&e>0?e>1?o.filter(r?t=>r(t)%e==0:t=>o.count(0,t)%e==0):o:null),o}let aO=aE(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);aO.every=e=>isFinite(e=Math.floor(e))&&e>0?e>1?aE(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):aO:null,aO.range;let aS=aE(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+1e3*t)},(e,t)=>(t-e)/1e3,e=>e.getUTCSeconds());aS.range;let aC=aE(e=>{e.setTime(e-e.getMilliseconds()-1e3*e.getSeconds())},(e,t)=>{e.setTime(+e+6e4*t)},(e,t)=>(t-e)/6e4,e=>e.getMinutes());aC.range;let ak=aE(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+6e4*t)},(e,t)=>(t-e)/6e4,e=>e.getUTCMinutes());ak.range;let aj=aE(e=>{e.setTime(e-e.getMilliseconds()-1e3*e.getSeconds()-6e4*e.getMinutes())},(e,t)=>{e.setTime(+e+36e5*t)},(e,t)=>(t-e)/36e5,e=>e.getHours());aj.range;let aP=aE(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+36e5*t)},(e,t)=>(t-e)/36e5,e=>e.getUTCHours());aP.range;let aM=aE(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/864e5,e=>e.getDate()-1);aM.range;let aA=aE(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>e.getUTCDate()-1);aA.range;let aT=aE(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>Math.floor(e/864e5));function aN(e){return aE(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(e,t)=>{e.setDate(e.getDate()+7*t)},(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/6048e5)}aT.range;let aI=aN(0),aZ=aN(1),aR=aN(2),a_=aN(3),aD=aN(4),aB=aN(5),aL=aN(6);function az(e){return aE(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+7*t)},(e,t)=>(t-e)/6048e5)}aI.range,aZ.range,aR.range,a_.range,aD.range,aB.range,aL.range;let aF=az(0),aH=az(1),aW=az(2),aq=az(3),aV=az(4),aU=az(5),aX=az(6);aF.range,aH.range,aW.range,aq.range,aV.range,aU.range,aX.range;let aG=aE(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());aG.range;let aK=aE(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());aK.range;let a$=aE(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());a$.every=e=>isFinite(e=Math.floor(e))&&e>0?aE(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)}):null,a$.range;let aY=aE(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());function aQ(e,t,n,r,o,i){let a=[[aS,1,1e3],[aS,5,5e3],[aS,15,15e3],[aS,30,3e4],[i,1,6e4],[i,5,3e5],[i,15,9e5],[i,30,18e5],[o,1,36e5],[o,3,108e5],[o,6,216e5],[o,12,432e5],[r,1,864e5],[r,2,1728e5],[n,1,6048e5],[t,1,2592e6],[t,3,7776e6],[e,1,31536e6]];function c(t,n,r){let o=Math.abs(n-t)/r,i=o1(e=>{let[,,t]=e;return t}).right(a,o);if(i===a.length)return e.every(oQ(t/31536e6,n/31536e6,r));if(0===i)return aO.every(Math.max(oQ(t,n,r),1));let[c,l]=a[o/a[i-1][2]isFinite(e=Math.floor(e))&&e>0?aE(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)}):null,aY.range;let[aJ,a0]=aQ(aY,aK,aF,aT,aP,ak),[a1,a2]=aQ(a$,aG,aI,aM,aj,aC);function a4(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function a5(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function a6(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}var a3={"-":"",_:" ",0:"0"},a8=/^\s*\d+/,a9=/^%/,a7=/[\\^$*+?|[\]().{}]/g;function ce(e,t,n){var r=e<0?"-":"",o=(r?-e:e)+"",i=o.length;return r+(i[e.toLowerCase(),t]))}function co(e,t,n){var r=a8.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function ci(e,t,n){var r=a8.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function ca(e,t,n){var r=a8.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function cc(e,t,n){var r=a8.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function cl(e,t,n){var r=a8.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function cu(e,t,n){var r=a8.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function cs(e,t,n){var r=a8.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function cf(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function cd(e,t,n){var r=a8.exec(t.slice(n,n+1));return r?(e.q=3*r[0]-3,n+r[0].length):-1}function cp(e,t,n){var r=a8.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function ch(e,t,n){var r=a8.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function cm(e,t,n){var r=a8.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function cv(e,t,n){var r=a8.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function cg(e,t,n){var r=a8.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function cy(e,t,n){var r=a8.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function cb(e,t,n){var r=a8.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function cx(e,t,n){var r=a8.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function cw(e,t,n){var r=a9.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function cE(e,t,n){var r=a8.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function cO(e,t,n){var r=a8.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function cS(e,t){return ce(e.getDate(),t,2)}function cC(e,t){return ce(e.getHours(),t,2)}function ck(e,t){return ce(e.getHours()%12||12,t,2)}function cj(e,t){return ce(1+aM.count(a$(e),e),t,3)}function cP(e,t){return ce(e.getMilliseconds(),t,3)}function cM(e,t){return cP(e,t)+"000"}function cA(e,t){return ce(e.getMonth()+1,t,2)}function cT(e,t){return ce(e.getMinutes(),t,2)}function cN(e,t){return ce(e.getSeconds(),t,2)}function cI(e){var t=e.getDay();return 0===t?7:t}function cZ(e,t){return ce(aI.count(a$(e)-1,e),t,2)}function cR(e){var t=e.getDay();return t>=4||0===t?aD(e):aD.ceil(e)}function c_(e,t){return e=cR(e),ce(aD.count(a$(e),e)+(4===a$(e).getDay()),t,2)}function cD(e){return e.getDay()}function cB(e,t){return ce(aZ.count(a$(e)-1,e),t,2)}function cL(e,t){return ce(e.getFullYear()%100,t,2)}function cz(e,t){return ce((e=cR(e)).getFullYear()%100,t,2)}function cF(e,t){return ce(e.getFullYear()%1e4,t,4)}function cH(e,t){var n=e.getDay();return ce((e=n>=4||0===n?aD(e):aD.ceil(e)).getFullYear()%1e4,t,4)}function cW(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+ce(t/60|0,"0",2)+ce(t%60,"0",2)}function cq(e,t){return ce(e.getUTCDate(),t,2)}function cV(e,t){return ce(e.getUTCHours(),t,2)}function cU(e,t){return ce(e.getUTCHours()%12||12,t,2)}function cX(e,t){return ce(1+aA.count(aY(e),e),t,3)}function cG(e,t){return ce(e.getUTCMilliseconds(),t,3)}function cK(e,t){return cG(e,t)+"000"}function c$(e,t){return ce(e.getUTCMonth()+1,t,2)}function cY(e,t){return ce(e.getUTCMinutes(),t,2)}function cQ(e,t){return ce(e.getUTCSeconds(),t,2)}function cJ(e){var t=e.getUTCDay();return 0===t?7:t}function c0(e,t){return ce(aF.count(aY(e)-1,e),t,2)}function c1(e){var t=e.getUTCDay();return t>=4||0===t?aV(e):aV.ceil(e)}function c2(e,t){return e=c1(e),ce(aV.count(aY(e),e)+(4===aY(e).getUTCDay()),t,2)}function c4(e){return e.getUTCDay()}function c5(e,t){return ce(aH.count(aY(e)-1,e),t,2)}function c6(e,t){return ce(e.getUTCFullYear()%100,t,2)}function c3(e,t){return ce((e=c1(e)).getUTCFullYear()%100,t,2)}function c8(e,t){return ce(e.getUTCFullYear()%1e4,t,4)}function c9(e,t){var n=e.getUTCDay();return ce((e=n>=4||0===n?aV(e):aV.ceil(e)).getUTCFullYear()%1e4,t,4)}function c7(){return"+0000"}function le(){return"%"}function lt(e){return+e}function ln(e){return Math.floor(+e/1e3)}function lr(e){return new Date(e)}function lo(e){return e instanceof Date?+e:+new Date(+e)}function li(e,t,n,r,o,i,a,c,l,u){var s=iG(),f=s.invert,d=s.domain,p=u(".%L"),h=u(":%S"),m=u("%I:%M"),v=u("%I %p"),g=u("%a %d"),y=u("%b %d"),b=u("%B"),x=u("%Y");function w(e){return(l(e)1)for(var n,r,o,i=1,a=e[t[0]],c=a.length;i=0;)n[t]=t;return n}function ly(e,t){return e[t]}function lb(e){let t=[];return t.key=e,t}E=(w=function(e){var t=e.dateTime,n=e.date,r=e.time,o=e.periods,i=e.days,a=e.shortDays,c=e.months,l=e.shortMonths,u=cn(o),s=cr(o),f=cn(i),d=cr(i),p=cn(a),h=cr(a),m=cn(c),v=cr(c),g=cn(l),y=cr(l),b={a:function(e){return a[e.getDay()]},A:function(e){return i[e.getDay()]},b:function(e){return l[e.getMonth()]},B:function(e){return c[e.getMonth()]},c:null,d:cS,e:cS,f:cM,g:cz,G:cH,H:cC,I:ck,j:cj,L:cP,m:cA,M:cT,p:function(e){return o[+(e.getHours()>=12)]},q:function(e){return 1+~~(e.getMonth()/3)},Q:lt,s:ln,S:cN,u:cI,U:cZ,V:c_,w:cD,W:cB,x:null,X:null,y:cL,Y:cF,Z:cW,"%":le},x={a:function(e){return a[e.getUTCDay()]},A:function(e){return i[e.getUTCDay()]},b:function(e){return l[e.getUTCMonth()]},B:function(e){return c[e.getUTCMonth()]},c:null,d:cq,e:cq,f:cK,g:c3,G:c9,H:cV,I:cU,j:cX,L:cG,m:c$,M:cY,p:function(e){return o[+(e.getUTCHours()>=12)]},q:function(e){return 1+~~(e.getUTCMonth()/3)},Q:lt,s:ln,S:cQ,u:cJ,U:c0,V:c2,w:c4,W:c5,x:null,X:null,y:c6,Y:c8,Z:c7,"%":le},w={a:function(e,t,n){var r=p.exec(t.slice(n));return r?(e.w=h.get(r[0].toLowerCase()),n+r[0].length):-1},A:function(e,t,n){var r=f.exec(t.slice(n));return r?(e.w=d.get(r[0].toLowerCase()),n+r[0].length):-1},b:function(e,t,n){var r=g.exec(t.slice(n));return r?(e.m=y.get(r[0].toLowerCase()),n+r[0].length):-1},B:function(e,t,n){var r=m.exec(t.slice(n));return r?(e.m=v.get(r[0].toLowerCase()),n+r[0].length):-1},c:function(e,n,r){return S(e,t,n,r)},d:ch,e:ch,f:cx,g:cs,G:cu,H:cv,I:cv,j:cm,L:cb,m:cp,M:cg,p:function(e,t,n){var r=u.exec(t.slice(n));return r?(e.p=s.get(r[0].toLowerCase()),n+r[0].length):-1},q:cd,Q:cE,s:cO,S:cy,u:ci,U:ca,V:cc,w:co,W:cl,x:function(e,t,r){return S(e,n,t,r)},X:function(e,t,n){return S(e,r,t,n)},y:cs,Y:cu,Z:cf,"%":cw};function E(e,t){return function(n){var r,o,i,a=[],c=-1,l=0,u=e.length;for(n instanceof Date||(n=new Date(+n));++c53)return null;"w"in i||(i.w=1),"Z"in i?(r=(o=(r=a5(a6(i.y,0,1))).getUTCDay())>4||0===o?aH.ceil(r):aH(r),r=aA.offset(r,(i.V-1)*7),i.y=r.getUTCFullYear(),i.m=r.getUTCMonth(),i.d=r.getUTCDate()+(i.w+6)%7):(r=(o=(r=a4(a6(i.y,0,1))).getDay())>4||0===o?aZ.ceil(r):aZ(r),r=aM.offset(r,(i.V-1)*7),i.y=r.getFullYear(),i.m=r.getMonth(),i.d=r.getDate()+(i.w+6)%7)}else("W"in i||"U"in i)&&("w"in i||(i.w="u"in i?i.u%7:"W"in i?1:0),o="Z"in i?a5(a6(i.y,0,1)).getUTCDay():a4(a6(i.y,0,1)).getDay(),i.m=0,i.d="W"in i?(i.w+6)%7+7*i.W-(o+5)%7:i.w+7*i.U-(o+6)%7);return"Z"in i?(i.H+=i.Z/100|0,i.M+=i.Z%100,a5(i)):a4(i)}}function S(e,t,n,r){for(var o,i,a=0,c=t.length,l=n.length;a=l)return -1;if(37===(o=t.charCodeAt(a++))){if(!(i=w[(o=t.charAt(a++))in a3?t.charAt(a++):o])||(r=i(e,n,r))<0)return -1}else if(o!=n.charCodeAt(r++))return -1}return r}return b.x=E(n,b),b.X=E(r,b),b.c=E(t,b),x.x=E(n,x),x.X=E(r,x),x.c=E(t,x),{format:function(e){var t=E(e+="",b);return t.toString=function(){return e},t},parse:function(e){var t=O(e+="",!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=E(e+="",x);return t.toString=function(){return e},t},utcParse:function(e){var t=O(e+="",!0);return t.toString=function(){return e},t}}}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]})).format,w.parse,O=w.utcFormat,w.utcParse,Array.prototype.slice;var lx=n(5037),lw=n.n(lx),lE=n(30264),lO=n.n(lE),lS=n(20734),lC=n.n(lS),lk=n(93574),lj=n.n(lk),lP=n(6122),lM=n.n(lP);function lA(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=t?n.apply(void 0,o):e(t-a,lZ(function(){for(var e=arguments.length,t=Array(e),r=0;re.length)&&(t=e.length);for(var n=0,r=Array(t);nr&&(o=r,i=n),[o,i]}function lX(e,t,n){if(e.lte(0))return new(lM())(0);var r=lF.getDigitCount(e.toNumber()),o=new(lM())(10).pow(r),i=e.div(o),a=1!==r?.05:.1,c=new(lM())(Math.ceil(i.div(a).toNumber())).add(n).mul(a).mul(o);return t?c:new(lM())(Math.ceil(c))}function lG(e,t,n){var r=1,o=new(lM())(e);if(!o.isint()&&n){var i=Math.abs(e);i<1?(r=new(lM())(10).pow(lF.getDigitCount(e)-1),o=new(lM())(Math.floor(o.div(r).toNumber())).mul(r)):i>1&&(o=new(lM())(Math.floor(e)))}else 0===e?o=new(lM())(Math.floor((t-1)/2)):n||(o=new(lM())(Math.floor(e)));var a=Math.floor((t-1)/2);return lB(lD(function(e){return o.add(new(lM())(e-a).mul(r)).toNumber()}),l_)(0,t)}var lK=lz(function(e){var t=lW(e,2),n=t[0],r=t[1],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6,i=!(arguments.length>2)||void 0===arguments[2]||arguments[2],a=Math.max(o,2),c=lW(lU([n,r]),2),l=c[0],u=c[1];if(l===-1/0||u===1/0){var s=u===1/0?[l].concat(lH(l_(0,o-1).map(function(){return 1/0}))):[].concat(lH(l_(0,o-1).map(function(){return-1/0})),[u]);return n>r?lL(s):s}if(l===u)return lG(l,o,i);var f=function e(t,n,r,o){var i,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;if(!Number.isFinite((n-t)/(r-1)))return{step:new(lM())(0),tickMin:new(lM())(0),tickMax:new(lM())(0)};var c=lX(new(lM())(n).sub(t).div(r-1),o,a),l=Math.ceil((i=t<=0&&n>=0?new(lM())(0):(i=new(lM())(t).add(n).div(2)).sub(new(lM())(i).mod(c))).sub(t).div(c).toNumber()),u=Math.ceil(new(lM())(n).sub(i).div(c).toNumber()),s=l+u+1;return s>r?e(t,n,r,o,a+1):(s0?u+(r-s):u,l=n>0?l:l+(r-s)),{step:c,tickMin:i.sub(new(lM())(l).mul(c)),tickMax:i.add(new(lM())(u).mul(c))})}(l,u,a,i),d=f.step,p=f.tickMin,h=f.tickMax,m=lF.rangeStep(p,h.add(new(lM())(.1).mul(d)),d);return n>r?lL(m):m});lz(function(e){var t=lW(e,2),n=t[0],r=t[1],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6,i=!(arguments.length>2)||void 0===arguments[2]||arguments[2],a=Math.max(o,2),c=lW(lU([n,r]),2),l=c[0],u=c[1];if(l===-1/0||u===1/0)return[n,r];if(l===u)return lG(l,o,i);var s=lX(new(lM())(u).sub(l).div(a-1),i,0),f=lB(lD(function(e){return new(lM())(l).add(new(lM())(e).mul(s)).toNumber()}),l_)(0,a).filter(function(e){return e>=l&&e<=u});return n>r?lL(f):f});var l$=lz(function(e,t){var n=lW(e,2),r=n[0],o=n[1],i=!(arguments.length>2)||void 0===arguments[2]||arguments[2],a=lW(lU([r,o]),2),c=a[0],l=a[1];if(c===-1/0||l===1/0)return[r,o];if(c===l)return[c];var u=lX(new(lM())(l).sub(c).div(Math.max(t,2)-1),i,0),s=[].concat(lH(lF.rangeStep(new(lM())(c),new(lM())(l).sub(new(lM())(.99).mul(u)),u)),[l]);return r>o?lL(s):s}),lY=["offset","layout","width","dataKey","data","dataPointFormatter","xAxis","yAxis"];function lQ(){return(lQ=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,lY),!1);"x"===e.direction&&"number"!==c.type&&eU(!1);var s=i.map(function(e){var i,s,f=a(e,o),d=f.x,p=f.y,h=f.value,m=f.errorVal;if(!m)return null;var v=[];if(Array.isArray(m)){var g=function(e){if(Array.isArray(e))return e}(m)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,c=[],l=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return c}}(m,2)||function(e,t){if(e){if("string"==typeof e)return lJ(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return lJ(e,t)}}(m,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();i=g[0],s=g[1]}else i=s=m;if("vertical"===n){var y=c.scale,b=p+t,x=b+r,w=b-r,E=y(h-i),O=y(h+s);v.push({x1:O,y1:x,x2:O,y2:w}),v.push({x1:E,y1:b,x2:O,y2:b}),v.push({x1:E,y1:x,x2:E,y2:w})}else if("horizontal"===n){var S=l.scale,C=d+t,k=C-r,j=C+r,P=S(h-i),M=S(h+s);v.push({x1:k,y1:M,x2:j,y2:M}),v.push({x1:C,y1:P,x2:C,y2:M}),v.push({x1:k,y1:P,x2:j,y2:P})}return A.createElement(eQ,lQ({className:"recharts-errorBar",key:"bar-".concat(v.map(function(e){return"".concat(e.x1,"-").concat(e.x2,"-").concat(e.y1,"-").concat(e.y2)}))},u),v.map(function(e){return A.createElement("line",lQ({},e,{key:"line-".concat(e.x1,"-").concat(e.x2,"-").concat(e.y1,"-").concat(e.y2)}))}))});return A.createElement(eQ,{className:"recharts-errorBars"},s)}function l1(e){return(l1="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function l2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function l4(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=-1,a=null!==(t=null==n?void 0:n.length)&&void 0!==t?t:0;if(a<=1)return 0;if(o&&"angleAxis"===o.axisType&&1e-6>=Math.abs(Math.abs(o.range[1]-o.range[0])-360))for(var c=o.range,l=0;l0?r[l-1].coordinate:r[a-1].coordinate,s=r[l].coordinate,f=l>=a-1?r[0].coordinate:r[l+1].coordinate,d=void 0;if(W(s-u)!==W(f-s)){var p=[];if(W(f-s)===W(c[1]-c[0])){d=f;var h=s+c[1]-c[0];p[0]=Math.min(h,(h+u)/2),p[1]=Math.max(h,(h+u)/2)}else{d=u;var m=f+c[1]-c[0];p[0]=Math.min(s,(m+s)/2),p[1]=Math.max(s,(m+s)/2)}var v=[Math.min(s,(d+s)/2),Math.max(s,(d+s)/2)];if(e>v[0]&&e<=v[1]||e>=p[0]&&e<=p[1]){i=r[l].index;break}}else{var g=Math.min(u,f),y=Math.max(u,f);if(e>(g+s)/2&&e<=(y+s)/2){i=r[l].index;break}}}else for(var b=0;b0&&b(n[b].coordinate+n[b-1].coordinate)/2&&e<=(n[b].coordinate+n[b+1].coordinate)/2||b===a-1&&e>(n[b].coordinate+n[b-1].coordinate)/2){i=n[b].index;break}return i},uo=function(e){var t,n=e.type.displayName,r=e.props,o=r.stroke,i=r.fill;switch(n){case"Line":t=o;break;case"Area":case"Radar":t=o&&"none"!==o?o:i;break;default:t=i}return t},ui=function(e){var t=e.barSize,n=e.stackGroups,r=void 0===n?{}:n;if(!r)return{};for(var o={},i=Object.keys(r),a=0,c=i.length;a=0});if(m&&m.length){var v=m[0].props.barSize,g=m[0].props[h];o[g]||(o[g]=[]),o[g].push({item:m[0],stackList:m.slice(1),barSize:en()(v)?t:v})}}return o},ua=function(e){var t,n=e.barGap,r=e.barCategoryGap,o=e.bandSize,i=e.sizeList,a=void 0===i?[]:i,c=e.maxBarSize,l=a.length;if(l<1)return null;var u=K(n,o,0,!0),s=[];if(a[0].barSize===+a[0].barSize){var f=!1,d=o/l,p=a.reduce(function(e,t){return e+t.barSize||0},0);(p+=(l-1)*u)>=o&&(p-=(l-1)*u,u=0),p>=o&&d>0&&(f=!0,d*=.9,p=l*d);var h={offset:((o-p)/2>>0)-u,size:0};t=a.reduce(function(e,t){var n={item:t.item,position:{offset:h.offset+h.size+u,size:f?d:t.barSize}},r=[].concat(l7(e),[n]);return h=r[r.length-1].position,t.stackList&&t.stackList.length&&t.stackList.forEach(function(e){r.push({item:e,position:h})}),r},s)}else{var m=K(r,o,0,!0);o-2*m-(l-1)*u<=0&&(u=0);var v=(o-2*m-(l-1)*u)/l;v>1&&(v>>=0);var g=c===+c?Math.min(v,c):v;t=a.reduce(function(e,t,n){var r=[].concat(l7(e),[{item:t.item,position:{offset:m+(v+u)*n+(v-g)/2,size:g}}]);return t.stackList&&t.stackList.length&&t.stackList.forEach(function(e){r.push({item:e,position:r[r.length-1].position})}),r},s)}return t},uc=function(e,t,n,r){var o=n.children,i=n.width,a=n.margin,c=l5({children:o,legendWidth:i-(a.left||0)-(a.right||0)});if(c){var l=r||{},u=l.width,s=l.height,f=c.align,d=c.verticalAlign,p=c.layout;if(("vertical"===p||"horizontal"===p&&"middle"===d)&&"center"!==f&&V(e[f]))return l8(l8({},e),{},l9({},f,e[f]+(u||0)));if(("horizontal"===p||"vertical"===p&&"center"===f)&&"middle"!==d&&V(e[d]))return l8(l8({},e),{},l9({},d,e[d]+(s||0)))}return e},ul=function(e,t,n,r,o){var i=eO(t.props.children,l0).filter(function(e){var t;return t=e.props.direction,!!en()(o)||("horizontal"===r?"yAxis"===o:"vertical"===r||"x"===t?"xAxis"===o:"y"!==t||"yAxis"===o)});if(i&&i.length){var a=i.map(function(e){return e.props.dataKey});return e.reduce(function(e,t){var r=ut(t,n,0),o=Array.isArray(r)?[lO()(r),lw()(r)]:[r,r],i=a.reduce(function(e,n){var r=ut(t,n,0),i=o[0]-Math.abs(Array.isArray(r)?r[0]:r),a=o[1]+Math.abs(Array.isArray(r)?r[1]:r);return[Math.min(i,e[0]),Math.max(a,e[1])]},[1/0,-1/0]);return[Math.min(i[0],e[0]),Math.max(i[1],e[1])]},[1/0,-1/0])}return null},uu=function(e,t,n,r,o){var i=t.map(function(t){return ul(e,t,n,o,r)}).filter(function(e){return!en()(e)});return i&&i.length?i.reduce(function(e,t){return[Math.min(e[0],t[0]),Math.max(e[1],t[1])]},[1/0,-1/0]):null},us=function(e,t,n,r,o){var i=t.map(function(t){var i=t.props.dataKey;return"number"===n&&i&&ul(e,t,i,r)||un(e,i,n,o)});if("number"===n)return i.reduce(function(e,t){return[Math.min(e[0],t[0]),Math.max(e[1],t[1])]},[1/0,-1/0]);var a={};return i.reduce(function(e,t){for(var n=0,r=t.length;n=2?2*W(a[0]-a[1])*l:l,t&&(e.ticks||e.niceTicks))?(e.ticks||e.niceTicks).map(function(e){return{coordinate:r(o?o.indexOf(e):e)+l,value:e,offset:l}}).filter(function(e){return!B()(e.coordinate)}):e.isCategorical&&e.categoricalDomain?e.categoricalDomain.map(function(e,t){return{coordinate:r(e)+l,value:e,index:t,offset:l}}):r.ticks&&!n?r.ticks(e.tickCount).map(function(e){return{coordinate:r(e)+l,value:e,offset:l}}):r.domain().map(function(e,t){return{coordinate:r(e)+l,value:o?o[e]:e,index:t,offset:l}})},uh=new WeakMap,um=function(e,t){if("function"!=typeof t)return e;uh.has(e)||uh.set(e,new WeakMap);var n=uh.get(e);if(n.has(t))return n.get(t);var r=function(){e.apply(void 0,arguments),t.apply(void 0,arguments)};return n.set(t,r),r},uv=function(e,t,n){var r=e.scale,o=e.type,i=e.layout,a=e.axisType;if("auto"===r)return"radial"===i&&"radiusAxis"===a?{scale:os(),realScaleType:"band"}:"radial"===i&&"angleAxis"===a?{scale:i8(),realScaleType:"linear"}:"category"===o&&t&&(t.indexOf("LineChart")>=0||t.indexOf("AreaChart")>=0||t.indexOf("ComposedChart")>=0&&!n)?{scale:of(),realScaleType:"point"}:"category"===o?{scale:os(),realScaleType:"band"}:{scale:i8(),realScaleType:"linear"};if(_()(r)){var c="scale".concat(nQ()(r));return{scale:(S[c]||of)(),realScaleType:S[c]?c:"point"}}return eo()(r)?{scale:r}:{scale:of(),realScaleType:"point"}},ug=function(e){var t=e.domain();if(t&&!(t.length<=2)){var n=t.length,r=e.range(),o=Math.min(r[0],r[1])-1e-4,i=Math.max(r[0],r[1])+1e-4,a=e(t[0]),c=e(t[n-1]);(ai||ci)&&e.domain([t[0],t[n-1]])}},uy=function(e,t){if(!e)return null;for(var n=0,r=e.length;nr)&&(o[1]=r),o[0]>r&&(o[0]=r),o[1]=0?(e[a][n][0]=o,e[a][n][1]=o+c,o=e[a][n][1]):(e[a][n][0]=i,e[a][n][1]=i+c,i=e[a][n][1])}},expand:function(e,t){if((r=e.length)>0){for(var n,r,o,i=0,a=e[0].length;i0){for(var n,r=0,o=e[t[0]],i=o.length;r0&&(r=(n=e[t[0]]).length)>0){for(var n,r,o,i=0,a=1;a=0?(e[i][n][0]=o,e[i][n][1]=o+a,o=e[i][n][1]):(e[i][n][0]=0,e[i][n][1]=0)}}},uw=function(e,t,n){var r=t.map(function(e){return e.props.dataKey}),o=ux[n];return(function(){var e=ro([]),t=lg,n=lm,r=ly;function o(o){var i,a,c=Array.from(e.apply(this,arguments),lb),l=c.length,u=-1;for(let e of o)for(i=0,++u;i=0?0:o<0?o:r}return n[0]},uk=function(e,t){var n=e.props.stackId;if(U(n)){var r=t[n];if(r){var o=r.items.indexOf(e);return o>=0?r.stackedData[o]:null}}return null},uj=function(e,t,n){return Object.keys(e).reduce(function(r,o){var i=e[o].stackedData.reduce(function(e,r){var o=r.slice(t,n+1).reduce(function(e,t){return[lO()(t.concat([e[0]]).filter(V)),lw()(t.concat([e[1]]).filter(V))]},[1/0,-1/0]);return[Math.min(e[0],o[0]),Math.max(e[1],o[1])]},[1/0,-1/0]);return[Math.min(i[0],r[0]),Math.max(i[1],r[1])]},[1/0,-1/0]).map(function(e){return e===1/0||e===-1/0?0:e})},uP=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,uM=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,uA=function(e,t,n){if(eo()(e))return e(t,n);if(!Array.isArray(e))return t;var r=[];if(V(e[0]))r[0]=n?e[0]:Math.min(e[0],t[0]);else if(uP.test(e[0])){var o=+uP.exec(e[0])[1];r[0]=t[0]-o}else eo()(e[0])?r[0]=e[0](t[0]):r[0]=t[0];if(V(e[1]))r[1]=n?e[1]:Math.max(e[1],t[1]);else if(uM.test(e[1])){var i=+uM.exec(e[1])[1];r[1]=t[1]+i}else eo()(e[1])?r[1]=e[1](t[1]):r[1]=t[1];return r},uT=function(e,t,n){if(e&&e.scale&&e.scale.bandwidth){var r=e.scale.bandwidth();if(!n||r>0)return r}if(e&&t&&t.length>=2){for(var o=eF()(t,function(e){return e.coordinate}),i=1/0,a=1,c=o.length;a0&&t.handleDrag(e.changedTouches[0])}),uG(uU(t),"handleDragEnd",function(){t.setState({isTravellerMoving:!1,isSlideMoving:!1},function(){var e=t.props,n=e.endIndex,r=e.onDragEnd,o=e.startIndex;null==r||r({endIndex:n,startIndex:o})}),t.detachDragEndListener()}),uG(uU(t),"handleLeaveWrapper",function(){(t.state.isTravellerMoving||t.state.isSlideMoving)&&(t.leaveTimer=window.setTimeout(t.handleDragEnd,t.props.leaveTimeOut))}),uG(uU(t),"handleEnterSlideOrTraveller",function(){t.setState({isTextActive:!0})}),uG(uU(t),"handleLeaveSlideOrTraveller",function(){t.setState({isTextActive:!1})}),uG(uU(t),"handleSlideDragStart",function(e){var n=uY(e)?e.changedTouches[0]:e;t.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:n.pageX}),t.attachDragEndListener()}),t.travellerDragStartHandlers={startX:t.handleTravellerDragStart.bind(uU(t),"startX"),endX:t.handleTravellerDragStart.bind(uU(t),"endX")},t.state={},t}return n=[{key:"componentWillUnmount",value:function(){this.leaveTimer&&(clearTimeout(this.leaveTimer),this.leaveTimer=null),this.detachDragEndListener()}},{key:"getIndex",value:function(e){var t=e.startX,n=e.endX,r=this.state.scaleValues,o=this.props,a=o.gap,c=o.data.length-1,l=i.getIndexInRange(r,Math.min(t,n)),u=i.getIndexInRange(r,Math.max(t,n));return{startIndex:l-l%a,endIndex:u===c?c:u-u%a}}},{key:"getTextOfTick",value:function(e){var t=this.props,n=t.data,r=t.tickFormatter,o=t.dataKey,i=ut(n[e],o,e);return eo()(r)?r(i,e):i}},{key:"attachDragEndListener",value:function(){window.addEventListener("mouseup",this.handleDragEnd,!0),window.addEventListener("touchend",this.handleDragEnd,!0),window.addEventListener("mousemove",this.handleDrag,!0)}},{key:"detachDragEndListener",value:function(){window.removeEventListener("mouseup",this.handleDragEnd,!0),window.removeEventListener("touchend",this.handleDragEnd,!0),window.removeEventListener("mousemove",this.handleDrag,!0)}},{key:"handleSlideDrag",value:function(e){var t=this.state,n=t.slideMoveStartX,r=t.startX,o=t.endX,i=this.props,a=i.x,c=i.width,l=i.travellerWidth,u=i.startIndex,s=i.endIndex,f=i.onChange,d=e.pageX-n;d>0?d=Math.min(d,a+c-l-o,a+c-l-r):d<0&&(d=Math.max(d,a-r,a-o));var p=this.getIndex({startX:r+d,endX:o+d});(p.startIndex!==u||p.endIndex!==s)&&f&&f(p),this.setState({startX:r+d,endX:o+d,slideMoveStartX:e.pageX})}},{key:"handleTravellerDragStart",value:function(e,t){var n=uY(t)?t.changedTouches[0]:t;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:e,brushMoveStartX:n.pageX}),this.attachDragEndListener()}},{key:"handleTravellerMove",value:function(e){var t,n=this.state,r=n.brushMoveStartX,o=n.movingTravellerId,i=n.endX,a=n.startX,c=this.state[o],l=this.props,u=l.x,s=l.width,f=l.travellerWidth,d=l.onChange,p=l.gap,h=l.data,m={startX:this.state.startX,endX:this.state.endX},v=e.pageX-r;v>0?v=Math.min(v,u+s-f-c):v<0&&(v=Math.max(v,u-c)),m[o]=c+v;var g=this.getIndex(m),y=g.startIndex,b=g.endIndex,x=function(){var e=h.length-1;return"startX"===o&&(i>a?y%p==0:b%p==0)||ia?b%p==0:y%p==0)||i>a&&b===e};this.setState((uG(t={},o,c+v),uG(t,"brushMoveStartX",e.pageX),t),function(){d&&x()&&d(g)})}},{key:"handleTravellerMoveKeyboard",value:function(e,t){var n=this,r=this.state,o=r.scaleValues,i=r.startX,a=r.endX,c=this.state[t],l=o.indexOf(c);if(-1!==l){var u=l+e;if(-1!==u&&!(u>=o.length)){var s=o[u];"startX"===t&&s>=a||"endX"===t&&s<=i||this.setState(uG({},t,s),function(){n.props.onChange(n.getIndex({startX:n.state.startX,endX:n.state.endX}))})}}}},{key:"renderBackground",value:function(){var e=this.props,t=e.x,n=e.y,r=e.width,o=e.height,i=e.fill,a=e.stroke;return A.createElement("rect",{stroke:a,fill:i,x:t,y:n,width:r,height:o})}},{key:"renderPanorama",value:function(){var e=this.props,t=e.x,n=e.y,r=e.width,o=e.height,i=e.data,a=e.children,c=e.padding,l=A.Children.only(a);return l?A.cloneElement(l,{x:t,y:n,width:r,height:o,margin:c,compact:!0,data:i}):null}},{key:"renderTravellerLayer",value:function(e,t){var n=this,r=this.props,o=r.y,a=r.travellerWidth,c=r.height,l=r.traveller,u=r.ariaLabel,s=r.data,f=r.startIndex,d=r.endIndex,p=Math.max(e,this.props.x),h=uW(uW({},eP(this.props,!1)),{},{x:p,y:o,width:a,height:c}),m=u||"Min value: ".concat(s[f].name,", Max value: ").concat(s[d].name);return A.createElement(eQ,{tabIndex:0,role:"slider","aria-label":m,"aria-valuenow":e,className:"recharts-brush-traveller",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.travellerDragStartHandlers[t],onTouchStart:this.travellerDragStartHandlers[t],onKeyDown:function(e){["ArrowLeft","ArrowRight"].includes(e.key)&&(e.preventDefault(),e.stopPropagation(),n.handleTravellerMoveKeyboard("ArrowRight"===e.key?1:-1,t))},onFocus:function(){n.setState({isTravellerFocused:!0})},onBlur:function(){n.setState({isTravellerFocused:!1})},style:{cursor:"col-resize"}},i.renderTraveller(l,h))}},{key:"renderSlide",value:function(e,t){var n=this.props,r=n.y,o=n.height,i=n.stroke,a=n.travellerWidth;return A.createElement("rect",{className:"recharts-brush-slide",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.handleSlideDragStart,onTouchStart:this.handleSlideDragStart,style:{cursor:"move"},stroke:"none",fill:i,fillOpacity:.2,x:Math.min(e,t)+a,y:r,width:Math.max(Math.abs(t-e)-a,0),height:o})}},{key:"renderText",value:function(){var e=this.props,t=e.startIndex,n=e.endIndex,r=e.y,o=e.height,i=e.travellerWidth,a=e.stroke,c=this.state,l=c.startX,u=c.endX,s={pointerEvents:"none",fill:a};return A.createElement(eQ,{className:"recharts-brush-texts"},A.createElement(oV,uF({textAnchor:"end",verticalAnchor:"middle",x:Math.min(l,u)-5,y:r+o/2},s),this.getTextOfTick(t)),A.createElement(oV,uF({textAnchor:"start",verticalAnchor:"middle",x:Math.max(l,u)+i+5,y:r+o/2},s),this.getTextOfTick(n)))}},{key:"render",value:function(){var e=this.props,t=e.data,n=e.className,r=e.children,o=e.x,i=e.y,a=e.width,c=e.height,l=e.alwaysShowText,u=this.state,s=u.startX,f=u.endX,d=u.isTextActive,p=u.isSlideMoving,h=u.isTravellerMoving,m=u.isTravellerFocused;if(!t||!t.length||!V(o)||!V(i)||!V(a)||!V(c)||a<=0||c<=0)return null;var v=T("recharts-brush",n),g=1===A.Children.count(r),y=uL("userSelect","none");return A.createElement(eQ,{className:v,onMouseLeave:this.handleLeaveWrapper,onTouchMove:this.handleTouchMove,style:y},this.renderBackground(),g&&this.renderPanorama(),this.renderSlide(s,f),this.renderTravellerLayer(s,"startX"),this.renderTravellerLayer(f,"endX"),(d||p||h||m||l)&&this.renderText())}}],r=[{key:"renderDefaultTraveller",value:function(e){var t=e.x,n=e.y,r=e.width,o=e.height,i=e.stroke,a=Math.floor(n+o/2)-1;return A.createElement(A.Fragment,null,A.createElement("rect",{x:t,y:n,width:r,height:o,fill:i,stroke:"none"}),A.createElement("line",{x1:t+1,y1:a,x2:t+r-1,y2:a,fill:"none",stroke:"#fff"}),A.createElement("line",{x1:t+1,y1:a+2,x2:t+r-1,y2:a+2,fill:"none",stroke:"#fff"}))}},{key:"renderTraveller",value:function(e,t){return A.isValidElement(e)?A.cloneElement(e,t):eo()(e)?e(t):i.renderDefaultTraveller(t)}},{key:"getDerivedStateFromProps",value:function(e,t){var n=e.data,r=e.width,o=e.x,i=e.travellerWidth,a=e.updateId,c=e.startIndex,l=e.endIndex;if(n!==t.prevData||a!==t.prevUpdateId)return uW({prevData:n,prevTravellerWidth:i,prevUpdateId:a,prevX:o,prevWidth:r},n&&n.length?u$({data:n,width:r,x:o,travellerWidth:i,startIndex:c,endIndex:l}):{scale:null,scaleValues:null});if(t.scale&&(r!==t.prevWidth||o!==t.prevX||i!==t.prevTravellerWidth)){t.scale.range([o,o+r-i]);var u=t.scale.domain().map(function(e){return t.scale(e)});return{prevData:n,prevTravellerWidth:i,prevUpdateId:a,prevX:o,prevWidth:r,startX:t.scale(e.startIndex),endX:t.scale(e.endIndex),scaleValues:u}}return null}},{key:"getIndexInRange",value:function(e,t){for(var n=e.length,r=0,o=n-1;o-r>1;){var i=Math.floor((r+o)/2);e[i]>t?o=i:r=i}return t>=e[o]?o:r}}],n&&uq(i.prototype,n),r&&uq(i,r),Object.defineProperty(i,"prototype",{writable:!1}),i}(A.PureComponent);function uJ(e){return(uJ="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u0(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function u1(e){for(var t=1;ti&&(c=2*Math.PI-c),{radius:a,angle:180*c/Math.PI,angleInRadian:c}},u3=function(e){var t=e.startAngle,n=e.endAngle,r=Math.min(Math.floor(t/360),Math.floor(n/360));return{startAngle:t-360*r,endAngle:n-360*r}},u8=function(e,t){var n,r=u6({x:e.x,y:e.y},t),o=r.radius,i=r.angle,a=t.innerRadius,c=t.outerRadius;if(oc)return!1;if(0===o)return!0;var l=u3(t),u=l.startAngle,s=l.endAngle,f=i;if(u<=s){for(;f>s;)f-=360;for(;f=u&&f<=s}else{for(;f>u;)f-=360;for(;f=s&&f<=u}return n?u1(u1({},t),{},{radius:o,angle:f+360*Math.min(Math.floor(t.startAngle/360),Math.floor(t.endAngle/360))}):null};function u9(e){return(u9="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var u7=["offset"];function se(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=0?1:-1;"insideStart"===i?(r=p+y*c,o=m):"insideEnd"===i?(r=h-y*c,o=!m):"end"===i&&(r=h+y*c,o=m),o=g<=0?o:!o;var b=u4(u,s,v,r),x=u4(u,s,v,r+(o?1:-1)*359),w="M".concat(b.x,",").concat(b.y,"\n A").concat(v,",").concat(v,",0,1,").concat(o?0:1,",\n ").concat(x.x,",").concat(x.y),E=en()(e.id)?G("recharts-radial-line-"):e.id;return A.createElement("text",sr({},n,{dominantBaseline:"central",className:T("recharts-radial-bar-label",l)}),A.createElement("defs",null,A.createElement("path",{id:E,d:w})),A.createElement("textPath",{xlinkHref:"#".concat(E)},t))},sa=function(e){var t=e.viewBox,n=e.offset,r=e.position,o=t.cx,i=t.cy,a=t.innerRadius,c=t.outerRadius,l=(t.startAngle+t.endAngle)/2;if("outside"===r){var u=u4(o,i,c+n,l),s=u.x;return{x:s,y:u.y,textAnchor:s>=o?"start":"end",verticalAnchor:"middle"}}if("center"===r)return{x:o,y:i,textAnchor:"middle",verticalAnchor:"middle"};if("centerTop"===r)return{x:o,y:i,textAnchor:"middle",verticalAnchor:"start"};if("centerBottom"===r)return{x:o,y:i,textAnchor:"middle",verticalAnchor:"end"};var f=u4(o,i,(a+c)/2,l);return{x:f.x,y:f.y,textAnchor:"middle",verticalAnchor:"middle"}},sc=function(e){var t=e.viewBox,n=e.parentViewBox,r=e.offset,o=e.position,i=t.x,a=t.y,c=t.width,l=t.height,u=l>=0?1:-1,s=u*r,f=u>0?"end":"start",d=u>0?"start":"end",p=c>=0?1:-1,h=p*r,m=p>0?"end":"start",v=p>0?"start":"end";if("top"===o)return sn(sn({},{x:i+c/2,y:a-u*r,textAnchor:"middle",verticalAnchor:f}),n?{height:Math.max(a-n.y,0),width:c}:{});if("bottom"===o)return sn(sn({},{x:i+c/2,y:a+l+s,textAnchor:"middle",verticalAnchor:d}),n?{height:Math.max(n.y+n.height-(a+l),0),width:c}:{});if("left"===o){var g={x:i-h,y:a+l/2,textAnchor:m,verticalAnchor:"middle"};return sn(sn({},g),n?{width:Math.max(g.x-n.x,0),height:l}:{})}if("right"===o){var y={x:i+c+h,y:a+l/2,textAnchor:v,verticalAnchor:"middle"};return sn(sn({},y),n?{width:Math.max(n.x+n.width-y.x,0),height:l}:{})}var b=n?{width:c,height:l}:{};return"insideLeft"===o?sn({x:i+h,y:a+l/2,textAnchor:v,verticalAnchor:"middle"},b):"insideRight"===o?sn({x:i+c-h,y:a+l/2,textAnchor:m,verticalAnchor:"middle"},b):"insideTop"===o?sn({x:i+c/2,y:a+s,textAnchor:"middle",verticalAnchor:d},b):"insideBottom"===o?sn({x:i+c/2,y:a+l-s,textAnchor:"middle",verticalAnchor:f},b):"insideTopLeft"===o?sn({x:i+h,y:a+s,textAnchor:v,verticalAnchor:d},b):"insideTopRight"===o?sn({x:i+c-h,y:a+s,textAnchor:m,verticalAnchor:d},b):"insideBottomLeft"===o?sn({x:i+h,y:a+l-s,textAnchor:v,verticalAnchor:f},b):"insideBottomRight"===o?sn({x:i+c-h,y:a+l-s,textAnchor:m,verticalAnchor:f},b):ea()(o)&&(V(o.x)||q(o.x))&&(V(o.y)||q(o.y))?sn({x:i+K(o.x,c),y:a+K(o.y,l),textAnchor:"end",verticalAnchor:"end"},b):sn({x:i+c/2,y:a+l/2,textAnchor:"middle",verticalAnchor:"middle"},b)};function sl(e){var t,n=e.offset,r=sn({offset:void 0===n?5:n},function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,u7)),o=r.viewBox,i=r.position,a=r.value,c=r.children,l=r.content,u=r.className,s=r.textBreakAll;if(!o||en()(a)&&en()(c)&&!(0,A.isValidElement)(l)&&!eo()(l))return null;if((0,A.isValidElement)(l))return(0,A.cloneElement)(l,r);if(eo()(l)){if(t=(0,A.createElement)(l,r),(0,A.isValidElement)(t))return t}else t=so(r);var f="cx"in o&&V(o.cx),d=eP(r,!0);if(f&&("insideStart"===i||"insideEnd"===i||"end"===i))return si(r,t,d);var p=f?sa(r):sc(r);return A.createElement(oV,sr({className:T("recharts-label",void 0===u?"":u)},d,p,{breakAll:s}),t)}sl.displayName="Label";var su=function(e){var t=e.cx,n=e.cy,r=e.angle,o=e.startAngle,i=e.endAngle,a=e.r,c=e.radius,l=e.innerRadius,u=e.outerRadius,s=e.x,f=e.y,d=e.top,p=e.left,h=e.width,m=e.height,v=e.clockWise,g=e.labelViewBox;if(g)return g;if(V(h)&&V(m)){if(V(s)&&V(f))return{x:s,y:f,width:h,height:m};if(V(d)&&V(p))return{x:d,y:p,width:h,height:m}}return V(s)&&V(f)?{x:s,y:f,width:0,height:0}:V(t)&&V(n)?{cx:t,cy:n,startAngle:o||r||0,endAngle:i||r||0,innerRadius:l||0,outerRadius:u||c||a||0,clockWise:v}:e.viewBox?e.viewBox:{}};sl.parseViewBox=su,sl.renderCallByParent=function(e,t){var n,r,o=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(!e||!e.children&&o&&!e.label)return null;var i=e.children,a=su(e),c=eO(i,sl).map(function(e,n){return(0,A.cloneElement)(e,{viewBox:t||a,key:"label-".concat(n)})});return o?[(n=e.label,r=t||a,n?!0===n?A.createElement(sl,{key:"label-implicit",viewBox:r}):U(n)?A.createElement(sl,{key:"label-implicit",viewBox:r,value:n}):(0,A.isValidElement)(n)?n.type===sl?(0,A.cloneElement)(n,{key:"label-implicit",viewBox:r}):A.createElement(sl,{key:"label-implicit",content:n,viewBox:r}):eo()(n)?A.createElement(sl,{key:"label-implicit",content:n,viewBox:r}):ea()(n)?A.createElement(sl,sr({viewBox:r},n,{key:"label-implicit"})):null:null)].concat(function(e){if(Array.isArray(e))return se(e)}(c)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(c)||function(e,t){if(e){if("string"==typeof e)return se(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return se(e,t)}}(c)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()):c};var ss=function(e,t){var n=e.alwaysShow,r=e.ifOverflow;return n&&(r="extendDomain"),r===t},sf=n(50924),sd=n.n(sf),sp=function(e){return null};sp.displayName="Cell";var sh=n(36887),sm=n.n(sh);function sv(e){return(sv="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var sg=["valueAccessor"],sy=["data","dataKey","clockWise","id","textBreakAll"];function sb(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var sS=function(e){return Array.isArray(e.value)?sm()(e.value):e.value};function sC(e){var t=e.valueAccessor,n=void 0===t?sS:t,r=sO(e,sg),o=r.data,i=r.dataKey,a=r.clockWise,c=r.id,l=r.textBreakAll,u=sO(r,sy);return o&&o.length?A.createElement(eQ,{className:"recharts-label-list"},o.map(function(e,t){var r=en()(i)?n(e,t):ut(e&&e.payload,i),o=en()(c)?{}:{id:"".concat(c,"-").concat(t)};return A.createElement(sl,sx({},eP(e,!0),u,o,{parentViewBox:e.parentViewBox,value:r,textBreakAll:l,viewBox:sl.parseViewBox(en()(a)?e:sE(sE({},e),{},{clockWise:a})),key:"label-".concat(t),index:t}))})):null}sC.displayName="LabelList",sC.renderCallByParent=function(e,t){var n,r=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(!e||!e.children&&r&&!e.label)return null;var o=eO(e.children,sC).map(function(e,n){return(0,A.cloneElement)(e,{data:t,key:"labelList-".concat(n)})});return r?[(n=e.label)?!0===n?A.createElement(sC,{key:"labelList-implicit",data:t}):A.isValidElement(n)||eo()(n)?A.createElement(sC,{key:"labelList-implicit",data:t,content:n}):ea()(n)?A.createElement(sC,sx({data:t},n,{key:"labelList-implicit"})):null:null].concat(function(e){if(Array.isArray(e))return sb(e)}(o)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(o)||function(e,t){if(e){if("string"==typeof e)return sb(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return sb(e,t)}}(o)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()):o};var sk=n(23393),sj=n.n(sk),sP=n(90849),sM=n.n(sP);function sA(e){return(sA="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function sT(){return(sT=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n0,from:{upperWidth:0,lowerWidth:0,height:f,x:c,y:l},to:{upperWidth:u,lowerWidth:s,height:f,x:c,y:l},duration:h,animationEasing:p,isActive:v},function(e){var t=e.upperWidth,o=e.lowerWidth,a=e.height,c=e.x,l=e.y;return A.createElement(na,{canBegin:i>0,from:"0px ".concat(-1===i?1:i,"px"),to:"".concat(i,"px 0px"),attributeName:"strokeDasharray",begin:m,duration:h,easing:p},A.createElement("path",sT({},eP(n,!0),{className:g,d:sR(c,l,t,o,a),ref:r})))}):A.createElement("g",null,A.createElement("path",sT({},eP(n,!0),{className:g,d:sR(c,l,u,s,f)})))};function sB(e){return(sB="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function sL(){return(sL=Object.assign?Object.assign.bind():function(e){for(var t=1;t180),",").concat(+(a>l),",\n ").concat(s.x,",").concat(s.y,"\n ");if(o>0){var d=u4(n,r,o,a),p=u4(n,r,o,l);f+="L ".concat(p.x,",").concat(p.y,"\n A ").concat(o,",").concat(o,",0,\n ").concat(+(Math.abs(c)>180),",").concat(+(a<=l),",\n ").concat(d.x,",").concat(d.y," Z")}else f+="L ".concat(n,",").concat(r," Z");return f},sq=function(e){var t=e.cx,n=e.cy,r=e.innerRadius,o=e.outerRadius,i=e.cornerRadius,a=e.forceCornerRadius,c=e.cornerIsExternal,l=e.startAngle,u=e.endAngle,s=W(u-l),f=sH({cx:t,cy:n,radius:o,angle:l,sign:s,cornerRadius:i,cornerIsExternal:c}),d=f.circleTangency,p=f.lineTangency,h=f.theta,m=sH({cx:t,cy:n,radius:o,angle:u,sign:-s,cornerRadius:i,cornerIsExternal:c}),v=m.circleTangency,g=m.lineTangency,y=m.theta,b=c?Math.abs(l-u):Math.abs(l-u)-h-y;if(b<0)return a?"M ".concat(p.x,",").concat(p.y,"\n a").concat(i,",").concat(i,",0,0,1,").concat(2*i,",0\n a").concat(i,",").concat(i,",0,0,1,").concat(-(2*i),",0\n "):sW({cx:t,cy:n,innerRadius:r,outerRadius:o,startAngle:l,endAngle:u});var x="M ".concat(p.x,",").concat(p.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(s<0),",").concat(d.x,",").concat(d.y,"\n A").concat(o,",").concat(o,",0,").concat(+(b>180),",").concat(+(s<0),",").concat(v.x,",").concat(v.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(s<0),",").concat(g.x,",").concat(g.y,"\n ");if(r>0){var w=sH({cx:t,cy:n,radius:r,angle:l,sign:s,isExternal:!0,cornerRadius:i,cornerIsExternal:c}),E=w.circleTangency,O=w.lineTangency,S=w.theta,C=sH({cx:t,cy:n,radius:r,angle:u,sign:-s,isExternal:!0,cornerRadius:i,cornerIsExternal:c}),k=C.circleTangency,j=C.lineTangency,P=C.theta,M=c?Math.abs(l-u):Math.abs(l-u)-S-P;if(M<0&&0===i)return"".concat(x,"L").concat(t,",").concat(n,"Z");x+="L".concat(j.x,",").concat(j.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(s<0),",").concat(k.x,",").concat(k.y,"\n A").concat(r,",").concat(r,",0,").concat(+(M>180),",").concat(+(s>0),",").concat(E.x,",").concat(E.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(s<0),",").concat(O.x,",").concat(O.y,"Z")}else x+="L".concat(t,",").concat(n,"Z");return x},sV={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},sU=function(e){var t,n=sF(sF({},sV),e),r=n.cx,o=n.cy,i=n.innerRadius,a=n.outerRadius,c=n.cornerRadius,l=n.forceCornerRadius,u=n.cornerIsExternal,s=n.startAngle,f=n.endAngle,d=n.className;if(a0&&360>Math.abs(s-f)?sq({cx:r,cy:o,innerRadius:i,outerRadius:a,cornerRadius:Math.min(m,h/2),forceCornerRadius:l,cornerIsExternal:u,startAngle:s,endAngle:f}):sW({cx:r,cy:o,innerRadius:i,outerRadius:a,startAngle:s,endAngle:f}),A.createElement("path",sL({},eP(n,!0),{className:p,d:t,role:"img"}))},sX=["option","shapeType","propTransformer","activeClassName","isActive"];function sG(e){return(sG="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function sK(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function s$(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,sX);if((0,A.isValidElement)(n))t=(0,A.cloneElement)(n,s$(s$({},c),(0,A.isValidElement)(n)?n.props:n));else if(eo()(n))t=n(c);else if(sj()(n)&&!sM()(n)){var l=(void 0===o?function(e,t){return s$(s$({},t),e)}:o)(n,c);t=A.createElement(sY,{shapeType:r,elementProps:l})}else t=A.createElement(sY,{shapeType:r,elementProps:c});return a?A.createElement(eQ,{className:void 0===i?"recharts-active-shape":i},t):t}function sJ(e,t){return null!=t&&"trapezoids"in e.props}function s0(e,t){return null!=t&&"sectors"in e.props}function s1(e,t){return null!=t&&"points"in e.props}function s2(e,t){var n,r,o=e.x===(null==t||null===(n=t.labelViewBox)||void 0===n?void 0:n.x)||e.x===t.x,i=e.y===(null==t||null===(r=t.labelViewBox)||void 0===r?void 0:r.y)||e.y===t.y;return o&&i}function s4(e,t){var n=e.endAngle===t.endAngle,r=e.startAngle===t.startAngle;return n&&r}function s5(e,t){var n=e.x===t.x,r=e.y===t.y,o=e.z===t.z;return n&&r&&o}function s6(e){return(s6="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var s3=["x","y"];function s8(){return(s8=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,s3),i=parseInt("".concat(n),10),a=parseInt("".concat(r),10),c=parseInt("".concat(t.height||o.height),10),l=parseInt("".concat(t.width||o.width),10);return s7(s7(s7(s7(s7({},t),o),i?{x:i}:{}),a?{y:a}:{}),{},{height:c,width:l,name:t.name,radius:t.radius})}function ft(e){return A.createElement(sQ,s8({shapeType:"rectangle",propTransformer:fe,activeClassName:"recharts-active-bar"},e))}var fn=["value","background"];function fr(e){return(fr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function fo(){return(fo=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(t,fn);if(!a)return null;var l=fa(fa(fa(fa(fa({},c),{},{fill:"#eee"},a),i),eh(e.props,t,n)),{},{onAnimationStart:e.handleAnimationStart,onAnimationEnd:e.handleAnimationEnd,dataKey:r,index:n,key:"background-bar-".concat(n),className:"recharts-bar-background-rectangle"});return A.createElement(ft,fo({option:e.props.background,isActive:n===o},l))})}},{key:"renderErrorBar",value:function(e,t){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var n=this.props,r=n.data,o=n.xAxis,i=n.yAxis,a=n.layout,c=eO(n.children,l0);if(!c)return null;var l="vertical"===a?r[0].height/2:r[0].width/2,u=function(e,t){var n=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:n,errorVal:ut(e,t)}};return A.createElement(eQ,{clipPath:e?"url(#clipPath-".concat(t,")"):null},c.map(function(e){return A.cloneElement(e,{key:"error-bar-".concat(t,"-").concat(e.props.dataKey),data:r,xAxis:o,yAxis:i,layout:a,offset:l,dataPointFormatter:u})}))}},{key:"render",value:function(){var e=this.props,t=e.hide,n=e.data,r=e.className,o=e.xAxis,i=e.yAxis,a=e.left,c=e.top,l=e.width,u=e.height,s=e.isAnimationActive,f=e.background,d=e.id;if(t||!n||!n.length)return null;var p=this.state.isAnimationFinished,h=T("recharts-bar",r),m=o&&o.allowDataOverflow,v=i&&i.allowDataOverflow,g=m||v,y=en()(d)?this.id:d;return A.createElement(eQ,{className:h},m||v?A.createElement("defs",null,A.createElement("clipPath",{id:"clipPath-".concat(y)},A.createElement("rect",{x:m?a:a-l/2,y:v?c:c-u/2,width:m?l:2*l,height:v?u:2*u}))):null,A.createElement(eQ,{className:"recharts-bar-rectangles",clipPath:g?"url(#clipPath-".concat(y,")"):null},f?this.renderBackground():null,this.renderRectangles()),this.renderErrorBar(g,y),(!s||p)&&sC.renderCallByParent(this.props,n))}}],r=[{key:"getDerivedStateFromProps",value:function(e,t){return e.animationId!==t.prevAnimationId?{prevAnimationId:e.animationId,curData:e.data,prevData:t.curData}:e.data!==t.curData?{curData:e.data}:null}}],n&&fc(i.prototype,n),r&&fc(i,r),Object.defineProperty(i,"prototype",{writable:!1}),i}(A.PureComponent);function fh(e){return(fh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function fm(e,t){for(var n=0;n0&&Math.abs(g)0&&Math.abs(m)1&&void 0!==arguments[1]?arguments[1]:{},n=t.bandAware,r=t.position;if(void 0!==e){if(r)switch(r){case"start":default:return this.scale(e);case"middle":var o=this.bandwidth?this.bandwidth()/2:0;return this.scale(e)+o;case"end":var i=this.bandwidth?this.bandwidth():0;return this.scale(e)+i}if(n){var a=this.bandwidth?this.bandwidth()/2:0;return this.scale(e)+a}return this.scale(e)}}},{key:"isInRange",value:function(e){var t=this.range(),n=t[0],r=t[t.length-1];return n<=r?e>=n&&e<=r:e>=r&&e<=n}}],t=[{key:"create",value:function(e){return new n(e)}}],e&&fm(n.prototype,e),t&&fm(n,t),Object.defineProperty(n,"prototype",{writable:!1}),n}();fy(fw,"EPS",1e-4);var fE=function(e){var t=Object.keys(e).reduce(function(t,n){return fg(fg({},t),{},fy({},n,fw.create(e[n])))},{});return fg(fg({},t),{},{apply:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.bandAware,o=n.position;return sd()(e,function(e,n){return t[n].apply(e,{bandAware:r,position:o})})},isInRange:function(e){return eV()(e,function(e,n){return t[n].isInRange(e)})}})},fO=function(e){var t=e.width,n=e.height,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=(r%180+180)%180*Math.PI/180,i=Math.atan(n/t);return Math.abs(o>i&&oe.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n=0;--t)o[t]=(a[t]-o[t+1])/i[t];for(t=0,i[r-1]=(e[r]+o[r-1])/2;t=f;--d)c.point(g[d],y[d]);c.lineEnd(),c.areaEnd()}}v&&(g[s]=+e(p,s,u),y[s]=+t(p,s,u),c.point(r?+r(p,s,u):g[s],n?+n(p,s,u):y[s]))}if(h)return c=null,h+""||null}function s(){return dj().defined(o).curve(a).context(i)}return e="function"==typeof e?e:void 0===e?dC:ro(+e),t="function"==typeof t?t:void 0===t?ro(0):ro(+t),n="function"==typeof n?n:void 0===n?dk:ro(+n),u.x=function(t){return arguments.length?(e="function"==typeof t?t:ro(+t),r=null,u):e},u.x0=function(t){return arguments.length?(e="function"==typeof t?t:ro(+t),u):e},u.x1=function(e){return arguments.length?(r=null==e?null:"function"==typeof e?e:ro(+e),u):r},u.y=function(e){return arguments.length?(t="function"==typeof e?e:ro(+e),n=null,u):t},u.y0=function(e){return arguments.length?(t="function"==typeof e?e:ro(+e),u):t},u.y1=function(e){return arguments.length?(n=null==e?null:"function"==typeof e?e:ro(+e),u):n},u.lineX0=u.lineY0=function(){return s().x(e).y(t)},u.lineY1=function(){return s().x(e).y(n)},u.lineX1=function(){return s().x(r).y(t)},u.defined=function(e){return arguments.length?(o="function"==typeof e?e:ro(!!e),u):o},u.curve=function(e){return arguments.length?(a=e,null!=i&&(c=a(i)),u):a},u.context=function(e){return arguments.length?(null==e?i=c=null:c=a(i=e),u):i},u}function dM(e){return(dM="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function dA(){return(dA=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}};var dI={curveBasisClosed:function(e){return new ds(e)},curveBasisOpen:function(e){return new df(e)},curveBasis:function(e){return new du(e)},curveBumpX:function(e){return new dd(e,!0)},curveBumpY:function(e){return new dd(e,!1)},curveLinearClosed:function(e){return new dp(e)},curveLinear:dm,curveMonotoneX:function(e){return new db(e)},curveMonotoneY:function(e){return new dx(e)},curveNatural:function(e){return new dE(e)},curveStep:function(e){return new dS(e,.5)},curveStepAfter:function(e){return new dS(e,1)},curveStepBefore:function(e){return new dS(e,0)}},dZ=function(e){return e.x===+e.x&&e.y===+e.y},dR=function(e){return e.x},d_=function(e){return e.y},dD=function(e,t){if(eo()(e))return e;var n="curve".concat(nQ()(e));return("curveMonotone"===n||"curveBump"===n)&&t?dI["".concat(n).concat("vertical"===t?"Y":"X")]:dI[n]||dm},dB=function(e){var t,n=e.type,r=e.points,o=void 0===r?[]:r,i=e.baseLine,a=e.layout,c=e.connectNulls,l=void 0!==c&&c,u=dD(void 0===n?"linear":n,a),s=l?o.filter(function(e){return dZ(e)}):o;if(Array.isArray(i)){var f=l?i.filter(function(e){return dZ(e)}):i,d=s.map(function(e,t){return dN(dN({},e),{},{base:f[t]})});return(t="vertical"===a?dP().y(d_).x1(dR).x0(function(e){return e.base.x}):dP().x(dR).y1(d_).y0(function(e){return e.base.y})).defined(dZ).curve(u),t(d)}return(t="vertical"===a&&V(i)?dP().y(d_).x1(dR).x0(i):V(i)?dP().x(dR).y1(d_).y0(i):dj().x(dR).y(d_)).defined(dZ).curve(u),t(s)},dL=function(e){var t=e.className,n=e.points,r=e.path,o=e.pathRef;if((!n||!n.length)&&!r)return null;var i=n&&n.length?dB(e):r;return A.createElement("path",dA({},eP(e,!1),ep(e),{className:T("recharts-curve",t),d:i,ref:o}))};function dz(e){return(dz="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var dF=["x","y","top","left","width","height","className"];function dH(){return(dH=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,dF));return V(n)&&V(o)&&V(s)&&V(d)&&V(a)&&V(l)?A.createElement("path",dH({},eP(h,!0),{className:T("recharts-cross",p),d:"M".concat(n,",").concat(a,"v").concat(d,"M").concat(l,",").concat(o,"h").concat(s)})):null};function dV(e){var t=e.cx,n=e.cy,r=e.radius,o=e.startAngle,i=e.endAngle;return{points:[u4(t,n,r,o),u4(t,n,r,i)],cx:t,cy:n,radius:r,startAngle:o,endAngle:i}}function dU(e){return(dU="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function dX(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function dG(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function d2(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=Array(t);n0?i:e&&e.length&&V(r)&&V(o)?e.slice(r,o+1):[]};function pu(e){return"number"===e?[0,"auto"]:void 0}var ps=function(e,t,n,r){var o=e.graphicalItems,i=e.tooltipAxis,a=pl(t,e);return n<0||!o||!o.length||n>=a.length?null:o.reduce(function(o,c){var l,u,s=null!==(l=c.props.data)&&void 0!==l?l:t;return(s&&e.dataStartIndex+e.dataEndIndex!==0&&(s=s.slice(e.dataStartIndex,e.dataEndIndex+1)),u=i.dataKey&&!i.allowDuplicatedCategory?J(void 0===s?a:s,i.dataKey,r):s&&s[n]||a[n])?[].concat(d3(o),[uI(c,u)]):o},[])},pf=function(e,t,n,r){var o=r||{x:e.chartX,y:e.chartY},i="horizontal"===n?o.x:"vertical"===n?o.y:"centric"===n?o.angle:o.radius,a=e.orderedTooltipTicks,c=e.tooltipAxis,l=e.tooltipTicks,u=ur(i,a,l,c);if(u>=0&&l){var s=l[u]&&l[u].value,f=ps(e,t,u,s),d=pc(n,a,u,o);return{activeTooltipIndex:u,activeLabel:s,activePayload:f,activeCoordinate:d}}return null},pd=function(e,t){var n=t.axes,r=t.graphicalItems,o=t.axisType,i=t.axisIdKey,a=t.stackGroups,c=t.dataStartIndex,l=t.dataEndIndex,u=e.layout,s=e.children,f=e.stackOffset,d=uf(u,o);return n.reduce(function(t,n){var p=n.props,h=p.type,m=p.dataKey,v=p.allowDataOverflow,g=p.allowDuplicatedCategory,y=p.scale,b=p.ticks,x=p.includeHidden,w=n.props[i];if(t[w])return t;var E=pl(e.data,{graphicalItems:r.filter(function(e){return e.props[i]===w}),dataStartIndex:c,dataEndIndex:l}),O=E.length;(function(e,t,n){if("number"===n&&!0===t&&Array.isArray(e)){var r=null==e?void 0:e[0],o=null==e?void 0:e[1];if(r&&o&&V(r)&&V(o))return!0}return!1})(n.props.domain,v,h)&&(k=uA(n.props.domain,null,v),d&&("number"===h||"auto"!==y)&&(P=un(E,m,"category")));var S=pu(h);if(!k||0===k.length){var C,k,j,P,M,A=null!==(M=n.props.domain)&&void 0!==M?M:S;if(m){if(k=un(E,m,h),"category"===h&&d){var T=Y(k);g&&T?(j=k,k=eL()(0,O)):g||(k=uN(A,k,n).reduce(function(e,t){return e.indexOf(t)>=0?e:[].concat(d3(e),[t])},[]))}else if("category"===h)k=g?k.filter(function(e){return""!==e&&!en()(e)}):uN(A,k,n).reduce(function(e,t){return e.indexOf(t)>=0||""===t||en()(t)?e:[].concat(d3(e),[t])},[]);else if("number"===h){var N=uu(E,r.filter(function(e){return e.props[i]===w&&(x||!e.props.hide)}),m,o,u);N&&(k=N)}d&&("number"===h||"auto"!==y)&&(P=un(E,m,"category"))}else k=d?eL()(0,O):a&&a[w]&&a[w].hasStack&&"number"===h?"expand"===f?[0,1]:uj(a[w].stackGroups,c,l):us(E,r.filter(function(e){return e.props[i]===w&&(x||!e.props.hide)}),h,u,!0);"number"===h?(k=f8(s,k,w,o,b),A&&(k=uA(A,k,v))):"category"===h&&A&&k.every(function(e){return A.indexOf(e)>=0})&&(k=A)}return pe(pe({},t),{},pt({},w,pe(pe({},n.props),{},{axisType:o,domain:k,categoricalDomain:P,duplicateDomain:j,originalDomain:null!==(C=n.props.domain)&&void 0!==C?C:S,isCategorical:d,layout:u})))},{})},pp=function(e,t){var n=t.graphicalItems,r=t.Axis,o=t.axisType,i=t.axisIdKey,a=t.stackGroups,c=t.dataStartIndex,l=t.dataEndIndex,u=e.layout,s=e.children,f=pl(e.data,{graphicalItems:n,dataStartIndex:c,dataEndIndex:l}),d=f.length,p=uf(u,o),h=-1;return n.reduce(function(e,t){var m,v=t.props[i],g=pu("number");return e[v]?e:(h++,m=p?eL()(0,d):a&&a[v]&&a[v].hasStack?f8(s,m=uj(a[v].stackGroups,c,l),v,o):f8(s,m=uA(g,us(f,n.filter(function(e){return e.props[i]===v&&!e.props.hide}),"number",u),r.defaultProps.allowDataOverflow),v,o),pe(pe({},e),{},pt({},v,pe(pe({axisType:o},r.defaultProps),{},{hide:!0,orientation:z()(pr,"".concat(o,".").concat(h%2),null),domain:m,originalDomain:g,isCategorical:p,layout:u}))))},{})},ph=function(e,t){var n=t.axisType,r=void 0===n?"xAxis":n,o=t.AxisComp,i=t.graphicalItems,a=t.stackGroups,c=t.dataStartIndex,l=t.dataEndIndex,u=e.children,s="".concat(r,"Id"),f=eO(u,o),d={};return f&&f.length?d=pd(e,{axes:f,graphicalItems:i,axisType:r,axisIdKey:s,stackGroups:a,dataStartIndex:c,dataEndIndex:l}):i&&i.length&&(d=pp(e,{Axis:o,graphicalItems:i,axisType:r,axisIdKey:s,stackGroups:a,dataStartIndex:c,dataEndIndex:l})),d},pm=function(e){var t=$(e),n=up(t,!1,!0);return{tooltipTicks:n,orderedTooltipTicks:eF()(n,function(e){return e.coordinate}),tooltipAxis:t,tooltipAxisBandSize:uT(t,n)}},pv=function(e){var t=e.children,n=e.defaultShowTooltip,r=eS(t,uQ),o=0,i=0;return e.data&&0!==e.data.length&&(i=e.data.length-1),r&&r.props&&(r.props.startIndex>=0&&(o=r.props.startIndex),r.props.endIndex>=0&&(i=r.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:o,dataEndIndex:i,activeTooltipIndex:-1,isTooltipActive:!!n}},pg=function(e){return"horizontal"===e?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:"vertical"===e?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:"centric"===e?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},py=function(e,t){var n=e.props,r=e.graphicalItems,o=e.xAxisMap,i=void 0===o?{}:o,a=e.yAxisMap,c=void 0===a?{}:a,l=n.width,u=n.height,s=n.children,f=n.margin||{},d=eS(s,uQ),p=eS(s,r1),h=Object.keys(c).reduce(function(e,t){var n=c[t],r=n.orientation;return n.mirror||n.hide?e:pe(pe({},e),{},pt({},r,e[r]+n.width))},{left:f.left||0,right:f.right||0}),m=Object.keys(i).reduce(function(e,t){var n=i[t],r=n.orientation;return n.mirror||n.hide?e:pe(pe({},e),{},pt({},r,z()(e,"".concat(r))+n.height))},{top:f.top||0,bottom:f.bottom||0}),v=pe(pe({},m),h),g=v.bottom;d&&(v.bottom+=d.props.height||uQ.defaultProps.height),p&&t&&(v=uc(v,r,n,t));var y=l-v.left-v.right,b=u-v.top-v.bottom;return pe(pe({brushBottom:g},v),{},{width:Math.max(y,0),height:Math.max(b,0)})};function pb(e,t,n){if(t<1)return[];if(1===t&&void 0===n)return e;for(var r=[],o=0;oe*o)return!1;var i=n();return e*(t-e*i/2-r)>=0&&e*(t+e*i/2-o)<=0}function pw(e){return(pw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function pE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function pO(e){for(var t=1;t=2?W(u[1].coordinate-u[0].coordinate):1,w=(r="width"===g,o=s.x,i=s.y,a=s.width,c=s.height,1===x?{start:r?o:i,end:r?o+a:i+c}:{start:r?o+a:i+c,end:r?o:i});return"equidistantPreserveStart"===p?function(e,t,n,r,o){for(var i,a=(r||[]).slice(),c=t.start,l=t.end,u=0,s=1,f=c;s<=a.length;)if(i=function(){var t,i=null==r?void 0:r[u];if(void 0===i)return{v:pb(r,s)};var a=u,d=function(){return void 0===t&&(t=n(i,a)),t},p=i.coordinate,h=0===u||px(e,p,d,f,l);h||(u=0,f=c,s+=1),h&&(f=p+e*(d()/2+o),u+=s)}())return i.v;return[]}(x,w,b,u,f):("preserveStart"===p||"preserveStartEnd"===p?function(e,t,n,r,o,i){var a=(r||[]).slice(),c=a.length,l=t.start,u=t.end;if(i){var s=r[c-1],f=n(s,c-1),d=e*(s.coordinate+e*f/2-u);a[c-1]=s=pO(pO({},s),{},{tickCoord:d>0?s.coordinate-d*e:s.coordinate}),px(e,s.tickCoord,function(){return f},l,u)&&(u=s.tickCoord-e*(f/2+o),a[c-1]=pO(pO({},s),{},{isShow:!0}))}for(var p=i?c-1:c,h=function(t){var r,i=a[t],c=function(){return void 0===r&&(r=n(i,t)),r};if(0===t){var s=e*(i.coordinate-e*c()/2-l);a[t]=i=pO(pO({},i),{},{tickCoord:s<0?i.coordinate-s*e:i.coordinate})}else a[t]=i=pO(pO({},i),{},{tickCoord:i.coordinate});px(e,i.tickCoord,c,l,u)&&(l=i.tickCoord+e*(c()/2+o),a[t]=pO(pO({},i),{},{isShow:!0}))},m=0;m0?u.coordinate-f*e:u.coordinate})}else i[t]=u=pO(pO({},u),{},{tickCoord:u.coordinate});px(e,u.tickCoord,s,c,l)&&(l=u.tickCoord-e*(s()/2+o),i[t]=pO(pO({},u),{},{isShow:!0}))},s=a-1;s>=0;s--)u(s);return i}(x,w,b,u,f)).filter(function(e){return e.isShow})}var pC=["viewBox"],pk=["viewBox"],pj=["ticks"];function pP(e){return(pP="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function pM(){return(pM=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function pI(e,t){for(var n=0;n0?this.props:u)),r<=0||o<=0||!s||!s.length)?null:A.createElement(eQ,{className:T("recharts-cartesian-axis",a),ref:function(t){e.layerReference=t}},n&&this.renderAxisLine(),this.renderTicks(s,this.state.fontSize,this.state.letterSpacing),sl.renderCallByParent(this.props))}}],r=[{key:"renderTickItem",value:function(e,t,n){return A.isValidElement(e)?A.cloneElement(e,t):eo()(e)?e(t):A.createElement(oV,pM({},t,{className:"recharts-cartesian-axis-tick-value"}),n)}}],n&&pI(i.prototype,n),r&&pI(i,r),Object.defineProperty(i,"prototype",{writable:!1}),i}(A.Component);function pL(){return(pL=Object.assign?Object.assign.bind():function(e){for(var t=1;t0&&(S=Math.min((e||0)-(C[t-1]||0),S))});var k=S/O,j="vertical"===m.layout?n.height:n.width;if("gap"===m.padding&&(l=k*j/2),"no-gap"===m.padding){var P=K(e.barCategoryGap,k*j),M=k*j/2;l=M-P-(M-P)/j*P}}u="xAxis"===r?[n.left+(b.left||0)+(l||0),n.left+n.width-(b.right||0)-(l||0)]:"yAxis"===r?"horizontal"===c?[n.top+n.height-(b.bottom||0),n.top+(b.top||0)]:[n.top+(b.top||0)+(l||0),n.top+n.height-(b.bottom||0)-(l||0)]:m.range,w&&(u=[u[1],u[0]]);var A=uv(m,o,f),T=A.scale,N=A.realScaleType;T.domain(g).range(u),ug(T);var I=uO(T,fg(fg({},m),{},{realScaleType:N}));"xAxis"===r?(h="top"===v&&!x||"bottom"===v&&x,d=n.left,p=s[E]-h*m.height):"yAxis"===r&&(h="left"===v&&!x||"right"===v&&x,d=s[E]-h*m.width,p=n.top);var Z=fg(fg(fg({},m),I),{},{realScaleType:N,x:d,y:p,scale:T,width:"xAxis"===r?n.width:m.width,height:"yAxis"===r?n.height:m.height});return Z.bandSize=uT(Z,I),m.hide||"xAxis"!==r?m.hide||(s[E]+=(h?-1:1)*Z.width):s[E]+=(h?-1:1)*Z.height,fg(fg({},i),{},fy({},a,Z))},{})}}).chartName,a=r.GraphicalChild,l=void 0===(c=r.defaultTooltipEventType)?"axis":c,s=void 0===(u=r.validateTooltipEventTypes)?["axis"]:u,f=r.axisComponents,d=r.legendContent,p=r.formatAxisMap,h=r.defaultProps,m=function(e,t){var n=t.graphicalItems,r=t.stackGroups,o=t.offset,i=t.updateId,a=t.dataStartIndex,c=t.dataEndIndex,l=e.barSize,u=e.layout,s=e.barGap,d=e.barCategoryGap,p=e.maxBarSize,h=pg(u),m=h.numericAxisName,v=h.cateAxisName,g=!!n&&!!n.length&&n.some(function(e){var t=eb(e&&e.type);return t&&t.indexOf("Bar")>=0})&&ui({barSize:l,stackGroups:r}),y=[];return n.forEach(function(n,l){var h,b=pl(e.data,{graphicalItems:[n],dataStartIndex:a,dataEndIndex:c}),x=n.props,w=x.dataKey,E=x.maxBarSize,O=n.props["".concat(m,"Id")],S=n.props["".concat(v,"Id")],C=f.reduce(function(e,r){var o,i=t["".concat(r.axisType,"Map")],a=n.props["".concat(r.axisType,"Id")];i&&i[a]||"zAxis"===r.axisType||eU(!1);var c=i[a];return pe(pe({},e),{},(pt(o={},r.axisType,c),pt(o,"".concat(r.axisType,"Ticks"),up(c)),o))},{}),k=C[v],j=C["".concat(v,"Ticks")],P=r&&r[O]&&r[O].hasStack&&uk(n,r[O].stackGroups),M=eb(n.type).indexOf("Bar")>=0,A=uT(k,j),T=[];if(M){var N,I,Z=en()(E)?p:E,R=null!==(N=null!==(I=uT(k,j,!0))&&void 0!==I?I:Z)&&void 0!==N?N:0;T=ua({barGap:s,barCategoryGap:d,bandSize:R!==A?R:A,sizeList:g[S],maxBarSize:Z}),R!==A&&(T=T.map(function(e){return pe(pe({},e),{},{position:pe(pe({},e.position),{},{offset:e.position.offset-R/2})})}))}var _=n&&n.type&&n.type.getComposedData;_&&y.push({props:pe(pe({},_(pe(pe({},C),{},{displayedData:b,props:e,dataKey:w,item:n,bandSize:A,barPosition:T,offset:o,stackedData:P,layout:u,dataStartIndex:a,dataEndIndex:c}))),{},(pt(h={key:n.key||"item-".concat(l)},m,C[m]),pt(h,v,C[v]),pt(h,"animationId",i),h)),childIndex:eE(e.children).indexOf(n),item:n})}),y},v=function(e,t){var n=e.props,r=e.dataStartIndex,o=e.dataEndIndex,c=e.updateId;if(!eC({props:n}))return null;var l=n.children,u=n.layout,s=n.stackOffset,d=n.data,h=n.reverseStackOrder,v=pg(u),g=v.numericAxisName,y=v.cateAxisName,b=eO(l,a),x=uE(d,b,"".concat(g,"Id"),"".concat(y,"Id"),s,h),w=f.reduce(function(e,t){var i="".concat(t.axisType,"Map");return pe(pe({},e),{},pt({},i,ph(n,pe(pe({},t),{},{graphicalItems:b,stackGroups:t.axisType===g&&x,dataStartIndex:r,dataEndIndex:o}))))},{}),E=py(pe(pe({},w),{},{props:n,graphicalItems:b}),null==t?void 0:t.legendBBox);Object.keys(w).forEach(function(e){w[e]=p(n,w[e],E,e.replace("Map",""),i)});var O=pm(w["".concat(y,"Map")]),S=m(n,pe(pe({},w),{},{dataStartIndex:r,dataEndIndex:o,updateId:c,graphicalItems:b,stackGroups:x,offset:E}));return pe(pe({formattedGraphicalItems:S,graphicalItems:b,offset:E,stackGroups:x},O),w)},o=function(e){(function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&d4(e,t)})(a,e);var t,n,r,o=(t=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}(),function(){var e,n=d6(a);if(t){var r=d6(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return function(e,t){if(t&&("object"===dQ(t)||"function"==typeof t))return t;if(void 0!==t)throw TypeError("Derived constructors may only return object or undefined");return d5(e)}(this,e)});function a(e){var t,n,r;return function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,a),pt(d5(r=o.call(this,e)),"eventEmitterSymbol",Symbol("rechartsEventEmitter")),pt(d5(r),"accessibilityManager",new da),pt(d5(r),"handleLegendBBoxUpdate",function(e){if(e){var t=r.state,n=t.dataStartIndex,o=t.dataEndIndex,i=t.updateId;r.setState(pe({legendBBox:e},v({props:r.props,dataStartIndex:n,dataEndIndex:o,updateId:i},pe(pe({},r.state),{},{legendBBox:e}))))}}),pt(d5(r),"handleReceiveSyncEvent",function(e,t,n){r.props.syncId===e&&(n!==r.eventEmitterSymbol||"function"==typeof r.props.syncMethod)&&r.applySyncEvent(t)}),pt(d5(r),"handleBrushChange",function(e){var t=e.startIndex,n=e.endIndex;if(t!==r.state.dataStartIndex||n!==r.state.dataEndIndex){var o=r.state.updateId;r.setState(function(){return pe({dataStartIndex:t,dataEndIndex:n},v({props:r.props,dataStartIndex:t,dataEndIndex:n,updateId:o},r.state))}),r.triggerSyncEvent({dataStartIndex:t,dataEndIndex:n})}}),pt(d5(r),"handleMouseEnter",function(e){var t=r.getMouseInfo(e);if(t){var n=pe(pe({},t),{},{isTooltipActive:!0});r.setState(n),r.triggerSyncEvent(n);var o=r.props.onMouseEnter;eo()(o)&&o(n,e)}}),pt(d5(r),"triggeredAfterMouseMove",function(e){var t=r.getMouseInfo(e),n=t?pe(pe({},t),{},{isTooltipActive:!0}):{isTooltipActive:!1};r.setState(n),r.triggerSyncEvent(n);var o=r.props.onMouseMove;eo()(o)&&o(n,e)}),pt(d5(r),"handleItemMouseEnter",function(e){r.setState(function(){return{isTooltipActive:!0,activeItem:e,activePayload:e.tooltipPayload,activeCoordinate:e.tooltipPosition||{x:e.cx,y:e.cy}}})}),pt(d5(r),"handleItemMouseLeave",function(){r.setState(function(){return{isTooltipActive:!1}})}),pt(d5(r),"handleMouseMove",function(e){e.persist(),r.throttleTriggeredAfterMouseMove(e)}),pt(d5(r),"handleMouseLeave",function(e){var t={isTooltipActive:!1};r.setState(t),r.triggerSyncEvent(t);var n=r.props.onMouseLeave;eo()(n)&&n(t,e)}),pt(d5(r),"handleOuterEvent",function(e){var t,n=eN(e),o=z()(r.props,"".concat(n));n&&eo()(o)&&o(null!==(t=/.*touch.*/i.test(n)?r.getMouseInfo(e.changedTouches[0]):r.getMouseInfo(e))&&void 0!==t?t:{},e)}),pt(d5(r),"handleClick",function(e){var t=r.getMouseInfo(e);if(t){var n=pe(pe({},t),{},{isTooltipActive:!0});r.setState(n),r.triggerSyncEvent(n);var o=r.props.onClick;eo()(o)&&o(n,e)}}),pt(d5(r),"handleMouseDown",function(e){var t=r.props.onMouseDown;eo()(t)&&t(r.getMouseInfo(e),e)}),pt(d5(r),"handleMouseUp",function(e){var t=r.props.onMouseUp;eo()(t)&&t(r.getMouseInfo(e),e)}),pt(d5(r),"handleTouchMove",function(e){null!=e.changedTouches&&e.changedTouches.length>0&&r.throttleTriggeredAfterMouseMove(e.changedTouches[0])}),pt(d5(r),"handleTouchStart",function(e){null!=e.changedTouches&&e.changedTouches.length>0&&r.handleMouseDown(e.changedTouches[0])}),pt(d5(r),"handleTouchEnd",function(e){null!=e.changedTouches&&e.changedTouches.length>0&&r.handleMouseUp(e.changedTouches[0])}),pt(d5(r),"triggerSyncEvent",function(e){void 0!==r.props.syncId&&f7.emit(de,r.props.syncId,e,r.eventEmitterSymbol)}),pt(d5(r),"applySyncEvent",function(e){var t=r.props,n=t.layout,o=t.syncMethod,i=r.state.updateId,a=e.dataStartIndex,c=e.dataEndIndex;if(void 0!==e.dataStartIndex||void 0!==e.dataEndIndex)r.setState(pe({dataStartIndex:a,dataEndIndex:c},v({props:r.props,dataStartIndex:a,dataEndIndex:c,updateId:i},r.state)));else if(void 0!==e.activeTooltipIndex){var l=e.chartX,u=e.chartY,s=e.activeTooltipIndex,f=r.state,d=f.offset,p=f.tooltipTicks;if(!d)return;if("function"==typeof o)s=o(p,e);else if("value"===o){s=-1;for(var h=0;h=0){if(l.dataKey&&!l.allowDuplicatedCategory){var O="function"==typeof l.dataKey?function(e){return"function"==typeof l.dataKey?l.dataKey(e.payload):null}:"payload.".concat(l.dataKey.toString());C=J(p,O,s),k=h&&m&&J(m,O,s)}else C=null==p?void 0:p[u],k=h&&m&&m[u];if(x||b){var S=void 0!==e.props.activeIndex?e.props.activeIndex:u;return[(0,A.cloneElement)(e,pe(pe(pe({},o.props),w),{},{activeIndex:S})),null,null]}if(!en()(C))return[E].concat(d3(r.renderActivePoints({item:o,activePoint:C,basePoint:k,childIndex:u,isRange:h})))}else{var C,k,j,P=(null!==(j=r.getItemByXY(r.state.activeCoordinate))&&void 0!==j?j:{graphicalItem:E}).graphicalItem,M=P.item,T=void 0===M?e:M,N=P.childIndex,I=pe(pe(pe({},o.props),w),{},{activeIndex:N});return[(0,A.cloneElement)(T,I),null,null]}}return h?[E,null,null]:[E,null]}),pt(d5(r),"renderCustomized",function(e,t,n){return(0,A.cloneElement)(e,pe(pe({key:"recharts-customized-".concat(n)},r.props),r.state))}),pt(d5(r),"renderMap",{CartesianGrid:{handler:r.renderGrid,once:!0},ReferenceArea:{handler:r.renderReferenceElement},ReferenceLine:{handler:pa},ReferenceDot:{handler:r.renderReferenceElement},XAxis:{handler:pa},YAxis:{handler:pa},Brush:{handler:r.renderBrush,once:!0},Bar:{handler:r.renderGraphicChild},Line:{handler:r.renderGraphicChild},Area:{handler:r.renderGraphicChild},Radar:{handler:r.renderGraphicChild},RadialBar:{handler:r.renderGraphicChild},Scatter:{handler:r.renderGraphicChild},Pie:{handler:r.renderGraphicChild},Funnel:{handler:r.renderGraphicChild},Tooltip:{handler:r.renderCursor,once:!0},PolarGrid:{handler:r.renderPolarGrid,once:!0},PolarAngleAxis:{handler:r.renderPolarAxis},PolarRadiusAxis:{handler:r.renderPolarAxis},Customized:{handler:r.renderCustomized}}),r.clipPathId="".concat(null!==(t=e.id)&&void 0!==t?t:G("recharts"),"-clip"),r.throttleTriggeredAfterMouseMove=I()(r.triggeredAfterMouseMove,null!==(n=e.throttleDelay)&&void 0!==n?n:1e3/60),r.state={},r}return n=[{key:"componentDidMount",value:function(){var e,t;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:null!==(e=this.props.margin.left)&&void 0!==e?e:0,top:null!==(t=this.props.margin.top)&&void 0!==t?t:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var e=this.props,t=e.children,n=e.data,r=e.height,o=e.layout,i=eS(t,n$);if(i){var a=i.props.defaultIndex;if("number"==typeof a&&!(a<0)&&!(a>this.state.tooltipTicks.length)){var c=this.state.tooltipTicks[a]&&this.state.tooltipTicks[a].value,l=ps(this.state,n,a,c),u=this.state.tooltipTicks[a].coordinate,s=(this.state.offset.top+r)/2,f="horizontal"===o?{x:u,y:s}:{y:u,x:s},d=this.state.formattedGraphicalItems.find(function(e){return"Scatter"===e.item.type.name});d&&(f=pe(pe({},f),d.props.points[a].tooltipPosition),l=d.props.points[a].tooltipPayload);var p={activeTooltipIndex:a,isTooltipActive:!0,activeLabel:c,activePayload:l,activeCoordinate:f};this.setState(p),this.renderCursor(i),this.accessibilityManager.setIndex(a)}}}},{key:"getSnapshotBeforeUpdate",value:function(e,t){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==t.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==e.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==e.margin){var n,r;this.accessibilityManager.setDetails({offset:{left:null!==(n=this.props.margin.left)&&void 0!==n?n:0,top:null!==(r=this.props.margin.top)&&void 0!==r?r:0}})}return null}},{key:"componentDidUpdate",value:function(e){eM([eS(e.children,n$)],[eS(this.props.children,n$)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var e=eS(this.props.children,n$);if(e&&"boolean"==typeof e.props.shared){var t=e.props.shared?"axis":"item";return s.indexOf(t)>=0?t:l}return l}},{key:"getMouseInfo",value:function(e){if(!this.container)return null;var t=this.container,n=t.getBoundingClientRect(),r={top:n.top+window.scrollY-document.documentElement.clientTop,left:n.left+window.scrollX-document.documentElement.clientLeft},o={chartX:Math.round(e.pageX-r.left),chartY:Math.round(e.pageY-r.top)},i=n.width/t.offsetWidth||1,a=this.inRange(o.chartX,o.chartY,i);if(!a)return null;var c=this.state,l=c.xAxisMap,u=c.yAxisMap;if("axis"!==this.getTooltipEventType()&&l&&u){var s=$(l).scale,f=$(u).scale,d=s&&s.invert?s.invert(o.chartX):null,p=f&&f.invert?f.invert(o.chartY):null;return pe(pe({},o),{},{xValue:d,yValue:p})}var h=pf(this.state,this.props.data,this.props.layout,a);return h?pe(pe({},o),h):null}},{key:"inRange",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=this.props.layout,o=e/n,i=t/n;if("horizontal"===r||"vertical"===r){var a=this.state.offset;return o>=a.left&&o<=a.left+a.width&&i>=a.top&&i<=a.top+a.height?{x:o,y:i}:null}var c=this.state,l=c.angleAxisMap,u=c.radiusAxisMap;return l&&u?u8({x:o,y:i},$(l)):null}},{key:"parseEventsOfWrapper",value:function(){var e=this.props.children,t=this.getTooltipEventType(),n=eS(e,n$),r={};return n&&"axis"===t&&(r="click"===n.props.trigger?{onClick:this.handleClick}:{onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd}),pe(pe({},ep(this.props,this.handleOuterEvent)),r)}},{key:"addListener",value:function(){f7.on(de,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){f7.removeListener(de,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(e,t,n){for(var r=this.state.formattedGraphicalItems,o=0,i=r.length;o=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var pY=function(e){var t=e.fill;if(!t||"none"===t)return null;var n=e.fillOpacity,r=e.x,o=e.y,i=e.width,a=e.height;return A.createElement("rect",{x:r,y:o,width:i,height:a,stroke:"none",fill:t,fillOpacity:n,className:"recharts-cartesian-grid-bg"})};function pQ(e,t){var n;if(A.isValidElement(e))n=A.cloneElement(e,t);else if(eo()(e))n=e(t);else{var r=t.x1,o=t.y1,i=t.x2,a=t.y2,c=t.key,l=eP(p$(t,pq),!1),u=(l.offset,p$(l,pV));n=A.createElement("line",pK({},u,{x1:r,y1:o,x2:i,y2:a,fill:"none",key:c}))}return n}function pJ(e){var t=e.x,n=e.width,r=e.horizontal,o=void 0===r||r,i=e.horizontalPoints;if(!o||!i||!i.length)return null;var a=i.map(function(r,i){return pQ(o,pG(pG({},e),{},{x1:t,y1:r,x2:t+n,y2:r,key:"line-".concat(i),index:i}))});return A.createElement("g",{className:"recharts-cartesian-grid-horizontal"},a)}function p0(e){var t=e.y,n=e.height,r=e.vertical,o=void 0===r||r,i=e.verticalPoints;if(!o||!i||!i.length)return null;var a=i.map(function(r,i){return pQ(o,pG(pG({},e),{},{x1:r,y1:t,x2:r,y2:t+n,key:"line-".concat(i),index:i}))});return A.createElement("g",{className:"recharts-cartesian-grid-vertical"},a)}function p1(e){var t=e.horizontalFill,n=e.fillOpacity,r=e.x,o=e.y,i=e.width,a=e.height,c=e.horizontalPoints,l=e.horizontal;if(!(void 0===l||l)||!t||!t.length)return null;var u=c.map(function(e){return Math.round(e+o-o)}).sort(function(e,t){return e-t});o!==u[0]&&u.unshift(0);var s=u.map(function(e,c){var l=u[c+1]?u[c+1]-e:o+a-e;if(l<=0)return null;var s=c%t.length;return A.createElement("rect",{key:"react-".concat(c),y:e,x:r,height:l,width:i,stroke:"none",fill:t[s],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return A.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},s)}function p2(e){var t=e.vertical,n=e.verticalFill,r=e.fillOpacity,o=e.x,i=e.y,a=e.width,c=e.height,l=e.verticalPoints;if(!(void 0===t||t)||!n||!n.length)return null;var u=l.map(function(e){return Math.round(e+o-o)}).sort(function(e,t){return e-t});o!==u[0]&&u.unshift(0);var s=u.map(function(e,t){var l=u[t+1]?u[t+1]-e:o+a-e;if(l<=0)return null;var s=t%n.length;return A.createElement("rect",{key:"react-".concat(t),x:e,y:i,width:l,height:c,stroke:"none",fill:n[s],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return A.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},s)}var p4=function(e,t){var n=e.xAxis,r=e.width,o=e.height,i=e.offset;return ud(pS(pG(pG(pG({},pB.defaultProps),n),{},{ticks:up(n,!0),viewBox:{x:0,y:0,width:r,height:o}})),i.left,i.left+i.width,t)},p5=function(e,t){var n=e.yAxis,r=e.width,o=e.height,i=e.offset;return ud(pS(pG(pG(pG({},pB.defaultProps),n),{},{ticks:up(n,!0),viewBox:{x:0,y:0,width:r,height:o}})),i.top,i.top+i.height,t)},p6={horizontal:!0,vertical:!0,stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[]};function p3(e){var t,n,r,o,i,a,c=fq(),l=fV(),u=(0,A.useContext)(fD),s=pG(pG({},e),{},{stroke:null!==(t=e.stroke)&&void 0!==t?t:p6.stroke,fill:null!==(n=e.fill)&&void 0!==n?n:p6.fill,horizontal:null!==(r=e.horizontal)&&void 0!==r?r:p6.horizontal,horizontalFill:null!==(o=e.horizontalFill)&&void 0!==o?o:p6.horizontalFill,vertical:null!==(i=e.vertical)&&void 0!==i?i:p6.vertical,verticalFill:null!==(a=e.verticalFill)&&void 0!==a?a:p6.verticalFill}),f=s.x,d=s.y,p=s.width,h=s.height,m=s.xAxis,v=s.yAxis,g=s.syncWithTicks,y=s.horizontalValues,b=s.verticalValues;if(!V(p)||p<=0||!V(h)||h<=0||!V(f)||f!==+f||!V(d)||d!==+d)return null;var x=s.verticalCoordinatesGenerator||p4,w=s.horizontalCoordinatesGenerator||p5,E=s.horizontalPoints,O=s.verticalPoints;if((!E||!E.length)&&eo()(w)){var S=y&&y.length,C=w({yAxis:v?pG(pG({},v),{},{ticks:S?y:v.ticks}):void 0,width:c,height:l,offset:u},!!S||g);ee(Array.isArray(C),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(pU(C),"]")),Array.isArray(C)&&(E=C)}if((!O||!O.length)&&eo()(x)){var k=b&&b.length,j=x({xAxis:m?pG(pG({},m),{},{ticks:k?b:m.ticks}):void 0,width:c,height:l,offset:u},!!k||g);ee(Array.isArray(j),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(pU(j),"]")),Array.isArray(j)&&(O=j)}return A.createElement("g",{className:"recharts-cartesian-grid"},A.createElement(pY,{fill:s.fill,fillOpacity:s.fillOpacity,x:s.x,y:s.y,width:s.width,height:s.height}),A.createElement(pJ,pK({},s,{offset:u,horizontalPoints:E})),A.createElement(p0,pK({},s,{offset:u,verticalPoints:O})),A.createElement(p1,pK({},s,{horizontalPoints:E})),A.createElement(p2,pK({},s,{verticalPoints:O})))}p3.displayName="CartesianGrid";let p8=(e,t)=>{let[n,r]=(0,A.useState)(t);(0,A.useEffect)(()=>{let t=()=>{r(window.innerWidth),e()};return t(),window.addEventListener("resize",t),()=>window.removeEventListener("resize",t)},[e,n])},p9=e=>{var t=(0,C._T)(e,[]);return A.createElement("svg",Object.assign({},t,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor"}),A.createElement("path",{d:"M8 12L14 6V18L8 12Z"}))},p7=e=>{var t=(0,C._T)(e,[]);return A.createElement("svg",Object.assign({},t,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor"}),A.createElement("path",{d:"M16 12L10 18V6L16 12Z"}))},he=(0,M.fn)("Legend"),ht=e=>{let{name:t,color:n,onClick:r,activeLegend:o}=e,i=!!r;return A.createElement("li",{className:(0,P.q)(he("legendItem"),"group inline-flex items-center px-2 py-0.5 rounded-tremor-small transition whitespace-nowrap",i?"cursor-pointer":"cursor-default","text-tremor-content",i?"hover:bg-tremor-background-subtle":"","dark:text-dark-tremor-content",i?"dark:hover:bg-dark-tremor-background-subtle":""),onClick:e=>{e.stopPropagation(),null==r||r(t,n)}},A.createElement("svg",{className:(0,P.q)("flex-none h-2 w-2 mr-1.5",(0,M.bM)(n,j.K.text).textColor,o&&o!==t?"opacity-40":"opacity-100"),fill:"currentColor",viewBox:"0 0 8 8"},A.createElement("circle",{cx:4,cy:4,r:4})),A.createElement("p",{className:(0,P.q)("whitespace-nowrap truncate text-tremor-default","text-tremor-content",i?"group-hover:text-tremor-content-emphasis":"","dark:text-dark-tremor-content",o&&o!==t?"opacity-40":"opacity-100",i?"dark:group-hover:text-dark-tremor-content-emphasis":"")},t))},hn=e=>{let{icon:t,onClick:n,disabled:r}=e,[o,i]=A.useState(!1),a=A.useRef(null);return A.useEffect(()=>(o?a.current=setInterval(()=>{null==n||n()},300):clearInterval(a.current),()=>clearInterval(a.current)),[o,n]),(0,A.useEffect)(()=>{r&&(clearInterval(a.current),i(!1))},[r]),A.createElement("button",{type:"button",className:(0,P.q)(he("legendSliderButton"),"w-5 group inline-flex items-center truncate rounded-tremor-small transition",r?"cursor-not-allowed":"cursor-pointer",r?"text-tremor-content-subtle":"text-tremor-content hover:text-tremor-content-emphasis hover:bg-tremor-background-subtle",r?"dark:text-dark-tremor-subtle":"dark:text-dark-tremor dark:hover:text-tremor-content-emphasis dark:hover:bg-dark-tremor-background-subtle"),disabled:r,onClick:e=>{e.stopPropagation(),null==n||n()},onMouseDown:e=>{e.stopPropagation(),i(!0)},onMouseUp:e=>{e.stopPropagation(),i(!1)}},A.createElement(t,{className:"w-full"}))},hr=A.forwardRef((e,t)=>{var n,r;let{categories:o,colors:i=j.s,className:a,onClickLegendItem:c,activeLegend:l,enableLegendSlider:u=!1}=e,s=(0,C._T)(e,["categories","colors","className","onClickLegendItem","activeLegend","enableLegendSlider"]),f=A.useRef(null),[d,p]=A.useState(null),[h,m]=A.useState(null),v=A.useRef(null),g=(0,A.useCallback)(()=>{let e=null==f?void 0:f.current;e&&p({left:e.scrollLeft>0,right:e.scrollWidth-e.clientWidth>e.scrollLeft})},[p]),y=(0,A.useCallback)(e=>{var t;let n=null==f?void 0:f.current,r=null!==(t=null==n?void 0:n.clientWidth)&&void 0!==t?t:0;n&&u&&(n.scrollTo({left:"left"===e?n.scrollLeft-r:n.scrollLeft+r,behavior:"smooth"}),setTimeout(()=>{g()},400))},[u,g]);A.useEffect(()=>{let e=e=>{"ArrowLeft"===e?y("left"):"ArrowRight"===e&&y("right")};return h?(e(h),v.current=setInterval(()=>{e(h)},300)):clearInterval(v.current),()=>clearInterval(v.current)},[h,y]);let b=e=>{e.stopPropagation(),"ArrowLeft"!==e.key&&"ArrowRight"!==e.key||(e.preventDefault(),m(e.key))},x=e=>{e.stopPropagation(),m(null)};return A.useEffect(()=>{let e=null==f?void 0:f.current;return u&&(g(),null==e||e.addEventListener("keydown",b),null==e||e.addEventListener("keyup",x)),()=>{null==e||e.removeEventListener("keydown",b),null==e||e.removeEventListener("keyup",x)}},[g,u]),A.createElement("ol",Object.assign({ref:t,className:(0,P.q)(he("root"),"relative overflow-hidden",a)},s),A.createElement("div",{ref:f,tabIndex:0,className:(0,P.q)("h-full flex",u?(null==d?void 0:d.right)||(null==d?void 0:d.left)?"pl-4 pr-12 items-center overflow-auto snap-mandatory [&::-webkit-scrollbar]:hidden [scrollbar-width:none]":"":"flex-wrap")},o.map((e,t)=>A.createElement(ht,{key:"item-".concat(t),name:e,color:i[t],onClick:c,activeLegend:l}))),u&&((null==d?void 0:d.right)||(null==d?void 0:d.left))?A.createElement(A.Fragment,null,A.createElement("div",{className:(0,P.q)("from-tremor-background","dark:from-dark-tremor-background","absolute top-0 bottom-0 left-0 w-4 bg-gradient-to-r to-transparent pointer-events-none")}),A.createElement("div",{className:(0,P.q)("to-tremor-background","dark:to-dark-tremor-background","absolute top-0 bottom-0 right-10 w-4 bg-gradient-to-r from-transparent pointer-events-none")}),A.createElement("div",{className:(0,P.q)("bg-tremor-background","dark:bg-dark-tremor-background","absolute flex top-0 pr-1 bottom-0 right-0 items-center justify-center h-full")},A.createElement(hn,{icon:p9,onClick:()=>{m(null),y("left")},disabled:!(null==d?void 0:d.left)}),A.createElement(hn,{icon:p7,onClick:()=>{m(null),y("right")},disabled:!(null==d?void 0:d.right)}))):null)});hr.displayName="Legend";let ho=(e,t,n,r,o,i)=>{let{payload:a}=e,c=(0,A.useRef)(null);p8(()=>{var e,t;n((t=null===(e=c.current)||void 0===e?void 0:e.clientHeight)?Number(t)+20:60)});let l=a.filter(e=>"none"!==e.type);return A.createElement("div",{ref:c,className:"flex items-center justify-end"},A.createElement(hr,{categories:l.map(e=>e.value),colors:l.map(e=>t.get(e.value)),onClickLegendItem:o,activeLegend:r,enableLegendSlider:i}))},hi=e=>{let{children:t}=e;return A.createElement("div",{className:(0,P.q)("rounded-tremor-default text-tremor-default border","bg-tremor-background shadow-tremor-dropdown border-tremor-border","dark:bg-dark-tremor-background dark:shadow-dark-tremor-dropdown dark:border-dark-tremor-border")},t)},ha=e=>{let{value:t,name:n,color:r}=e;return A.createElement("div",{className:"flex items-center justify-between space-x-8"},A.createElement("div",{className:"flex items-center space-x-2"},A.createElement("span",{className:(0,P.q)("shrink-0 rounded-tremor-full border-2 h-3 w-3","border-tremor-background shadow-tremor-card","dark:border-dark-tremor-background dark:shadow-dark-tremor-card",(0,M.bM)(r,j.K.background).bgColor)}),A.createElement("p",{className:(0,P.q)("text-right whitespace-nowrap","text-tremor-content","dark:text-dark-tremor-content")},n)),A.createElement("p",{className:(0,P.q)("font-medium tabular-nums text-right whitespace-nowrap","text-tremor-content-emphasis","dark:text-dark-tremor-content-emphasis")},t))},hc=e=>{let{active:t,payload:n,label:r,categoryColors:o,valueFormatter:i}=e;if(t&&n){let e=n.filter(e=>"none"!==e.type);return A.createElement(hi,null,A.createElement("div",{className:(0,P.q)("border-tremor-border border-b px-4 py-2","dark:border-dark-tremor-border")},A.createElement("p",{className:(0,P.q)("font-medium","text-tremor-content-emphasis","dark:text-dark-tremor-content-emphasis")},r)),A.createElement("div",{className:(0,P.q)("px-4 py-2 space-y-1")},e.map((e,t)=>{var n;let{value:r,name:a}=e;return A.createElement(ha,{key:"id-".concat(t),value:i(r),name:a,color:null!==(n=o.get(a))&&void 0!==n?n:k.fr.Blue})})))}return null},hl=(0,M.fn)("Flex"),hu={start:"justify-start",end:"justify-end",center:"justify-center",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},hs={start:"items-start",end:"items-end",center:"items-center",baseline:"items-baseline",stretch:"items-stretch"},hf={row:"flex-row",col:"flex-col","row-reverse":"flex-row-reverse","col-reverse":"flex-col-reverse"},hd=A.forwardRef((e,t)=>{let{flexDirection:n="row",justifyContent:r="between",alignItems:o="center",children:i,className:a}=e,c=(0,C._T)(e,["flexDirection","justifyContent","alignItems","children","className"]);return A.createElement("div",Object.assign({ref:t,className:(0,P.q)(hl("root"),"flex w-full",hf[n],hu[r],hs[o],a)},c),i)});hd.displayName="Flex";var hp=n(71801);let hh=e=>{let{noDataText:t="No data"}=e;return A.createElement(hd,{alignItems:"center",justifyContent:"center",className:(0,P.q)("w-full h-full border border-dashed rounded-tremor-default","border-tremor-border","dark:border-dark-tremor-border")},A.createElement(hp.Z,{className:(0,P.q)("text-tremor-content","dark:text-dark-tremor-content")},t))},hm=(e,t)=>{let n=new Map;return e.forEach((e,r)=>{n.set(e,t[r])}),n},hv=(e,t,n)=>[e?"auto":null!=t?t:0,null!=n?n:"auto"];function hg(e,t){if(e===t)return!0;if("object"!=typeof e||"object"!=typeof t||null===e||null===t)return!1;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let o of n)if(!r.includes(o)||!hg(e[o],t[o]))return!1;return!0}let hy=A.forwardRef((e,t)=>{let{data:n=[],categories:r=[],index:o,colors:i=j.s,valueFormatter:a=M.Cj,layout:c="horizontal",stack:l=!1,relative:u=!1,startEndOnly:s=!1,animationDuration:f=900,showAnimation:d=!1,showXAxis:p=!0,showYAxis:h=!0,yAxisWidth:m=56,intervalType:v="equidistantPreserveStart",showTooltip:g=!0,showLegend:y=!0,showGridLines:b=!0,autoMinValue:x=!1,minValue:w,maxValue:E,allowDecimals:O=!0,noDataText:S,onValueChange:T,enableLegendSlider:N=!1,customTooltip:I,rotateLabelX:Z,tickGap:R=5,className:_}=e,D=(0,C._T)(e,["data","categories","index","colors","valueFormatter","layout","stack","relative","startEndOnly","animationDuration","showAnimation","showXAxis","showYAxis","yAxisWidth","intervalType","showTooltip","showLegend","showGridLines","autoMinValue","minValue","maxValue","allowDecimals","noDataText","onValueChange","enableLegendSlider","customTooltip","rotateLabelX","tickGap","className"]),B=p||h?20:0,[L,z]=(0,A.useState)(60),F=hm(r,i),[H,W]=A.useState(void 0),[q,V]=(0,A.useState)(void 0),U=!!T;function X(e,t,n){var r,o,i,a;n.stopPropagation(),T&&(hg(H,Object.assign(Object.assign({},e.payload),{value:e.value}))?(V(void 0),W(void 0),null==T||T(null)):(V(null===(o=null===(r=e.tooltipPayload)||void 0===r?void 0:r[0])||void 0===o?void 0:o.dataKey),W(Object.assign(Object.assign({},e.payload),{value:e.value})),null==T||T(Object.assign({eventType:"bar",categoryClicked:null===(a=null===(i=e.tooltipPayload)||void 0===i?void 0:i[0])||void 0===a?void 0:a.dataKey},e.payload))))}let G=hv(x,w,E);return A.createElement("div",Object.assign({ref:t,className:(0,P.q)("w-full h-80",_)},D),A.createElement(eD,{className:"h-full w-full"},(null==n?void 0:n.length)?A.createElement(pW,{data:n,stackOffset:l?"sign":u?"expand":"none",layout:"vertical"===c?"vertical":"horizontal",onClick:U&&(q||H)?()=>{W(void 0),V(void 0),null==T||T(null)}:void 0},b?A.createElement(p3,{className:(0,P.q)("stroke-1","stroke-tremor-border","dark:stroke-dark-tremor-border"),horizontal:"vertical"!==c,vertical:"vertical"===c}):null,"vertical"!==c?A.createElement(pz,{padding:{left:B,right:B},hide:!p,dataKey:o,interval:s?"preserveStartEnd":v,tick:{transform:"translate(0, 6)"},ticks:s?[n[0][o],n[n.length-1][o]]:void 0,fill:"",stroke:"",className:(0,P.q)("mt-4 text-tremor-label","fill-tremor-content","dark:fill-dark-tremor-content"),tickLine:!1,axisLine:!1,angle:null==Z?void 0:Z.angle,dy:null==Z?void 0:Z.verticalShift,height:null==Z?void 0:Z.xAxisHeight,minTickGap:R}):A.createElement(pz,{hide:!p,type:"number",tick:{transform:"translate(-3, 0)"},domain:G,fill:"",stroke:"",className:(0,P.q)("text-tremor-label","fill-tremor-content","dark:fill-dark-tremor-content"),tickLine:!1,axisLine:!1,tickFormatter:a,minTickGap:R,allowDecimals:O,angle:null==Z?void 0:Z.angle,dy:null==Z?void 0:Z.verticalShift,height:null==Z?void 0:Z.xAxisHeight}),"vertical"!==c?A.createElement(pH,{width:m,hide:!h,axisLine:!1,tickLine:!1,type:"number",domain:G,tick:{transform:"translate(-3, 0)"},fill:"",stroke:"",className:(0,P.q)("text-tremor-label","fill-tremor-content","dark:fill-dark-tremor-content"),tickFormatter:u?e=>"".concat((100*e).toString()," %"):a,allowDecimals:O}):A.createElement(pH,{width:m,hide:!h,dataKey:o,axisLine:!1,tickLine:!1,ticks:s?[n[0][o],n[n.length-1][o]]:void 0,type:"category",interval:"preserveStartEnd",tick:{transform:"translate(0, 6)"},fill:"",stroke:"",className:(0,P.q)("text-tremor-label","fill-tremor-content","dark:fill-dark-tremor-content")}),A.createElement(n$,{wrapperStyle:{outline:"none"},isAnimationActive:!1,cursor:{fill:"#d1d5db",opacity:"0.15"},content:g?e=>{let{active:t,payload:n,label:r}=e;return I?A.createElement(I,{payload:null==n?void 0:n.map(e=>{var t;return Object.assign(Object.assign({},e),{color:null!==(t=F.get(e.dataKey))&&void 0!==t?t:k.fr.Gray})}),active:t,label:r}):A.createElement(hc,{active:t,payload:n,label:r,valueFormatter:a,categoryColors:F})}:A.createElement(A.Fragment,null),position:{y:0}}),y?A.createElement(r1,{verticalAlign:"top",height:L,content:e=>{let{payload:t}=e;return ho({payload:t},F,z,q,U?e=>{U&&(e!==q||H?(V(e),null==T||T({eventType:"category",categoryClicked:e})):(V(void 0),null==T||T(null)),W(void 0))}:void 0,N)}}):null,r.map(e=>{var t;return A.createElement(fp,{className:(0,P.q)((0,M.bM)(null!==(t=F.get(e))&&void 0!==t?t:k.fr.Gray,j.K.background).fillColor,T?"cursor-pointer":""),key:e,name:e,type:"linear",stackId:l||u?"a":void 0,dataKey:e,fill:"",isAnimationActive:d,animationDuration:f,shape:e=>((e,t,n,r)=>{let{fillOpacity:o,name:i,payload:a,value:c}=e,{x:l,width:u,y:s,height:f}=e;return"horizontal"===r&&f<0?(s+=f,f=Math.abs(f)):"vertical"===r&&u<0&&(l+=u,u=Math.abs(u)),A.createElement("rect",{x:l,y:s,width:u,height:f,opacity:t||n&&n!==i?hg(t,Object.assign(Object.assign({},a),{value:c}))?o:.3:o})})(e,H,q,c),onClick:X})})):A.createElement(hh,{noDataText:S})))});hy.displayName="BarChart"},61244:function(e,t,n){n.d(t,{Z:function(){return m}});var r=n(69703),o=n(64090),i=n(58437),a=n(54942),c=n(99250),l=n(65492),u=n(2898);let s={xs:{paddingX:"px-1.5",paddingY:"py-1.5"},sm:{paddingX:"px-1.5",paddingY:"py-1.5"},md:{paddingX:"px-2",paddingY:"py-2"},lg:{paddingX:"px-2",paddingY:"py-2"},xl:{paddingX:"px-2.5",paddingY:"py-2.5"}},f={xs:{height:"h-3",width:"w-3"},sm:{height:"h-5",width:"w-5"},md:{height:"h-5",width:"w-5"},lg:{height:"h-7",width:"w-7"},xl:{height:"h-9",width:"w-9"}},d={simple:{rounded:"",border:"",ring:"",shadow:""},light:{rounded:"rounded-tremor-default",border:"",ring:"",shadow:""},shadow:{rounded:"rounded-tremor-default",border:"border",ring:"",shadow:"shadow-tremor-card dark:shadow-dark-tremor-card"},solid:{rounded:"rounded-tremor-default",border:"border-2",ring:"ring-1",shadow:""},outlined:{rounded:"rounded-tremor-default",border:"border",ring:"ring-2",shadow:""}},p=(e,t)=>{switch(e){case"simple":return{textColor:t?(0,l.bM)(t,u.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:"",borderColor:"",ringColor:""};case"light":return{textColor:t?(0,l.bM)(t,u.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:t?(0,c.q)((0,l.bM)(t,u.K.background).bgColor,"bg-opacity-20"):"bg-tremor-brand-muted dark:bg-dark-tremor-brand-muted",borderColor:"",ringColor:""};case"shadow":return{textColor:t?(0,l.bM)(t,u.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:t?(0,c.q)((0,l.bM)(t,u.K.background).bgColor,"bg-opacity-20"):"bg-tremor-background dark:bg-dark-tremor-background",borderColor:"border-tremor-border dark:border-dark-tremor-border",ringColor:""};case"solid":return{textColor:t?(0,l.bM)(t,u.K.text).textColor:"text-tremor-brand-inverted dark:text-dark-tremor-brand-inverted",bgColor:t?(0,c.q)((0,l.bM)(t,u.K.background).bgColor,"bg-opacity-20"):"bg-tremor-brand dark:bg-dark-tremor-brand",borderColor:"border-tremor-brand-inverted dark:border-dark-tremor-brand-inverted",ringColor:"ring-tremor-ring dark:ring-dark-tremor-ring"};case"outlined":return{textColor:t?(0,l.bM)(t,u.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:t?(0,c.q)((0,l.bM)(t,u.K.background).bgColor,"bg-opacity-20"):"bg-tremor-background dark:bg-dark-tremor-background",borderColor:t?(0,l.bM)(t,u.K.ring).borderColor:"border-tremor-brand-subtle dark:border-dark-tremor-brand-subtle",ringColor:t?(0,c.q)((0,l.bM)(t,u.K.ring).ringColor,"ring-opacity-40"):"ring-tremor-brand-muted dark:ring-dark-tremor-brand-muted"}}},h=(0,l.fn)("Icon"),m=o.forwardRef((e,t)=>{let{icon:n,variant:u="simple",tooltip:m,size:v=a.u8.SM,color:g,className:y}=e,b=(0,r._T)(e,["icon","variant","tooltip","size","color","className"]),x=p(u,g),{tooltipProps:w,getReferenceProps:E}=(0,i.l)();return o.createElement("span",Object.assign({ref:(0,l.lq)([t,w.refs.setReference]),className:(0,c.q)(h("root"),"inline-flex flex-shrink-0 items-center",x.bgColor,x.textColor,x.borderColor,x.ringColor,d[u].rounded,d[u].border,d[u].shadow,d[u].ring,s[v].paddingX,s[v].paddingY,y)},E,b),o.createElement(i.Z,Object.assign({text:m},w)),o.createElement(n,{className:(0,c.q)(h("icon"),"shrink-0",f[v].height,f[v].width)}))});m.displayName="Icon"},2179:function(e,t,n){n.d(t,{Z:function(){return S}});var r=n(69703),o=n(58437),i=n(64090);let a=["preEnter","entering","entered","preExit","exiting","exited","unmounted"],c=e=>({_s:e,status:a[e],isEnter:e<3,isMounted:6!==e,isResolved:2===e||e>4}),l=e=>e?6:5,u=(e,t)=>{switch(e){case 1:case 0:return 2;case 4:case 3:return l(t)}},s=e=>"object"==typeof e?[e.enter,e.exit]:[e,e],f=(e,t)=>setTimeout(()=>{isNaN(document.body.offsetTop)||e(t+1)},0),d=(e,t,n,r,o)=>{clearTimeout(r.current);let i=c(e);t(i),n.current=i,o&&o({current:i})},p=function(){let{enter:e=!0,exit:t=!0,preEnter:n,preExit:r,timeout:o,initialEntered:a,mountOnEnter:p,unmountOnExit:h,onStateChange:m}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},[v,g]=(0,i.useState)(()=>c(a?2:l(p))),y=(0,i.useRef)(v),b=(0,i.useRef)(),[x,w]=s(o),E=(0,i.useCallback)(()=>{let e=u(y.current._s,h);e&&d(e,g,y,b,m)},[m,h]),O=(0,i.useCallback)(o=>{let i=e=>{switch(d(e,g,y,b,m),e){case 1:x>=0&&(b.current=setTimeout(E,x));break;case 4:w>=0&&(b.current=setTimeout(E,w));break;case 0:case 3:b.current=f(i,e)}},a=y.current.isEnter;"boolean"!=typeof o&&(o=!a),o?a||i(e?n?0:1:2):a&&i(t?r?3:4:l(h))},[E,m,e,t,n,r,x,w,h]);return(0,i.useEffect)(()=>()=>clearTimeout(b.current),[]),[v,O,E]};var h=n(54942),m=n(99250),v=n(65492);let g=e=>{var t=(0,r._T)(e,[]);return i.createElement("svg",Object.assign({},t,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor"}),i.createElement("path",{fill:"none",d:"M0 0h24v24H0z"}),i.createElement("path",{d:"M18.364 5.636L16.95 7.05A7 7 0 1 0 19 12h2a9 9 0 1 1-2.636-6.364z"}))};var y=n(2898);let b={xs:{height:"h-4",width:"w-4"},sm:{height:"h-5",width:"w-5"},md:{height:"h-5",width:"w-5"},lg:{height:"h-6",width:"w-6"},xl:{height:"h-6",width:"w-6"}},x=e=>"light"!==e?{xs:{paddingX:"px-2.5",paddingY:"py-1.5",fontSize:"text-xs"},sm:{paddingX:"px-4",paddingY:"py-2",fontSize:"text-sm"},md:{paddingX:"px-4",paddingY:"py-2",fontSize:"text-md"},lg:{paddingX:"px-4",paddingY:"py-2.5",fontSize:"text-lg"},xl:{paddingX:"px-4",paddingY:"py-3",fontSize:"text-xl"}}:{xs:{paddingX:"",paddingY:"",fontSize:"text-xs"},sm:{paddingX:"",paddingY:"",fontSize:"text-sm"},md:{paddingX:"",paddingY:"",fontSize:"text-md"},lg:{paddingX:"",paddingY:"",fontSize:"text-lg"},xl:{paddingX:"",paddingY:"",fontSize:"text-xl"}},w=(e,t)=>{switch(e){case"primary":return{textColor:t?(0,v.bM)("white").textColor:"text-tremor-brand-inverted dark:text-dark-tremor-brand-inverted",hoverTextColor:t?(0,v.bM)("white").textColor:"text-tremor-brand-inverted dark:text-dark-tremor-brand-inverted",bgColor:t?(0,v.bM)(t,y.K.background).bgColor:"bg-tremor-brand dark:bg-dark-tremor-brand",hoverBgColor:t?(0,v.bM)(t,y.K.darkBackground).hoverBgColor:"hover:bg-tremor-brand-emphasis dark:hover:bg-dark-tremor-brand-emphasis",borderColor:t?(0,v.bM)(t,y.K.border).borderColor:"border-tremor-brand dark:border-dark-tremor-brand",hoverBorderColor:t?(0,v.bM)(t,y.K.darkBorder).hoverBorderColor:"hover:border-tremor-brand-emphasis dark:hover:border-dark-tremor-brand-emphasis"};case"secondary":return{textColor:t?(0,v.bM)(t,y.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",hoverTextColor:t?(0,v.bM)(t,y.K.text).textColor:"hover:text-tremor-brand-emphasis dark:hover:text-dark-tremor-brand-emphasis",bgColor:(0,v.bM)("transparent").bgColor,hoverBgColor:t?(0,m.q)((0,v.bM)(t,y.K.background).hoverBgColor,"hover:bg-opacity-20 dark:hover:bg-opacity-20"):"hover:bg-tremor-brand-faint dark:hover:bg-dark-tremor-brand-faint",borderColor:t?(0,v.bM)(t,y.K.border).borderColor:"border-tremor-brand dark:border-dark-tremor-brand"};case"light":return{textColor:t?(0,v.bM)(t,y.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",hoverTextColor:t?(0,v.bM)(t,y.K.darkText).hoverTextColor:"hover:text-tremor-brand-emphasis dark:hover:text-dark-tremor-brand-emphasis",bgColor:(0,v.bM)("transparent").bgColor,borderColor:"",hoverBorderColor:""}}},E=(0,v.fn)("Button"),O=e=>{let{loading:t,iconSize:n,iconPosition:r,Icon:o,needMargin:a,transitionStatus:c}=e,l=a?r===h.zS.Left?(0,m.q)("-ml-1","mr-1.5"):(0,m.q)("-mr-1","ml-1.5"):"",u=(0,m.q)("w-0 h-0"),s={default:u,entering:u,entered:n,exiting:n,exited:u};return t?i.createElement(g,{className:(0,m.q)(E("icon"),"animate-spin shrink-0",l,s.default,s[c]),style:{transition:"width 150ms"}}):i.createElement(o,{className:(0,m.q)(E("icon"),"shrink-0",n,l)})},S=i.forwardRef((e,t)=>{let{icon:n,iconPosition:a=h.zS.Left,size:c=h.u8.SM,color:l,variant:u="primary",disabled:s,loading:f=!1,loadingText:d,children:g,tooltip:y,className:S}=e,C=(0,r._T)(e,["icon","iconPosition","size","color","variant","disabled","loading","loadingText","children","tooltip","className"]),k=f||s,j=void 0!==n||f,P=f&&d,M=!(!g&&!P),A=(0,m.q)(b[c].height,b[c].width),T="light"!==u?(0,m.q)("rounded-tremor-default border","shadow-tremor-input","dark:shadow-dark-tremor-input"):"",N=w(u,l),I=x(u)[c],{tooltipProps:Z,getReferenceProps:R}=(0,o.l)(300),[_,D]=p({timeout:50});return(0,i.useEffect)(()=>{D(f)},[f]),i.createElement("button",Object.assign({ref:(0,v.lq)([t,Z.refs.setReference]),className:(0,m.q)(E("root"),"flex-shrink-0 inline-flex justify-center items-center group font-medium outline-none",T,I.paddingX,I.paddingY,I.fontSize,N.textColor,N.bgColor,N.borderColor,N.hoverBorderColor,k?"opacity-50 cursor-not-allowed":(0,m.q)(w(u,l).hoverTextColor,w(u,l).hoverBgColor,w(u,l).hoverBorderColor),S),disabled:k},R,C),i.createElement(o.Z,Object.assign({text:y},Z)),j&&a!==h.zS.Right?i.createElement(O,{loading:f,iconSize:A,iconPosition:a,Icon:n,transitionStatus:_.status,needMargin:M}):null,P||g?i.createElement("span",{className:(0,m.q)(E("text"),"text-tremor-default whitespace-nowrap")},P?d:g):null,j&&a===h.zS.Right?i.createElement(O,{loading:f,iconSize:A,iconPosition:a,Icon:n,transitionStatus:_.status,needMargin:M}):null)});S.displayName="Button"},13810:function(e,t,n){n.d(t,{Z:function(){return f}});var r=n(69703),o=n(64090),i=n(54942),a=n(2898),c=n(99250),l=n(65492);let u=(0,l.fn)("Card"),s=e=>{if(!e)return"";switch(e){case i.zS.Left:return"border-l-4";case i.m.Top:return"border-t-4";case i.zS.Right:return"border-r-4";case i.m.Bottom:return"border-b-4";default:return""}},f=o.forwardRef((e,t)=>{let{decoration:n="",decorationColor:i,children:f,className:d}=e,p=(0,r._T)(e,["decoration","decorationColor","children","className"]);return o.createElement("div",Object.assign({ref:t,className:(0,c.q)(u("root"),"relative w-full text-left ring-1 rounded-tremor-default p-6","bg-tremor-background ring-tremor-ring shadow-tremor-card","dark:bg-dark-tremor-background dark:ring-dark-tremor-ring dark:shadow-dark-tremor-card",i?(0,l.bM)(i,a.K.border).borderColor:"border-tremor-brand dark:border-dark-tremor-brand",s(n),d)},p),f)});f.displayName="Card"},10384:function(e,t,n){n.d(t,{Z:function(){return u}});var r=n(69703),o=n(99250),i=n(65492),a=n(64090),c=n(50217);let l=(0,i.fn)("Col"),u=a.forwardRef((e,t)=>{let{numColSpan:n=1,numColSpanSm:i,numColSpanMd:u,numColSpanLg:s,children:f,className:d}=e,p=(0,r._T)(e,["numColSpan","numColSpanSm","numColSpanMd","numColSpanLg","children","className"]),h=(e,t)=>e&&Object.keys(t).includes(String(e))?t[e]:"";return a.createElement("div",Object.assign({ref:t,className:(0,o.q)(l("root"),(()=>{let e=h(n,c.PT),t=h(i,c.SP),r=h(u,c.VS),a=h(s,c._w);return(0,o.q)(e,t,r,a)})(),d)},p),f)});u.displayName="Col"},46453:function(e,t,n){n.d(t,{Z:function(){return s}});var r=n(69703),o=n(99250),i=n(65492),a=n(64090),c=n(50217);let l=(0,i.fn)("Grid"),u=(e,t)=>e&&Object.keys(t).includes(String(e))?t[e]:"",s=a.forwardRef((e,t)=>{let{numItems:n=1,numItemsSm:i,numItemsMd:s,numItemsLg:f,children:d,className:p}=e,h=(0,r._T)(e,["numItems","numItemsSm","numItemsMd","numItemsLg","children","className"]),m=u(n,c._m),v=u(i,c.LH),g=u(s,c.l5),y=u(f,c.N4),b=(0,o.q)(m,v,g,y);return a.createElement("div",Object.assign({ref:t,className:(0,o.q)(l("root"),"grid",b,p)},h),d)});s.displayName="Grid"},50217:function(e,t,n){n.d(t,{LH:function(){return o},N4:function(){return a},PT:function(){return c},SP:function(){return l},VS:function(){return u},_m:function(){return r},_w:function(){return s},l5:function(){return i}});let r={0:"grid-cols-none",1:"grid-cols-1",2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4",5:"grid-cols-5",6:"grid-cols-6",7:"grid-cols-7",8:"grid-cols-8",9:"grid-cols-9",10:"grid-cols-10",11:"grid-cols-11",12:"grid-cols-12"},o={0:"sm:grid-cols-none",1:"sm:grid-cols-1",2:"sm:grid-cols-2",3:"sm:grid-cols-3",4:"sm:grid-cols-4",5:"sm:grid-cols-5",6:"sm:grid-cols-6",7:"sm:grid-cols-7",8:"sm:grid-cols-8",9:"sm:grid-cols-9",10:"sm:grid-cols-10",11:"sm:grid-cols-11",12:"sm:grid-cols-12"},i={0:"md:grid-cols-none",1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3",4:"md:grid-cols-4",5:"md:grid-cols-5",6:"md:grid-cols-6",7:"md:grid-cols-7",8:"md:grid-cols-8",9:"md:grid-cols-9",10:"md:grid-cols-10",11:"md:grid-cols-11",12:"md:grid-cols-12"},a={0:"lg:grid-cols-none",1:"lg:grid-cols-1",2:"lg:grid-cols-2",3:"lg:grid-cols-3",4:"lg:grid-cols-4",5:"lg:grid-cols-5",6:"lg:grid-cols-6",7:"lg:grid-cols-7",8:"lg:grid-cols-8",9:"lg:grid-cols-9",10:"lg:grid-cols-10",11:"lg:grid-cols-11",12:"lg:grid-cols-12"},c={1:"col-span-1",2:"col-span-2",3:"col-span-3",4:"col-span-4",5:"col-span-5",6:"col-span-6",7:"col-span-7",8:"col-span-8",9:"col-span-9",10:"col-span-10",11:"col-span-11",12:"col-span-12",13:"col-span-13"},l={1:"sm:col-span-1",2:"sm:col-span-2",3:"sm:col-span-3",4:"sm:col-span-4",5:"sm:col-span-5",6:"sm:col-span-6",7:"sm:col-span-7",8:"sm:col-span-8",9:"sm:col-span-9",10:"sm:col-span-10",11:"sm:col-span-11",12:"sm:col-span-12",13:"sm:col-span-13"},u={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3",4:"md:col-span-4",5:"md:col-span-5",6:"md:col-span-6",7:"md:col-span-7",8:"md:col-span-8",9:"md:col-span-9",10:"md:col-span-10",11:"md:col-span-11",12:"md:col-span-12",13:"md:col-span-13"},s={1:"lg:col-span-1",2:"lg:col-span-2",3:"lg:col-span-3",4:"lg:col-span-4",5:"lg:col-span-5",6:"lg:col-span-6",7:"lg:col-span-7",8:"lg:col-span-8",9:"lg:col-span-9",10:"lg:col-span-10",11:"lg:col-span-11",12:"lg:col-span-12",13:"lg:col-span-13"}},10827:function(e,t,n){n.d(t,{Z:function(){return c}});var r=n(69703),o=n(64090),i=n(99250);let a=(0,n(65492).fn)("Table"),c=o.forwardRef((e,t)=>{let{children:n,className:c}=e,l=(0,r._T)(e,["children","className"]);return o.createElement("div",{className:(0,i.q)(a("root"),"overflow-auto",c)},o.createElement("table",Object.assign({ref:t,className:(0,i.q)(a("table"),"w-full text-tremor-default","text-tremor-content","dark:text-dark-tremor-content")},l),n))});c.displayName="Table"},3851:function(e,t,n){n.d(t,{Z:function(){return c}});var r=n(69703),o=n(64090),i=n(99250);let a=(0,n(65492).fn)("TableBody"),c=o.forwardRef((e,t)=>{let{children:n,className:c}=e,l=(0,r._T)(e,["children","className"]);return o.createElement(o.Fragment,null,o.createElement("tbody",Object.assign({ref:t,className:(0,i.q)(a("root"),"align-top divide-y","divide-tremor-border","dark:divide-dark-tremor-border",c)},l),n))});c.displayName="TableBody"},2044:function(e,t,n){n.d(t,{Z:function(){return c}});var r=n(69703),o=n(64090),i=n(99250);let a=(0,n(65492).fn)("TableCell"),c=o.forwardRef((e,t)=>{let{children:n,className:c}=e,l=(0,r._T)(e,["children","className"]);return o.createElement(o.Fragment,null,o.createElement("td",Object.assign({ref:t,className:(0,i.q)(a("root"),"align-middle whitespace-nowrap text-left p-4",c)},l),n))});c.displayName="TableCell"},64167:function(e,t,n){n.d(t,{Z:function(){return c}});var r=n(69703),o=n(64090),i=n(99250);let a=(0,n(65492).fn)("TableHead"),c=o.forwardRef((e,t)=>{let{children:n,className:c}=e,l=(0,r._T)(e,["children","className"]);return o.createElement(o.Fragment,null,o.createElement("thead",Object.assign({ref:t,className:(0,i.q)(a("root"),"text-left","text-tremor-content","dark:text-dark-tremor-content",c)},l),n))});c.displayName="TableHead"},74480:function(e,t,n){n.d(t,{Z:function(){return c}});var r=n(69703),o=n(64090),i=n(99250);let a=(0,n(65492).fn)("TableHeaderCell"),c=o.forwardRef((e,t)=>{let{children:n,className:c}=e,l=(0,r._T)(e,["children","className"]);return o.createElement(o.Fragment,null,o.createElement("th",Object.assign({ref:t,className:(0,i.q)(a("root"),"whitespace-nowrap text-left font-semibold top-0 px-4 py-3.5","text-tremor-content","dark:text-dark-tremor-content",c)},l),n))});c.displayName="TableHeaderCell"},7178:function(e,t,n){n.d(t,{Z:function(){return c}});var r=n(69703),o=n(64090),i=n(99250);let a=(0,n(65492).fn)("TableRow"),c=o.forwardRef((e,t)=>{let{children:n,className:c}=e,l=(0,r._T)(e,["children","className"]);return o.createElement(o.Fragment,null,o.createElement("tr",Object.assign({ref:t,className:(0,i.q)(a("row"),c)},l),n))});c.displayName="TableRow"},56863:function(e,t,n){n.d(t,{Z:function(){return l}});var r=n(69703),o=n(2898),i=n(99250),a=n(65492),c=n(64090);let l=c.forwardRef((e,t)=>{let{color:n,children:l,className:u}=e,s=(0,r._T)(e,["color","children","className"]);return c.createElement("p",Object.assign({ref:t,className:(0,i.q)("font-semibold text-tremor-metric",n?(0,a.bM)(n,o.K.darkText).textColor:"text-tremor-content-emphasis dark:text-dark-tremor-content-emphasis",u)},s),l)});l.displayName="Metric"},71801:function(e,t,n){n.d(t,{Z:function(){return c}});var r=n(2898),o=n(99250),i=n(65492),a=n(64090);let c=a.forwardRef((e,t)=>{let{color:n,className:c,children:l}=e;return a.createElement("p",{ref:t,className:(0,o.q)("text-tremor-default",n?(0,i.bM)(n,r.K.text).textColor:(0,o.q)("text-tremor-content","dark:text-dark-tremor-content"),c)},l)});c.displayName="Text"},42440:function(e,t,n){n.d(t,{Z:function(){return l}});var r=n(69703),o=n(2898),i=n(99250),a=n(65492),c=n(64090);let l=c.forwardRef((e,t)=>{let{color:n,children:l,className:u}=e,s=(0,r._T)(e,["color","children","className"]);return c.createElement("p",Object.assign({ref:t,className:(0,i.q)("font-medium text-tremor-title",n?(0,a.bM)(n,o.K.darkText).textColor:"text-tremor-content-emphasis dark:text-dark-tremor-content-emphasis",u)},s),l)});l.displayName="Title"},58437:function(e,t,n){n.d(t,{Z:function(){return ez},l:function(){return eL}});var r=n(64090),o=n.t(r,2),i=n(89542);function a(e){return u(e)?(e.nodeName||"").toLowerCase():"#document"}function c(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function l(e){var t;return null==(t=(u(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function u(e){return e instanceof Node||e instanceof c(e).Node}function s(e){return e instanceof Element||e instanceof c(e).Element}function f(e){return e instanceof HTMLElement||e instanceof c(e).HTMLElement}function d(e){return"undefined"!=typeof ShadowRoot&&(e instanceof ShadowRoot||e instanceof c(e).ShadowRoot)}function p(e){let{overflow:t,overflowX:n,overflowY:r,display:o}=y(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!["inline","contents"].includes(o)}function h(e){let t=v(),n=y(e);return"none"!==n.transform||"none"!==n.perspective||!!n.containerType&&"normal"!==n.containerType||!t&&!!n.backdropFilter&&"none"!==n.backdropFilter||!t&&!!n.filter&&"none"!==n.filter||["transform","perspective","filter"].some(e=>(n.willChange||"").includes(e))||["paint","layout","strict","content"].some(e=>(n.contain||"").includes(e))}function m(e){let t=x(e);for(;f(t)&&!g(t);){if(h(t))return t;t=x(t)}return null}function v(){return"undefined"!=typeof CSS&&!!CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")}function g(e){return["html","body","#document"].includes(a(e))}function y(e){return c(e).getComputedStyle(e)}function b(e){return s(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function x(e){if("html"===a(e))return e;let t=e.assignedSlot||e.parentNode||d(e)&&e.host||l(e);return d(t)?t.host:t}function w(e,t,n){var r;void 0===t&&(t=[]),void 0===n&&(n=!0);let o=function e(t){let n=x(t);return g(n)?t.ownerDocument?t.ownerDocument.body:t.body:f(n)&&p(n)?n:e(n)}(e),i=o===(null==(r=e.ownerDocument)?void 0:r.body),a=c(o);return i?t.concat(a,a.visualViewport||[],p(o)?o:[],a.frameElement&&n?w(a.frameElement):[]):t.concat(o,w(o,[],n))}let E=Math.min,O=Math.max,S=Math.round,C=Math.floor,k=e=>({x:e,y:e}),j={left:"right",right:"left",bottom:"top",top:"bottom"},P={start:"end",end:"start"};function M(e,t){return"function"==typeof e?e(t):e}function A(e){return e.split("-")[0]}function T(e){return e.split("-")[1]}function N(e){return"x"===e?"y":"x"}function I(e){return"y"===e?"height":"width"}function Z(e){return["top","bottom"].includes(A(e))?"y":"x"}function R(e){return e.replace(/start|end/g,e=>P[e])}function _(e){return e.replace(/left|right|bottom|top/g,e=>j[e])}function D(e){return{...e,top:e.y,left:e.x,right:e.x+e.width,bottom:e.y+e.height}}function B(e,t,n){let r,{reference:o,floating:i}=e,a=Z(t),c=N(Z(t)),l=I(c),u=A(t),s="y"===a,f=o.x+o.width/2-i.width/2,d=o.y+o.height/2-i.height/2,p=o[l]/2-i[l]/2;switch(u){case"top":r={x:f,y:o.y-i.height};break;case"bottom":r={x:f,y:o.y+o.height};break;case"right":r={x:o.x+o.width,y:d};break;case"left":r={x:o.x-i.width,y:d};break;default:r={x:o.x,y:o.y}}switch(T(t)){case"start":r[c]-=p*(n&&s?-1:1);break;case"end":r[c]+=p*(n&&s?-1:1)}return r}let L=async(e,t,n)=>{let{placement:r="bottom",strategy:o="absolute",middleware:i=[],platform:a}=n,c=i.filter(Boolean),l=await (null==a.isRTL?void 0:a.isRTL(t)),u=await a.getElementRects({reference:e,floating:t,strategy:o}),{x:s,y:f}=B(u,r,l),d=r,p={},h=0;for(let n=0;n{!function(n){try{t=t||e.matches(n)}catch(e){}}(n)});let o=m(e);if(t&&o){let e=o.getBoundingClientRect();n=e.x,r=e.y}return[t,n,r]}function $(e){return X(l(e)).left+b(e).scrollLeft}function Y(e,t,n){let r;if("viewport"===t)r=function(e,t){let n=c(e),r=l(e),o=n.visualViewport,i=r.clientWidth,a=r.clientHeight,u=0,s=0;if(o){i=o.width,a=o.height;let e=v();(!e||e&&"fixed"===t)&&(u=o.offsetLeft,s=o.offsetTop)}return{width:i,height:a,x:u,y:s}}(e,n);else if("document"===t)r=function(e){let t=l(e),n=b(e),r=e.ownerDocument.body,o=O(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),i=O(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),a=-n.scrollLeft+$(e),c=-n.scrollTop;return"rtl"===y(r).direction&&(a+=O(t.clientWidth,r.clientWidth)-o),{width:o,height:i,x:a,y:c}}(l(e));else if(s(t))r=function(e,t){let n=X(e,!0,"fixed"===t),r=n.top+e.clientTop,o=n.left+e.clientLeft,i=f(e)?q(e):k(1),a=e.clientWidth*i.x;return{width:a,height:e.clientHeight*i.y,x:o*i.x,y:r*i.y}}(t,n);else{let n=U(e);r={...t,x:t.x-n.x,y:t.y-n.y}}return D(r)}function Q(e,t){return f(e)&&"fixed"!==y(e).position?t?t(e):e.offsetParent:null}function J(e,t){let n=c(e);if(!f(e))return n;let r=Q(e,t);for(;r&&["table","td","th"].includes(a(r))&&"static"===y(r).position;)r=Q(r,t);return r&&("html"===a(r)||"body"===a(r)&&"static"===y(r).position&&!h(r))?n:r||m(e)||n}let ee=async function(e){let t=this.getOffsetParent||J,n=this.getDimensions;return{reference:function(e,t,n,r){let o=f(t),i=l(t),c="fixed"===n,u=X(e,!0,c,t),s={scrollLeft:0,scrollTop:0},d=k(0);if(o||!o&&!c){if(("body"!==a(t)||p(i))&&(s=b(t)),o){let e=X(t,!0,c,t);d.x=e.x+t.clientLeft,d.y=e.y+t.clientTop}else i&&(d.x=$(i))}let h=u.left+s.scrollLeft-d.x,m=u.top+s.scrollTop-d.y,[v,g,y]=K(r);return v&&(h+=g,m+=y,o&&(h+=t.clientLeft,m+=t.clientTop)),{x:h,y:m,width:u.width,height:u.height}}(e.reference,await t(e.floating),e.strategy,e.floating),floating:{x:0,y:0,...await n(e.floating)}}},et={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:n,offsetParent:r,strategy:o}=e,i=l(r),[c]=t?K(t.floating):[!1];if(r===i||c)return n;let u={scrollLeft:0,scrollTop:0},s=k(1),d=k(0),h=f(r);if((h||!h&&"fixed"!==o)&&(("body"!==a(r)||p(i))&&(u=b(r)),f(r))){let e=X(r);s=q(r),d.x=e.x+r.clientLeft,d.y=e.y+r.clientTop}return{width:n.width*s.x,height:n.height*s.y,x:n.x*s.x-u.scrollLeft*s.x+d.x,y:n.y*s.y-u.scrollTop*s.y+d.y}},getDocumentElement:l,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e,i=[..."clippingAncestors"===n?function(e,t){let n=t.get(e);if(n)return n;let r=w(e,[],!1).filter(e=>s(e)&&"body"!==a(e)),o=null,i="fixed"===y(e).position,c=i?x(e):e;for(;s(c)&&!g(c);){let t=y(c),n=h(c);n||"fixed"!==t.position||(o=null),(i?!n&&!o:!n&&"static"===t.position&&!!o&&["absolute","fixed"].includes(o.position)||p(c)&&!n&&function e(t,n){let r=x(t);return!(r===n||!s(r)||g(r))&&("fixed"===y(r).position||e(r,n))}(e,c))?r=r.filter(e=>e!==c):o=t,c=x(c)}return t.set(e,r),r}(t,this._c):[].concat(n),r],c=i[0],l=i.reduce((e,n)=>{let r=Y(t,n,o);return e.top=O(r.top,e.top),e.right=E(r.right,e.right),e.bottom=E(r.bottom,e.bottom),e.left=O(r.left,e.left),e},Y(t,c,o));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}},getOffsetParent:J,getElementRects:ee,getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){let{width:t,height:n}=H(e);return{width:t,height:n}},getScale:q,isElement:s,isRTL:function(e){return"rtl"===y(e).direction}};function en(e,t,n,r){let o;void 0===r&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:c="function"==typeof ResizeObserver,layoutShift:u="function"==typeof IntersectionObserver,animationFrame:s=!1}=r,f=W(e),d=i||a?[...f?w(f):[],...w(t)]:[];d.forEach(e=>{i&&e.addEventListener("scroll",n,{passive:!0}),a&&e.addEventListener("resize",n)});let p=f&&u?function(e,t){let n,r=null,o=l(e);function i(){var e;clearTimeout(n),null==(e=r)||e.disconnect(),r=null}return!function a(c,l){void 0===c&&(c=!1),void 0===l&&(l=1),i();let{left:u,top:s,width:f,height:d}=e.getBoundingClientRect();if(c||t(),!f||!d)return;let p=C(s),h=C(o.clientWidth-(u+f)),m={rootMargin:-p+"px "+-h+"px "+-C(o.clientHeight-(s+d))+"px "+-C(u)+"px",threshold:O(0,E(1,l))||1},v=!0;function g(e){let t=e[0].intersectionRatio;if(t!==l){if(!v)return a();t?a(!1,t):n=setTimeout(()=>{a(!1,1e-7)},100)}v=!1}try{r=new IntersectionObserver(g,{...m,root:o.ownerDocument})}catch(e){r=new IntersectionObserver(g,m)}r.observe(e)}(!0),i}(f,n):null,h=-1,m=null;c&&(m=new ResizeObserver(e=>{let[r]=e;r&&r.target===f&&m&&(m.unobserve(t),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var e;null==(e=m)||e.observe(t)})),n()}),f&&!s&&m.observe(f),m.observe(t));let v=s?X(e):null;return s&&function t(){let r=X(e);v&&(r.x!==v.x||r.y!==v.y||r.width!==v.width||r.height!==v.height)&&n(),v=r,o=requestAnimationFrame(t)}(),n(),()=>{var e;d.forEach(e=>{i&&e.removeEventListener("scroll",n),a&&e.removeEventListener("resize",n)}),null==p||p(),null==(e=m)||e.disconnect(),m=null,s&&cancelAnimationFrame(o)}}let er=(e,t,n)=>{let r=new Map,o={platform:et,...n},i={...o.platform,_c:r};return L(e,t,{...o,platform:i})};var eo="undefined"!=typeof document?r.useLayoutEffect:r.useEffect;function ei(e,t){let n,r,o;if(e===t)return!0;if(typeof e!=typeof t)return!1;if("function"==typeof e&&e.toString()===t.toString())return!0;if(e&&t&&"object"==typeof e){if(Array.isArray(e)){if((n=e.length)!=t.length)return!1;for(r=n;0!=r--;)if(!ei(e[r],t[r]))return!1;return!0}if((n=(o=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(r=n;0!=r--;)if(!Object.prototype.hasOwnProperty.call(t,o[r]))return!1;for(r=n;0!=r--;){let n=o[r];if(("_owner"!==n||!e.$$typeof)&&!ei(e[n],t[n]))return!1}return!0}return e!=e&&t!=t}function ea(e){let t=r.useRef(e);return eo(()=>{t.current=e}),t}var ec="undefined"!=typeof document?r.useLayoutEffect:r.useEffect;let el=!1,eu=0,es=()=>"floating-ui-"+eu++,ef=o["useId".toString()]||function(){let[e,t]=r.useState(()=>el?es():void 0);return ec(()=>{null==e&&t(es())},[]),r.useEffect(()=>{el||(el=!0)},[]),e},ed=r.createContext(null),ep=r.createContext(null),eh=()=>{var e;return(null==(e=r.useContext(ed))?void 0:e.id)||null},em=()=>r.useContext(ep);function ev(e){return(null==e?void 0:e.ownerDocument)||document}function eg(e){return ev(e).defaultView||window}function ey(e){return!!e&&e instanceof eg(e).Element}function eb(e){return!!e&&e instanceof eg(e).HTMLElement}function ex(e,t){let n=["mouse","pen"];return t||n.push("",void 0),n.includes(e)}function ew(e){let t=(0,r.useRef)(e);return ec(()=>{t.current=e}),t}let eE="data-floating-ui-safe-polygon";function eO(e,t,n){return n&&!ex(n)?0:"number"==typeof e?e:null==e?void 0:e[t]}let eS=function(e,t){let{enabled:n=!0,delay:o=0,handleClose:i=null,mouseOnly:a=!1,restMs:c=0,move:l=!0}=void 0===t?{}:t,{open:u,onOpenChange:s,dataRef:f,events:d,elements:{domReference:p,floating:h},refs:m}=e,v=em(),g=eh(),y=ew(i),b=ew(o),x=r.useRef(),w=r.useRef(),E=r.useRef(),O=r.useRef(),S=r.useRef(!0),C=r.useRef(!1),k=r.useRef(()=>{}),j=r.useCallback(()=>{var e;let t=null==(e=f.current.openEvent)?void 0:e.type;return(null==t?void 0:t.includes("mouse"))&&"mousedown"!==t},[f]);r.useEffect(()=>{if(n)return d.on("dismiss",e),()=>{d.off("dismiss",e)};function e(){clearTimeout(w.current),clearTimeout(O.current),S.current=!0}},[n,d]),r.useEffect(()=>{if(!n||!y.current||!u)return;function e(){j()&&s(!1)}let t=ev(h).documentElement;return t.addEventListener("mouseleave",e),()=>{t.removeEventListener("mouseleave",e)}},[h,u,s,n,y,f,j]);let P=r.useCallback(function(e){void 0===e&&(e=!0);let t=eO(b.current,"close",x.current);t&&!E.current?(clearTimeout(w.current),w.current=setTimeout(()=>s(!1),t)):e&&(clearTimeout(w.current),s(!1))},[b,s]),M=r.useCallback(()=>{k.current(),E.current=void 0},[]),A=r.useCallback(()=>{if(C.current){let e=ev(m.floating.current).body;e.style.pointerEvents="",e.removeAttribute(eE),C.current=!1}},[m]);return r.useEffect(()=>{if(n&&ey(p))return u&&p.addEventListener("mouseleave",i),null==h||h.addEventListener("mouseleave",i),l&&p.addEventListener("mousemove",r,{once:!0}),p.addEventListener("mouseenter",r),p.addEventListener("mouseleave",o),()=>{u&&p.removeEventListener("mouseleave",i),null==h||h.removeEventListener("mouseleave",i),l&&p.removeEventListener("mousemove",r),p.removeEventListener("mouseenter",r),p.removeEventListener("mouseleave",o)};function t(){return!!f.current.openEvent&&["click","mousedown"].includes(f.current.openEvent.type)}function r(e){if(clearTimeout(w.current),S.current=!1,a&&!ex(x.current)||c>0&&0===eO(b.current,"open"))return;f.current.openEvent=e;let t=eO(b.current,"open",x.current);t?w.current=setTimeout(()=>{s(!0)},t):s(!0)}function o(n){if(t())return;k.current();let r=ev(h);if(clearTimeout(O.current),y.current){u||clearTimeout(w.current),E.current=y.current({...e,tree:v,x:n.clientX,y:n.clientY,onClose(){A(),M(),P()}});let t=E.current;r.addEventListener("mousemove",t),k.current=()=>{r.removeEventListener("mousemove",t)};return}P()}function i(n){t()||null==y.current||y.current({...e,tree:v,x:n.clientX,y:n.clientY,onClose(){A(),M(),P()}})(n)}},[p,h,n,e,a,c,l,P,M,A,s,u,v,b,y,f]),ec(()=>{var e,t,r;if(n&&u&&null!=(e=y.current)&&e.__options.blockPointerEvents&&j()){let e=ev(h).body;if(e.setAttribute(eE,""),e.style.pointerEvents="none",C.current=!0,ey(p)&&h){let e=null==v?void 0:null==(t=v.nodesRef.current.find(e=>e.id===g))?void 0:null==(r=t.context)?void 0:r.elements.floating;return e&&(e.style.pointerEvents=""),p.style.pointerEvents="auto",h.style.pointerEvents="auto",()=>{p.style.pointerEvents="",h.style.pointerEvents=""}}}},[n,u,g,h,p,v,y,f,j]),ec(()=>{u||(x.current=void 0,M(),A())},[u,M,A]),r.useEffect(()=>()=>{M(),clearTimeout(w.current),clearTimeout(O.current),A()},[n,M,A]),r.useMemo(()=>{if(!n)return{};function e(e){x.current=e.pointerType}return{reference:{onPointerDown:e,onPointerEnter:e,onMouseMove(){u||0===c||(clearTimeout(O.current),O.current=setTimeout(()=>{S.current||s(!0)},c))}},floating:{onMouseEnter(){clearTimeout(w.current)},onMouseLeave(){d.emit("dismiss",{type:"mouseLeave",data:{returnFocus:!1}}),P(!1)}}}},[d,n,c,u,s,P])};function eC(e,t){if(!e||!t)return!1;let n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&function(e){if("undefined"==typeof ShadowRoot)return!1;let t=eg(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}(n)){let n=t;do{if(n&&e===n)return!0;n=n.parentNode||n.host}while(n)}return!1}function ek(e,t){let n=e.filter(e=>{var n;return e.parentId===t&&(null==(n=e.context)?void 0:n.open)})||[],r=n;for(;r.length;)r=e.filter(e=>{var t;return null==(t=r)?void 0:t.some(t=>{var n;return e.parentId===t.id&&(null==(n=e.context)?void 0:n.open)})})||[],n=n.concat(r);return n}let ej=o["useInsertionEffect".toString()]||(e=>e());function eP(e){let t=r.useRef(()=>{});return ej(()=>{t.current=e}),r.useCallback(function(){for(var e=arguments.length,n=Array(e),r=0;r!1),O="function"==typeof p?E:p,S=r.useRef(!1),{escapeKeyBubbles:C,outsidePressBubbles:k}=eN(y);return r.useEffect(()=>{if(!n||!f)return;function e(e){if("Escape"===e.key){let e=b?ek(b.nodesRef.current,a):[];if(e.length>0){let t=!0;if(e.forEach(e=>{var n;if(null!=(n=e.context)&&n.open&&!e.context.dataRef.current.__escapeKeyBubbles){t=!1;return}}),!t)return}i.emit("dismiss",{type:"escapeKey",data:{returnFocus:{preventScroll:!1}}}),o(!1)}}function t(e){var t;let n=S.current;if(S.current=!1,n||"function"==typeof O&&!O(e))return;let r="composedPath"in e?e.composedPath()[0]:e.target;if(eb(r)&&u){let t=u.ownerDocument.defaultView||window,n=r.scrollWidth>r.clientWidth,o=r.scrollHeight>r.clientHeight,i=o&&e.offsetX>r.clientWidth;if(o&&"rtl"===t.getComputedStyle(r).direction&&(i=e.offsetX<=r.offsetWidth-r.clientWidth),i||n&&e.offsetY>r.clientHeight)return}let c=b&&ek(b.nodesRef.current,a).some(t=>{var n;return eM(e,null==(n=t.context)?void 0:n.elements.floating)});if(eM(e,u)||eM(e,l)||c)return;let s=b?ek(b.nodesRef.current,a):[];if(s.length>0){let e=!0;if(s.forEach(t=>{var n;if(null!=(n=t.context)&&n.open&&!t.context.dataRef.current.__outsidePressBubbles){e=!1;return}}),!e)return}i.emit("dismiss",{type:"outsidePress",data:{returnFocus:x?{preventScroll:!0}:function(e){if(0===e.mozInputSource&&e.isTrusted)return!0;let t=/Android/i;return(t.test(function(){let e=navigator.userAgentData;return null!=e&&e.platform?e.platform:navigator.platform}())||t.test(function(){let e=navigator.userAgentData;return e&&Array.isArray(e.brands)?e.brands.map(e=>{let{brand:t,version:n}=e;return t+"/"+n}).join(" "):navigator.userAgent}()))&&e.pointerType?"click"===e.type&&1===e.buttons:0===e.detail&&!e.pointerType}(e)||0===(t=e).width&&0===t.height||1===t.width&&1===t.height&&0===t.pressure&&0===t.detail&&"mouse"!==t.pointerType||t.width<1&&t.height<1&&0===t.pressure&&0===t.detail}}),o(!1)}function r(){o(!1)}s.current.__escapeKeyBubbles=C,s.current.__outsidePressBubbles=k;let p=ev(u);d&&p.addEventListener("keydown",e),O&&p.addEventListener(h,t);let m=[];return g&&(ey(l)&&(m=w(l)),ey(u)&&(m=m.concat(w(u))),!ey(c)&&c&&c.contextElement&&(m=m.concat(w(c.contextElement)))),(m=m.filter(e=>{var t;return e!==(null==(t=p.defaultView)?void 0:t.visualViewport)})).forEach(e=>{e.addEventListener("scroll",r,{passive:!0})}),()=>{d&&p.removeEventListener("keydown",e),O&&p.removeEventListener(h,t),m.forEach(e=>{e.removeEventListener("scroll",r)})}},[s,u,l,c,d,O,h,i,b,a,n,o,g,f,C,k,x]),r.useEffect(()=>{S.current=!1},[O,h]),r.useMemo(()=>f?{reference:{[eA[v]]:()=>{m&&(i.emit("dismiss",{type:"referencePress",data:{returnFocus:!1}}),o(!1))}},floating:{[eT[h]]:()=>{S.current=!0}}}:{},[f,i,m,h,v,o])},eZ=function(e,t){let{open:n,onOpenChange:o,dataRef:i,events:a,refs:c,elements:{floating:l,domReference:u}}=e,{enabled:s=!0,keyboardOnly:f=!0}=void 0===t?{}:t,d=r.useRef(""),p=r.useRef(!1),h=r.useRef();return r.useEffect(()=>{if(!s)return;let e=ev(l).defaultView||window;function t(){!n&&eb(u)&&u===function(e){let t=e.activeElement;for(;(null==(n=t)?void 0:null==(r=n.shadowRoot)?void 0:r.activeElement)!=null;){var n,r;t=t.shadowRoot.activeElement}return t}(ev(u))&&(p.current=!0)}return e.addEventListener("blur",t),()=>{e.removeEventListener("blur",t)}},[l,u,n,s]),r.useEffect(()=>{if(s)return a.on("dismiss",e),()=>{a.off("dismiss",e)};function e(e){("referencePress"===e.type||"escapeKey"===e.type)&&(p.current=!0)}},[a,s]),r.useEffect(()=>()=>{clearTimeout(h.current)},[]),r.useMemo(()=>s?{reference:{onPointerDown(e){let{pointerType:t}=e;d.current=t,p.current=!!(t&&f)},onMouseLeave(){p.current=!1},onFocus(e){var t;p.current||"focus"===e.type&&(null==(t=i.current.openEvent)?void 0:t.type)==="mousedown"&&i.current.openEvent&&eM(i.current.openEvent,u)||(i.current.openEvent=e.nativeEvent,o(!0))},onBlur(e){p.current=!1;let t=e.relatedTarget,n=ey(t)&&t.hasAttribute("data-floating-ui-focus-guard")&&"outside"===t.getAttribute("data-type");h.current=setTimeout(()=>{eC(c.floating.current,t)||eC(u,t)||n||o(!1)})}}}:{},[s,f,u,c,i,o])},eR=function(e,t){let{open:n}=e,{enabled:o=!0,role:i="dialog"}=void 0===t?{}:t,a=ef(),c=ef();return r.useMemo(()=>{let e={id:a,role:i};return o?"tooltip"===i?{reference:{"aria-describedby":n?a:void 0},floating:e}:{reference:{"aria-expanded":n?"true":"false","aria-haspopup":"alertdialog"===i?"dialog":i,"aria-controls":n?a:void 0,..."listbox"===i&&{role:"combobox"},..."menu"===i&&{id:c}},floating:{...e,..."menu"===i&&{"aria-labelledby":c}}}:{}},[o,i,n,a,c])};function e_(e,t,n){let r=new Map;return{..."floating"===n&&{tabIndex:-1},...e,...t.map(e=>e?e[n]:null).concat(e).reduce((e,t)=>(t&&Object.entries(t).forEach(t=>{let[n,o]=t;if(0===n.indexOf("on")){if(r.has(n)||r.set(n,[]),"function"==typeof o){var i;null==(i=r.get(n))||i.push(o),e[n]=function(){for(var e,t=arguments.length,o=Array(t),i=0;ie(...o))}}}else e[n]=o}),e),{})}}let eD=function(e){void 0===e&&(e=[]);let t=e,n=r.useCallback(t=>e_(t,e,"reference"),t),o=r.useCallback(t=>e_(t,e,"floating"),t),i=r.useCallback(t=>e_(t,e,"item"),e.map(e=>null==e?void 0:e.item));return r.useMemo(()=>({getReferenceProps:n,getFloatingProps:o,getItemProps:i}),[n,o,i])};var eB=n(99250);let eL=e=>{var t,n;let[o,a]=(0,r.useState)(!1),[c,l]=(0,r.useState)(),{x:u,y:s,refs:f,strategy:d,context:p}=function(e){void 0===e&&(e={});let{open:t=!1,onOpenChange:n,nodeId:o}=e,a=function(e){void 0===e&&(e={});let{placement:t="bottom",strategy:n="absolute",middleware:o=[],platform:a,whileElementsMounted:c,open:l}=e,[u,s]=r.useState({x:null,y:null,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,d]=r.useState(o);ei(f,o)||d(o);let p=r.useRef(null),h=r.useRef(null),m=r.useRef(u),v=ea(c),g=ea(a),[y,b]=r.useState(null),[x,w]=r.useState(null),E=r.useCallback(e=>{p.current!==e&&(p.current=e,b(e))},[]),O=r.useCallback(e=>{h.current!==e&&(h.current=e,w(e))},[]),S=r.useCallback(()=>{if(!p.current||!h.current)return;let e={placement:t,strategy:n,middleware:f};g.current&&(e.platform=g.current),er(p.current,h.current,e).then(e=>{let t={...e,isPositioned:!0};C.current&&!ei(m.current,t)&&(m.current=t,i.flushSync(()=>{s(t)}))})},[f,t,n,g]);eo(()=>{!1===l&&m.current.isPositioned&&(m.current.isPositioned=!1,s(e=>({...e,isPositioned:!1})))},[l]);let C=r.useRef(!1);eo(()=>(C.current=!0,()=>{C.current=!1}),[]),eo(()=>{if(y&&x){if(v.current)return v.current(y,x,S);S()}},[y,x,S,v]);let k=r.useMemo(()=>({reference:p,floating:h,setReference:E,setFloating:O}),[E,O]),j=r.useMemo(()=>({reference:y,floating:x}),[y,x]);return r.useMemo(()=>({...u,update:S,refs:k,elements:j,reference:E,floating:O}),[u,S,k,j,E,O])}(e),c=em(),l=r.useRef(null),u=r.useRef({}),s=r.useState(()=>(function(){let e=new Map;return{emit(t,n){var r;null==(r=e.get(t))||r.forEach(e=>e(n))},on(t,n){e.set(t,[...e.get(t)||[],n])},off(t,n){e.set(t,(e.get(t)||[]).filter(e=>e!==n))}}})())[0],[f,d]=r.useState(null),p=r.useCallback(e=>{let t=ey(e)?{getBoundingClientRect:()=>e.getBoundingClientRect(),contextElement:e}:e;a.refs.setReference(t)},[a.refs]),h=r.useCallback(e=>{(ey(e)||null===e)&&(l.current=e,d(e)),(ey(a.refs.reference.current)||null===a.refs.reference.current||null!==e&&!ey(e))&&a.refs.setReference(e)},[a.refs]),m=r.useMemo(()=>({...a.refs,setReference:h,setPositionReference:p,domReference:l}),[a.refs,h,p]),v=r.useMemo(()=>({...a.elements,domReference:f}),[a.elements,f]),g=eP(n),y=r.useMemo(()=>({...a,refs:m,elements:v,dataRef:u,nodeId:o,events:s,open:t,onOpenChange:g}),[a,o,s,t,g,m,v]);return ec(()=>{let e=null==c?void 0:c.nodesRef.current.find(e=>e.id===o);e&&(e.context=y)}),r.useMemo(()=>({...a,context:y,refs:m,reference:h,positionReference:p}),[a,m,y,h,p])}({open:o,onOpenChange:t=>{t&&e?l(setTimeout(()=>{a(t)},e)):(clearTimeout(c),a(t))},placement:"top",whileElementsMounted:en,middleware:[{name:"offset",options:5,async fn(e){var t,n;let{x:r,y:o,placement:i,middlewareData:a}=e,c=await F(e,5);return i===(null==(t=a.offset)?void 0:t.placement)&&null!=(n=a.arrow)&&n.alignmentOffset?{}:{x:r+c.x,y:o+c.y,data:{...c,placement:i}}}},{name:"flip",options:t={fallbackAxisSideDirection:"start"},async fn(e){var n,r,o,i,a;let{placement:c,middlewareData:l,rects:u,initialPlacement:s,platform:f,elements:d}=e,{mainAxis:p=!0,crossAxis:h=!0,fallbackPlacements:m,fallbackStrategy:v="bestFit",fallbackAxisSideDirection:g="none",flipAlignment:y=!0,...b}=M(t,e);if(null!=(n=l.arrow)&&n.alignmentOffset)return{};let x=A(c),w=A(s)===s,E=await (null==f.isRTL?void 0:f.isRTL(d.floating)),O=m||(w||!y?[_(s)]:function(e){let t=_(e);return[R(e),t,R(t)]}(s));m||"none"===g||O.push(...function(e,t,n,r){let o=T(e),i=function(e,t,n){let r=["left","right"],o=["right","left"];switch(e){case"top":case"bottom":if(n)return t?o:r;return t?r:o;case"left":case"right":return t?["top","bottom"]:["bottom","top"];default:return[]}}(A(e),"start"===n,r);return o&&(i=i.map(e=>e+"-"+o),t&&(i=i.concat(i.map(R)))),i}(s,y,g,E));let S=[s,...O],C=await z(e,b),k=[],j=(null==(r=l.flip)?void 0:r.overflows)||[];if(p&&k.push(C[x]),h){let e=function(e,t,n){void 0===n&&(n=!1);let r=T(e),o=N(Z(e)),i=I(o),a="x"===o?r===(n?"end":"start")?"right":"left":"start"===r?"bottom":"top";return t.reference[i]>t.floating[i]&&(a=_(a)),[a,_(a)]}(c,u,E);k.push(C[e[0]],C[e[1]])}if(j=[...j,{placement:c,overflows:k}],!k.every(e=>e<=0)){let e=((null==(o=l.flip)?void 0:o.index)||0)+1,t=S[e];if(t)return{data:{index:e,overflows:j},reset:{placement:t}};let n=null==(i=j.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:i.placement;if(!n)switch(v){case"bestFit":{let e=null==(a=j.map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:a[0];e&&(n=e);break}case"initialPlacement":n=s}if(c!==n)return{reset:{placement:n}}}return{}}},(void 0===n&&(n={}),{name:"shift",options:n,async fn(e){let{x:t,y:r,placement:o}=e,{mainAxis:i=!0,crossAxis:a=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=M(n,e),u={x:t,y:r},s=await z(e,l),f=Z(A(o)),d=N(f),p=u[d],h=u[f];if(i){let e="y"===d?"top":"left",t="y"===d?"bottom":"right",n=p+s[e],r=p-s[t];p=O(n,E(p,r))}if(a){let e="y"===f?"top":"left",t="y"===f?"bottom":"right",n=h+s[e],r=h-s[t];h=O(n,E(h,r))}let m=c.fn({...e,[d]:p,[f]:h});return{...m,data:{x:m.x-t,y:m.y-r}}}})]}),h=eS(p,{move:!1}),{getReferenceProps:m,getFloatingProps:v}=eD([h,eZ(p),eI(p),eR(p,{role:"tooltip"})]);return{tooltipProps:{open:o,x:u,y:s,refs:f,strategy:d,getFloatingProps:v},getReferenceProps:m}},ez=e=>{let{text:t,open:n,x:o,y:i,refs:a,strategy:c,getFloatingProps:l}=e;return n&&t?r.createElement("div",Object.assign({className:(0,eB.q)("max-w-xs text-sm z-20 rounded-tremor-default opacity-100 px-2.5 py-1","text-white bg-tremor-background-emphasis","text-white dark:bg-dark-tremor-background-subtle"),ref:a.setFloating,style:{position:c,top:null!=i?i:0,left:null!=o?o:0}},l()),t):null};ez.displayName="Tooltip"},67989:function(e,t,n){n.d(t,{Z:function(){return u}});var r=n(69703),o=n(64090),i=n(2898),a=n(99250),c=n(65492);let l=(0,c.fn)("BarList"),u=o.forwardRef((e,t)=>{var n;let u;let{data:s=[],color:f,valueFormatter:d=c.Cj,showAnimation:p=!1,className:h}=e,m=(0,r._T)(e,["data","color","valueFormatter","showAnimation","className"]),v=(n=s.map(e=>e.value),u=-1/0,n.forEach(e=>{u=Math.max(u,e)}),n.map(e=>0===e?0:Math.max(e/u*100,1)));return o.createElement("div",Object.assign({ref:t,className:(0,a.q)(l("root"),"flex justify-between space-x-6",h)},m),o.createElement("div",{className:(0,a.q)(l("bars"),"relative w-full")},s.map((e,t)=>{var n,r,u;let d=e.icon;return o.createElement("div",{key:null!==(n=e.key)&&void 0!==n?n:e.name,className:(0,a.q)(l("bar"),"flex items-center rounded-tremor-small bg-opacity-30","h-9",e.color||f?(0,c.bM)(null!==(r=e.color)&&void 0!==r?r:f,i.K.background).bgColor:"bg-tremor-brand-subtle dark:bg-dark-tremor-brand-subtle dark:bg-opacity-30",t===s.length-1?"mb-0":"mb-2"),style:{width:"".concat(v[t],"%"),transition:p?"all 1s":""}},o.createElement("div",{className:(0,a.q)("absolute max-w-full flex left-2")},d?o.createElement(d,{className:(0,a.q)(l("barIcon"),"flex-none h-5 w-5 mr-2","text-tremor-content","dark:text-dark-tremor-content")}):null,e.href?o.createElement("a",{href:e.href,target:null!==(u=e.target)&&void 0!==u?u:"_blank",rel:"noreferrer",className:(0,a.q)(l("barLink"),"whitespace-nowrap hover:underline truncate text-tremor-default","text-tremor-content-emphasis","dark:text-dark-tremor-content-emphasis")},e.name):o.createElement("p",{className:(0,a.q)(l("barText"),"whitespace-nowrap truncate text-tremor-default","text-tremor-content-emphasis","dark:text-dark-tremor-content-emphasis")},e.name)))})),o.createElement("div",{className:"text-right min-w-min"},s.map((e,t)=>{var n;return o.createElement("div",{key:null!==(n=e.key)&&void 0!==n?n:e.name,className:(0,a.q)(l("labelWrapper"),"flex justify-end items-center","h-9",t===s.length-1?"mb-0":"mb-2")},o.createElement("p",{className:(0,a.q)(l("labelText"),"whitespace-nowrap truncate text-tremor-default","text-tremor-content-emphasis","dark:text-dark-tremor-content-emphasis")},d(e.value)))})))});u.displayName="BarList"},54942:function(e,t,n){n.d(t,{fr:function(){return r},m:function(){return a},u8:function(){return o},zS:function(){return i}});let r={Slate:"slate",Gray:"gray",Zinc:"zinc",Neutral:"neutral",Stone:"stone",Red:"red",Orange:"orange",Amber:"amber",Yellow:"yellow",Lime:"lime",Green:"green",Emerald:"emerald",Teal:"teal",Cyan:"cyan",Sky:"sky",Blue:"blue",Indigo:"indigo",Violet:"violet",Purple:"purple",Fuchsia:"fuchsia",Pink:"pink",Rose:"rose"},o={XS:"xs",SM:"sm",MD:"md",LG:"lg",XL:"xl"},i={Left:"left",Right:"right"},a={Top:"top",Bottom:"bottom"}},2898:function(e,t,n){n.d(t,{K:function(){return o},s:function(){return i}});var r=n(54942);let o={canvasBackground:50,lightBackground:100,background:500,darkBackground:600,darkestBackground:800,lightBorder:200,border:500,darkBorder:700,lightRing:200,ring:300,lightText:400,text:500,darkText:700,darkestText:900,icon:500},i=[r.fr.Blue,r.fr.Cyan,r.fr.Sky,r.fr.Indigo,r.fr.Violet,r.fr.Purple,r.fr.Fuchsia,r.fr.Slate,r.fr.Gray,r.fr.Zinc,r.fr.Neutral,r.fr.Stone,r.fr.Red,r.fr.Orange,r.fr.Amber,r.fr.Yellow,r.fr.Lime,r.fr.Green,r.fr.Emerald,r.fr.Teal,r.fr.Pink,r.fr.Rose]},99250:function(e,t,n){n.d(t,{q:function(){return D}});var r=/^\[(.+)\]$/;function o(e,t){var n=e;return t.split("-").forEach(function(e){n.nextPart.has(e)||n.nextPart.set(e,{nextPart:new Map,validators:[]}),n=n.nextPart.get(e)}),n}var i=/\s+/;function a(){for(var e,t,n=0,r="";ne&&(t=0,r=n,n=new Map)}return{get:function(e){var t=n.get(e);return void 0!==t?t:void 0!==(t=r.get(e))?(o(e,t),t):void 0},set:function(e,t){n.has(e)?n.set(e,t):o(e,t)}}}(e.cacheSize),splitModifiers:(n=1===(t=e.separator||":").length,i=t[0],a=t.length,function(e){for(var r,o=[],c=0,l=0,u=0;ul?r-l:void 0}}),...(s=e.theme,f=e.prefix,d={nextPart:new Map,validators:[]},(p=Object.entries(e.classGroups),f?p.map(function(e){return[e[0],e[1].map(function(e){return"string"==typeof e?f+e:"object"==typeof e?Object.fromEntries(Object.entries(e).map(function(e){return[f+e[0],e[1]]})):e})]}):p).forEach(function(e){var t=e[0];(function e(t,n,r,i){t.forEach(function(t){if("string"==typeof t){(""===t?n:o(n,t)).classGroupId=r;return}if("function"==typeof t){if(t.isThemeGetter){e(t(i),n,r,i);return}n.validators.push({validator:t,classGroupId:r});return}Object.entries(t).forEach(function(t){var a=t[0];e(t[1],o(n,a),r,i)})})})(e[1],d,t,s)}),c=e.conflictingClassGroups,u=void 0===(l=e.conflictingClassGroupModifiers)?{}:l,{getClassGroupId:function(e){var t=e.split("-");return""===t[0]&&1!==t.length&&t.shift(),function e(t,n){if(0===t.length)return n.classGroupId;var r,o=t[0],i=n.nextPart.get(o),a=i?e(t.slice(1),i):void 0;if(a)return a;if(0!==n.validators.length){var c=t.join("-");return null===(r=n.validators.find(function(e){return(0,e.validator)(c)}))||void 0===r?void 0:r.classGroupId}}(t,d)||function(e){if(r.test(e)){var t=r.exec(e)[1],n=null==t?void 0:t.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}}(e)},getConflictingClassGroupIds:function(e,t){var n=c[e]||[];return t&&u[e]?[].concat(n,u[e]):n}})}}(l.slice(1).reduce(function(e,t){return t(e)},a()))).cache.get,n=e.cache.set,s=f,f(i)};function f(r){var o,a,c,l,u,s=t(r);if(s)return s;var f=(a=(o=e).splitModifiers,c=o.getClassGroupId,l=o.getConflictingClassGroupIds,u=new Set,r.trim().split(i).map(function(e){var t=a(e),n=t.modifiers,r=t.hasImportantModifier,o=t.baseClassName,i=t.maybePostfixModifierPosition,l=c(i?o.substring(0,i):o),u=!!i;if(!l){if(!i||!(l=c(o)))return{isTailwindClass:!1,originalClassName:e};u=!1}var s=(function(e){if(e.length<=1)return e;var t=[],n=[];return e.forEach(function(e){"["===e[0]?(t.push.apply(t,n.sort().concat([e])),n=[]):n.push(e)}),t.push.apply(t,n.sort()),t})(n).join(":");return{isTailwindClass:!0,modifierId:r?s+"!":s,classGroupId:l,originalClassName:e,hasPostfixModifier:u}}).reverse().filter(function(e){if(!e.isTailwindClass)return!0;var t=e.modifierId,n=e.classGroupId,r=e.hasPostfixModifier,o=t+n;return!u.has(o)&&(u.add(o),l(n,r).forEach(function(e){return u.add(t+e)}),!0)}).reverse().map(function(e){return e.originalClassName}).join(" "));return n(r,f),f}return function(){return s(a.apply(null,arguments))}}function l(e){var t=function(t){return t[e]||[]};return t.isThemeGetter=!0,t}var u=/^\[(?:([a-z-]+):)?(.+)\]$/i,s=/^\d+\/\d+$/,f=new Set(["px","full","screen"]),d=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,p=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,h=/^-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;function m(e){return w(e)||f.has(e)||s.test(e)||v(e)}function v(e){return P(e,"length",M)}function g(e){return P(e,"size",A)}function y(e){return P(e,"position",A)}function b(e){return P(e,"url",T)}function x(e){return P(e,"number",w)}function w(e){return!Number.isNaN(Number(e))}function E(e){return e.endsWith("%")&&w(e.slice(0,-1))}function O(e){return N(e)||P(e,"number",N)}function S(e){return u.test(e)}function C(){return!0}function k(e){return d.test(e)}function j(e){return P(e,"",I)}function P(e,t,n){var r=u.exec(e);return!!r&&(r[1]?r[1]===t:n(r[2]))}function M(e){return p.test(e)}function A(){return!1}function T(e){return e.startsWith("url(")}function N(e){return Number.isInteger(Number(e))}function I(e){return h.test(e)}function Z(){var e=l("colors"),t=l("spacing"),n=l("blur"),r=l("brightness"),o=l("borderColor"),i=l("borderRadius"),a=l("borderSpacing"),c=l("borderWidth"),u=l("contrast"),s=l("grayscale"),f=l("hueRotate"),d=l("invert"),p=l("gap"),h=l("gradientColorStops"),P=l("gradientColorStopPositions"),M=l("inset"),A=l("margin"),T=l("opacity"),N=l("padding"),I=l("saturate"),Z=l("scale"),R=l("sepia"),_=l("skew"),D=l("space"),B=l("translate"),L=function(){return["auto","contain","none"]},z=function(){return["auto","hidden","clip","visible","scroll"]},F=function(){return["auto",S,t]},H=function(){return[S,t]},W=function(){return["",m]},q=function(){return["auto",w,S]},V=function(){return["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"]},U=function(){return["solid","dashed","dotted","double","none"]},X=function(){return["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity","plus-lighter"]},G=function(){return["start","end","center","between","around","evenly","stretch"]},K=function(){return["","0",S]},$=function(){return["auto","avoid","all","avoid-page","page","left","right","column"]},Y=function(){return[w,x]},Q=function(){return[w,S]};return{cacheSize:500,theme:{colors:[C],spacing:[m],blur:["none","",k,S],brightness:Y(),borderColor:[e],borderRadius:["none","","full",k,S],borderSpacing:H(),borderWidth:W(),contrast:Y(),grayscale:K(),hueRotate:Q(),invert:K(),gap:H(),gradientColorStops:[e],gradientColorStopPositions:[E,v],inset:F(),margin:F(),opacity:Y(),padding:H(),saturate:Y(),scale:Y(),sepia:K(),skew:Q(),space:H(),translate:H()},classGroups:{aspect:[{aspect:["auto","square","video",S]}],container:["container"],columns:[{columns:[k]}],"break-after":[{"break-after":$()}],"break-before":[{"break-before":$()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none"]}],clear:[{clear:["left","right","both","none"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[].concat(V(),[S])}],overflow:[{overflow:z()}],"overflow-x":[{"overflow-x":z()}],"overflow-y":[{"overflow-y":z()}],overscroll:[{overscroll:L()}],"overscroll-x":[{"overscroll-x":L()}],"overscroll-y":[{"overscroll-y":L()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[M]}],"inset-x":[{"inset-x":[M]}],"inset-y":[{"inset-y":[M]}],start:[{start:[M]}],end:[{end:[M]}],top:[{top:[M]}],right:[{right:[M]}],bottom:[{bottom:[M]}],left:[{left:[M]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",O]}],basis:[{basis:F()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",S]}],grow:[{grow:K()}],shrink:[{shrink:K()}],order:[{order:["first","last","none",O]}],"grid-cols":[{"grid-cols":[C]}],"col-start-end":[{col:["auto",{span:["full",O]},S]}],"col-start":[{"col-start":q()}],"col-end":[{"col-end":q()}],"grid-rows":[{"grid-rows":[C]}],"row-start-end":[{row:["auto",{span:[O]},S]}],"row-start":[{"row-start":q()}],"row-end":[{"row-end":q()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",S]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",S]}],gap:[{gap:[p]}],"gap-x":[{"gap-x":[p]}],"gap-y":[{"gap-y":[p]}],"justify-content":[{justify:["normal"].concat(G())}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal"].concat(G(),["baseline"])}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[].concat(G(),["baseline"])}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[N]}],px:[{px:[N]}],py:[{py:[N]}],ps:[{ps:[N]}],pe:[{pe:[N]}],pt:[{pt:[N]}],pr:[{pr:[N]}],pb:[{pb:[N]}],pl:[{pl:[N]}],m:[{m:[A]}],mx:[{mx:[A]}],my:[{my:[A]}],ms:[{ms:[A]}],me:[{me:[A]}],mt:[{mt:[A]}],mr:[{mr:[A]}],mb:[{mb:[A]}],ml:[{ml:[A]}],"space-x":[{"space-x":[D]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[D]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit",S,t]}],"min-w":[{"min-w":["min","max","fit",S,m]}],"max-w":[{"max-w":["0","none","full","min","max","fit","prose",{screen:[k]},k,S]}],h:[{h:[S,t,"auto","min","max","fit"]}],"min-h":[{"min-h":["min","max","fit",S,m]}],"max-h":[{"max-h":[S,t,"min","max","fit"]}],"font-size":[{text:["base",k,v]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",x]}],"font-family":[{font:[C]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractons"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",S]}],"line-clamp":[{"line-clamp":["none",w,x]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",S,m]}],"list-image":[{"list-image":["none",S]}],"list-style-type":[{list:["none","disc","decimal",S]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[T]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[T]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[].concat(U(),["wavy"])}],"text-decoration-thickness":[{decoration:["auto","from-font",m]}],"underline-offset":[{"underline-offset":["auto",S,m]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],indent:[{indent:H()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",S]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",S]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[T]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[].concat(V(),[y])}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",g]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},b]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[P]}],"gradient-via-pos":[{via:[P]}],"gradient-to-pos":[{to:[P]}],"gradient-from":[{from:[h]}],"gradient-via":[{via:[h]}],"gradient-to":[{to:[h]}],rounded:[{rounded:[i]}],"rounded-s":[{"rounded-s":[i]}],"rounded-e":[{"rounded-e":[i]}],"rounded-t":[{"rounded-t":[i]}],"rounded-r":[{"rounded-r":[i]}],"rounded-b":[{"rounded-b":[i]}],"rounded-l":[{"rounded-l":[i]}],"rounded-ss":[{"rounded-ss":[i]}],"rounded-se":[{"rounded-se":[i]}],"rounded-ee":[{"rounded-ee":[i]}],"rounded-es":[{"rounded-es":[i]}],"rounded-tl":[{"rounded-tl":[i]}],"rounded-tr":[{"rounded-tr":[i]}],"rounded-br":[{"rounded-br":[i]}],"rounded-bl":[{"rounded-bl":[i]}],"border-w":[{border:[c]}],"border-w-x":[{"border-x":[c]}],"border-w-y":[{"border-y":[c]}],"border-w-s":[{"border-s":[c]}],"border-w-e":[{"border-e":[c]}],"border-w-t":[{"border-t":[c]}],"border-w-r":[{"border-r":[c]}],"border-w-b":[{"border-b":[c]}],"border-w-l":[{"border-l":[c]}],"border-opacity":[{"border-opacity":[T]}],"border-style":[{border:[].concat(U(),["hidden"])}],"divide-x":[{"divide-x":[c]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[c]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[T]}],"divide-style":[{divide:U()}],"border-color":[{border:[o]}],"border-color-x":[{"border-x":[o]}],"border-color-y":[{"border-y":[o]}],"border-color-t":[{"border-t":[o]}],"border-color-r":[{"border-r":[o]}],"border-color-b":[{"border-b":[o]}],"border-color-l":[{"border-l":[o]}],"divide-color":[{divide:[o]}],"outline-style":[{outline:[""].concat(U())}],"outline-offset":[{"outline-offset":[S,m]}],"outline-w":[{outline:[m]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:W()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[T]}],"ring-offset-w":[{"ring-offset":[m]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",k,j]}],"shadow-color":[{shadow:[C]}],opacity:[{opacity:[T]}],"mix-blend":[{"mix-blend":X()}],"bg-blend":[{"bg-blend":X()}],filter:[{filter:["","none"]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[u]}],"drop-shadow":[{"drop-shadow":["","none",k,S]}],grayscale:[{grayscale:[s]}],"hue-rotate":[{"hue-rotate":[f]}],invert:[{invert:[d]}],saturate:[{saturate:[I]}],sepia:[{sepia:[R]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[u]}],"backdrop-grayscale":[{"backdrop-grayscale":[s]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[f]}],"backdrop-invert":[{"backdrop-invert":[d]}],"backdrop-opacity":[{"backdrop-opacity":[T]}],"backdrop-saturate":[{"backdrop-saturate":[I]}],"backdrop-sepia":[{"backdrop-sepia":[R]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[a]}],"border-spacing-x":[{"border-spacing-x":[a]}],"border-spacing-y":[{"border-spacing-y":[a]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",S]}],duration:[{duration:Q()}],ease:[{ease:["linear","in","out","in-out",S]}],delay:[{delay:Q()}],animate:[{animate:["none","spin","ping","pulse","bounce",S]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[Z]}],"scale-x":[{"scale-x":[Z]}],"scale-y":[{"scale-y":[Z]}],rotate:[{rotate:[O,S]}],"translate-x":[{"translate-x":[B]}],"translate-y":[{"translate-y":[B]}],"skew-x":[{"skew-x":[_]}],"skew-y":[{"skew-y":[_]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",S]}],accent:[{accent:["auto",e]}],appearance:["appearance-none"],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",S]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":H()}],"scroll-mx":[{"scroll-mx":H()}],"scroll-my":[{"scroll-my":H()}],"scroll-ms":[{"scroll-ms":H()}],"scroll-me":[{"scroll-me":H()}],"scroll-mt":[{"scroll-mt":H()}],"scroll-mr":[{"scroll-mr":H()}],"scroll-mb":[{"scroll-mb":H()}],"scroll-ml":[{"scroll-ml":H()}],"scroll-p":[{"scroll-p":H()}],"scroll-px":[{"scroll-px":H()}],"scroll-py":[{"scroll-py":H()}],"scroll-ps":[{"scroll-ps":H()}],"scroll-pe":[{"scroll-pe":H()}],"scroll-pt":[{"scroll-pt":H()}],"scroll-pr":[{"scroll-pr":H()}],"scroll-pb":[{"scroll-pb":H()}],"scroll-pl":[{"scroll-pl":H()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","pinch-zoom","manipulation",{pan:["x","left","right","y","up","down"]}]}],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",S]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[m,x]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}}var R=Object.prototype.hasOwnProperty,_=new Set(["string","number","boolean"]);let D=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;rr.includes(e),i=e=>e.toString();function a(e){return t=>{e.forEach(e=>{"function"==typeof e?e(t):null!=e&&(e.current=t)})}}function c(e){return t=>"tremor-".concat(e,"-").concat(t)}function l(e,t){let n=o(e);if("white"===e||"black"===e||"transparent"===e||!t||!n){let t=e.includes("#")||e.includes("--")||e.includes("rgb")?"[".concat(e,"]"):e;return{bgColor:"bg-".concat(t),hoverBgColor:"hover:bg-".concat(t),selectBgColor:"ui-selected:bg-".concat(t),textColor:"text-".concat(t),selectTextColor:"ui-selected:text-".concat(t),hoverTextColor:"hover:text-".concat(t),borderColor:"border-".concat(t),selectBorderColor:"ui-selected:border-".concat(t),hoverBorderColor:"hover:border-".concat(t),ringColor:"ring-".concat(t),strokeColor:"stroke-".concat(t),fillColor:"fill-".concat(t)}}return{bgColor:"bg-".concat(e,"-").concat(t),selectBgColor:"ui-selected:bg-".concat(e,"-").concat(t),hoverBgColor:"hover:bg-".concat(e,"-").concat(t),textColor:"text-".concat(e,"-").concat(t),selectTextColor:"ui-selected:text-".concat(e,"-").concat(t),hoverTextColor:"hover:text-".concat(e,"-").concat(t),borderColor:"border-".concat(e,"-").concat(t),selectBorderColor:"ui-selected:border-".concat(e,"-").concat(t),hoverBorderColor:"hover:border-".concat(e,"-").concat(t),ringColor:"ring-".concat(e,"-").concat(t),strokeColor:"stroke-".concat(e,"-").concat(t),fillColor:"fill-".concat(e,"-").concat(t)}}},21467:function(e,t,n){n.d(t,{i:function(){return c}});var r=n(64090),o=n(44329),i=n(54165),a=n(57499);function c(e){return t=>r.createElement(i.ZP,{theme:{token:{motion:!1,zIndexPopupBase:0}}},r.createElement(e,Object.assign({},t)))}t.Z=(e,t,n,i)=>c(c=>{let{prefixCls:l,style:u}=c,s=r.useRef(null),[f,d]=r.useState(0),[p,h]=r.useState(0),[m,v]=(0,o.Z)(!1,{value:c.open}),{getPrefixCls:g}=r.useContext(a.E_),y=g(t||"select",l);r.useEffect(()=>{if(v(!0),"undefined"!=typeof ResizeObserver){let e=new ResizeObserver(e=>{let t=e[0].target;d(t.offsetHeight+8),h(t.offsetWidth)}),t=setInterval(()=>{var r;let o=n?".".concat(n(y)):".".concat(y,"-dropdown"),i=null===(r=s.current)||void 0===r?void 0:r.querySelector(o);i&&(clearInterval(t),e.observe(i))},10);return()=>{clearInterval(t),e.disconnect()}}},[]);let b=Object.assign(Object.assign({},c),{style:Object.assign(Object.assign({},u),{margin:0}),open:m,visible:m,getPopupContainer:()=>s.current});return i&&(b=i(b)),r.createElement("div",{ref:s,style:{paddingBottom:f,position:"relative",minWidth:p}},r.createElement(e,Object.assign({},b)))})},51761:function(e,t,n){n.d(t,{Cn:function(){return u},u6:function(){return a}});var r=n(64090),o=n(24750),i=n(86718);let a=1e3,c={Modal:100,Drawer:100,Popover:100,Popconfirm:100,Tooltip:100,Tour:100},l={SelectLike:50,Dropdown:50,DatePicker:50,Menu:50,ImagePreview:1};function u(e,t){let[,n]=(0,o.ZP)(),u=r.useContext(i.Z);if(void 0!==t)return[t,t];let s=null!=u?u:0;return e in c?(s+=(u?0:n.zIndexPopupBase)+c[e],s=Math.min(s,n.zIndexPopupBase+a)):s+=l[e],[void 0===u?t:s,s]}},47387:function(e,t,n){n.d(t,{m:function(){return c}});let r=()=>({height:0,opacity:0}),o=e=>{let{scrollHeight:t}=e;return{height:t,opacity:1}},i=e=>({height:e?e.offsetHeight:0}),a=(e,t)=>(null==t?void 0:t.deadline)===!0||"height"===t.propertyName,c=(e,t,n)=>void 0!==n?n:"".concat(e,"-").concat(t);t.Z=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"ant";return{motionName:"".concat(e,"-motion-collapse"),onAppearStart:r,onEnterStart:r,onAppearActive:o,onEnterActive:o,onLeaveStart:i,onLeaveActive:r,onAppearEnd:a,onEnterEnd:a,onLeaveEnd:a,motionDeadline:500}}},65823:function(e,t,n){n.d(t,{M2:function(){return a},Tm:function(){return c},l$:function(){return i}});var r,o=n(64090);let{isValidElement:i}=r||(r=n.t(o,2));function a(e){return e&&i(e)&&e.type===o.Fragment}function c(e,t){return i(e)?o.cloneElement(e,"function"==typeof t?t(e.props||{}):t):e}},47794:function(e,t,n){n.d(t,{F:function(){return a},Z:function(){return i}});var r=n(16480),o=n.n(r);function i(e,t,n){return o()({["".concat(e,"-status-success")]:"success"===t,["".concat(e,"-status-warning")]:"warning"===t,["".concat(e,"-status-error")]:"error"===t,["".concat(e,"-status-validating")]:"validating"===t,["".concat(e,"-has-feedback")]:n})}let a=(e,t)=>t||e},76564:function(e,t,n){n.d(t,{G8:function(){return i},ln:function(){return a}});var r=n(64090);function o(){}n(53850);let i=r.createContext({}),a=()=>{let e=()=>{};return e.deprecated=o,e}},86718:function(e,t,n){let r=n(64090).createContext(void 0);t.Z=r},51350:function(e,t,n){n.d(t,{Te:function(){return u},aG:function(){return a},hU:function(){return s},nx:function(){return c}});var r=n(64090),o=n(65823);let i=/^[\u4e00-\u9fa5]{2}$/,a=i.test.bind(i);function c(e){return"danger"===e?{danger:!0}:{type:e}}function l(e){return"string"==typeof e}function u(e){return"text"===e||"link"===e}function s(e,t){let n=!1,i=[];return r.Children.forEach(e,e=>{let t=typeof e,r="string"===t||"number"===t;if(n&&r){let t=i.length-1,n=i[t];i[t]="".concat(n).concat(e)}else i.push(e);n=r}),r.Children.map(i,e=>(function(e,t){if(null==e)return;let n=t?" ":"";return"string"!=typeof e&&"number"!=typeof e&&l(e.type)&&a(e.props.children)?(0,o.Tm)(e,{children:e.props.children.split("").join(n)}):l(e)?a(e)?r.createElement("span",null,e.split("").join(n)):r.createElement("span",null,e):(0,o.M2)(e)?r.createElement("span",null,e):e})(e,t))}},1861:function(e,t,n){n.d(t,{ZP:function(){return eg}});var r=n(64090),o=n(16480),i=n.n(o),a=n(35704),c=n(74084),l=n(73193),u=n(57499),s=n(65823),f=n(76585);let d=e=>{let{componentCls:t,colorPrimary:n}=e;return{[t]:{position:"absolute",background:"transparent",pointerEvents:"none",boxSizing:"border-box",color:"var(--wave-color, ".concat(n,")"),boxShadow:"0 0 0 0 currentcolor",opacity:.2,"&.wave-motion-appear":{transition:["box-shadow 0.4s ".concat(e.motionEaseOutCirc),"opacity 2s ".concat(e.motionEaseOutCirc)].join(","),"&-active":{boxShadow:"0 0 0 6px currentcolor",opacity:0},"&.wave-quick":{transition:["box-shadow 0.3s ".concat(e.motionEaseInOut),"opacity 0.35s ".concat(e.motionEaseInOut)].join(",")}}}}};var p=(0,f.ZP)("Wave",e=>[d(e)]),h=n(48563),m=n(19223),v=n(49367),g=n(37274);function y(e){return e&&"#fff"!==e&&"#ffffff"!==e&&"rgb(255, 255, 255)"!==e&&"rgba(255, 255, 255, 1)"!==e&&function(e){let t=(e||"").match(/rgba?\((\d*), (\d*), (\d*)(, [\d.]*)?\)/);return!t||!t[1]||!t[2]||!t[3]||!(t[1]===t[2]&&t[2]===t[3])}(e)&&!/rgba\((?:\d*, ){3}0\)/.test(e)&&"transparent"!==e}let b="ant-wave-target";function x(e){return Number.isNaN(e)?0:e}let w=e=>{let{className:t,target:n,component:o}=e,a=r.useRef(null),[c,l]=r.useState(null),[u,s]=r.useState([]),[f,d]=r.useState(0),[p,h]=r.useState(0),[w,E]=r.useState(0),[O,S]=r.useState(0),[C,k]=r.useState(!1),j={left:f,top:p,width:w,height:O,borderRadius:u.map(e=>"".concat(e,"px")).join(" ")};function P(){let e=getComputedStyle(n);l(function(e){let{borderTopColor:t,borderColor:n,backgroundColor:r}=getComputedStyle(e);return y(t)?t:y(n)?n:y(r)?r:null}(n));let t="static"===e.position,{borderLeftWidth:r,borderTopWidth:o}=e;d(t?n.offsetLeft:x(-parseFloat(r))),h(t?n.offsetTop:x(-parseFloat(o))),E(n.offsetWidth),S(n.offsetHeight);let{borderTopLeftRadius:i,borderTopRightRadius:a,borderBottomLeftRadius:c,borderBottomRightRadius:u}=e;s([i,a,u,c].map(e=>x(parseFloat(e))))}if(c&&(j["--wave-color"]=c),r.useEffect(()=>{if(n){let e;let t=(0,m.Z)(()=>{P(),k(!0)});return"undefined"!=typeof ResizeObserver&&(e=new ResizeObserver(P)).observe(n),()=>{m.Z.cancel(t),null==e||e.disconnect()}}},[]),!C)return null;let M=("Checkbox"===o||"Radio"===o)&&(null==n?void 0:n.classList.contains(b));return r.createElement(v.ZP,{visible:!0,motionAppear:!0,motionName:"wave-motion",motionDeadline:5e3,onAppearEnd:(e,t)=>{var n;if(t.deadline||"opacity"===t.propertyName){let e=null===(n=a.current)||void 0===n?void 0:n.parentElement;(0,g.v)(e).then(()=>{null==e||e.remove()})}return!1}},e=>{let{className:n}=e;return r.createElement("div",{ref:a,className:i()(t,{"wave-quick":M},n),style:j})})};var E=(e,t)=>{var n;let{component:o}=t;if("Checkbox"===o&&!(null===(n=e.querySelector("input"))||void 0===n?void 0:n.checked))return;let i=document.createElement("div");i.style.position="absolute",i.style.left="0px",i.style.top="0px",null==e||e.insertBefore(i,null==e?void 0:e.firstChild),(0,g.s)(r.createElement(w,Object.assign({},t,{target:e})),i)},O=n(24750),S=e=>{let{children:t,disabled:n,component:o}=e,{getPrefixCls:a}=(0,r.useContext)(u.E_),f=(0,r.useRef)(null),d=a("wave"),[,v]=p(d),g=function(e,t,n){let{wave:o}=r.useContext(u.E_),[,i,a]=(0,O.ZP)(),c=(0,h.zX)(r=>{let c=e.current;if((null==o?void 0:o.disabled)||!c)return;let l=c.querySelector(".".concat(b))||c,{showEffect:u}=o||{};(u||E)(l,{className:t,token:i,component:n,event:r,hashId:a})}),l=r.useRef();return e=>{m.Z.cancel(l.current),l.current=(0,m.Z)(()=>{c(e)})}}(f,i()(d,v),o);if(r.useEffect(()=>{let e=f.current;if(!e||1!==e.nodeType||n)return;let t=t=>{!(0,l.Z)(t.target)||!e.getAttribute||e.getAttribute("disabled")||e.disabled||e.className.includes("disabled")||e.className.includes("-leave")||g(t)};return e.addEventListener("click",t,!0),()=>{e.removeEventListener("click",t,!0)}},[n]),!r.isValidElement(t))return null!=t?t:null;let y=(0,c.Yr)(t)?(0,c.sQ)(t.ref,f):f;return(0,s.Tm)(t,{ref:y})},C=n(17094),k=n(10693),j=n(92801),P=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let M=r.createContext(void 0);var A=n(51350);let T=(0,r.forwardRef)((e,t)=>{let{className:n,style:o,children:a,prefixCls:c}=e,l=i()("".concat(c,"-icon"),n);return r.createElement("span",{ref:t,className:l,style:o},a)});var N=n(66155);let I=(0,r.forwardRef)((e,t)=>{let{prefixCls:n,className:o,style:a,iconClassName:c}=e,l=i()("".concat(n,"-loading-icon"),o);return r.createElement(T,{prefixCls:n,className:l,style:a,ref:t},r.createElement(N.Z,{className:c}))}),Z=()=>({width:0,opacity:0,transform:"scale(0)"}),R=e=>({width:e.scrollWidth,opacity:1,transform:"scale(1)"});var _=e=>{let{prefixCls:t,loading:n,existIcon:o,className:i,style:a}=e,c=!!n;return o?r.createElement(I,{prefixCls:t,className:i,style:a}):r.createElement(v.ZP,{visible:c,motionName:"".concat(t,"-loading-icon-motion"),motionLeave:c,removeOnLeave:!0,onAppearStart:Z,onAppearActive:R,onEnterStart:Z,onEnterActive:R,onLeaveStart:R,onLeaveActive:Z},(e,n)=>{let{className:o,style:c}=e;return r.createElement(I,{prefixCls:t,className:i,style:Object.assign(Object.assign({},a),c),ref:n,iconClassName:o})})},D=n(8985),B=n(11303),L=n(80316);let z=(e,t)=>({["> span, > ".concat(e)]:{"&:not(:last-child)":{["&, & > ".concat(e)]:{"&:not(:disabled)":{borderInlineEndColor:t}}},"&:not(:first-child)":{["&, & > ".concat(e)]:{"&:not(:disabled)":{borderInlineStartColor:t}}}}});var F=e=>{let{componentCls:t,fontSize:n,lineWidth:r,groupBorderColor:o,colorErrorHover:i}=e;return{["".concat(t,"-group")]:[{position:"relative",display:"inline-flex",["> span, > ".concat(t)]:{"&:not(:last-child)":{["&, & > ".concat(t)]:{borderStartEndRadius:0,borderEndEndRadius:0}},"&:not(:first-child)":{marginInlineStart:e.calc(r).mul(-1).equal(),["&, & > ".concat(t)]:{borderStartStartRadius:0,borderEndStartRadius:0}}},[t]:{position:"relative",zIndex:1,"&:hover,\n &:focus,\n &:active":{zIndex:2},"&[disabled]":{zIndex:0}},["".concat(t,"-icon-only")]:{fontSize:n}},z("".concat(t,"-primary"),o),z("".concat(t,"-danger"),i)]}},H=n(49202);let W=e=>{let{paddingInline:t,onlyIconSize:n,paddingBlock:r}=e;return(0,L.TS)(e,{buttonPaddingHorizontal:t,buttonPaddingVertical:r,buttonIconOnlyFontSize:n})},q=e=>{var t,n,r,o,i,a;let c=null!==(t=e.contentFontSize)&&void 0!==t?t:e.fontSize,l=null!==(n=e.contentFontSizeSM)&&void 0!==n?n:e.fontSize,u=null!==(r=e.contentFontSizeLG)&&void 0!==r?r:e.fontSizeLG,s=null!==(o=e.contentLineHeight)&&void 0!==o?o:(0,H.D)(c),f=null!==(i=e.contentLineHeightSM)&&void 0!==i?i:(0,H.D)(l),d=null!==(a=e.contentLineHeightLG)&&void 0!==a?a:(0,H.D)(u);return{fontWeight:400,defaultShadow:"0 ".concat(e.controlOutlineWidth,"px 0 ").concat(e.controlTmpOutline),primaryShadow:"0 ".concat(e.controlOutlineWidth,"px 0 ").concat(e.controlOutline),dangerShadow:"0 ".concat(e.controlOutlineWidth,"px 0 ").concat(e.colorErrorOutline),primaryColor:e.colorTextLightSolid,dangerColor:e.colorTextLightSolid,borderColorDisabled:e.colorBorder,defaultGhostColor:e.colorBgContainer,ghostBg:"transparent",defaultGhostBorderColor:e.colorBgContainer,paddingInline:e.paddingContentHorizontal-e.lineWidth,paddingInlineLG:e.paddingContentHorizontal-e.lineWidth,paddingInlineSM:8-e.lineWidth,onlyIconSize:e.fontSizeLG,onlyIconSizeSM:e.fontSizeLG-2,onlyIconSizeLG:e.fontSizeLG+2,groupBorderColor:e.colorPrimaryHover,linkHoverBg:"transparent",textHoverBg:e.colorBgTextHover,defaultColor:e.colorText,defaultBg:e.colorBgContainer,defaultBorderColor:e.colorBorder,defaultBorderColorDisabled:e.colorBorder,contentFontSize:c,contentFontSizeSM:l,contentFontSizeLG:u,contentLineHeight:s,contentLineHeightSM:f,contentLineHeightLG:d,paddingBlock:Math.max((e.controlHeight-c*s)/2-e.lineWidth,0),paddingBlockSM:Math.max((e.controlHeightSM-l*f)/2-e.lineWidth,0),paddingBlockLG:Math.max((e.controlHeightLG-u*d)/2-e.lineWidth,0)}},V=e=>{let{componentCls:t,iconCls:n,fontWeight:r}=e;return{[t]:{outline:"none",position:"relative",display:"inline-block",fontWeight:r,whiteSpace:"nowrap",textAlign:"center",backgroundImage:"none",background:"transparent",border:"".concat((0,D.bf)(e.lineWidth)," ").concat(e.lineType," transparent"),cursor:"pointer",transition:"all ".concat(e.motionDurationMid," ").concat(e.motionEaseInOut),userSelect:"none",touchAction:"manipulation",color:e.colorText,"&:disabled > *":{pointerEvents:"none"},"> span":{display:"inline-block"},["".concat(t,"-icon")]:{lineHeight:0},["> ".concat(n," + span, > span + ").concat(n)]:{marginInlineStart:e.marginXS},["&:not(".concat(t,"-icon-only) > ").concat(t,"-icon")]:{["&".concat(t,"-loading-icon, &:not(:last-child)")]:{marginInlineEnd:e.marginXS}},"> a":{color:"currentColor"},"&:not(:disabled)":Object.assign({},(0,B.Qy)(e)),["&".concat(t,"-two-chinese-chars::first-letter")]:{letterSpacing:"0.34em"},["&".concat(t,"-two-chinese-chars > *:not(").concat(n,")")]:{marginInlineEnd:"-0.34em",letterSpacing:"0.34em"},["&-icon-only".concat(t,"-compact-item")]:{flex:"none"}}}},U=(e,t,n)=>({["&:not(:disabled):not(".concat(e,"-disabled)")]:{"&:hover":t,"&:active":n}}),X=e=>({minWidth:e.controlHeight,paddingInlineStart:0,paddingInlineEnd:0,borderRadius:"50%"}),G=e=>({borderRadius:e.controlHeight,paddingInlineStart:e.calc(e.controlHeight).div(2).equal(),paddingInlineEnd:e.calc(e.controlHeight).div(2).equal()}),K=e=>({cursor:"not-allowed",borderColor:e.borderColorDisabled,color:e.colorTextDisabled,background:e.colorBgContainerDisabled,boxShadow:"none"}),$=(e,t,n,r,o,i,a,c)=>({["&".concat(e,"-background-ghost")]:Object.assign(Object.assign({color:n||void 0,background:t,borderColor:r||void 0,boxShadow:"none"},U(e,Object.assign({background:t},a),Object.assign({background:t},c))),{"&:disabled":{cursor:"not-allowed",color:o||void 0,borderColor:i||void 0}})}),Y=e=>({["&:disabled, &".concat(e.componentCls,"-disabled")]:Object.assign({},K(e))}),Q=e=>Object.assign({},Y(e)),J=e=>({["&:disabled, &".concat(e.componentCls,"-disabled")]:{cursor:"not-allowed",color:e.colorTextDisabled}}),ee=e=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Q(e)),{background:e.defaultBg,borderColor:e.defaultBorderColor,color:e.defaultColor,boxShadow:e.defaultShadow}),U(e.componentCls,{color:e.colorPrimaryHover,borderColor:e.colorPrimaryHover},{color:e.colorPrimaryActive,borderColor:e.colorPrimaryActive})),$(e.componentCls,e.ghostBg,e.defaultGhostColor,e.defaultGhostBorderColor,e.colorTextDisabled,e.colorBorder)),{["&".concat(e.componentCls,"-dangerous")]:Object.assign(Object.assign(Object.assign({color:e.colorError,borderColor:e.colorError},U(e.componentCls,{color:e.colorErrorHover,borderColor:e.colorErrorBorderHover},{color:e.colorErrorActive,borderColor:e.colorErrorActive})),$(e.componentCls,e.ghostBg,e.colorError,e.colorError,e.colorTextDisabled,e.colorBorder)),Y(e))}),et=e=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Q(e)),{color:e.primaryColor,background:e.colorPrimary,boxShadow:e.primaryShadow}),U(e.componentCls,{color:e.colorTextLightSolid,background:e.colorPrimaryHover},{color:e.colorTextLightSolid,background:e.colorPrimaryActive})),$(e.componentCls,e.ghostBg,e.colorPrimary,e.colorPrimary,e.colorTextDisabled,e.colorBorder,{color:e.colorPrimaryHover,borderColor:e.colorPrimaryHover},{color:e.colorPrimaryActive,borderColor:e.colorPrimaryActive})),{["&".concat(e.componentCls,"-dangerous")]:Object.assign(Object.assign(Object.assign({background:e.colorError,boxShadow:e.dangerShadow,color:e.dangerColor},U(e.componentCls,{background:e.colorErrorHover},{background:e.colorErrorActive})),$(e.componentCls,e.ghostBg,e.colorError,e.colorError,e.colorTextDisabled,e.colorBorder,{color:e.colorErrorHover,borderColor:e.colorErrorHover},{color:e.colorErrorActive,borderColor:e.colorErrorActive})),Y(e))}),en=e=>Object.assign(Object.assign({},ee(e)),{borderStyle:"dashed"}),er=e=>Object.assign(Object.assign(Object.assign({color:e.colorLink},U(e.componentCls,{color:e.colorLinkHover,background:e.linkHoverBg},{color:e.colorLinkActive})),J(e)),{["&".concat(e.componentCls,"-dangerous")]:Object.assign(Object.assign({color:e.colorError},U(e.componentCls,{color:e.colorErrorHover},{color:e.colorErrorActive})),J(e))}),eo=e=>Object.assign(Object.assign(Object.assign({},U(e.componentCls,{color:e.colorText,background:e.textHoverBg},{color:e.colorText,background:e.colorBgTextActive})),J(e)),{["&".concat(e.componentCls,"-dangerous")]:Object.assign(Object.assign({color:e.colorError},J(e)),U(e.componentCls,{color:e.colorErrorHover,background:e.colorErrorBg},{color:e.colorErrorHover,background:e.colorErrorBg}))}),ei=e=>{let{componentCls:t}=e;return{["".concat(t,"-default")]:ee(e),["".concat(t,"-primary")]:et(e),["".concat(t,"-dashed")]:en(e),["".concat(t,"-link")]:er(e),["".concat(t,"-text")]:eo(e),["".concat(t,"-ghost")]:$(e.componentCls,e.ghostBg,e.colorBgContainer,e.colorBgContainer,e.colorTextDisabled,e.colorBorder)}},ea=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",{componentCls:n,controlHeight:r,fontSize:o,lineHeight:i,borderRadius:a,buttonPaddingHorizontal:c,iconCls:l,buttonPaddingVertical:u}=e,s="".concat(n,"-icon-only");return[{["".concat(n).concat(t)]:{fontSize:o,lineHeight:i,height:r,padding:"".concat((0,D.bf)(u)," ").concat((0,D.bf)(c)),borderRadius:a,["&".concat(s)]:{width:r,paddingInlineStart:0,paddingInlineEnd:0,["&".concat(n,"-round")]:{width:"auto"},[l]:{fontSize:e.buttonIconOnlyFontSize}},["&".concat(n,"-loading")]:{opacity:e.opacityLoading,cursor:"default"},["".concat(n,"-loading-icon")]:{transition:"width ".concat(e.motionDurationSlow," ").concat(e.motionEaseInOut,", opacity ").concat(e.motionDurationSlow," ").concat(e.motionEaseInOut)}}},{["".concat(n).concat(n,"-circle").concat(t)]:X(e)},{["".concat(n).concat(n,"-round").concat(t)]:G(e)}]},ec=e=>ea((0,L.TS)(e,{fontSize:e.contentFontSize,lineHeight:e.contentLineHeight})),el=e=>ea((0,L.TS)(e,{controlHeight:e.controlHeightSM,fontSize:e.contentFontSizeSM,lineHeight:e.contentLineHeightSM,padding:e.paddingXS,buttonPaddingHorizontal:e.paddingInlineSM,buttonPaddingVertical:e.paddingBlockSM,borderRadius:e.borderRadiusSM,buttonIconOnlyFontSize:e.onlyIconSizeSM}),"".concat(e.componentCls,"-sm")),eu=e=>ea((0,L.TS)(e,{controlHeight:e.controlHeightLG,fontSize:e.contentFontSizeLG,lineHeight:e.contentLineHeightLG,buttonPaddingHorizontal:e.paddingInlineLG,buttonPaddingVertical:e.paddingBlockLG,borderRadius:e.borderRadiusLG,buttonIconOnlyFontSize:e.onlyIconSizeLG}),"".concat(e.componentCls,"-lg")),es=e=>{let{componentCls:t}=e;return{[t]:{["&".concat(t,"-block")]:{width:"100%"}}}};var ef=(0,f.I$)("Button",e=>{let t=W(e);return[V(t),el(t),ec(t),eu(t),es(t),ei(t),F(t)]},q,{unitless:{fontWeight:!0,contentLineHeight:!0,contentLineHeightSM:!0,contentLineHeightLG:!0}}),ed=n(12288);let ep=e=>{let{componentCls:t,calc:n}=e;return{[t]:{["&-compact-item".concat(t,"-primary")]:{["&:not([disabled]) + ".concat(t,"-compact-item").concat(t,"-primary:not([disabled])")]:{position:"relative","&:before":{position:"absolute",top:n(e.lineWidth).mul(-1).equal(),insetInlineStart:n(e.lineWidth).mul(-1).equal(),display:"inline-block",width:e.lineWidth,height:"calc(100% + ".concat((0,D.bf)(e.lineWidth)," * 2)"),backgroundColor:e.colorPrimaryHover,content:'""'}}},"&-compact-vertical-item":{["&".concat(t,"-primary")]:{["&:not([disabled]) + ".concat(t,"-compact-vertical-item").concat(t,"-primary:not([disabled])")]:{position:"relative","&:before":{position:"absolute",top:n(e.lineWidth).mul(-1).equal(),insetInlineStart:n(e.lineWidth).mul(-1).equal(),display:"inline-block",width:"calc(100% + ".concat((0,D.bf)(e.lineWidth)," * 2)"),height:e.lineWidth,backgroundColor:e.colorPrimaryHover,content:'""'}}}}}}};var eh=(0,f.bk)(["Button","compact"],e=>{let t=W(e);return[(0,ed.c)(t),function(e){var t;let n="".concat(e.componentCls,"-compact-vertical");return{[n]:Object.assign(Object.assign({},{["&-item:not(".concat(n,"-last-item)")]:{marginBottom:e.calc(e.lineWidth).mul(-1).equal()},"&-item":{"&:hover,&:focus,&:active":{zIndex:2},"&[disabled]":{zIndex:0}}}),(t=e.componentCls,{["&-item:not(".concat(n,"-first-item):not(").concat(n,"-last-item)")]:{borderRadius:0},["&-item".concat(n,"-first-item:not(").concat(n,"-last-item)")]:{["&, &".concat(t,"-sm, &").concat(t,"-lg")]:{borderEndEndRadius:0,borderEndStartRadius:0}},["&-item".concat(n,"-last-item:not(").concat(n,"-first-item)")]:{["&, &".concat(t,"-sm, &").concat(t,"-lg")]:{borderStartStartRadius:0,borderStartEndRadius:0}}}))}}(t),ep(t)]},q),em=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let ev=(0,r.forwardRef)((e,t)=>{var n,o;let{loading:l=!1,prefixCls:s,type:f="default",danger:d,shape:p="default",size:h,styles:m,disabled:v,className:g,rootClassName:y,children:b,icon:x,ghost:w=!1,block:E=!1,htmlType:O="button",classNames:P,style:N={}}=e,I=em(e,["loading","prefixCls","type","danger","shape","size","styles","disabled","className","rootClassName","children","icon","ghost","block","htmlType","classNames","style"]),{getPrefixCls:Z,autoInsertSpaceInButton:R,direction:D,button:B}=(0,r.useContext)(u.E_),L=Z("btn",s),[z,F,H]=ef(L),W=(0,r.useContext)(C.Z),q=null!=v?v:W,V=(0,r.useContext)(M),U=(0,r.useMemo)(()=>(function(e){if("object"==typeof e&&e){let t=null==e?void 0:e.delay;return{loading:(t=Number.isNaN(t)||"number"!=typeof t?0:t)<=0,delay:t}}return{loading:!!e,delay:0}})(l),[l]),[X,G]=(0,r.useState)(U.loading),[K,$]=(0,r.useState)(!1),Y=(0,r.createRef)(),Q=(0,c.sQ)(t,Y),J=1===r.Children.count(b)&&!x&&!(0,A.Te)(f);(0,r.useEffect)(()=>{let e=null;return U.delay>0?e=setTimeout(()=>{e=null,G(!0)},U.delay):G(U.loading),function(){e&&(clearTimeout(e),e=null)}},[U]),(0,r.useEffect)(()=>{if(!Q||!Q.current||!1===R)return;let e=Q.current.textContent;J&&(0,A.aG)(e)?K||$(!0):K&&$(!1)},[Q]);let ee=t=>{let{onClick:n}=e;if(X||q){t.preventDefault();return}null==n||n(t)},et=!1!==R,{compactSize:en,compactItemClassnames:er}=(0,j.ri)(L,D),eo=(0,k.Z)(e=>{var t,n;return null!==(n=null!==(t=null!=h?h:en)&&void 0!==t?t:V)&&void 0!==n?n:e}),ei=eo&&({large:"lg",small:"sm",middle:void 0})[eo]||"",ea=X?"loading":x,ec=(0,a.Z)(I,["navigate"]),el=i()(L,F,H,{["".concat(L,"-").concat(p)]:"default"!==p&&p,["".concat(L,"-").concat(f)]:f,["".concat(L,"-").concat(ei)]:ei,["".concat(L,"-icon-only")]:!b&&0!==b&&!!ea,["".concat(L,"-background-ghost")]:w&&!(0,A.Te)(f),["".concat(L,"-loading")]:X,["".concat(L,"-two-chinese-chars")]:K&&et&&!X,["".concat(L,"-block")]:E,["".concat(L,"-dangerous")]:!!d,["".concat(L,"-rtl")]:"rtl"===D},er,g,y,null==B?void 0:B.className),eu=Object.assign(Object.assign({},null==B?void 0:B.style),N),es=i()(null==P?void 0:P.icon,null===(n=null==B?void 0:B.classNames)||void 0===n?void 0:n.icon),ed=Object.assign(Object.assign({},(null==m?void 0:m.icon)||{}),(null===(o=null==B?void 0:B.styles)||void 0===o?void 0:o.icon)||{}),ep=x&&!X?r.createElement(T,{prefixCls:L,className:es,style:ed},x):r.createElement(_,{existIcon:!!x,prefixCls:L,loading:!!X}),ev=b||0===b?(0,A.hU)(b,J&&et):null;if(void 0!==ec.href)return z(r.createElement("a",Object.assign({},ec,{className:i()(el,{["".concat(L,"-disabled")]:q}),href:q?void 0:ec.href,style:eu,onClick:ee,ref:Q,tabIndex:q?-1:0}),ep,ev));let eg=r.createElement("button",Object.assign({},I,{type:O,className:el,style:eu,onClick:ee,disabled:q,ref:Q}),ep,ev,!!er&&r.createElement(eh,{key:"compact",prefixCls:L}));return(0,A.Te)(f)||(eg=r.createElement(S,{component:"Button",disabled:!!X},eg)),z(eg)});ev.Group=e=>{let{getPrefixCls:t,direction:n}=r.useContext(u.E_),{prefixCls:o,size:a,className:c}=e,l=P(e,["prefixCls","size","className"]),s=t("btn-group",o),[,,f]=(0,O.ZP)(),d="";switch(a){case"large":d="lg";break;case"small":d="sm"}let p=i()(s,{["".concat(s,"-").concat(d)]:d,["".concat(s,"-rtl")]:"rtl"===n},c,f);return r.createElement(M.Provider,{value:a},r.createElement("div",Object.assign({},l,{className:p})))},ev.__ANT_BUTTON=!0;var eg=ev},17094:function(e,t,n){n.d(t,{n:function(){return i}});var r=n(64090);let o=r.createContext(!1),i=e=>{let{children:t,disabled:n}=e,i=r.useContext(o);return r.createElement(o.Provider,{value:null!=n?n:i},t)};t.Z=o},97303:function(e,t,n){n.d(t,{q:function(){return i}});var r=n(64090);let o=r.createContext(void 0),i=e=>{let{children:t,size:n}=e,i=r.useContext(o);return r.createElement(o.Provider,{value:n||i},t)};t.Z=o},57499:function(e,t,n){n.d(t,{E_:function(){return i},oR:function(){return o}});var r=n(64090);let o="anticon",i=r.createContext({getPrefixCls:(e,t)=>t||(e?"ant-".concat(e):"ant"),iconPrefixCls:o}),{Consumer:a}=i},92935:function(e,t,n){var r=n(24750);t.Z=e=>{let[,,,,t]=(0,r.ZP)();return t?"".concat(e,"-css-var"):""}},10693:function(e,t,n){var r=n(64090),o=n(97303);t.Z=e=>{let t=r.useContext(o.Z);return r.useMemo(()=>e?"string"==typeof e?null!=e?e:t:e instanceof Function?e(t):t:t,[e,t])}},54165:function(e,t,n){let r,o,i,a;n.d(t,{ZP:function(){return q},w6:function(){return F}});var c=n(64090),l=n.t(c,2),u=n(8985),s=n(67689),f=n(61475),d=n(36597),p=n(76564),h=n(12519),m=n(4678),v=n(33302),g=e=>{let{locale:t={},children:n,_ANT_MARK__:r}=e;c.useEffect(()=>(0,m.f)(t&&t.Modal),[t]);let o=c.useMemo(()=>Object.assign(Object.assign({},t),{exist:!0}),[t]);return c.createElement(v.Z.Provider,{value:o},n)},y=n(79474),b=n(43345),x=n(46864),w=n(57499),E=n(12215),O=n(6336),S=n(22127),C=n(24050);let k="-ant-".concat(Date.now(),"-").concat(Math.random());var j=n(17094),P=n(97303),M=n(92536);let{useId:A}=Object.assign({},l);var T=void 0===A?()=>"":A,N=n(49367),I=n(24750);function Z(e){let{children:t}=e,[,n]=(0,I.ZP)(),{motion:r}=n,o=c.useRef(!1);return(o.current=o.current||!1===r,o.current)?c.createElement(N.zt,{motion:r},t):t}var R=()=>null,_=n(28030),D=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let B=["getTargetContainer","getPopupContainer","renderEmpty","pageHeader","input","pagination","form","select","button"];function L(){return r||"ant"}function z(){return o||w.oR}let F=()=>({getPrefixCls:(e,t)=>t||(e?"".concat(L(),"-").concat(e):L()),getIconPrefixCls:z,getRootPrefixCls:()=>r||L(),getTheme:()=>i,holderRender:a}),H=e=>{let{children:t,csp:n,autoInsertSpaceInButton:r,alert:o,anchor:i,form:a,locale:l,componentSize:m,direction:v,space:E,virtual:O,dropdownMatchSelectWidth:S,popupMatchSelectWidth:C,popupOverflow:k,legacyLocale:A,parentContext:N,iconPrefixCls:I,theme:L,componentDisabled:z,segmented:F,statistic:H,spin:W,calendar:q,carousel:V,cascader:U,collapse:X,typography:G,checkbox:K,descriptions:$,divider:Y,drawer:Q,skeleton:J,steps:ee,image:et,layout:en,list:er,mentions:eo,modal:ei,progress:ea,result:ec,slider:el,breadcrumb:eu,menu:es,pagination:ef,input:ed,empty:ep,badge:eh,radio:em,rate:ev,switch:eg,transfer:ey,avatar:eb,message:ex,tag:ew,table:eE,card:eO,tabs:eS,timeline:eC,timePicker:ek,upload:ej,notification:eP,tree:eM,colorPicker:eA,datePicker:eT,rangePicker:eN,flex:eI,wave:eZ,dropdown:eR,warning:e_}=e,eD=c.useCallback((t,n)=>{let{prefixCls:r}=e;if(n)return n;let o=r||N.getPrefixCls("");return t?"".concat(o,"-").concat(t):o},[N.getPrefixCls,e.prefixCls]),eB=I||N.iconPrefixCls||w.oR,eL=n||N.csp;(0,_.Z)(eB,eL);let ez=function(e,t){(0,p.ln)("ConfigProvider");let n=e||{},r=!1!==n.inherit&&t?t:b.u_,o=T();return(0,f.Z)(()=>{var i,a;if(!e)return t;let c=Object.assign({},r.components);Object.keys(e.components||{}).forEach(t=>{c[t]=Object.assign(Object.assign({},c[t]),e.components[t])});let l="css-var-".concat(o.replace(/:/g,"")),u=(null!==(i=n.cssVar)&&void 0!==i?i:r.cssVar)&&Object.assign(Object.assign(Object.assign({prefix:"ant"},"object"==typeof r.cssVar?r.cssVar:{}),"object"==typeof n.cssVar?n.cssVar:{}),{key:"object"==typeof n.cssVar&&(null===(a=n.cssVar)||void 0===a?void 0:a.key)||l});return Object.assign(Object.assign(Object.assign({},r),n),{token:Object.assign(Object.assign({},r.token),n.token),components:c,cssVar:u})},[n,r],(e,t)=>e.some((e,n)=>{let r=t[n];return!(0,M.Z)(e,r,!0)}))}(L,N.theme),eF={csp:eL,autoInsertSpaceInButton:r,alert:o,anchor:i,locale:l||A,direction:v,space:E,virtual:O,popupMatchSelectWidth:null!=C?C:S,popupOverflow:k,getPrefixCls:eD,iconPrefixCls:eB,theme:ez,segmented:F,statistic:H,spin:W,calendar:q,carousel:V,cascader:U,collapse:X,typography:G,checkbox:K,descriptions:$,divider:Y,drawer:Q,skeleton:J,steps:ee,image:et,input:ed,layout:en,list:er,mentions:eo,modal:ei,progress:ea,result:ec,slider:el,breadcrumb:eu,menu:es,pagination:ef,empty:ep,badge:eh,radio:em,rate:ev,switch:eg,transfer:ey,avatar:eb,message:ex,tag:ew,table:eE,card:eO,tabs:eS,timeline:eC,timePicker:ek,upload:ej,notification:eP,tree:eM,colorPicker:eA,datePicker:eT,rangePicker:eN,flex:eI,wave:eZ,dropdown:eR,warning:e_},eH=Object.assign({},N);Object.keys(eF).forEach(e=>{void 0!==eF[e]&&(eH[e]=eF[e])}),B.forEach(t=>{let n=e[t];n&&(eH[t]=n)});let eW=(0,f.Z)(()=>eH,eH,(e,t)=>{let n=Object.keys(e),r=Object.keys(t);return n.length!==r.length||n.some(n=>e[n]!==t[n])}),eq=c.useMemo(()=>({prefixCls:eB,csp:eL}),[eB,eL]),eV=c.createElement(c.Fragment,null,c.createElement(R,{dropdownMatchSelectWidth:S}),t),eU=c.useMemo(()=>{var e,t,n,r;return(0,d.T)((null===(e=y.Z.Form)||void 0===e?void 0:e.defaultValidateMessages)||{},(null===(n=null===(t=eW.locale)||void 0===t?void 0:t.Form)||void 0===n?void 0:n.defaultValidateMessages)||{},(null===(r=eW.form)||void 0===r?void 0:r.validateMessages)||{},(null==a?void 0:a.validateMessages)||{})},[eW,null==a?void 0:a.validateMessages]);Object.keys(eU).length>0&&(eV=c.createElement(h.Z.Provider,{value:eU},eV)),l&&(eV=c.createElement(g,{locale:l,_ANT_MARK__:"internalMark"},eV)),(eB||eL)&&(eV=c.createElement(s.Z.Provider,{value:eq},eV)),m&&(eV=c.createElement(P.q,{size:m},eV)),eV=c.createElement(Z,null,eV);let eX=c.useMemo(()=>{let e=ez||{},{algorithm:t,token:n,components:r,cssVar:o}=e,i=D(e,["algorithm","token","components","cssVar"]),a=t&&(!Array.isArray(t)||t.length>0)?(0,u.jG)(t):b.uH,c={};Object.entries(r||{}).forEach(e=>{let[t,n]=e,r=Object.assign({},n);"algorithm"in r&&(!0===r.algorithm?r.theme=a:(Array.isArray(r.algorithm)||"function"==typeof r.algorithm)&&(r.theme=(0,u.jG)(r.algorithm)),delete r.algorithm),c[t]=r});let l=Object.assign(Object.assign({},x.Z),n);return Object.assign(Object.assign({},i),{theme:a,token:l,components:c,override:Object.assign({override:l},c),cssVar:o})},[ez]);return L&&(eV=c.createElement(b.Mj.Provider,{value:eX},eV)),eW.warning&&(eV=c.createElement(p.G8.Provider,{value:eW.warning},eV)),void 0!==z&&(eV=c.createElement(j.n,{disabled:z},eV)),c.createElement(w.E_.Provider,{value:eW},eV)},W=e=>{let t=c.useContext(w.E_),n=c.useContext(v.Z);return c.createElement(H,Object.assign({parentContext:t,legacyLocale:n},e))};W.ConfigContext=w.E_,W.SizeContext=P.Z,W.config=e=>{let{prefixCls:t,iconPrefixCls:n,theme:c,holderRender:l}=e;void 0!==t&&(r=t),void 0!==n&&(o=n),"holderRender"in e&&(a=l),c&&(Object.keys(c).some(e=>e.endsWith("Color"))?function(e,t){let n=function(e,t){let n={},r=(e,t)=>{let n=e.clone();return(n=(null==t?void 0:t(n))||n).toRgbString()},o=(e,t)=>{let o=new O.C(e),i=(0,E.R_)(o.toRgbString());n["".concat(t,"-color")]=r(o),n["".concat(t,"-color-disabled")]=i[1],n["".concat(t,"-color-hover")]=i[4],n["".concat(t,"-color-active")]=i[6],n["".concat(t,"-color-outline")]=o.clone().setAlpha(.2).toRgbString(),n["".concat(t,"-color-deprecated-bg")]=i[0],n["".concat(t,"-color-deprecated-border")]=i[2]};if(t.primaryColor){o(t.primaryColor,"primary");let e=new O.C(t.primaryColor),i=(0,E.R_)(e.toRgbString());i.forEach((e,t)=>{n["primary-".concat(t+1)]=e}),n["primary-color-deprecated-l-35"]=r(e,e=>e.lighten(35)),n["primary-color-deprecated-l-20"]=r(e,e=>e.lighten(20)),n["primary-color-deprecated-t-20"]=r(e,e=>e.tint(20)),n["primary-color-deprecated-t-50"]=r(e,e=>e.tint(50)),n["primary-color-deprecated-f-12"]=r(e,e=>e.setAlpha(.12*e.getAlpha()));let a=new O.C(i[0]);n["primary-color-active-deprecated-f-30"]=r(a,e=>e.setAlpha(.3*e.getAlpha())),n["primary-color-active-deprecated-d-02"]=r(a,e=>e.darken(2))}t.successColor&&o(t.successColor,"success"),t.warningColor&&o(t.warningColor,"warning"),t.errorColor&&o(t.errorColor,"error"),t.infoColor&&o(t.infoColor,"info");let i=Object.keys(n).map(t=>"--".concat(e,"-").concat(t,": ").concat(n[t],";"));return"\n :root {\n ".concat(i.join("\n"),"\n }\n ").trim()}(e,t);(0,S.Z)()&&(0,C.hq)(n,"".concat(k,"-dynamic-theme"))}(L(),c):i=c)},W.useConfig=function(){return{componentDisabled:(0,c.useContext)(j.Z),componentSize:(0,c.useContext)(P.Z)}},Object.defineProperty(W,"SizeContext",{get:()=>P.Z});var q=W},47137:function(e,t,n){n.d(t,{RV:function(){return l},Rk:function(){return u},Ux:function(){return f},aM:function(){return s},pg:function(){return d},q3:function(){return a},qI:function(){return c}});var r=n(64090),o=n(76570),i=n(35704);let a=r.createContext({labelAlign:"right",vertical:!1,itemRef:()=>{}}),c=r.createContext(null),l=e=>{let t=(0,i.Z)(e,["prefixCls"]);return r.createElement(o.RV,Object.assign({},t))},u=r.createContext({prefixCls:""}),s=r.createContext({}),f=e=>{let{children:t,status:n,override:o}=e,i=(0,r.useContext)(s),a=(0,r.useMemo)(()=>{let e=Object.assign({},i);return o&&delete e.isFormItemInput,n&&(delete e.status,delete e.hasFeedback,delete e.feedbackIcon),e},[n,o,i]);return r.createElement(s.Provider,{value:a},t)},d=(0,r.createContext)(void 0)},8443:function(e,t,n){var r=n(64090),o=n(47137);let i=["outlined","borderless","filled"];t.Z=function(e){let t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,a=(0,r.useContext)(o.pg);t=void 0!==e?e:!1===n?"borderless":null!=a?a:"outlined";let c=i.includes(t);return[t,c]}},12143:function(e,t,n){n.d(t,{Z:function(){return eY}});var r=n(63787),o=n(16480),i=n.n(o),a=n(49367),c=n(64090),l=n(47387),u=n(47137);function s(e){let[t,n]=c.useState(e);return c.useEffect(()=>{let t=setTimeout(()=>{n(e)},e.length?0:10);return()=>{clearTimeout(t)}},[e]),t}var f=n(8985),d=n(11303),p=n(58854),h=n(46154),m=n(80316),v=n(76585),g=e=>{let{componentCls:t}=e,n="".concat(t,"-show-help"),r="".concat(t,"-show-help-item");return{[n]:{transition:"opacity ".concat(e.motionDurationSlow," ").concat(e.motionEaseInOut),"&-appear, &-enter":{opacity:0,"&-active":{opacity:1}},"&-leave":{opacity:1,"&-active":{opacity:0}},[r]:{overflow:"hidden",transition:"height ".concat(e.motionDurationSlow," ").concat(e.motionEaseInOut,",\n opacity ").concat(e.motionDurationSlow," ").concat(e.motionEaseInOut,",\n transform ").concat(e.motionDurationSlow," ").concat(e.motionEaseInOut," !important"),["&".concat(r,"-appear, &").concat(r,"-enter")]:{transform:"translateY(-5px)",opacity:0,"&-active":{transform:"translateY(0)",opacity:1}},["&".concat(r,"-leave-active")]:{transform:"translateY(-5px)"}}}}};let y=e=>({legend:{display:"block",width:"100%",marginBottom:e.marginLG,padding:0,color:e.colorTextDescription,fontSize:e.fontSizeLG,lineHeight:"inherit",border:0,borderBottom:"".concat((0,f.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorBorder)},'input[type="search"]':{boxSizing:"border-box"},'input[type="radio"], input[type="checkbox"]':{lineHeight:"normal"},'input[type="file"]':{display:"block"},'input[type="range"]':{display:"block",width:"100%"},"select[multiple], select[size]":{height:"auto"},"input[type='file']:focus,\n input[type='radio']:focus,\n input[type='checkbox']:focus":{outline:0,boxShadow:"0 0 0 ".concat((0,f.bf)(e.controlOutlineWidth)," ").concat(e.controlOutline)},output:{display:"block",paddingTop:15,color:e.colorText,fontSize:e.fontSize,lineHeight:e.lineHeight}}),b=(e,t)=>{let{formItemCls:n}=e;return{[n]:{["".concat(n,"-label > label")]:{height:t},["".concat(n,"-control-input")]:{minHeight:t}}}},x=e=>{let{componentCls:t}=e;return{[e.componentCls]:Object.assign(Object.assign(Object.assign({},(0,d.Wf)(e)),y(e)),{["".concat(t,"-text")]:{display:"inline-block",paddingInlineEnd:e.paddingSM},"&-small":Object.assign({},b(e,e.controlHeightSM)),"&-large":Object.assign({},b(e,e.controlHeightLG))})}},w=e=>{let{formItemCls:t,iconCls:n,componentCls:r,rootPrefixCls:o,labelRequiredMarkColor:i,labelColor:a,labelFontSize:c,labelHeight:l,labelColonMarginInlineStart:u,labelColonMarginInlineEnd:s,itemMarginBottom:f}=e;return{[t]:Object.assign(Object.assign({},(0,d.Wf)(e)),{marginBottom:f,verticalAlign:"top","&-with-help":{transition:"none"},["&-hidden,\n &-hidden.".concat(o,"-row")]:{display:"none"},"&-has-warning":{["".concat(t,"-split")]:{color:e.colorError}},"&-has-error":{["".concat(t,"-split")]:{color:e.colorWarning}},["".concat(t,"-label")]:{flexGrow:0,overflow:"hidden",whiteSpace:"nowrap",textAlign:"end",verticalAlign:"middle","&-left":{textAlign:"start"},"&-wrap":{overflow:"unset",lineHeight:e.lineHeight,whiteSpace:"unset"},"> label":{position:"relative",display:"inline-flex",alignItems:"center",maxWidth:"100%",height:l,color:a,fontSize:c,["> ".concat(n)]:{fontSize:e.fontSize,verticalAlign:"top"},["&".concat(t,"-required:not(").concat(t,"-required-mark-optional)::before")]:{display:"inline-block",marginInlineEnd:e.marginXXS,color:i,fontSize:e.fontSize,fontFamily:"SimSun, sans-serif",lineHeight:1,content:'"*"',["".concat(r,"-hide-required-mark &")]:{display:"none"}},["".concat(t,"-optional")]:{display:"inline-block",marginInlineStart:e.marginXXS,color:e.colorTextDescription,["".concat(r,"-hide-required-mark &")]:{display:"none"}},["".concat(t,"-tooltip")]:{color:e.colorTextDescription,cursor:"help",writingMode:"horizontal-tb",marginInlineStart:e.marginXXS},"&::after":{content:'":"',position:"relative",marginBlock:0,marginInlineStart:u,marginInlineEnd:s},["&".concat(t,"-no-colon::after")]:{content:'"\\a0"'}}},["".concat(t,"-control")]:{"--ant-display":"flex",flexDirection:"column",flexGrow:1,["&:first-child:not([class^=\"'".concat(o,"-col-'\"]):not([class*=\"' ").concat(o,"-col-'\"])")]:{width:"100%"},"&-input":{position:"relative",display:"flex",alignItems:"center",minHeight:e.controlHeight,"&-content":{flex:"auto",maxWidth:"100%"}}},[t]:{"&-explain, &-extra":{clear:"both",color:e.colorTextDescription,fontSize:e.fontSize,lineHeight:e.lineHeight},"&-explain-connected":{width:"100%"},"&-extra":{minHeight:e.controlHeightSM,transition:"color ".concat(e.motionDurationMid," ").concat(e.motionEaseOut)},"&-explain":{"&-error":{color:e.colorError},"&-warning":{color:e.colorWarning}}},["&-with-help ".concat(t,"-explain")]:{height:"auto",opacity:1},["".concat(t,"-feedback-icon")]:{fontSize:e.fontSize,textAlign:"center",visibility:"visible",animationName:p.kr,animationDuration:e.motionDurationMid,animationTimingFunction:e.motionEaseOutBack,pointerEvents:"none","&-success":{color:e.colorSuccess},"&-error":{color:e.colorError},"&-warning":{color:e.colorWarning},"&-validating":{color:e.colorPrimary}}})}},E=e=>{let{componentCls:t,formItemCls:n}=e;return{["".concat(t,"-horizontal")]:{["".concat(n,"-label")]:{flexGrow:0},["".concat(n,"-control")]:{flex:"1 1 0",minWidth:0},["".concat(n,"-label[class$='-24'], ").concat(n,"-label[class*='-24 ']")]:{["& + ".concat(n,"-control")]:{minWidth:"unset"}}}}},O=e=>{let{componentCls:t,formItemCls:n}=e;return{["".concat(t,"-inline")]:{display:"flex",flexWrap:"wrap",[n]:{flex:"none",marginInlineEnd:e.margin,marginBottom:0,"&-row":{flexWrap:"nowrap"},["> ".concat(n,"-label,\n > ").concat(n,"-control")]:{display:"inline-block",verticalAlign:"top"},["> ".concat(n,"-label")]:{flex:"none"},["".concat(t,"-text")]:{display:"inline-block"},["".concat(n,"-has-feedback")]:{display:"inline-block"}}}}},S=e=>({padding:e.verticalLabelPadding,margin:e.verticalLabelMargin,whiteSpace:"initial",textAlign:"start","> label":{margin:0,"&::after":{visibility:"hidden"}}}),C=e=>{let{componentCls:t,formItemCls:n,rootPrefixCls:r}=e;return{["".concat(n," ").concat(n,"-label")]:S(e),["".concat(t,":not(").concat(t,"-inline)")]:{[n]:{flexWrap:"wrap",["".concat(n,"-label, ").concat(n,"-control")]:{['&:not([class*=" '.concat(r,'-col-xs"])')]:{flex:"0 0 100%",maxWidth:"100%"}}}}}},k=e=>{let{componentCls:t,formItemCls:n,rootPrefixCls:r}=e;return{["".concat(t,"-vertical")]:{[n]:{"&-row":{flexDirection:"column"},"&-label > label":{height:"auto"},["".concat(t,"-item-control")]:{width:"100%"}}},["".concat(t,"-vertical ").concat(n,"-label,\n .").concat(r,"-col-24").concat(n,"-label,\n .").concat(r,"-col-xl-24").concat(n,"-label")]:S(e),["@media (max-width: ".concat((0,f.bf)(e.screenXSMax),")")]:[C(e),{[t]:{[".".concat(r,"-col-xs-24").concat(n,"-label")]:S(e)}}],["@media (max-width: ".concat((0,f.bf)(e.screenSMMax),")")]:{[t]:{[".".concat(r,"-col-sm-24").concat(n,"-label")]:S(e)}},["@media (max-width: ".concat((0,f.bf)(e.screenMDMax),")")]:{[t]:{[".".concat(r,"-col-md-24").concat(n,"-label")]:S(e)}},["@media (max-width: ".concat((0,f.bf)(e.screenLGMax),")")]:{[t]:{[".".concat(r,"-col-lg-24").concat(n,"-label")]:S(e)}}}},j=(e,t)=>(0,m.TS)(e,{formItemCls:"".concat(e.componentCls,"-item"),rootPrefixCls:t});var P=(0,v.I$)("Form",(e,t)=>{let{rootPrefixCls:n}=t,r=j(e,n);return[x(r),w(r),g(r),E(r),O(r),k(r),(0,h.Z)(r),p.kr]},e=>({labelRequiredMarkColor:e.colorError,labelColor:e.colorTextHeading,labelFontSize:e.fontSize,labelHeight:e.controlHeight,labelColonMarginInlineStart:e.marginXXS/2,labelColonMarginInlineEnd:e.marginXS,itemMarginBottom:e.marginLG,verticalLabelPadding:"0 0 ".concat(e.paddingXS,"px"),verticalLabelMargin:0}),{order:-1e3}),M=n(92935);let A=[];function T(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return{key:"string"==typeof e?e:"".concat(t,"-").concat(r),error:e,errorStatus:n}}var N=e=>{let{help:t,helpStatus:n,errors:o=A,warnings:f=A,className:d,fieldId:p,onVisibleChanged:h}=e,{prefixCls:m}=c.useContext(u.Rk),v="".concat(m,"-item-explain"),g=(0,M.Z)(m),[y,b,x]=P(m,g),w=(0,c.useMemo)(()=>(0,l.Z)(m),[m]),E=s(o),O=s(f),S=c.useMemo(()=>null!=t?[T(t,"help",n)]:[].concat((0,r.Z)(E.map((e,t)=>T(e,"error","error",t))),(0,r.Z)(O.map((e,t)=>T(e,"warning","warning",t)))),[t,n,E,O]),C={};return p&&(C.id="".concat(p,"_help")),y(c.createElement(a.ZP,{motionDeadline:w.motionDeadline,motionName:"".concat(m,"-show-help"),visible:!!S.length,onVisibleChanged:h},e=>{let{className:t,style:n}=e;return c.createElement("div",Object.assign({},C,{className:i()(v,t,x,g,d,b),style:n,role:"alert"}),c.createElement(a.V4,Object.assign({keys:S},(0,l.Z)(m),{motionName:"".concat(m,"-show-help-item"),component:!1}),e=>{let{key:t,error:n,errorStatus:r,className:o,style:a}=e;return c.createElement("div",{key:t,className:i()(o,{["".concat(v,"-").concat(r)]:r}),style:a},n)}))}))},I=n(76570),Z=n(57499),R=n(17094),_=n(10693),D=n(97303);let B=e=>"object"==typeof e&&null!=e&&1===e.nodeType,L=(e,t)=>(!t||"hidden"!==e)&&"visible"!==e&&"clip"!==e,z=(e,t)=>{if(e.clientHeight{let t=(e=>{if(!e.ownerDocument||!e.ownerDocument.defaultView)return null;try{return e.ownerDocument.defaultView.frameElement}catch(e){return null}})(e);return!!t&&(t.clientHeightit||i>e&&a=t&&c>=n?i-e-r:a>t&&cn?a-t+o:0,H=e=>{let t=e.parentElement;return null==t?e.getRootNode().host||null:t},W=(e,t)=>{var n,r,o,i;if("undefined"==typeof document)return[];let{scrollMode:a,block:c,inline:l,boundary:u,skipOverflowHiddenElements:s}=t,f="function"==typeof u?u:e=>e!==u;if(!B(e))throw TypeError("Invalid target");let d=document.scrollingElement||document.documentElement,p=[],h=e;for(;B(h)&&f(h);){if((h=H(h))===d){p.push(h);break}null!=h&&h===document.body&&z(h)&&!z(document.documentElement)||null!=h&&z(h,s)&&p.push(h)}let m=null!=(r=null==(n=window.visualViewport)?void 0:n.width)?r:innerWidth,v=null!=(i=null==(o=window.visualViewport)?void 0:o.height)?i:innerHeight,{scrollX:g,scrollY:y}=window,{height:b,width:x,top:w,right:E,bottom:O,left:S}=e.getBoundingClientRect(),{top:C,right:k,bottom:j,left:P}=(e=>{let t=window.getComputedStyle(e);return{top:parseFloat(t.scrollMarginTop)||0,right:parseFloat(t.scrollMarginRight)||0,bottom:parseFloat(t.scrollMarginBottom)||0,left:parseFloat(t.scrollMarginLeft)||0}})(e),M="start"===c||"nearest"===c?w-C:"end"===c?O+j:w+b/2-C+j,A="center"===l?S+x/2-P+k:"end"===l?E+k:S-P,T=[];for(let e=0;e=0&&S>=0&&O<=v&&E<=m&&w>=o&&O<=u&&S>=s&&E<=i)break;let f=getComputedStyle(t),h=parseInt(f.borderLeftWidth,10),C=parseInt(f.borderTopWidth,10),k=parseInt(f.borderRightWidth,10),j=parseInt(f.borderBottomWidth,10),P=0,N=0,I="offsetWidth"in t?t.offsetWidth-t.clientWidth-h-k:0,Z="offsetHeight"in t?t.offsetHeight-t.clientHeight-C-j:0,R="offsetWidth"in t?0===t.offsetWidth?0:r/t.offsetWidth:0,_="offsetHeight"in t?0===t.offsetHeight?0:n/t.offsetHeight:0;if(d===t)P="start"===c?M:"end"===c?M-v:"nearest"===c?F(y,y+v,v,C,j,y+M,y+M+b,b):M-v/2,N="start"===l?A:"center"===l?A-m/2:"end"===l?A-m:F(g,g+m,m,h,k,g+A,g+A+x,x),P=Math.max(0,P+y),N=Math.max(0,N+g);else{P="start"===c?M-o-C:"end"===c?M-u+j+Z:"nearest"===c?F(o,u,n,C,j+Z,M,M+b,b):M-(o+n/2)+Z/2,N="start"===l?A-s-h:"center"===l?A-(s+r/2)+I/2:"end"===l?A-i+k+I:F(s,i,r,h,k+I,A,A+x,x);let{scrollLeft:e,scrollTop:a}=t;P=0===_?0:Math.max(0,Math.min(a+P/_,t.scrollHeight-n/_+Z)),N=0===R?0:Math.max(0,Math.min(e+N/R,t.scrollWidth-r/R+I)),M+=a-P,A+=e-N}T.push({el:t,top:P,left:N})}return T},q=e=>!1===e?{block:"end",inline:"nearest"}:e===Object(e)&&0!==Object.keys(e).length?e:{block:"start",inline:"nearest"},V=["parentNode"];function U(e){return void 0===e||!1===e?[]:Array.isArray(e)?e:[e]}function X(e,t){if(!e.length)return;let n=e.join("_");return t?"".concat(t,"_").concat(n):V.includes(n)?"".concat("form_item","_").concat(n):n}function G(e,t,n,r,o,i){let a=r;return void 0!==i?a=i:n.validating?a="validating":e.length?a="error":t.length?a="warning":(n.touched||o&&n.validated)&&(a="success"),a}function K(e){return U(e).join("_")}function $(e){let[t]=(0,I.cI)(),n=c.useRef({}),r=c.useMemo(()=>null!=e?e:Object.assign(Object.assign({},t),{__INTERNAL__:{itemRef:e=>t=>{let r=K(e);t?n.current[r]=t:delete n.current[r]}},scrollToField:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=X(U(e),r.__INTERNAL__.name),o=n?document.getElementById(n):null;o&&function(e,t){if(!e.isConnected||!(e=>{let t=e;for(;t&&t.parentNode;){if(t.parentNode===document)return!0;t=t.parentNode instanceof ShadowRoot?t.parentNode.host:t.parentNode}return!1})(e))return;let n=(e=>{let t=window.getComputedStyle(e);return{top:parseFloat(t.scrollMarginTop)||0,right:parseFloat(t.scrollMarginRight)||0,bottom:parseFloat(t.scrollMarginBottom)||0,left:parseFloat(t.scrollMarginLeft)||0}})(e);if("object"==typeof t&&"function"==typeof t.behavior)return t.behavior(W(e,t));let r="boolean"==typeof t||null==t?void 0:t.behavior;for(let{el:o,top:i,left:a}of W(e,q(t))){let e=i-n.top+n.bottom,t=a-n.left+n.right;o.scroll({top:e,left:t,behavior:r})}}(o,Object.assign({scrollMode:"if-needed",block:"nearest"},t))},getFieldInstance:e=>{let t=K(e);return n.current[t]}}),[e,t]);return[r]}var Y=n(12519),Q=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let J=c.forwardRef((e,t)=>{let n=c.useContext(R.Z),{getPrefixCls:r,direction:o,form:a}=c.useContext(Z.E_),{prefixCls:l,className:s,rootClassName:f,size:d,disabled:p=n,form:h,colon:m,labelAlign:v,labelWrap:g,labelCol:y,wrapperCol:b,hideRequiredMark:x,layout:w="horizontal",scrollToFirstError:E,requiredMark:O,onFinishFailed:S,name:C,style:k,feedbackIcons:j,variant:A}=e,T=Q(e,["prefixCls","className","rootClassName","size","disabled","form","colon","labelAlign","labelWrap","labelCol","wrapperCol","hideRequiredMark","layout","scrollToFirstError","requiredMark","onFinishFailed","name","style","feedbackIcons","variant"]),N=(0,_.Z)(d),B=c.useContext(Y.Z),L=(0,c.useMemo)(()=>void 0!==O?O:!x&&(!a||void 0===a.requiredMark||a.requiredMark),[x,O,a]),z=null!=m?m:null==a?void 0:a.colon,F=r("form",l),H=(0,M.Z)(F),[W,q,V]=P(F,H),U=i()(F,"".concat(F,"-").concat(w),{["".concat(F,"-hide-required-mark")]:!1===L,["".concat(F,"-rtl")]:"rtl"===o,["".concat(F,"-").concat(N)]:N},V,H,q,null==a?void 0:a.className,s,f),[X]=$(h),{__INTERNAL__:G}=X;G.name=C;let K=(0,c.useMemo)(()=>({name:C,labelAlign:v,labelCol:y,labelWrap:g,wrapperCol:b,vertical:"vertical"===w,colon:z,requiredMark:L,itemRef:G.itemRef,form:X,feedbackIcons:j}),[C,v,y,b,w,z,L,X,j]);c.useImperativeHandle(t,()=>X);let J=(e,t)=>{if(e){let n={block:"nearest"};"object"==typeof e&&(n=e),X.scrollToField(t,n)}};return W(c.createElement(u.pg.Provider,{value:A},c.createElement(R.n,{disabled:p},c.createElement(D.Z.Provider,{value:N},c.createElement(u.RV,{validateMessages:B},c.createElement(u.q3.Provider,{value:K},c.createElement(I.ZP,Object.assign({id:C},T,{name:C,onFinishFailed:e=>{if(null==S||S(e),e.errorFields.length){let t=e.errorFields[0].name;if(void 0!==E){J(E,t);return}a&&void 0!==a.scrollToFirstError&&J(a.scrollToFirstError,t)}},form:X,style:Object.assign(Object.assign({},null==a?void 0:a.style),k),className:U}))))))))});var ee=n(89211),et=n(74084),en=n(65823),er=n(76564),eo=n(33054);let ei=()=>{let{status:e,errors:t=[],warnings:n=[]}=(0,c.useContext)(u.aM);return{status:e,errors:t,warnings:n}};ei.Context=u.aM;var ea=n(19223),ec=n(73193),el=n(24800),eu=n(35704),es=n(24750);let ef=["xxl","xl","lg","md","sm","xs"],ed=e=>({xs:"(max-width: ".concat(e.screenXSMax,"px)"),sm:"(min-width: ".concat(e.screenSM,"px)"),md:"(min-width: ".concat(e.screenMD,"px)"),lg:"(min-width: ".concat(e.screenLG,"px)"),xl:"(min-width: ".concat(e.screenXL,"px)"),xxl:"(min-width: ".concat(e.screenXXL,"px)")}),ep=e=>{let t=[].concat(ef).reverse();return t.forEach((n,r)=>{let o=n.toUpperCase(),i="screen".concat(o,"Min"),a="screen".concat(o);if(!(e[i]<=e[a]))throw Error("".concat(i,"<=").concat(a," fails : !(").concat(e[i],"<=").concat(e[a],")"));if(r{let{componentCls:t}=e;return{[t]:{position:"relative",maxWidth:"100%",minHeight:1}}},ev=(e,t)=>{let{componentCls:n,gridColumns:r}=e,o={};for(let e=r;e>=0;e--)0===e?(o["".concat(n).concat(t,"-").concat(e)]={display:"none"},o["".concat(n,"-push-").concat(e)]={insetInlineStart:"auto"},o["".concat(n,"-pull-").concat(e)]={insetInlineEnd:"auto"},o["".concat(n).concat(t,"-push-").concat(e)]={insetInlineStart:"auto"},o["".concat(n).concat(t,"-pull-").concat(e)]={insetInlineEnd:"auto"},o["".concat(n).concat(t,"-offset-").concat(e)]={marginInlineStart:0},o["".concat(n).concat(t,"-order-").concat(e)]={order:0}):(o["".concat(n).concat(t,"-").concat(e)]=[{"--ant-display":"block",display:"block"},{display:"var(--ant-display)",flex:"0 0 ".concat(e/r*100,"%"),maxWidth:"".concat(e/r*100,"%")}],o["".concat(n).concat(t,"-push-").concat(e)]={insetInlineStart:"".concat(e/r*100,"%")},o["".concat(n).concat(t,"-pull-").concat(e)]={insetInlineEnd:"".concat(e/r*100,"%")},o["".concat(n).concat(t,"-offset-").concat(e)]={marginInlineStart:"".concat(e/r*100,"%")},o["".concat(n).concat(t,"-order-").concat(e)]={order:e});return o},eg=(e,t)=>ev(e,t),ey=(e,t,n)=>({["@media (min-width: ".concat((0,f.bf)(t),")")]:Object.assign({},eg(e,n))}),eb=(0,v.I$)("Grid",e=>{let{componentCls:t}=e;return{[t]:{display:"flex",flexFlow:"row wrap",minWidth:0,"&::before, &::after":{display:"flex"},"&-no-wrap":{flexWrap:"nowrap"},"&-start":{justifyContent:"flex-start"},"&-center":{justifyContent:"center"},"&-end":{justifyContent:"flex-end"},"&-space-between":{justifyContent:"space-between"},"&-space-around":{justifyContent:"space-around"},"&-space-evenly":{justifyContent:"space-evenly"},"&-top":{alignItems:"flex-start"},"&-middle":{alignItems:"center"},"&-bottom":{alignItems:"flex-end"}}}},()=>({})),ex=(0,v.I$)("Grid",e=>{let t=(0,m.TS)(e,{gridColumns:24}),n={"-sm":t.screenSMMin,"-md":t.screenMDMin,"-lg":t.screenLGMin,"-xl":t.screenXLMin,"-xxl":t.screenXXLMin};return[em(t),eg(t,""),eg(t,"-xs"),Object.keys(n).map(e=>ey(t,n[e],e)).reduce((e,t)=>Object.assign(Object.assign({},e),t),{})]},()=>({}));var ew=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};function eE(e,t){let[n,r]=c.useState("string"==typeof e?e:""),o=()=>{if("string"==typeof e&&r(e),"object"==typeof e)for(let n=0;n{o()},[JSON.stringify(e),t]),n}let eO=c.forwardRef((e,t)=>{let{prefixCls:n,justify:r,align:o,className:a,style:l,children:u,gutter:s=0,wrap:f}=e,d=ew(e,["prefixCls","justify","align","className","style","children","gutter","wrap"]),{getPrefixCls:p,direction:h}=c.useContext(Z.E_),[m,v]=c.useState({xs:!0,sm:!0,md:!0,lg:!0,xl:!0,xxl:!0}),[g,y]=c.useState({xs:!1,sm:!1,md:!1,lg:!1,xl:!1,xxl:!1}),b=eE(o,g),x=eE(r,g),w=c.useRef(s),E=function(){let[,e]=(0,es.ZP)(),t=ed(ep(e));return c.useMemo(()=>{let e=new Map,n=-1,r={};return{matchHandlers:{},dispatch:t=>(r=t,e.forEach(e=>e(r)),e.size>=1),subscribe(t){return e.size||this.register(),n+=1,e.set(n,t),t(r),n},unsubscribe(t){e.delete(t),e.size||this.unregister()},unregister(){Object.keys(t).forEach(e=>{let n=t[e],r=this.matchHandlers[n];null==r||r.mql.removeListener(null==r?void 0:r.listener)}),e.clear()},register(){Object.keys(t).forEach(e=>{let n=t[e],o=t=>{let{matches:n}=t;this.dispatch(Object.assign(Object.assign({},r),{[e]:n}))},i=window.matchMedia(n);i.addListener(o),this.matchHandlers[n]={mql:i,listener:o},o(i)})},responsiveMap:t}},[e])}();c.useEffect(()=>{let e=E.subscribe(e=>{y(e);let t=w.current||0;(!Array.isArray(t)&&"object"==typeof t||Array.isArray(t)&&("object"==typeof t[0]||"object"==typeof t[1]))&&v(e)});return()=>E.unsubscribe(e)},[]);let O=p("row",n),[S,C,k]=eb(O),j=(()=>{let e=[void 0,void 0];return(Array.isArray(s)?s:[s,void 0]).forEach((t,n)=>{if("object"==typeof t)for(let r=0;r0?-(j[0]/2):void 0;A&&(M.marginLeft=A,M.marginRight=A),[,M.rowGap]=j;let[T,N]=j,I=c.useMemo(()=>({gutter:[T,N],wrap:f}),[T,N,f]);return S(c.createElement(eh.Provider,{value:I},c.createElement("div",Object.assign({},d,{className:P,style:Object.assign(Object.assign({},M),l),ref:t}),u)))});var eS=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let eC=["xs","sm","md","lg","xl","xxl"],ek=c.forwardRef((e,t)=>{let{getPrefixCls:n,direction:r}=c.useContext(Z.E_),{gutter:o,wrap:a}=c.useContext(eh),{prefixCls:l,span:u,order:s,offset:f,push:d,pull:p,className:h,children:m,flex:v,style:g}=e,y=eS(e,["prefixCls","span","order","offset","push","pull","className","children","flex","style"]),b=n("col",l),[x,w,E]=ex(b),O={};eC.forEach(t=>{let n={},o=e[t];"number"==typeof o?n.span=o:"object"==typeof o&&(n=o||{}),delete y[t],O=Object.assign(Object.assign({},O),{["".concat(b,"-").concat(t,"-").concat(n.span)]:void 0!==n.span,["".concat(b,"-").concat(t,"-order-").concat(n.order)]:n.order||0===n.order,["".concat(b,"-").concat(t,"-offset-").concat(n.offset)]:n.offset||0===n.offset,["".concat(b,"-").concat(t,"-push-").concat(n.push)]:n.push||0===n.push,["".concat(b,"-").concat(t,"-pull-").concat(n.pull)]:n.pull||0===n.pull,["".concat(b,"-").concat(t,"-flex-").concat(n.flex)]:n.flex||"auto"===n.flex,["".concat(b,"-rtl")]:"rtl"===r})});let S=i()(b,{["".concat(b,"-").concat(u)]:void 0!==u,["".concat(b,"-order-").concat(s)]:s,["".concat(b,"-offset-").concat(f)]:f,["".concat(b,"-push-").concat(d)]:d,["".concat(b,"-pull-").concat(p)]:p},h,O,w,E),C={};if(o&&o[0]>0){let e=o[0]/2;C.paddingLeft=e,C.paddingRight=e}return v&&(C.flex="number"==typeof v?"".concat(v," ").concat(v," auto"):/^\d+(\.\d+)?(px|em|rem|%)$/.test(v)?"0 0 ".concat(v):v,!1!==a||C.minWidth||(C.minWidth=0)),x(c.createElement("div",Object.assign({},y,{style:Object.assign(Object.assign({},C),g),className:S,ref:t}),m))}),ej=e=>{let{formItemCls:t}=e;return{"@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none)":{["".concat(t,"-control")]:{display:"flex"}}}};var eP=(0,v.bk)(["Form","item-item"],(e,t)=>{let{rootPrefixCls:n}=t;return[ej(j(e,n))]}),eM=e=>{let{prefixCls:t,status:n,wrapperCol:r,children:o,errors:a,warnings:l,_internalItemRender:s,extra:f,help:d,fieldId:p,marginBottom:h,onErrorVisibleChanged:m}=e,v="".concat(t,"-item"),g=c.useContext(u.q3),y=r||g.wrapperCol||{},b=i()("".concat(v,"-control"),y.className),x=c.useMemo(()=>Object.assign({},g),[g]);delete x.labelCol,delete x.wrapperCol;let w=c.createElement("div",{className:"".concat(v,"-control-input")},c.createElement("div",{className:"".concat(v,"-control-input-content")},o)),E=c.useMemo(()=>({prefixCls:t,status:n}),[t,n]),O=null!==h||a.length||l.length?c.createElement("div",{style:{display:"flex",flexWrap:"nowrap"}},c.createElement(u.Rk.Provider,{value:E},c.createElement(N,{fieldId:p,errors:a,warnings:l,help:d,helpStatus:n,className:"".concat(v,"-explain-connected"),onVisibleChanged:m})),!!h&&c.createElement("div",{style:{width:0,height:h}})):null,S={};p&&(S.id="".concat(p,"_extra"));let C=f?c.createElement("div",Object.assign({},S,{className:"".concat(v,"-extra")}),f):null,k=s&&"pro_table_render"===s.mark&&s.render?s.render(e,{input:w,errorList:O,extra:C}):c.createElement(c.Fragment,null,w,O,C);return c.createElement(u.q3.Provider,{value:x},c.createElement(ek,Object.assign({},y,{className:b}),k),c.createElement(eP,{prefixCls:t}))},eA=n(14749),eT={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M623.6 316.7C593.6 290.4 554 276 512 276s-81.6 14.5-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56.1 72.7-21.2 8.1-39.2 22.3-52.1 40.9-13.1 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0130.9-44.8c59-22.7 97.1-74.7 97.1-132.5.1-39.3-17.1-76-48.3-103.3zM472 732a40 40 0 1080 0 40 40 0 10-80 0z"}}]},name:"question-circle",theme:"outlined"},eN=n(60688),eI=c.forwardRef(function(e,t){return c.createElement(eN.Z,(0,eA.Z)({},e,{ref:t,icon:eT}))}),eZ=n(79474),eR=n(70595),e_=n(47104),eD=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n},eB=e=>{var t;let{prefixCls:n,label:r,htmlFor:o,labelCol:a,labelAlign:l,colon:s,required:f,requiredMark:d,tooltip:p}=e,[h]=(0,eR.Z)("Form"),{vertical:m,labelAlign:v,labelCol:g,labelWrap:y,colon:b}=c.useContext(u.q3);if(!r)return null;let x=a||g||{},w="".concat(n,"-item-label"),E=i()(w,"left"===(l||v)&&"".concat(w,"-left"),x.className,{["".concat(w,"-wrap")]:!!y}),O=r,S=!0===s||!1!==b&&!1!==s;S&&!m&&"string"==typeof r&&""!==r.trim()&&(O=r.replace(/[:|:]\s*$/,""));let C=p?"object"!=typeof p||c.isValidElement(p)?{title:p}:p:null;if(C){let{icon:e=c.createElement(eI,null)}=C,t=eD(C,["icon"]),r=c.createElement(e_.Z,Object.assign({},t),c.cloneElement(e,{className:"".concat(n,"-item-tooltip"),title:"",onClick:e=>{e.preventDefault()},tabIndex:null}));O=c.createElement(c.Fragment,null,O,r)}let k="optional"===d,j="function"==typeof d;j?O=d(O,{required:!!f}):k&&!f&&(O=c.createElement(c.Fragment,null,O,c.createElement("span",{className:"".concat(n,"-item-optional"),title:""},(null==h?void 0:h.optional)||(null===(t=eZ.Z.Form)||void 0===t?void 0:t.optional))));let P=i()({["".concat(n,"-item-required")]:f,["".concat(n,"-item-required-mark-optional")]:k||j,["".concat(n,"-item-no-colon")]:!S});return c.createElement(ek,Object.assign({},x,{className:E}),c.createElement("label",{htmlFor:o,className:P,title:"string"==typeof r?r:""},O))},eL=n(99537),ez=n(77136),eF=n(20653),eH=n(66155);let eW={success:eL.Z,warning:eF.Z,error:ez.Z,validating:eH.Z};function eq(e){let{children:t,errors:n,warnings:r,hasFeedback:o,validateStatus:a,prefixCls:l,meta:s,noStyle:f}=e,d="".concat(l,"-item"),{feedbackIcons:p}=c.useContext(u.q3),h=G(n,r,s,null,!!o,a),{isFormItemInput:m,status:v,hasFeedback:g,feedbackIcon:y}=c.useContext(u.aM),b=c.useMemo(()=>{var e;let t;if(o){let a=!0!==o&&o.icons||p,l=h&&(null===(e=null==a?void 0:a({status:h,errors:n,warnings:r}))||void 0===e?void 0:e[h]),u=h&&eW[h];t=!1!==l&&u?c.createElement("span",{className:i()("".concat(d,"-feedback-icon"),"".concat(d,"-feedback-icon-").concat(h))},l||c.createElement(u,null)):null}let a={status:h||"",errors:n,warnings:r,hasFeedback:!!o,feedbackIcon:t,isFormItemInput:!0};return f&&(a.status=(null!=h?h:v)||"",a.isFormItemInput=m,a.hasFeedback=!!(null!=o?o:g),a.feedbackIcon=void 0!==o?a.feedbackIcon:y),a},[h,o,f,m,v]);return c.createElement(u.aM.Provider,{value:b},t)}var eV=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};function eU(e){let{prefixCls:t,className:n,rootClassName:r,style:o,help:a,errors:l,warnings:f,validateStatus:d,meta:p,hasFeedback:h,hidden:m,children:v,fieldId:g,required:y,isRequired:b,onSubItemMetaChange:x}=e,w=eV(e,["prefixCls","className","rootClassName","style","help","errors","warnings","validateStatus","meta","hasFeedback","hidden","children","fieldId","required","isRequired","onSubItemMetaChange"]),E="".concat(t,"-item"),{requiredMark:O}=c.useContext(u.q3),S=c.useRef(null),C=s(l),k=s(f),j=null!=a,P=!!(j||l.length||f.length),M=!!S.current&&(0,ec.Z)(S.current),[A,T]=c.useState(null);(0,el.Z)(()=>{P&&S.current&&T(parseInt(getComputedStyle(S.current).marginBottom,10))},[P,M]);let N=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return G(e?C:p.errors,e?k:p.warnings,p,"",!!h,d)}(),I=i()(E,n,r,{["".concat(E,"-with-help")]:j||C.length||k.length,["".concat(E,"-has-feedback")]:N&&h,["".concat(E,"-has-success")]:"success"===N,["".concat(E,"-has-warning")]:"warning"===N,["".concat(E,"-has-error")]:"error"===N,["".concat(E,"-is-validating")]:"validating"===N,["".concat(E,"-hidden")]:m});return c.createElement("div",{className:I,style:o,ref:S},c.createElement(eO,Object.assign({className:"".concat(E,"-row")},(0,eu.Z)(w,["_internalItemRender","colon","dependencies","extra","fieldKey","getValueFromEvent","getValueProps","htmlFor","id","initialValue","isListField","label","labelAlign","labelCol","labelWrap","messageVariables","name","normalize","noStyle","preserve","requiredMark","rules","shouldUpdate","trigger","tooltip","validateFirst","validateTrigger","valuePropName","wrapperCol","validateDebounce"])),c.createElement(eB,Object.assign({htmlFor:g},e,{requiredMark:O,required:null!=y?y:b,prefixCls:t})),c.createElement(eM,Object.assign({},e,p,{errors:C,warnings:k,prefixCls:t,status:N,help:a,marginBottom:A,onErrorVisibleChanged:e=>{e||T(null)}}),c.createElement(u.qI.Provider,{value:x},c.createElement(eq,{prefixCls:t,meta:p,errors:p.errors,warnings:p.warnings,hasFeedback:h,validateStatus:N},v)))),!!A&&c.createElement("div",{className:"".concat(E,"-margin-offset"),style:{marginBottom:-A}}))}let eX=c.memo(e=>{let{children:t}=e;return t},(e,t)=>(function(e,t){let n=Object.keys(e),r=Object.keys(t);return n.length===r.length&&n.every(n=>{let r=e[n],o=t[n];return r===o||"function"==typeof r||"function"==typeof o})})(e.control,t.control)&&e.update===t.update&&e.childProps.length===t.childProps.length&&e.childProps.every((e,n)=>e===t.childProps[n]));function eG(){return{errors:[],warnings:[],touched:!1,validating:!1,name:[],validated:!1}}let eK=function(e){let{name:t,noStyle:n,className:o,dependencies:a,prefixCls:l,shouldUpdate:s,rules:f,children:d,required:p,label:h,messageVariables:m,trigger:v="onChange",validateTrigger:g,hidden:y,help:b}=e,{getPrefixCls:x}=c.useContext(Z.E_),{name:w}=c.useContext(u.q3),E=function(e){if("function"==typeof e)return e;let t=(0,eo.Z)(e);return t.length<=1?t[0]:t}(d),O="function"==typeof E,S=c.useContext(u.qI),{validateTrigger:C}=c.useContext(I.zb),k=void 0!==g?g:C,j=null!=t,A=x("form",l),T=(0,M.Z)(A),[N,R,_]=P(A,T);(0,er.ln)("Form.Item");let D=c.useContext(I.ZM),B=c.useRef(),[L,z]=function(e){let[t,n]=c.useState(e),r=(0,c.useRef)(null),o=(0,c.useRef)([]),i=(0,c.useRef)(!1);return c.useEffect(()=>(i.current=!1,()=>{i.current=!0,ea.Z.cancel(r.current),r.current=null}),[]),[t,function(e){i.current||(null===r.current&&(o.current=[],r.current=(0,ea.Z)(()=>{r.current=null,n(e=>{let t=e;return o.current.forEach(e=>{t=e(t)}),t})})),o.current.push(e))}]}({}),[F,H]=(0,ee.Z)(()=>eG()),W=(e,t)=>{z(n=>{let o=Object.assign({},n),i=[].concat((0,r.Z)(e.name.slice(0,-1)),(0,r.Z)(t)).join("__SPLIT__");return e.destroy?delete o[i]:o[i]=e,o})},[q,V]=c.useMemo(()=>{let e=(0,r.Z)(F.errors),t=(0,r.Z)(F.warnings);return Object.values(L).forEach(n=>{e.push.apply(e,(0,r.Z)(n.errors||[])),t.push.apply(t,(0,r.Z)(n.warnings||[]))}),[e,t]},[L,F.errors,F.warnings]),G=function(){let{itemRef:e}=c.useContext(u.q3),t=c.useRef({});return function(n,r){let o=r&&"object"==typeof r&&r.ref,i=n.join("_");return(t.current.name!==i||t.current.originRef!==o)&&(t.current.name=i,t.current.originRef=o,t.current.ref=(0,et.sQ)(e(n),o)),t.current.ref}}();function K(t,r,a){return n&&!y?c.createElement(eq,{prefixCls:A,hasFeedback:e.hasFeedback,validateStatus:e.validateStatus,meta:F,errors:q,warnings:V,noStyle:!0},t):c.createElement(eU,Object.assign({key:"row"},e,{className:i()(o,_,T,R),prefixCls:A,fieldId:r,isRequired:a,errors:q,warnings:V,meta:F,onSubItemMetaChange:W}),t)}if(!j&&!O&&!a)return N(K(E));let $={};return"string"==typeof h?$.label=h:t&&($.label=String(t)),m&&($=Object.assign(Object.assign({},$),m)),N(c.createElement(I.gN,Object.assign({},e,{messageVariables:$,trigger:v,validateTrigger:k,onMetaChange:e=>{let t=null==D?void 0:D.getKey(e.name);if(H(e.destroy?eG():e,!0),n&&!1!==b&&S){let n=e.name;if(e.destroy)n=B.current||n;else if(void 0!==t){let[e,o]=t;n=[e].concat((0,r.Z)(o)),B.current=n}S(e,n)}}}),(n,o,i)=>{let l=U(t).length&&o?o.name:[],u=X(l,w),d=void 0!==p?p:!!(f&&f.some(e=>{if(e&&"object"==typeof e&&e.required&&!e.warningOnly)return!0;if("function"==typeof e){let t=e(i);return t&&t.required&&!t.warningOnly}return!1})),h=Object.assign({},n),m=null;if(Array.isArray(E)&&j)m=E;else if(O&&(!(s||a)||j));else if(!a||O||j){if((0,en.l$)(E)){let t=Object.assign(Object.assign({},E.props),h);if(t.id||(t.id=u),b||q.length>0||V.length>0||e.extra){let n=[];(b||q.length>0)&&n.push("".concat(u,"_help")),e.extra&&n.push("".concat(u,"_extra")),t["aria-describedby"]=n.join(" ")}q.length>0&&(t["aria-invalid"]="true"),d&&(t["aria-required"]="true"),(0,et.Yr)(E)&&(t.ref=G(l,E)),new Set([].concat((0,r.Z)(U(v)),(0,r.Z)(U(k)))).forEach(e=>{t[e]=function(){for(var t,n,r,o=arguments.length,i=Array(o),a=0;at.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};J.Item=eK,J.List=e=>{var{prefixCls:t,children:n}=e,r=e$(e,["prefixCls","children"]);let{getPrefixCls:o}=c.useContext(Z.E_),i=o("form",t),a=c.useMemo(()=>({prefixCls:i,status:"error"}),[i]);return c.createElement(I.aV,Object.assign({},r),(e,t,r)=>c.createElement(u.Rk.Provider,{value:a},n(e.map(e=>Object.assign(Object.assign({},e),{fieldKey:e.key})),t,{errors:r.errors,warnings:r.warnings})))},J.ErrorList=N,J.useForm=$,J.useFormInstance=function(){let{form:e}=(0,c.useContext)(u.q3);return e},J.useWatch=I.qo,J.Provider=u.RV,J.create=()=>{};var eY=J},12519:function(e,t,n){var r=n(64090);t.Z=(0,r.createContext)(void 0)},88707:function(e,t,n){n.d(t,{Z:function(){return eh}});var r=n(64090),o=n(20383),i=n(14749),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M890.5 755.3L537.9 269.2c-12.8-17.6-39-17.6-51.7 0L133.5 755.3A8 8 0 00140 768h75c5.1 0 9.9-2.5 12.9-6.6L512 369.8l284.1 391.6c3 4.1 7.8 6.6 12.9 6.6h75c6.5 0 10.3-7.4 6.5-12.7z"}}]},name:"up",theme:"outlined"},c=n(60688),l=r.forwardRef(function(e,t){return r.createElement(c.Z,(0,i.Z)({},e,{ref:t,icon:a}))}),u=n(16480),s=n.n(u),f=n(50833),d=n(6976),p=n(80406),h=n(6787),m=n(47365),v=n(65127);function g(){return"function"==typeof BigInt}function y(e){return!e&&0!==e&&!Number.isNaN(e)||!String(e).trim()}function b(e){var t=e.trim(),n=t.startsWith("-");n&&(t=t.slice(1)),(t=t.replace(/(\.\d*[^0])0*$/,"$1").replace(/\.0*$/,"").replace(/^0+/,"")).startsWith(".")&&(t="0".concat(t));var r=t||"0",o=r.split("."),i=o[0]||"0",a=o[1]||"0";"0"===i&&"0"===a&&(n=!1);var c=n?"-":"";return{negative:n,negativeStr:c,trimStr:r,integerStr:i,decimalStr:a,fullStr:"".concat(c).concat(r)}}function x(e){var t=String(e);return!Number.isNaN(Number(t))&&t.includes("e")}function w(e){var t=String(e);if(x(e)){var n=Number(t.slice(t.indexOf("e-")+2)),r=t.match(/\.(\d+)/);return null!=r&&r[1]&&(n+=r[1].length),n}return t.includes(".")&&O(t)?t.length-t.indexOf(".")-1:0}function E(e){var t=String(e);if(x(e)){if(e>Number.MAX_SAFE_INTEGER)return String(g()?BigInt(e).toString():Number.MAX_SAFE_INTEGER);if(e=this.add(e.negate().toString()).toNumber()}},{key:"toNumber",value:function(){return this.isNaN()?NaN:Number(this.toString())}},{key:"toString",value:function(){var e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];return e?this.isInvalidate()?"":b("".concat(this.getMark()).concat(this.getIntegerStr(),".").concat(this.getDecimalStr())).fullStr:this.origin}}]),e}(),C=function(){function e(t){if((0,m.Z)(this,e),(0,f.Z)(this,"origin",""),(0,f.Z)(this,"number",void 0),(0,f.Z)(this,"empty",void 0),y(t)){this.empty=!0;return}this.origin=String(t),this.number=Number(t)}return(0,v.Z)(e,[{key:"negate",value:function(){return new e(-this.toNumber())}},{key:"add",value:function(t){if(this.isInvalidate())return new e(t);var n=Number(t);if(Number.isNaN(n))return this;var r=this.number+n;if(r>Number.MAX_SAFE_INTEGER)return new e(Number.MAX_SAFE_INTEGER);if(rNumber.MAX_SAFE_INTEGER)return new e(Number.MAX_SAFE_INTEGER);if(r=this.add(e.negate().toString()).toNumber()}},{key:"toNumber",value:function(){return this.number}},{key:"toString",value:function(){var e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];return e?this.isInvalidate()?"":E(this.number):this.origin}}]),e}();function k(e){return g()?new S(e):new C(e)}function j(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(""===e)return"";var o=b(e),i=o.negativeStr,a=o.integerStr,c=o.decimalStr,l="".concat(t).concat(c),u="".concat(i).concat(a);if(n>=0){var s=Number(c[n]);return s>=5&&!r?j(k(e).add("".concat(i,"0.").concat("0".repeat(n)).concat(10-s)).toString(),t,n,r):0===n?u:"".concat(u).concat(t).concat(c.padEnd(n,"0").slice(0,n))}return".0"===l?u:"".concat(u).concat(l)}var P=n(90089),M=n(24800),A=n(74084),T=n(53850),N=n(76158),I=function(){var e=(0,r.useState)(!1),t=(0,p.Z)(e,2),n=t[0],o=t[1];return(0,M.Z)(function(){o((0,N.Z)())},[]),n},Z=n(19223);function R(e){var t=e.prefixCls,n=e.upNode,o=e.downNode,a=e.upDisabled,c=e.downDisabled,l=e.onStep,u=r.useRef(),d=r.useRef([]),p=r.useRef();p.current=l;var h=function(){clearTimeout(u.current)},m=function(e,t){e.preventDefault(),h(),p.current(t),u.current=setTimeout(function e(){p.current(t),u.current=setTimeout(e,200)},600)};if(r.useEffect(function(){return function(){h(),d.current.forEach(function(e){return Z.Z.cancel(e)})}},[]),I())return null;var v="".concat(t,"-handler"),g=s()(v,"".concat(v,"-up"),(0,f.Z)({},"".concat(v,"-up-disabled"),a)),y=s()(v,"".concat(v,"-down"),(0,f.Z)({},"".concat(v,"-down-disabled"),c)),b=function(){return d.current.push((0,Z.Z)(h))},x={unselectable:"on",role:"button",onMouseUp:b,onMouseLeave:b};return r.createElement("div",{className:"".concat(v,"-wrap")},r.createElement("span",(0,i.Z)({},x,{onMouseDown:function(e){m(e,!0)},"aria-label":"Increase Value","aria-disabled":a,className:g}),n||r.createElement("span",{unselectable:"on",className:"".concat(t,"-handler-up-inner")})),r.createElement("span",(0,i.Z)({},x,{onMouseDown:function(e){m(e,!1)},"aria-label":"Decrease Value","aria-disabled":c,className:y}),o||r.createElement("span",{unselectable:"on",className:"".concat(t,"-handler-down-inner")})))}function _(e){var t="number"==typeof e?E(e):b(e).fullStr;return t.includes(".")?b(t.replace(/(\d)\.(\d)/g,"$1$2.")).fullStr:e+"0"}var D=n(8002),B=["prefixCls","className","style","min","max","step","defaultValue","value","disabled","readOnly","upHandler","downHandler","keyboard","wheel","controls","classNames","stringMode","parser","formatter","precision","decimalSeparator","onChange","onInput","onPressEnter","onStep","changeOnBlur"],L=["disabled","style","prefixCls","value","prefix","suffix","addonBefore","addonAfter","className","classNames"],z=function(e,t){return e||t.isEmpty()?t.toString():t.toNumber()},F=function(e){var t=k(e);return t.isInvalidate()?null:t},H=r.forwardRef(function(e,t){var n,o,a,c,l,u=e.prefixCls,m=void 0===u?"rc-input-number":u,v=e.className,g=e.style,y=e.min,b=e.max,x=e.step,S=void 0===x?1:x,C=e.defaultValue,P=e.value,N=e.disabled,I=e.readOnly,D=e.upHandler,L=e.downHandler,H=e.keyboard,W=e.wheel,q=e.controls,V=(e.classNames,e.stringMode),U=e.parser,X=e.formatter,G=e.precision,K=e.decimalSeparator,$=e.onChange,Y=e.onInput,Q=e.onPressEnter,J=e.onStep,ee=e.changeOnBlur,et=void 0===ee||ee,en=(0,h.Z)(e,B),er="".concat(m,"-input"),eo=r.useRef(null),ei=r.useState(!1),ea=(0,p.Z)(ei,2),ec=ea[0],el=ea[1],eu=r.useRef(!1),es=r.useRef(!1),ef=r.useRef(!1),ed=r.useState(function(){return k(null!=P?P:C)}),ep=(0,p.Z)(ed,2),eh=ep[0],em=ep[1],ev=r.useCallback(function(e,t){return t?void 0:G>=0?G:Math.max(w(e),w(S))},[G,S]),eg=r.useCallback(function(e){var t=String(e);if(U)return U(t);var n=t;return K&&(n=n.replace(K,".")),n.replace(/[^\w.-]+/g,"")},[U,K]),ey=r.useRef(""),eb=r.useCallback(function(e,t){if(X)return X(e,{userTyping:t,input:String(ey.current)});var n="number"==typeof e?E(e):e;if(!t){var r=ev(n,t);O(n)&&(K||r>=0)&&(n=j(n,K||".",r))}return n},[X,ev,K]),ex=r.useState(function(){var e=null!=C?C:P;return eh.isInvalidate()&&["string","number"].includes((0,d.Z)(e))?Number.isNaN(e)?"":e:eb(eh.toString(),!1)}),ew=(0,p.Z)(ex,2),eE=ew[0],eO=ew[1];function eS(e,t){eO(eb(e.isInvalidate()?e.toString(!1):e.toString(!t),t))}ey.current=eE;var eC=r.useMemo(function(){return F(b)},[b,G]),ek=r.useMemo(function(){return F(y)},[y,G]),ej=r.useMemo(function(){return!(!eC||!eh||eh.isInvalidate())&&eC.lessEquals(eh)},[eC,eh]),eP=r.useMemo(function(){return!(!ek||!eh||eh.isInvalidate())&&eh.lessEquals(ek)},[ek,eh]),eM=(n=eo.current,o=(0,r.useRef)(null),[function(){try{var e=n.selectionStart,t=n.selectionEnd,r=n.value,i=r.substring(0,e),a=r.substring(t);o.current={start:e,end:t,value:r,beforeTxt:i,afterTxt:a}}catch(e){}},function(){if(n&&o.current&&ec)try{var e=n.value,t=o.current,r=t.beforeTxt,i=t.afterTxt,a=t.start,c=e.length;if(e.endsWith(i))c=e.length-o.current.afterTxt.length;else if(e.startsWith(r))c=r.length;else{var l=r[a-1],u=e.indexOf(l,a-1);-1!==u&&(c=u+1)}n.setSelectionRange(c,c)}catch(e){(0,T.ZP)(!1,"Something warning of cursor restore. Please fire issue about this: ".concat(e.message))}}]),eA=(0,p.Z)(eM,2),eT=eA[0],eN=eA[1],eI=function(e){return eC&&!e.lessEquals(eC)?eC:ek&&!ek.lessEquals(e)?ek:null},eZ=function(e){return!eI(e)},eR=function(e,t){var n=e,r=eZ(n)||n.isEmpty();if(n.isEmpty()||t||(n=eI(n)||n,r=!0),!I&&!N&&r){var o,i=n.toString(),a=ev(i,t);return a>=0&&!eZ(n=k(j(i,".",a)))&&(n=k(j(i,".",a,!0))),n.equals(eh)||(o=n,void 0===P&&em(o),null==$||$(n.isEmpty()?null:z(V,n)),void 0===P&&eS(n,t)),n}return eh},e_=(a=(0,r.useRef)(0),c=function(){Z.Z.cancel(a.current)},(0,r.useEffect)(function(){return c},[]),function(e){c(),a.current=(0,Z.Z)(function(){e()})}),eD=function e(t){if(eT(),ey.current=t,eO(t),!es.current){var n=k(eg(t));n.isNaN()||eR(n,!0)}null==Y||Y(t),e_(function(){var n=t;U||(n=t.replace(/。/g,".")),n!==t&&e(n)})},eB=function(e){if((!e||!ej)&&(e||!eP)){eu.current=!1;var t,n=k(ef.current?_(S):S);e||(n=n.negate());var r=eR((eh||k(0)).add(n.toString()),!1);null==J||J(z(V,r),{offset:ef.current?_(S):S,type:e?"up":"down"}),null===(t=eo.current)||void 0===t||t.focus()}},eL=function(e){var t=k(eg(eE)),n=t;n=t.isNaN()?eR(eh,e):eR(t,e),void 0!==P?eS(eh,!1):n.isNaN()||eS(n,!1)};return r.useEffect(function(){var e=function(e){!1!==W&&(eB(e.deltaY<0),e.preventDefault())},t=eo.current;if(t)return t.addEventListener("wheel",e),function(){return t.removeEventListener("wheel",e)}},[eB]),(0,M.o)(function(){eh.isInvalidate()||eS(eh,!1)},[G,X]),(0,M.o)(function(){var e=k(P);em(e);var t=k(eg(eE));e.equals(t)&&eu.current&&!X||eS(e,eu.current)},[P]),(0,M.o)(function(){X&&eN()},[eE]),r.createElement("div",{className:s()(m,v,(l={},(0,f.Z)(l,"".concat(m,"-focused"),ec),(0,f.Z)(l,"".concat(m,"-disabled"),N),(0,f.Z)(l,"".concat(m,"-readonly"),I),(0,f.Z)(l,"".concat(m,"-not-a-number"),eh.isNaN()),(0,f.Z)(l,"".concat(m,"-out-of-range"),!eh.isInvalidate()&&!eZ(eh)),l)),style:g,onFocus:function(){el(!0)},onBlur:function(){et&&eL(!1),el(!1),eu.current=!1},onKeyDown:function(e){var t=e.key,n=e.shiftKey;eu.current=!0,ef.current=n,"Enter"===t&&(es.current||(eu.current=!1),eL(!1),null==Q||Q(e)),!1!==H&&!es.current&&["Up","ArrowUp","Down","ArrowDown"].includes(t)&&(eB("Up"===t||"ArrowUp"===t),e.preventDefault())},onKeyUp:function(){eu.current=!1,ef.current=!1},onCompositionStart:function(){es.current=!0},onCompositionEnd:function(){es.current=!1,eD(eo.current.value)},onBeforeInput:function(){eu.current=!0}},(void 0===q||q)&&r.createElement(R,{prefixCls:m,upNode:D,downNode:L,upDisabled:ej,downDisabled:eP,onStep:eB}),r.createElement("div",{className:"".concat(er,"-wrap")},r.createElement("input",(0,i.Z)({autoComplete:"off",role:"spinbutton","aria-valuemin":y,"aria-valuemax":b,"aria-valuenow":eh.isInvalidate()?null:eh.toString(),step:S},en,{ref:(0,A.sQ)(eo,t),className:er,value:eE,onChange:function(e){eD(e.target.value)},disabled:N,readOnly:I}))))}),W=r.forwardRef(function(e,t){var n=e.disabled,o=e.style,a=e.prefixCls,c=e.value,l=e.prefix,u=e.suffix,s=e.addonBefore,f=e.addonAfter,d=e.className,p=e.classNames,m=(0,h.Z)(e,L),v=r.useRef(null);return r.createElement(P.Q,{className:d,triggerFocus:function(e){v.current&&(0,D.nH)(v.current,e)},prefixCls:a,value:c,disabled:n,style:o,prefix:l,suffix:u,addonAfter:f,addonBefore:s,classNames:p,components:{affixWrapper:"div",groupWrapper:"div",wrapper:"div",groupAddon:"div"}},r.createElement(H,(0,i.Z)({prefixCls:a,disabled:n,ref:(0,A.sQ)(v,t),className:null==p?void 0:p.input},m)))});W.displayName="InputNumber";var q=n(47794),V=n(57499),U=n(54165),X=n(17094),G=n(92935),K=n(10693),$=n(47137),Y=n(8443),Q=n(92801),J=n(8985),ee=n(94759),et=n(85980),en=n(61892),er=n(11303),eo=n(12288),ei=n(76585),ea=n(80316),ec=n(6336);let el=(e,t)=>{let{componentCls:n,borderRadiusSM:r,borderRadiusLG:o}=e,i="lg"===t?o:r;return{["&-".concat(t)]:{["".concat(n,"-handler-wrap")]:{borderStartEndRadius:i,borderEndEndRadius:i},["".concat(n,"-handler-up")]:{borderStartEndRadius:i},["".concat(n,"-handler-down")]:{borderEndEndRadius:i}}}},eu=e=>{let{componentCls:t,lineWidth:n,lineType:r,borderRadius:o,fontSizeLG:i,controlHeightLG:a,controlHeightSM:c,colorError:l,paddingInlineSM:u,paddingBlockSM:s,paddingBlockLG:f,paddingInlineLG:d,colorTextDescription:p,motionDurationMid:h,handleHoverColor:m,paddingInline:v,paddingBlock:g,handleBg:y,handleActiveBg:b,colorTextDisabled:x,borderRadiusSM:w,borderRadiusLG:E,controlWidth:O,handleOpacity:S,handleBorderColor:C,filledHandleBg:k,lineHeightLG:j,calc:P}=e;return[{[t]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},(0,er.Wf)(e)),(0,ee.ik)(e)),{display:"inline-block",width:O,margin:0,padding:0,borderRadius:o}),(0,en.qG)(e,{["".concat(t,"-handler-wrap")]:{background:y,["".concat(t,"-handler-down")]:{borderBlockStart:"".concat((0,J.bf)(n)," ").concat(r," ").concat(C)}}})),(0,en.H8)(e,{["".concat(t,"-handler-wrap")]:{background:k,["".concat(t,"-handler-down")]:{borderBlockStart:"".concat((0,J.bf)(n)," ").concat(r," ").concat(C)}},"&:focus-within":{["".concat(t,"-handler-wrap")]:{background:y}}})),(0,en.Mu)(e)),{"&-rtl":{direction:"rtl",["".concat(t,"-input")]:{direction:"rtl"}},"&-lg":{padding:0,fontSize:i,lineHeight:j,borderRadius:E,["input".concat(t,"-input")]:{height:P(a).sub(P(n).mul(2)).equal(),padding:"".concat((0,J.bf)(f)," ").concat((0,J.bf)(d))}},"&-sm":{padding:0,borderRadius:w,["input".concat(t,"-input")]:{height:P(c).sub(P(n).mul(2)).equal(),padding:"".concat((0,J.bf)(s)," ").concat((0,J.bf)(u))}},"&-out-of-range":{["".concat(t,"-input-wrap")]:{input:{color:l}}},"&-group":Object.assign(Object.assign(Object.assign({},(0,er.Wf)(e)),(0,ee.s7)(e)),{"&-wrapper":Object.assign(Object.assign(Object.assign({display:"inline-block",textAlign:"start",verticalAlign:"top",["".concat(t,"-affix-wrapper")]:{width:"100%"},"&-lg":{["".concat(t,"-group-addon")]:{borderRadius:E,fontSize:e.fontSizeLG}},"&-sm":{["".concat(t,"-group-addon")]:{borderRadius:w}}},(0,en.ir)(e)),(0,en.S5)(e)),{["&:not(".concat(t,"-compact-first-item):not(").concat(t,"-compact-last-item)").concat(t,"-compact-item")]:{["".concat(t,", ").concat(t,"-group-addon")]:{borderRadius:0}},["&:not(".concat(t,"-compact-last-item)").concat(t,"-compact-first-item")]:{["".concat(t,", ").concat(t,"-group-addon")]:{borderStartEndRadius:0,borderEndEndRadius:0}},["&:not(".concat(t,"-compact-first-item)").concat(t,"-compact-last-item")]:{["".concat(t,", ").concat(t,"-group-addon")]:{borderStartStartRadius:0,borderEndStartRadius:0}}})}),["&-disabled ".concat(t,"-input")]:{cursor:"not-allowed"},[t]:{"&-input":Object.assign(Object.assign(Object.assign(Object.assign({},(0,er.Wf)(e)),{width:"100%",padding:"".concat((0,J.bf)(g)," ").concat((0,J.bf)(v)),textAlign:"start",backgroundColor:"transparent",border:0,borderRadius:o,outline:0,transition:"all ".concat(h," linear"),appearance:"textfield",fontSize:"inherit"}),(0,ee.nz)(e.colorTextPlaceholder)),{'&[type="number"]::-webkit-inner-spin-button, &[type="number"]::-webkit-outer-spin-button':{margin:0,webkitAppearance:"none",appearance:"none"}})}})},{[t]:Object.assign(Object.assign(Object.assign({["&:hover ".concat(t,"-handler-wrap, &-focused ").concat(t,"-handler-wrap")]:{opacity:1},["".concat(t,"-handler-wrap")]:{position:"absolute",insetBlockStart:0,insetInlineEnd:0,width:e.handleWidth,height:"100%",borderStartStartRadius:0,borderStartEndRadius:o,borderEndEndRadius:o,borderEndStartRadius:0,opacity:S,display:"flex",flexDirection:"column",alignItems:"stretch",transition:"opacity ".concat(h," linear ").concat(h),["".concat(t,"-handler")]:{display:"flex",alignItems:"center",justifyContent:"center",flex:"auto",height:"40%",["\n ".concat(t,"-handler-up-inner,\n ").concat(t,"-handler-down-inner\n ")]:{marginInlineEnd:0,fontSize:e.handleFontSize}}},["".concat(t,"-handler")]:{height:"50%",overflow:"hidden",color:p,fontWeight:"bold",lineHeight:0,textAlign:"center",cursor:"pointer",borderInlineStart:"".concat((0,J.bf)(n)," ").concat(r," ").concat(C),transition:"all ".concat(h," linear"),"&:active":{background:b},"&:hover":{height:"60%",["\n ".concat(t,"-handler-up-inner,\n ").concat(t,"-handler-down-inner\n ")]:{color:m}},"&-up-inner, &-down-inner":Object.assign(Object.assign({},(0,er.Ro)()),{color:p,transition:"all ".concat(h," linear"),userSelect:"none"})},["".concat(t,"-handler-up")]:{borderStartEndRadius:o},["".concat(t,"-handler-down")]:{borderEndEndRadius:o}},el(e,"lg")),el(e,"sm")),{"&-disabled, &-readonly":{["".concat(t,"-handler-wrap")]:{display:"none"},["".concat(t,"-input")]:{color:"inherit"}},["\n ".concat(t,"-handler-up-disabled,\n ").concat(t,"-handler-down-disabled\n ")]:{cursor:"not-allowed"},["\n ".concat(t,"-handler-up-disabled:hover &-handler-up-inner,\n ").concat(t,"-handler-down-disabled:hover &-handler-down-inner\n ")]:{color:x}})}]},es=e=>{let{componentCls:t,paddingBlock:n,paddingInline:r,inputAffixPadding:o,controlWidth:i,borderRadiusLG:a,borderRadiusSM:c,paddingInlineLG:l,paddingInlineSM:u,paddingBlockLG:s,paddingBlockSM:f}=e;return{["".concat(t,"-affix-wrapper")]:Object.assign(Object.assign({["input".concat(t,"-input")]:{padding:"".concat((0,J.bf)(n)," 0")}},(0,ee.ik)(e)),{position:"relative",display:"inline-flex",width:i,padding:0,paddingInlineStart:r,"&-lg":{borderRadius:a,paddingInlineStart:l,["input".concat(t,"-input")]:{padding:"".concat((0,J.bf)(s)," 0")}},"&-sm":{borderRadius:c,paddingInlineStart:u,["input".concat(t,"-input")]:{padding:"".concat((0,J.bf)(f)," 0")}},["&:not(".concat(t,"-disabled):hover")]:{zIndex:1},"&-focused, &:focus":{zIndex:1},["&-disabled > ".concat(t,"-disabled")]:{background:"transparent"},["> div".concat(t)]:{width:"100%",border:"none",outline:"none",["&".concat(t,"-focused")]:{boxShadow:"none !important"}},"&::before":{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'},["".concat(t,"-handler-wrap")]:{zIndex:2},[t]:{color:"inherit","&-prefix, &-suffix":{display:"flex",flex:"none",alignItems:"center",pointerEvents:"none"},"&-prefix":{marginInlineEnd:o},"&-suffix":{position:"absolute",insetBlockStart:0,insetInlineEnd:0,zIndex:1,height:"100%",marginInlineEnd:r,marginInlineStart:o}}})}};var ef=(0,ei.I$)("InputNumber",e=>{let t=(0,ea.TS)(e,(0,et.e)(e));return[eu(t),es(t),(0,eo.c)(t)]},e=>{var t;let n=null!==(t=e.handleVisible)&&void 0!==t?t:"auto";return Object.assign(Object.assign({},(0,et.T)(e)),{controlWidth:90,handleWidth:e.controlHeightSM-2*e.lineWidth,handleFontSize:e.fontSize/2,handleVisible:n,handleActiveBg:e.colorFillAlter,handleBg:e.colorBgContainer,filledHandleBg:new ec.C(e.colorFillSecondary).onBackground(e.colorBgContainer).toHexString(),handleHoverColor:e.colorPrimary,handleBorderColor:e.colorBorder,handleOpacity:!0===n?1:0})},{unitless:{handleOpacity:!0}}),ed=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let ep=r.forwardRef((e,t)=>{let{getPrefixCls:n,direction:i}=r.useContext(V.E_),a=r.useRef(null);r.useImperativeHandle(t,()=>a.current);let{className:c,rootClassName:u,size:f,disabled:d,prefixCls:p,addonBefore:h,addonAfter:m,prefix:v,bordered:g,readOnly:y,status:b,controls:x,variant:w}=e,E=ed(e,["className","rootClassName","size","disabled","prefixCls","addonBefore","addonAfter","prefix","bordered","readOnly","status","controls","variant"]),O=n("input-number",p),S=(0,G.Z)(O),[C,k,j]=ef(O,S),{compactSize:P,compactItemClassnames:M}=(0,Q.ri)(O,i),A=r.createElement(l,{className:"".concat(O,"-handler-up-inner")}),T=r.createElement(o.Z,{className:"".concat(O,"-handler-down-inner")});"object"==typeof x&&(A=void 0===x.upIcon?A:r.createElement("span",{className:"".concat(O,"-handler-up-inner")},x.upIcon),T=void 0===x.downIcon?T:r.createElement("span",{className:"".concat(O,"-handler-down-inner")},x.downIcon));let{hasFeedback:N,status:I,isFormItemInput:Z,feedbackIcon:R}=r.useContext($.aM),_=(0,q.F)(I,b),D=(0,K.Z)(e=>{var t;return null!==(t=null!=f?f:P)&&void 0!==t?t:e}),B=r.useContext(X.Z),[L,z]=(0,Y.Z)(w,g),F=N&&r.createElement(r.Fragment,null,R),H=s()({["".concat(O,"-lg")]:"large"===D,["".concat(O,"-sm")]:"small"===D,["".concat(O,"-rtl")]:"rtl"===i,["".concat(O,"-in-form-item")]:Z},k),U="".concat(O,"-group");return C(r.createElement(W,Object.assign({ref:a,disabled:null!=d?d:B,className:s()(j,S,c,u,M),upHandler:A,downHandler:T,prefixCls:O,readOnly:y,controls:"boolean"==typeof x?x:void 0,prefix:v,suffix:F,addonAfter:m&&r.createElement(Q.BR,null,r.createElement($.Ux,{override:!0,status:!0},m)),addonBefore:h&&r.createElement(Q.BR,null,r.createElement($.Ux,{override:!0,status:!0},h)),classNames:{input:H,variant:s()({["".concat(O,"-").concat(L)]:z},(0,q.Z)(O,_,N)),affixWrapper:s()({["".concat(O,"-affix-wrapper-sm")]:"small"===D,["".concat(O,"-affix-wrapper-lg")]:"large"===D,["".concat(O,"-affix-wrapper-rtl")]:"rtl"===i},k),wrapper:s()({["".concat(U,"-rtl")]:"rtl"===i},k),groupWrapper:s()({["".concat(O,"-group-wrapper-sm")]:"small"===D,["".concat(O,"-group-wrapper-lg")]:"large"===D,["".concat(O,"-group-wrapper-rtl")]:"rtl"===i,["".concat(O,"-group-wrapper-").concat(L)]:z},(0,q.Z)("".concat(O,"-group-wrapper"),_,N),k)}},E)))});ep._InternalPanelDoNotUseOrYouWillBeFired=e=>r.createElement(U.ZP,{theme:{components:{InputNumber:{handleVisible:!0}}}},r.createElement(ep,Object.assign({},e)));var eh=ep},29714:function(e,t,n){n.d(t,{Z:function(){return ei}});var r,o=n(64090),i=n(16480),a=n.n(i),c=n(57499),l=n(47137),u=n(94759),s=n(90089),f=n(74084),d=n(47794),p=n(17094),h=n(10693),m=n(92801);function v(e,t){let n=(0,o.useRef)([]),r=()=>{n.current.push(setTimeout(()=>{var t,n,r,o;(null===(t=e.current)||void 0===t?void 0:t.input)&&(null===(n=e.current)||void 0===n?void 0:n.input.getAttribute("type"))==="password"&&(null===(r=e.current)||void 0===r?void 0:r.input.hasAttribute("value"))&&(null===(o=e.current)||void 0===o||o.input.removeAttribute("value"))}))};return(0,o.useEffect)(()=>(t&&r(),()=>n.current.forEach(e=>{e&&clearTimeout(e)})),[]),r}var g=n(92935),y=n(8443),b=n(77136),x=e=>{let t;return"object"==typeof e&&(null==e?void 0:e.clearIcon)?t=e:e&&(t={clearIcon:o.createElement(b.Z,null)}),t},w=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let E=(0,o.forwardRef)((e,t)=>{var n;let{prefixCls:r,bordered:i=!0,status:b,size:E,disabled:O,onBlur:S,onFocus:C,suffix:k,allowClear:j,addonAfter:P,addonBefore:M,className:A,style:T,styles:N,rootClassName:I,onChange:Z,classNames:R,variant:_}=e,D=w(e,["prefixCls","bordered","status","size","disabled","onBlur","onFocus","suffix","allowClear","addonAfter","addonBefore","className","style","styles","rootClassName","onChange","classNames","variant"]),{getPrefixCls:B,direction:L,input:z}=o.useContext(c.E_),F=B("input",r),H=(0,o.useRef)(null),W=(0,g.Z)(F),[q,V,U]=(0,u.ZP)(F,W),{compactSize:X,compactItemClassnames:G}=(0,m.ri)(F,L),K=(0,h.Z)(e=>{var t;return null!==(t=null!=E?E:X)&&void 0!==t?t:e}),$=o.useContext(p.Z),{status:Y,hasFeedback:Q,feedbackIcon:J}=(0,o.useContext)(l.aM),ee=(0,d.F)(Y,b),et=!!(e.prefix||e.suffix||e.allowClear||e.showCount)||!!Q;(0,o.useRef)(et);let en=v(H,!0),er=(Q||k)&&o.createElement(o.Fragment,null,k,Q&&J),eo=x(j),[ei,ea]=(0,y.Z)(_,i);return q(o.createElement(s.Z,Object.assign({ref:(0,f.sQ)(t,H),prefixCls:F,autoComplete:null==z?void 0:z.autoComplete},D,{disabled:null!=O?O:$,onBlur:e=>{en(),null==S||S(e)},onFocus:e=>{en(),null==C||C(e)},style:Object.assign(Object.assign({},null==z?void 0:z.style),T),styles:Object.assign(Object.assign({},null==z?void 0:z.styles),N),suffix:er,allowClear:eo,className:a()(A,I,U,W,G,null==z?void 0:z.className),onChange:e=>{en(),null==Z||Z(e)},addonAfter:P&&o.createElement(m.BR,null,o.createElement(l.Ux,{override:!0,status:!0},P)),addonBefore:M&&o.createElement(m.BR,null,o.createElement(l.Ux,{override:!0,status:!0},M)),classNames:Object.assign(Object.assign(Object.assign({},R),null==z?void 0:z.classNames),{input:a()({["".concat(F,"-sm")]:"small"===K,["".concat(F,"-lg")]:"large"===K,["".concat(F,"-rtl")]:"rtl"===L},null==R?void 0:R.input,null===(n=null==z?void 0:z.classNames)||void 0===n?void 0:n.input,V),variant:a()({["".concat(F,"-").concat(ei)]:ea},(0,d.Z)(F,ee)),affixWrapper:a()({["".concat(F,"-affix-wrapper-sm")]:"small"===K,["".concat(F,"-affix-wrapper-lg")]:"large"===K,["".concat(F,"-affix-wrapper-rtl")]:"rtl"===L},V),wrapper:a()({["".concat(F,"-group-rtl")]:"rtl"===L},V),groupWrapper:a()({["".concat(F,"-group-wrapper-sm")]:"small"===K,["".concat(F,"-group-wrapper-lg")]:"large"===K,["".concat(F,"-group-wrapper-rtl")]:"rtl"===L,["".concat(F,"-group-wrapper-").concat(ei)]:ea},(0,d.Z)("".concat(F,"-group-wrapper"),ee,Q),V)})})))});var O=n(14749),S={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5zm-63.57-320.64L836 122.88a8 8 0 00-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 000 11.31L155.17 889a8 8 0 0011.31 0l712.15-712.12a8 8 0 000-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 00-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 01146.2-106.69L401.31 546.2A112 112 0 01396 512z"}},{tag:"path",attrs:{d:"M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 00227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 01-112 112z"}}]},name:"eye-invisible",theme:"outlined"},C=n(60688),k=o.forwardRef(function(e,t){return o.createElement(C.Z,(0,O.Z)({},e,{ref:t,icon:S}))}),j={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z"}}]},name:"eye",theme:"outlined"},P=o.forwardRef(function(e,t){return o.createElement(C.Z,(0,O.Z)({},e,{ref:t,icon:j}))}),M=n(35704),A=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let T=e=>e?o.createElement(P,null):o.createElement(k,null),N={click:"onClick",hover:"onMouseOver"},I=o.forwardRef((e,t)=>{let{visibilityToggle:n=!0}=e,r="object"==typeof n&&void 0!==n.visible,[i,l]=(0,o.useState)(()=>!!r&&n.visible),u=(0,o.useRef)(null);o.useEffect(()=>{r&&l(n.visible)},[r,n]);let s=v(u),d=()=>{let{disabled:t}=e;t||(i&&s(),l(e=>{var t;let r=!e;return"object"==typeof n&&(null===(t=n.onVisibleChange)||void 0===t||t.call(n,r)),r}))},{className:p,prefixCls:h,inputPrefixCls:m,size:g}=e,y=A(e,["className","prefixCls","inputPrefixCls","size"]),{getPrefixCls:b}=o.useContext(c.E_),x=b("input",m),w=b("input-password",h),O=n&&(t=>{let{action:n="click",iconRender:r=T}=e,a=N[n]||"",c=r(i);return o.cloneElement(o.isValidElement(c)?c:o.createElement("span",null,c),{[a]:d,className:"".concat(t,"-icon"),key:"passwordIcon",onMouseDown:e=>{e.preventDefault()},onMouseUp:e=>{e.preventDefault()}})})(w),S=a()(w,p,{["".concat(w,"-").concat(g)]:!!g}),C=Object.assign(Object.assign({},(0,M.Z)(y,["suffix","iconRender","visibilityToggle"])),{type:i?"text":"password",className:S,prefixCls:x,suffix:O});return g&&(C.size=g),o.createElement(E,Object.assign({ref:(0,f.sQ)(t,u)},C))});var Z=n(96871),R=n(65823),_=n(1861),D=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let B=o.forwardRef((e,t)=>{let n;let{prefixCls:r,inputPrefixCls:i,className:l,size:u,suffix:s,enterButton:d=!1,addonAfter:p,loading:v,disabled:g,onSearch:y,onChange:b,onCompositionStart:x,onCompositionEnd:w}=e,O=D(e,["prefixCls","inputPrefixCls","className","size","suffix","enterButton","addonAfter","loading","disabled","onSearch","onChange","onCompositionStart","onCompositionEnd"]),{getPrefixCls:S,direction:C}=o.useContext(c.E_),k=o.useRef(!1),j=S("input-search",r),P=S("input",i),{compactSize:M}=(0,m.ri)(j,C),A=(0,h.Z)(e=>{var t;return null!==(t=null!=u?u:M)&&void 0!==t?t:e}),T=o.useRef(null),N=e=>{var t;document.activeElement===(null===(t=T.current)||void 0===t?void 0:t.input)&&e.preventDefault()},I=e=>{var t,n;y&&y(null===(n=null===(t=T.current)||void 0===t?void 0:t.input)||void 0===n?void 0:n.value,e,{source:"input"})},B="boolean"==typeof d?o.createElement(Z.Z,null):null,L="".concat(j,"-button"),z=d||{},F=z.type&&!0===z.type.__ANT_BUTTON;n=F||"button"===z.type?(0,R.Tm)(z,Object.assign({onMouseDown:N,onClick:e=>{var t,n;null===(n=null===(t=null==z?void 0:z.props)||void 0===t?void 0:t.onClick)||void 0===n||n.call(t,e),I(e)},key:"enterButton"},F?{className:L,size:A}:{})):o.createElement(_.ZP,{className:L,type:d?"primary":void 0,size:A,disabled:g,key:"enterButton",onMouseDown:N,onClick:I,loading:v,icon:B},d),p&&(n=[n,(0,R.Tm)(p,{key:"addonAfter"})]);let H=a()(j,{["".concat(j,"-rtl")]:"rtl"===C,["".concat(j,"-").concat(A)]:!!A,["".concat(j,"-with-button")]:!!d},l);return o.createElement(E,Object.assign({ref:(0,f.sQ)(T,t),onPressEnter:e=>{k.current||v||I(e)}},O,{size:A,onCompositionStart:e=>{k.current=!0,null==x||x(e)},onCompositionEnd:e=>{k.current=!1,null==w||w(e)},prefixCls:P,addonAfter:n,suffix:s,onChange:e=>{e&&e.target&&"click"===e.type&&y&&y(e.target.value,e,{source:"clear"}),b&&b(e)},className:H,disabled:g}))});var L=n(50833),z=n(5239),F=n(63787),H=n(80406),W=n(6787),q=n(44607),V=n(8002),U=n(44329),X=n(6976),G=n(46505),K=n(24800),$=n(19223),Y=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","font-variant","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break","white-space"],Q={},J=["prefixCls","onPressEnter","defaultValue","value","autoSize","onResize","className","style","disabled","onChange","onInternalAutoSize"],ee=o.forwardRef(function(e,t){var n=e.prefixCls,i=(e.onPressEnter,e.defaultValue),c=e.value,l=e.autoSize,u=e.onResize,s=e.className,f=e.style,d=e.disabled,p=e.onChange,h=(e.onInternalAutoSize,(0,W.Z)(e,J)),m=(0,U.Z)(i,{value:c,postState:function(e){return null!=e?e:""}}),v=(0,H.Z)(m,2),g=v[0],y=v[1],b=o.useRef();o.useImperativeHandle(t,function(){return{textArea:b.current}});var x=o.useMemo(function(){return l&&"object"===(0,X.Z)(l)?[l.minRows,l.maxRows]:[]},[l]),w=(0,H.Z)(x,2),E=w[0],S=w[1],C=!!l,k=function(){try{if(document.activeElement===b.current){var e=b.current,t=e.selectionStart,n=e.selectionEnd,r=e.scrollTop;b.current.setSelectionRange(t,n),b.current.scrollTop=r}}catch(e){}},j=o.useState(2),P=(0,H.Z)(j,2),M=P[0],A=P[1],T=o.useState(),N=(0,H.Z)(T,2),I=N[0],Z=N[1],R=function(){A(0)};(0,K.Z)(function(){C&&R()},[c,E,S,C]),(0,K.Z)(function(){if(0===M)A(1);else if(1===M){var e=function(e){var t,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;r||((r=document.createElement("textarea")).setAttribute("tab-index","-1"),r.setAttribute("aria-hidden","true"),document.body.appendChild(r)),e.getAttribute("wrap")?r.setAttribute("wrap",e.getAttribute("wrap")):r.removeAttribute("wrap");var a=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e.getAttribute("id")||e.getAttribute("data-reactid")||e.getAttribute("name");if(t&&Q[n])return Q[n];var r=window.getComputedStyle(e),o=r.getPropertyValue("box-sizing")||r.getPropertyValue("-moz-box-sizing")||r.getPropertyValue("-webkit-box-sizing"),i=parseFloat(r.getPropertyValue("padding-bottom"))+parseFloat(r.getPropertyValue("padding-top")),a=parseFloat(r.getPropertyValue("border-bottom-width"))+parseFloat(r.getPropertyValue("border-top-width")),c={sizingStyle:Y.map(function(e){return"".concat(e,":").concat(r.getPropertyValue(e))}).join(";"),paddingSize:i,borderSize:a,boxSizing:o};return t&&n&&(Q[n]=c),c}(e,n),c=a.paddingSize,l=a.borderSize,u=a.boxSizing,s=a.sizingStyle;r.setAttribute("style","".concat(s,";").concat("\n min-height:0 !important;\n max-height:none !important;\n height:0 !important;\n visibility:hidden !important;\n overflow:hidden !important;\n position:absolute !important;\n z-index:-1000 !important;\n top:0 !important;\n right:0 !important;\n pointer-events: none !important;\n")),r.value=e.value||e.placeholder||"";var f=void 0,d=void 0,p=r.scrollHeight;if("border-box"===u?p+=l:"content-box"===u&&(p-=c),null!==o||null!==i){r.value=" ";var h=r.scrollHeight-c;null!==o&&(f=h*o,"border-box"===u&&(f=f+c+l),p=Math.max(f,p)),null!==i&&(d=h*i,"border-box"===u&&(d=d+c+l),t=p>d?"":"hidden",p=Math.min(d,p))}var m={height:p,overflowY:t,resize:"none"};return f&&(m.minHeight=f),d&&(m.maxHeight=d),m}(b.current,!1,E,S);A(2),Z(e)}else k()},[M]);var _=o.useRef(),D=function(){$.Z.cancel(_.current)};o.useEffect(function(){return D},[]);var B=(0,z.Z)((0,z.Z)({},f),C?I:null);return(0===M||1===M)&&(B.overflowY="hidden",B.overflowX="hidden"),o.createElement(G.Z,{onResize:function(e){2===M&&(null==u||u(e),l&&(D(),_.current=(0,$.Z)(function(){R()})))},disabled:!(l||u)},o.createElement("textarea",(0,O.Z)({},h,{ref:b,style:B,className:a()(n,s,(0,L.Z)({},"".concat(n,"-disabled"),d)),disabled:d,value:g,onChange:function(e){y(e.target.value),null==p||p(e)}})))}),et=["defaultValue","value","onFocus","onBlur","onChange","allowClear","maxLength","onCompositionStart","onCompositionEnd","suffix","prefixCls","showCount","count","className","style","disabled","hidden","classNames","styles","onResize"],en=o.forwardRef(function(e,t){var n,r,i,c=e.defaultValue,l=e.value,u=e.onFocus,f=e.onBlur,d=e.onChange,p=e.allowClear,h=e.maxLength,m=e.onCompositionStart,v=e.onCompositionEnd,g=e.suffix,y=e.prefixCls,b=void 0===y?"rc-textarea":y,x=e.showCount,w=e.count,E=e.className,S=e.style,C=e.disabled,k=e.hidden,j=e.classNames,P=e.styles,M=e.onResize,A=(0,W.Z)(e,et),T=(0,U.Z)(c,{value:l,defaultValue:c}),N=(0,H.Z)(T,2),I=N[0],Z=N[1],R=null==I?"":String(I),_=o.useState(!1),D=(0,H.Z)(_,2),B=D[0],X=D[1],G=o.useRef(!1),K=o.useState(null),$=(0,H.Z)(K,2),Y=$[0],Q=$[1],J=(0,o.useRef)(null),en=function(){var e;return null===(e=J.current)||void 0===e?void 0:e.textArea},er=function(){en().focus()};(0,o.useImperativeHandle)(t,function(){return{resizableTextArea:J.current,focus:er,blur:function(){en().blur()}}}),(0,o.useEffect)(function(){X(function(e){return!C&&e})},[C]);var eo=o.useState(null),ei=(0,H.Z)(eo,2),ea=ei[0],ec=ei[1];o.useEffect(function(){if(ea){var e;(e=en()).setSelectionRange.apply(e,(0,F.Z)(ea))}},[ea]);var el=(0,q.Z)(w,x),eu=null!==(n=el.max)&&void 0!==n?n:h,es=Number(eu)>0,ef=el.strategy(R),ed=!!eu&&ef>eu,ep=function(e,t){var n=t;!G.current&&el.exceedFormatter&&el.max&&el.strategy(t)>el.max&&(n=el.exceedFormatter(t,{max:el.max}),t!==n&&ec([en().selectionStart||0,en().selectionEnd||0])),Z(n),(0,V.rJ)(e.currentTarget,e,d,n)},eh=g;el.show&&(i=el.showFormatter?el.showFormatter({value:R,count:ef,maxLength:eu}):"".concat(ef).concat(es?" / ".concat(eu):""),eh=o.createElement(o.Fragment,null,eh,o.createElement("span",{className:a()("".concat(b,"-data-count"),null==j?void 0:j.count),style:null==P?void 0:P.count},i)));var em=!A.autoSize&&!x&&!p;return o.createElement(s.Q,{value:R,allowClear:p,handleReset:function(e){Z(""),er(),(0,V.rJ)(en(),e,d)},suffix:eh,prefixCls:b,classNames:(0,z.Z)((0,z.Z)({},j),{},{affixWrapper:a()(null==j?void 0:j.affixWrapper,(r={},(0,L.Z)(r,"".concat(b,"-show-count"),x),(0,L.Z)(r,"".concat(b,"-textarea-allow-clear"),p),r))}),disabled:C,focused:B,className:a()(E,ed&&"".concat(b,"-out-of-range")),style:(0,z.Z)((0,z.Z)({},S),Y&&!em?{height:"auto"}:{}),dataAttrs:{affixWrapper:{"data-count":"string"==typeof i?i:void 0}},hidden:k},o.createElement(ee,(0,O.Z)({},A,{maxLength:h,onKeyDown:function(e){var t=A.onPressEnter,n=A.onKeyDown;"Enter"===e.key&&t&&t(e),null==n||n(e)},onChange:function(e){ep(e,e.target.value)},onFocus:function(e){X(!0),null==u||u(e)},onBlur:function(e){X(!1),null==f||f(e)},onCompositionStart:function(e){G.current=!0,null==m||m(e)},onCompositionEnd:function(e){G.current=!1,ep(e,e.currentTarget.value),null==v||v(e)},className:a()(null==j?void 0:j.textarea),style:(0,z.Z)((0,z.Z)({},null==P?void 0:P.textarea),{},{resize:null==S?void 0:S.resize}),disabled:C,prefixCls:b,onResize:function(e){var t;null==M||M(e),null!==(t=en())&&void 0!==t&&t.style.height&&Q(!0)},ref:J})))}),er=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let eo=(0,o.forwardRef)((e,t)=>{var n;let r;let{prefixCls:i,bordered:s=!0,size:f,disabled:m,status:v,allowClear:x,classNames:w,rootClassName:E,className:O,variant:S}=e,C=er(e,["prefixCls","bordered","size","disabled","status","allowClear","classNames","rootClassName","className","variant"]),{getPrefixCls:k,direction:j}=o.useContext(c.E_),P=(0,h.Z)(f),M=o.useContext(p.Z),{status:A,hasFeedback:T,feedbackIcon:N}=o.useContext(l.aM),I=(0,d.F)(A,v),Z=o.useRef(null);o.useImperativeHandle(t,()=>{var e;return{resizableTextArea:null===(e=Z.current)||void 0===e?void 0:e.resizableTextArea,focus:e=>{var t,n;!function(e,t){if(!e)return;e.focus(t);let{cursor:n}=t||{};if(n){let t=e.value.length;switch(n){case"start":e.setSelectionRange(0,0);break;case"end":e.setSelectionRange(t,t);break;default:e.setSelectionRange(0,t)}}}(null===(n=null===(t=Z.current)||void 0===t?void 0:t.resizableTextArea)||void 0===n?void 0:n.textArea,e)},blur:()=>{var e;return null===(e=Z.current)||void 0===e?void 0:e.blur()}}});let R=k("input",i);"object"==typeof x&&(null==x?void 0:x.clearIcon)?r=x:x&&(r={clearIcon:o.createElement(b.Z,null)});let _=(0,g.Z)(R),[D,B,L]=(0,u.ZP)(R,_),[z,F]=(0,y.Z)(S,s);return D(o.createElement(en,Object.assign({},C,{disabled:null!=m?m:M,allowClear:r,className:a()(L,_,O,E),classNames:Object.assign(Object.assign({},w),{textarea:a()({["".concat(R,"-sm")]:"small"===P,["".concat(R,"-lg")]:"large"===P},B,null==w?void 0:w.textarea),variant:a()({["".concat(R,"-").concat(z)]:F},(0,d.Z)(R,I)),affixWrapper:a()("".concat(R,"-textarea-affix-wrapper"),{["".concat(R,"-affix-wrapper-rtl")]:"rtl"===j,["".concat(R,"-affix-wrapper-sm")]:"small"===P,["".concat(R,"-affix-wrapper-lg")]:"large"===P,["".concat(R,"-textarea-show-count")]:e.showCount||(null===(n=e.count)||void 0===n?void 0:n.show)},B)}),prefixCls:R,suffix:T&&o.createElement("span",{className:"".concat(R,"-textarea-suffix")},N),ref:Z})))});E.Group=e=>{let{getPrefixCls:t,direction:n}=(0,o.useContext)(c.E_),{prefixCls:r,className:i}=e,s=t("input-group",r),f=t("input"),[d,p]=(0,u.ZP)(f),h=a()(s,{["".concat(s,"-lg")]:"large"===e.size,["".concat(s,"-sm")]:"small"===e.size,["".concat(s,"-compact")]:e.compact,["".concat(s,"-rtl")]:"rtl"===n},p,i),m=(0,o.useContext)(l.aM),v=(0,o.useMemo)(()=>Object.assign(Object.assign({},m),{isFormItemInput:!1}),[m]);return d(o.createElement("span",{className:h,style:e.style,onMouseEnter:e.onMouseEnter,onMouseLeave:e.onMouseLeave,onFocus:e.onFocus,onBlur:e.onBlur},o.createElement(l.aM.Provider,{value:v},e.children)))},E.Search=B,E.TextArea=eo,E.Password=I;var ei=E},94759:function(e,t,n){n.d(t,{ik:function(){return p},nz:function(){return s},s7:function(){return h}});var r=n(8985),o=n(11303),i=n(12288),a=n(76585),c=n(80316),l=n(85980),u=n(61892);let s=e=>({"&::-moz-placeholder":{opacity:1},"&::placeholder":{color:e,userSelect:"none"},"&:placeholder-shown":{textOverflow:"ellipsis"}}),f=e=>{let{paddingBlockLG:t,lineHeightLG:n,borderRadiusLG:o,paddingInlineLG:i}=e;return{padding:"".concat((0,r.bf)(t)," ").concat((0,r.bf)(i)),fontSize:e.inputFontSizeLG,lineHeight:n,borderRadius:o}},d=e=>({padding:"".concat((0,r.bf)(e.paddingBlockSM)," ").concat((0,r.bf)(e.paddingInlineSM)),fontSize:e.inputFontSizeSM,borderRadius:e.borderRadiusSM}),p=e=>Object.assign(Object.assign({position:"relative",display:"inline-block",width:"100%",minWidth:0,padding:"".concat((0,r.bf)(e.paddingBlock)," ").concat((0,r.bf)(e.paddingInline)),color:e.colorText,fontSize:e.inputFontSize,lineHeight:e.lineHeight,borderRadius:e.borderRadius,transition:"all ".concat(e.motionDurationMid)},s(e.colorTextPlaceholder)),{"textarea&":{maxWidth:"100%",height:"auto",minHeight:e.controlHeight,lineHeight:e.lineHeight,verticalAlign:"bottom",transition:"all ".concat(e.motionDurationSlow,", height 0s"),resize:"vertical"},"&-lg":Object.assign({},f(e)),"&-sm":Object.assign({},d(e)),"&-rtl":{direction:"rtl"},"&-textarea-rtl":{direction:"rtl"}}),h=e=>{let{componentCls:t,antCls:n}=e;return{position:"relative",display:"table",width:"100%",borderCollapse:"separate",borderSpacing:0,"&[class*='col-']":{paddingInlineEnd:e.paddingXS,"&:last-child":{paddingInlineEnd:0}},["&-lg ".concat(t,", &-lg > ").concat(t,"-group-addon")]:Object.assign({},f(e)),["&-sm ".concat(t,", &-sm > ").concat(t,"-group-addon")]:Object.assign({},d(e)),["&-lg ".concat(n,"-select-single ").concat(n,"-select-selector")]:{height:e.controlHeightLG},["&-sm ".concat(n,"-select-single ").concat(n,"-select-selector")]:{height:e.controlHeightSM},["> ".concat(t)]:{display:"table-cell","&:not(:first-child):not(:last-child)":{borderRadius:0}},["".concat(t,"-group")]:{"&-addon, &-wrap":{display:"table-cell",width:1,whiteSpace:"nowrap",verticalAlign:"middle","&:not(:first-child):not(:last-child)":{borderRadius:0}},"&-wrap > *":{display:"block !important"},"&-addon":{position:"relative",padding:"0 ".concat((0,r.bf)(e.paddingInline)),color:e.colorText,fontWeight:"normal",fontSize:e.inputFontSize,textAlign:"center",borderRadius:e.borderRadius,transition:"all ".concat(e.motionDurationSlow),lineHeight:1,["".concat(n,"-select")]:{margin:"".concat((0,r.bf)(e.calc(e.paddingBlock).add(1).mul(-1).equal())," ").concat((0,r.bf)(e.calc(e.paddingInline).mul(-1).equal())),["&".concat(n,"-select-single:not(").concat(n,"-select-customize-input):not(").concat(n,"-pagination-size-changer)")]:{["".concat(n,"-select-selector")]:{backgroundColor:"inherit",border:"".concat((0,r.bf)(e.lineWidth)," ").concat(e.lineType," transparent"),boxShadow:"none"}},"&-open, &-focused":{["".concat(n,"-select-selector")]:{color:e.colorPrimary}}},["".concat(n,"-cascader-picker")]:{margin:"-9px ".concat((0,r.bf)(e.calc(e.paddingInline).mul(-1).equal())),backgroundColor:"transparent",["".concat(n,"-cascader-input")]:{textAlign:"start",border:0,boxShadow:"none"}}}},["".concat(t)]:{width:"100%",marginBottom:0,textAlign:"inherit","&:focus":{zIndex:1,borderInlineEndWidth:1},"&:hover":{zIndex:1,borderInlineEndWidth:1,["".concat(t,"-search-with-button &")]:{zIndex:0}}},["> ".concat(t,":first-child, ").concat(t,"-group-addon:first-child")]:{borderStartEndRadius:0,borderEndEndRadius:0,["".concat(n,"-select ").concat(n,"-select-selector")]:{borderStartEndRadius:0,borderEndEndRadius:0}},["> ".concat(t,"-affix-wrapper")]:{["&:not(:first-child) ".concat(t)]:{borderStartStartRadius:0,borderEndStartRadius:0},["&:not(:last-child) ".concat(t)]:{borderStartEndRadius:0,borderEndEndRadius:0}},["> ".concat(t,":last-child, ").concat(t,"-group-addon:last-child")]:{borderStartStartRadius:0,borderEndStartRadius:0,["".concat(n,"-select ").concat(n,"-select-selector")]:{borderStartStartRadius:0,borderEndStartRadius:0}},["".concat(t,"-affix-wrapper")]:{"&:not(:last-child)":{borderStartEndRadius:0,borderEndEndRadius:0,["".concat(t,"-search &")]:{borderStartStartRadius:e.borderRadius,borderEndStartRadius:e.borderRadius}},["&:not(:first-child), ".concat(t,"-search &:not(:first-child)")]:{borderStartStartRadius:0,borderEndStartRadius:0}},["&".concat(t,"-group-compact")]:Object.assign(Object.assign({display:"block"},(0,o.dF)()),{["".concat(t,"-group-addon, ").concat(t,"-group-wrap, > ").concat(t)]:{"&:not(:first-child):not(:last-child)":{borderInlineEndWidth:e.lineWidth,"&:hover":{zIndex:1},"&:focus":{zIndex:1}}},"& > *":{display:"inline-block",float:"none",verticalAlign:"top",borderRadius:0},["\n & > ".concat(t,"-affix-wrapper,\n & > ").concat(t,"-number-affix-wrapper,\n & > ").concat(n,"-picker-range\n ")]:{display:"inline-flex"},"& > *:not(:last-child)":{marginInlineEnd:e.calc(e.lineWidth).mul(-1).equal(),borderInlineEndWidth:e.lineWidth},["".concat(t)]:{float:"none"},["& > ".concat(n,"-select > ").concat(n,"-select-selector,\n & > ").concat(n,"-select-auto-complete ").concat(t,",\n & > ").concat(n,"-cascader-picker ").concat(t,",\n & > ").concat(t,"-group-wrapper ").concat(t)]:{borderInlineEndWidth:e.lineWidth,borderRadius:0,"&:hover":{zIndex:1},"&:focus":{zIndex:1}},["& > ".concat(n,"-select-focused")]:{zIndex:1},["& > ".concat(n,"-select > ").concat(n,"-select-arrow")]:{zIndex:1},["& > *:first-child,\n & > ".concat(n,"-select:first-child > ").concat(n,"-select-selector,\n & > ").concat(n,"-select-auto-complete:first-child ").concat(t,",\n & > ").concat(n,"-cascader-picker:first-child ").concat(t)]:{borderStartStartRadius:e.borderRadius,borderEndStartRadius:e.borderRadius},["& > *:last-child,\n & > ".concat(n,"-select:last-child > ").concat(n,"-select-selector,\n & > ").concat(n,"-cascader-picker:last-child ").concat(t,",\n & > ").concat(n,"-cascader-picker-focused:last-child ").concat(t)]:{borderInlineEndWidth:e.lineWidth,borderStartEndRadius:e.borderRadius,borderEndEndRadius:e.borderRadius},["& > ".concat(n,"-select-auto-complete ").concat(t)]:{verticalAlign:"top"},["".concat(t,"-group-wrapper + ").concat(t,"-group-wrapper")]:{marginInlineStart:e.calc(e.lineWidth).mul(-1).equal(),["".concat(t,"-affix-wrapper")]:{borderRadius:0}},["".concat(t,"-group-wrapper:not(:last-child)")]:{["&".concat(t,"-search > ").concat(t,"-group")]:{["& > ".concat(t,"-group-addon > ").concat(t,"-search-button")]:{borderRadius:0},["& > ".concat(t)]:{borderStartStartRadius:e.borderRadius,borderStartEndRadius:0,borderEndEndRadius:0,borderEndStartRadius:e.borderRadius}}}})}},m=e=>{let{componentCls:t,controlHeightSM:n,lineWidth:r,calc:i}=e,a=i(n).sub(i(r).mul(2)).sub(16).div(2).equal();return{[t]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},(0,o.Wf)(e)),p(e)),(0,u.qG)(e)),(0,u.H8)(e)),(0,u.Mu)(e)),{'&[type="color"]':{height:e.controlHeight,["&".concat(t,"-lg")]:{height:e.controlHeightLG},["&".concat(t,"-sm")]:{height:n,paddingTop:a,paddingBottom:a}},'&[type="search"]::-webkit-search-cancel-button, &[type="search"]::-webkit-search-decoration':{"-webkit-appearance":"none"}})}},v=e=>{let{componentCls:t}=e;return{["".concat(t,"-clear-icon")]:{margin:0,color:e.colorTextQuaternary,fontSize:e.fontSizeIcon,verticalAlign:-1,cursor:"pointer",transition:"color ".concat(e.motionDurationSlow),"&:hover":{color:e.colorTextTertiary},"&:active":{color:e.colorText},"&-hidden":{visibility:"hidden"},"&-has-suffix":{margin:"0 ".concat((0,r.bf)(e.inputAffixPadding))}}}},g=e=>{let{componentCls:t,inputAffixPadding:n,colorTextDescription:r,motionDurationSlow:o,colorIcon:i,colorIconHover:a,iconCls:c}=e;return{["".concat(t,"-affix-wrapper")]:Object.assign(Object.assign(Object.assign(Object.assign({},p(e)),{display:"inline-flex",["&:not(".concat(t,"-disabled):hover")]:{zIndex:1,["".concat(t,"-search-with-button &")]:{zIndex:0}},"&-focused, &:focus":{zIndex:1},["> input".concat(t)]:{padding:0,fontSize:"inherit",border:"none",borderRadius:0,outline:"none",background:"transparent",color:"inherit","&::-ms-reveal":{display:"none"},"&:focus":{boxShadow:"none !important"}},"&::before":{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'},["".concat(t)]:{"&-prefix, &-suffix":{display:"flex",flex:"none",alignItems:"center","> *:not(:last-child)":{marginInlineEnd:e.paddingXS}},"&-show-count-suffix":{color:r},"&-show-count-has-suffix":{marginInlineEnd:e.paddingXXS},"&-prefix":{marginInlineEnd:n},"&-suffix":{marginInlineStart:n}}}),v(e)),{["".concat(c).concat(t,"-password-icon")]:{color:i,cursor:"pointer",transition:"all ".concat(o),"&:hover":{color:a}}})}},y=e=>{let{componentCls:t,borderRadiusLG:n,borderRadiusSM:r}=e;return{["".concat(t,"-group")]:Object.assign(Object.assign(Object.assign({},(0,o.Wf)(e)),h(e)),{"&-rtl":{direction:"rtl"},"&-wrapper":Object.assign(Object.assign(Object.assign({display:"inline-block",width:"100%",textAlign:"start",verticalAlign:"top","&-rtl":{direction:"rtl"},"&-lg":{["".concat(t,"-group-addon")]:{borderRadius:n,fontSize:e.inputFontSizeLG}},"&-sm":{["".concat(t,"-group-addon")]:{borderRadius:r}}},(0,u.ir)(e)),(0,u.S5)(e)),{["&:not(".concat(t,"-compact-first-item):not(").concat(t,"-compact-last-item)").concat(t,"-compact-item")]:{["".concat(t,", ").concat(t,"-group-addon")]:{borderRadius:0}},["&:not(".concat(t,"-compact-last-item)").concat(t,"-compact-first-item")]:{["".concat(t,", ").concat(t,"-group-addon")]:{borderStartEndRadius:0,borderEndEndRadius:0}},["&:not(".concat(t,"-compact-first-item)").concat(t,"-compact-last-item")]:{["".concat(t,", ").concat(t,"-group-addon")]:{borderStartStartRadius:0,borderEndStartRadius:0}}})})}},b=e=>{let{componentCls:t,antCls:n}=e,r="".concat(t,"-search");return{[r]:{["".concat(t)]:{"&:hover, &:focus":{borderColor:e.colorPrimaryHover,["+ ".concat(t,"-group-addon ").concat(r,"-button:not(").concat(n,"-btn-primary)")]:{borderInlineStartColor:e.colorPrimaryHover}}},["".concat(t,"-affix-wrapper")]:{borderRadius:0},["".concat(t,"-lg")]:{lineHeight:e.calc(e.lineHeightLG).sub(2e-4).equal({unit:!1})},["> ".concat(t,"-group")]:{["> ".concat(t,"-group-addon:last-child")]:{insetInlineStart:-1,padding:0,border:0,["".concat(r,"-button")]:{paddingTop:0,paddingBottom:0,borderStartStartRadius:0,borderStartEndRadius:e.borderRadius,borderEndEndRadius:e.borderRadius,borderEndStartRadius:0,boxShadow:"none"},["".concat(r,"-button:not(").concat(n,"-btn-primary)")]:{color:e.colorTextDescription,"&:hover":{color:e.colorPrimaryHover},"&:active":{color:e.colorPrimaryActive},["&".concat(n,"-btn-loading::before")]:{insetInlineStart:0,insetInlineEnd:0,insetBlockStart:0,insetBlockEnd:0}}}},["".concat(r,"-button")]:{height:e.controlHeight,"&:hover, &:focus":{zIndex:1}},["&-large ".concat(r,"-button")]:{height:e.controlHeightLG},["&-small ".concat(r,"-button")]:{height:e.controlHeightSM},"&-rtl":{direction:"rtl"},["&".concat(t,"-compact-item")]:{["&:not(".concat(t,"-compact-last-item)")]:{["".concat(t,"-group-addon")]:{["".concat(t,"-search-button")]:{marginInlineEnd:e.calc(e.lineWidth).mul(-1).equal(),borderRadius:0}}},["&:not(".concat(t,"-compact-first-item)")]:{["".concat(t,",").concat(t,"-affix-wrapper")]:{borderRadius:0}},["> ".concat(t,"-group-addon ").concat(t,"-search-button,\n > ").concat(t,",\n ").concat(t,"-affix-wrapper")]:{"&:hover,&:focus,&:active":{zIndex:2}},["> ".concat(t,"-affix-wrapper-focused")]:{zIndex:2}}}}},x=e=>{let{componentCls:t,paddingLG:n}=e,r="".concat(t,"-textarea");return{[r]:{position:"relative","&-show-count":{["> ".concat(t)]:{height:"100%"},["".concat(t,"-data-count")]:{position:"absolute",bottom:e.calc(e.fontSize).mul(e.lineHeight).mul(-1).equal(),insetInlineEnd:0,color:e.colorTextDescription,whiteSpace:"nowrap",pointerEvents:"none"}},"&-allow-clear":{["> ".concat(t)]:{paddingInlineEnd:n}},["&-affix-wrapper".concat(r,"-has-feedback")]:{["".concat(t)]:{paddingInlineEnd:n}},["&-affix-wrapper".concat(t,"-affix-wrapper")]:{padding:0,["> textarea".concat(t)]:{fontSize:"inherit",border:"none",outline:"none",background:"transparent","&:focus":{boxShadow:"none !important"}},["".concat(t,"-suffix")]:{margin:0,"> *:not(:last-child)":{marginInline:0},["".concat(t,"-clear-icon")]:{position:"absolute",insetInlineEnd:e.paddingXS,insetBlockStart:e.paddingXS},["".concat(r,"-suffix")]:{position:"absolute",top:0,insetInlineEnd:e.paddingInline,bottom:0,zIndex:1,display:"inline-flex",alignItems:"center",margin:"auto",pointerEvents:"none"}}}}}},w=e=>{let{componentCls:t}=e;return{["".concat(t,"-out-of-range")]:{["&, & input, & textarea, ".concat(t,"-show-count-suffix, ").concat(t,"-data-count")]:{color:e.colorError}}}};t.ZP=(0,a.I$)("Input",e=>{let t=(0,c.TS)(e,(0,l.e)(e));return[m(t),x(t),g(t),y(t),b(t),w(t),(0,i.c)(t)]},l.T)},85980:function(e,t,n){n.d(t,{T:function(){return i},e:function(){return o}});var r=n(80316);function o(e){return(0,r.TS)(e,{inputAffixPadding:e.paddingXXS})}let i=e=>{let{controlHeight:t,fontSize:n,lineHeight:r,lineWidth:o,controlHeightSM:i,controlHeightLG:a,fontSizeLG:c,lineHeightLG:l,paddingSM:u,controlPaddingHorizontalSM:s,controlPaddingHorizontal:f,colorFillAlter:d,colorPrimaryHover:p,colorPrimary:h,controlOutlineWidth:m,controlOutline:v,colorErrorOutline:g,colorWarningOutline:y,colorBgContainer:b}=e;return{paddingBlock:Math.max(Math.round((t-n*r)/2*10)/10-o,0),paddingBlockSM:Math.max(Math.round((i-n*r)/2*10)/10-o,0),paddingBlockLG:Math.ceil((a-c*l)/2*10)/10-o,paddingInline:u-o,paddingInlineSM:s-o,paddingInlineLG:f-o,addonBg:d,activeBorderColor:h,hoverBorderColor:p,activeShadow:"0 0 0 ".concat(m,"px ").concat(v),errorActiveShadow:"0 0 0 ".concat(m,"px ").concat(g),warningActiveShadow:"0 0 0 ".concat(m,"px ").concat(y),hoverBg:b,activeBg:b,inputFontSize:n,inputFontSizeLG:c,inputFontSizeSM:n}}},61892:function(e,t,n){n.d(t,{H8:function(){return m},Mu:function(){return d},S5:function(){return g},ir:function(){return f},qG:function(){return u}});var r=n(8985),o=n(80316);let i=e=>({borderColor:e.hoverBorderColor,backgroundColor:e.hoverBg}),a=e=>({color:e.colorTextDisabled,backgroundColor:e.colorBgContainerDisabled,borderColor:e.colorBorder,boxShadow:"none",cursor:"not-allowed",opacity:1,"&:hover:not([disabled])":Object.assign({},i((0,o.TS)(e,{hoverBorderColor:e.colorBorder,hoverBg:e.colorBgContainerDisabled})))}),c=(e,t)=>({background:e.colorBgContainer,borderWidth:e.lineWidth,borderStyle:e.lineType,borderColor:t.borderColor,"&:hover":{borderColor:t.hoverBorderColor,backgroundColor:e.hoverBg},"&:focus, &:focus-within":{borderColor:t.activeBorderColor,boxShadow:t.activeShadow,outline:0,backgroundColor:e.activeBg}}),l=(e,t)=>({["&".concat(e.componentCls,"-status-").concat(t.status,":not(").concat(e.componentCls,"-disabled)")]:Object.assign(Object.assign({},c(e,t)),{["".concat(e.componentCls,"-prefix, ").concat(e.componentCls,"-suffix")]:{color:t.affixColor}})}),u=(e,t)=>({"&-outlined":Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},c(e,{borderColor:e.colorBorder,hoverBorderColor:e.colorPrimaryHover,activeBorderColor:e.colorPrimary,activeShadow:e.activeShadow})),{["&".concat(e.componentCls,"-disabled, &[disabled]")]:Object.assign({},a(e))}),l(e,{status:"error",borderColor:e.colorError,hoverBorderColor:e.colorErrorBorderHover,activeBorderColor:e.colorError,activeShadow:e.errorActiveShadow,affixColor:e.colorError})),l(e,{status:"warning",borderColor:e.colorWarning,hoverBorderColor:e.colorWarningBorderHover,activeBorderColor:e.colorWarning,activeShadow:e.warningActiveShadow,affixColor:e.colorWarning})),t)}),s=(e,t)=>({["&".concat(e.componentCls,"-group-wrapper-status-").concat(t.status)]:{["".concat(e.componentCls,"-group-addon")]:{borderColor:t.addonBorderColor,color:t.addonColor}}}),f=e=>({"&-outlined":Object.assign(Object.assign(Object.assign({["".concat(e.componentCls,"-group")]:{"&-addon":{background:e.addonBg,border:"".concat((0,r.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorBorder)},"&-addon:first-child":{borderInlineEnd:0},"&-addon:last-child":{borderInlineStart:0}}},s(e,{status:"error",addonBorderColor:e.colorError,addonColor:e.colorErrorText})),s(e,{status:"warning",addonBorderColor:e.colorWarning,addonColor:e.colorWarningText})),{["&".concat(e.componentCls,"-group-wrapper-disabled")]:{["".concat(e.componentCls,"-group-addon")]:Object.assign({},a(e))}})}),d=(e,t)=>({"&-borderless":Object.assign({background:"transparent",border:"none","&:focus, &:focus-within":{outline:"none"},["&".concat(e.componentCls,"-disabled, &[disabled]")]:{color:e.colorTextDisabled}},t)}),p=(e,t)=>({background:t.bg,borderWidth:e.lineWidth,borderStyle:e.lineType,borderColor:"transparent","input&, & input, textarea&, & textarea":{color:null==t?void 0:t.inputColor},"&:hover":{background:t.hoverBg},"&:focus, &:focus-within":{outline:0,borderColor:t.activeBorderColor,backgroundColor:e.activeBg}}),h=(e,t)=>({["&".concat(e.componentCls,"-status-").concat(t.status,":not(").concat(e.componentCls,"-disabled)")]:Object.assign(Object.assign({},p(e,t)),{["".concat(e.componentCls,"-prefix, ").concat(e.componentCls,"-suffix")]:{color:t.affixColor}})}),m=(e,t)=>({"&-filled":Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},p(e,{bg:e.colorFillTertiary,hoverBg:e.colorFillSecondary,activeBorderColor:e.colorPrimary})),{["&".concat(e.componentCls,"-disabled, &[disabled]")]:Object.assign({},a(e))}),h(e,{status:"error",bg:e.colorErrorBg,hoverBg:e.colorErrorBgHover,activeBorderColor:e.colorError,inputColor:e.colorErrorText,affixColor:e.colorError})),h(e,{status:"warning",bg:e.colorWarningBg,hoverBg:e.colorWarningBgHover,activeBorderColor:e.colorWarning,inputColor:e.colorWarningText,affixColor:e.colorWarning})),t)}),v=(e,t)=>({["&".concat(e.componentCls,"-group-wrapper-status-").concat(t.status)]:{["".concat(e.componentCls,"-group-addon")]:{background:t.addonBg,color:t.addonColor}}}),g=e=>({"&-filled":Object.assign(Object.assign(Object.assign({["".concat(e.componentCls,"-group")]:{"&-addon":{background:e.colorFillTertiary},["".concat(e.componentCls,"-filled:not(:focus):not(:focus-within)")]:{"&:not(:first-child)":{borderInlineStart:"".concat((0,r.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorSplit)},"&:not(:last-child)":{borderInlineEnd:"".concat((0,r.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorSplit)}}}},v(e,{status:"error",addonBg:e.colorErrorBg,addonColor:e.colorErrorText})),v(e,{status:"warning",addonBg:e.colorWarningBg,addonColor:e.colorWarningText})),{["&".concat(e.componentCls,"-group-wrapper-disabled")]:{["".concat(e.componentCls,"-group")]:{"&-addon":{background:e.colorFillTertiary,color:e.colorTextDisabled},"&-addon:first-child":{borderInlineStart:"".concat((0,r.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorBorder),borderTop:"".concat((0,r.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorBorder),borderBottom:"".concat((0,r.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorBorder)},"&-addon:last-child":{borderInlineEnd:"".concat((0,r.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorBorder),borderTop:"".concat((0,r.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorBorder),borderBottom:"".concat((0,r.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorBorder)}}}})})},25839:function(e,t,n){let r;n.d(t,{D:function(){return w},Z:function(){return O}});var o=n(64090),i=n(14749),a={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"bars",theme:"outlined"},c=n(60688),l=o.forwardRef(function(e,t){return o.createElement(c.Z,(0,i.Z)({},e,{ref:t,icon:a}))}),u={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"}}]},name:"left",theme:"outlined"},s=o.forwardRef(function(e,t){return o.createElement(c.Z,(0,i.Z)({},e,{ref:t,icon:u}))}),f={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"}}]},name:"right",theme:"outlined"},d=o.forwardRef(function(e,t){return o.createElement(c.Z,(0,i.Z)({},e,{ref:t,icon:f}))}),p=n(16480),h=n.n(p),m=n(35704),v=e=>!isNaN(parseFloat(e))&&isFinite(e),g=n(57499),y=n(31747),b=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let x={xs:"479.98px",sm:"575.98px",md:"767.98px",lg:"991.98px",xl:"1199.98px",xxl:"1599.98px"},w=o.createContext({}),E=(r=0,function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return r+=1,"".concat(e).concat(r)});var O=o.forwardRef((e,t)=>{let{prefixCls:n,className:r,trigger:i,children:a,defaultCollapsed:c=!1,theme:u="dark",style:f={},collapsible:p=!1,reverseArrow:O=!1,width:S=200,collapsedWidth:C=80,zeroWidthTriggerStyle:k,breakpoint:j,onCollapse:P,onBreakpoint:M}=e,A=b(e,["prefixCls","className","trigger","children","defaultCollapsed","theme","style","collapsible","reverseArrow","width","collapsedWidth","zeroWidthTriggerStyle","breakpoint","onCollapse","onBreakpoint"]),{siderHook:T}=(0,o.useContext)(y.V),[N,I]=(0,o.useState)("collapsed"in e?e.collapsed:c),[Z,R]=(0,o.useState)(!1);(0,o.useEffect)(()=>{"collapsed"in e&&I(e.collapsed)},[e.collapsed]);let _=(t,n)=>{"collapsed"in e||I(t),null==P||P(t,n)},D=(0,o.useRef)();D.current=e=>{R(e.matches),null==M||M(e.matches),N!==e.matches&&_(e.matches,"responsive")},(0,o.useEffect)(()=>{let e;function t(e){return D.current(e)}{let{matchMedia:n}=window;if(n&&j&&j in x){e=n("screen and (max-width: ".concat(x[j],")"));try{e.addEventListener("change",t)}catch(n){e.addListener(t)}t(e)}}return()=>{try{null==e||e.removeEventListener("change",t)}catch(n){null==e||e.removeListener(t)}}},[j]),(0,o.useEffect)(()=>{let e=E("ant-sider-");return T.addSider(e),()=>T.removeSider(e)},[]);let B=()=>{_(!N,"clickTrigger")},{getPrefixCls:L}=(0,o.useContext)(g.E_),z=o.useMemo(()=>({siderCollapsed:N}),[N]);return o.createElement(w.Provider,{value:z},(()=>{let e=L("layout-sider",n),c=(0,m.Z)(A,["collapsed"]),g=N?C:S,y=v(g)?"".concat(g,"px"):String(g),b=0===parseFloat(String(C||0))?o.createElement("span",{onClick:B,className:h()("".concat(e,"-zero-width-trigger"),"".concat(e,"-zero-width-trigger-").concat(O?"right":"left")),style:k},i||o.createElement(l,null)):null,x={expanded:O?o.createElement(d,null):o.createElement(s,null),collapsed:O?o.createElement(s,null):o.createElement(d,null)}[N?"collapsed":"expanded"],w=null!==i?b||o.createElement("div",{className:"".concat(e,"-trigger"),onClick:B,style:{width:y}},i||x):null,E=Object.assign(Object.assign({},f),{flex:"0 0 ".concat(y),maxWidth:y,minWidth:y,width:y}),j=h()(e,"".concat(e,"-").concat(u),{["".concat(e,"-collapsed")]:!!N,["".concat(e,"-has-trigger")]:p&&null!==i&&!b,["".concat(e,"-below")]:!!Z,["".concat(e,"-zero-width")]:0===parseFloat(y)},r);return o.createElement("aside",Object.assign({className:j},c,{style:E,ref:t}),o.createElement("div",{className:"".concat(e,"-children")},a),p||Z&&b?w:null)})())})},31747:function(e,t,n){n.d(t,{V:function(){return r}});let r=n(64090).createContext({siderHook:{addSider:()=>null,removeSider:()=>null}})},33509:function(e,t,n){n.d(t,{default:function(){return C}});var r=n(63787),o=n(64090),i=n(16480),a=n.n(i),c=n(35704),l=n(57499),u=n(31747),s=n(33054),f=n(25839),d=n(8985),p=n(76585),h=e=>{let{componentCls:t,bodyBg:n,lightSiderBg:r,lightTriggerBg:o,lightTriggerColor:i}=e;return{["".concat(t,"-sider-light")]:{background:r,["".concat(t,"-sider-trigger")]:{color:i,background:o},["".concat(t,"-sider-zero-width-trigger")]:{color:i,background:o,border:"1px solid ".concat(n),borderInlineStart:0}}}};let m=e=>{let{antCls:t,componentCls:n,colorText:r,triggerColor:o,footerBg:i,triggerBg:a,headerHeight:c,headerPadding:l,headerColor:u,footerPadding:s,triggerHeight:f,zeroTriggerHeight:p,zeroTriggerWidth:m,motionDurationMid:v,motionDurationSlow:g,fontSize:y,borderRadius:b,bodyBg:x,headerBg:w,siderBg:E}=e;return{[n]:Object.assign(Object.assign({display:"flex",flex:"auto",flexDirection:"column",minHeight:0,background:x,"&, *":{boxSizing:"border-box"},["&".concat(n,"-has-sider")]:{flexDirection:"row",["> ".concat(n,", > ").concat(n,"-content")]:{width:0}},["".concat(n,"-header, &").concat(n,"-footer")]:{flex:"0 0 auto"},["".concat(n,"-sider")]:{position:"relative",minWidth:0,background:E,transition:"all ".concat(v,", background 0s"),"&-children":{height:"100%",marginTop:-.1,paddingTop:.1,["".concat(t,"-menu").concat(t,"-menu-inline-collapsed")]:{width:"auto"}},"&-has-trigger":{paddingBottom:f},"&-right":{order:1},"&-trigger":{position:"fixed",bottom:0,zIndex:1,height:f,color:o,lineHeight:(0,d.bf)(f),textAlign:"center",background:a,cursor:"pointer",transition:"all ".concat(v)},"&-zero-width":{"> *":{overflow:"hidden"},"&-trigger":{position:"absolute",top:c,insetInlineEnd:e.calc(m).mul(-1).equal(),zIndex:1,width:m,height:p,color:o,fontSize:e.fontSizeXL,display:"flex",alignItems:"center",justifyContent:"center",background:E,borderStartStartRadius:0,borderStartEndRadius:b,borderEndEndRadius:b,borderEndStartRadius:0,cursor:"pointer",transition:"background ".concat(g," ease"),"&::after":{position:"absolute",inset:0,background:"transparent",transition:"all ".concat(g),content:'""'},"&:hover::after":{background:"rgba(255, 255, 255, 0.2)"},"&-right":{insetInlineStart:e.calc(m).mul(-1).equal(),borderStartStartRadius:b,borderStartEndRadius:0,borderEndEndRadius:0,borderEndStartRadius:b}}}}},h(e)),{"&-rtl":{direction:"rtl"}}),["".concat(n,"-header")]:{height:c,padding:l,color:u,lineHeight:(0,d.bf)(c),background:w,["".concat(t,"-menu")]:{lineHeight:"inherit"}},["".concat(n,"-footer")]:{padding:s,color:r,fontSize:y,background:i},["".concat(n,"-content")]:{flex:"auto",minHeight:0}}};var v=(0,p.I$)("Layout",e=>[m(e)],e=>{let{colorBgLayout:t,controlHeight:n,controlHeightLG:r,colorText:o,controlHeightSM:i,marginXXS:a,colorTextLightSolid:c,colorBgContainer:l}=e,u=1.25*r;return{colorBgHeader:"#001529",colorBgBody:t,colorBgTrigger:"#002140",bodyBg:t,headerBg:"#001529",headerHeight:2*n,headerPadding:"0 ".concat(u,"px"),headerColor:o,footerPadding:"".concat(i,"px ").concat(u,"px"),footerBg:t,siderBg:"#001529",triggerHeight:r+2*a,triggerBg:"#002140",triggerColor:c,zeroTriggerWidth:r,zeroTriggerHeight:r,lightSiderBg:l,lightTriggerBg:l,lightTriggerColor:o}},{deprecatedTokens:[["colorBgBody","bodyBg"],["colorBgHeader","headerBg"],["colorBgTrigger","triggerBg"]]}),g=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};function y(e){let{suffixCls:t,tagName:n,displayName:r}=e;return e=>o.forwardRef((r,i)=>o.createElement(e,Object.assign({ref:i,suffixCls:t,tagName:n},r)))}let b=o.forwardRef((e,t)=>{let{prefixCls:n,suffixCls:r,className:i,tagName:c}=e,u=g(e,["prefixCls","suffixCls","className","tagName"]),{getPrefixCls:s}=o.useContext(l.E_),f=s("layout",n),[d,p,h]=v(f),m=r?"".concat(f,"-").concat(r):f;return d(o.createElement(c,Object.assign({className:a()(n||m,i,p,h),ref:t},u)))}),x=o.forwardRef((e,t)=>{let{direction:n}=o.useContext(l.E_),[i,d]=o.useState([]),{prefixCls:p,className:h,rootClassName:m,children:y,hasSider:b,tagName:x,style:w}=e,E=g(e,["prefixCls","className","rootClassName","children","hasSider","tagName","style"]),O=(0,c.Z)(E,["suffixCls"]),{getPrefixCls:S,layout:C}=o.useContext(l.E_),k=S("layout",p),j="boolean"==typeof b?b:!!i.length||(0,s.Z)(y).some(e=>e.type===f.Z),[P,M,A]=v(k),T=a()(k,{["".concat(k,"-has-sider")]:j,["".concat(k,"-rtl")]:"rtl"===n},null==C?void 0:C.className,h,m,M,A),N=o.useMemo(()=>({siderHook:{addSider:e=>{d(t=>[].concat((0,r.Z)(t),[e]))},removeSider:e=>{d(t=>t.filter(t=>t!==e))}}}),[]);return P(o.createElement(u.V.Provider,{value:N},o.createElement(x,Object.assign({ref:t,className:T,style:Object.assign(Object.assign({},null==C?void 0:C.style),w)},O),y)))}),w=y({tagName:"div",displayName:"Layout"})(x),E=y({suffixCls:"header",tagName:"header",displayName:"Header"})(b),O=y({suffixCls:"footer",tagName:"footer",displayName:"Footer"})(b),S=y({suffixCls:"content",tagName:"main",displayName:"Content"})(b);w.Header=E,w.Footer=O,w.Content=S,w.Sider=f.Z,w._InternalSiderContext=f.D;var C=w},33302:function(e,t,n){let r=(0,n(64090).createContext)(void 0);t.Z=r},79474:function(e,t,n){n.d(t,{Z:function(){return a}});var r={placeholder:"Select time",rangePlaceholder:["Start time","End time"]};let o={lang:Object.assign({placeholder:"Select date",yearPlaceholder:"Select year",quarterPlaceholder:"Select quarter",monthPlaceholder:"Select month",weekPlaceholder:"Select week",rangePlaceholder:["Start date","End date"],rangeYearPlaceholder:["Start year","End year"],rangeQuarterPlaceholder:["Start quarter","End quarter"],rangeMonthPlaceholder:["Start month","End month"],rangeWeekPlaceholder:["Start week","End week"]},{locale:"en_US",today:"Today",now:"Now",backToToday:"Back to today",ok:"OK",clear:"Clear",month:"Month",year:"Year",timeSelect:"select time",dateSelect:"select date",weekSelect:"Choose a week",monthSelect:"Choose a month",yearSelect:"Choose a year",decadeSelect:"Choose a decade",yearFormat:"YYYY",dateFormat:"M/D/YYYY",dayFormat:"D",dateTimeFormat:"M/D/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Previous month (PageUp)",nextMonth:"Next month (PageDown)",previousYear:"Last year (Control + left)",nextYear:"Next year (Control + right)",previousDecade:"Last decade",nextDecade:"Next decade",previousCentury:"Last century",nextCentury:"Next century"}),timePickerLocale:Object.assign({},r)},i="${label} is not a valid ${type}";var a={locale:"en",Pagination:{items_per_page:"/ page",jump_to:"Go to",jump_to_confirm:"confirm",page:"Page",prev_page:"Previous Page",next_page:"Next Page",prev_5:"Previous 5 Pages",next_5:"Next 5 Pages",prev_3:"Previous 3 Pages",next_3:"Next 3 Pages",page_size:"Page Size"},DatePicker:o,TimePicker:r,Calendar:o,global:{placeholder:"Please select"},Table:{filterTitle:"Filter menu",filterConfirm:"OK",filterReset:"Reset",filterEmptyText:"No filters",filterCheckall:"Select all items",filterSearchPlaceholder:"Search in filters",emptyText:"No data",selectAll:"Select current page",selectInvert:"Invert current page",selectNone:"Clear all data",selectionAll:"Select all data",sortTitle:"Sort",expand:"Expand row",collapse:"Collapse row",triggerDesc:"Click to sort descending",triggerAsc:"Click to sort ascending",cancelSort:"Click to cancel sorting"},Tour:{Next:"Next",Previous:"Previous",Finish:"Finish"},Modal:{okText:"OK",cancelText:"Cancel",justOkText:"OK"},Popconfirm:{okText:"OK",cancelText:"Cancel"},Transfer:{titles:["",""],searchPlaceholder:"Search here",itemUnit:"item",itemsUnit:"items",remove:"Remove",selectCurrent:"Select current page",removeCurrent:"Remove current page",selectAll:"Select all data",removeAll:"Remove all data",selectInvert:"Invert current page"},Upload:{uploading:"Uploading...",removeFile:"Remove file",uploadError:"Upload error",previewFile:"Preview file",downloadFile:"Download file"},Empty:{description:"No data"},Icon:{icon:"icon"},Text:{edit:"Edit",copy:"Copy",copied:"Copied",expand:"Expand"},PageHeader:{back:"Back"},Form:{optional:"(optional)",defaultValidateMessages:{default:"Field validation error for ${label}",required:"Please enter ${label}",enum:"${label} must be one of [${enum}]",whitespace:"${label} cannot be a blank character",date:{format:"${label} date format is invalid",parse:"${label} cannot be converted to a date",invalid:"${label} is an invalid date"},types:{string:i,method:i,array:i,object:i,number:i,date:i,boolean:i,integer:i,float:i,regexp:i,email:i,url:i,hex:i},string:{len:"${label} must be ${len} characters",min:"${label} must be at least ${min} characters",max:"${label} must be up to ${max} characters",range:"${label} must be between ${min}-${max} characters"},number:{len:"${label} must be equal to ${len}",min:"${label} must be minimum ${min}",max:"${label} must be maximum ${max}",range:"${label} must be between ${min}-${max}"},array:{len:"Must be ${len} ${label}",min:"At least ${min} ${label}",max:"At most ${max} ${label}",range:"The amount of ${label} must be between ${min}-${max}"},pattern:{mismatch:"${label} does not match the pattern ${pattern}"}}},Image:{preview:"Preview"},QRCode:{expired:"QR code expired",refresh:"Refresh",scanned:"Scanned"},ColorPicker:{presetEmpty:"Empty"}}},70595:function(e,t,n){var r=n(64090),o=n(33302),i=n(79474);t.Z=(e,t)=>{let n=r.useContext(o.Z);return[r.useMemo(()=>{var r;let o=t||i.Z[e],a=null!==(r=null==n?void 0:n[e])&&void 0!==r?r:{};return Object.assign(Object.assign({},"function"==typeof o?o():o),a||{})},[e,t,n]),r.useMemo(()=>{let e=null==n?void 0:n.locale;return(null==n?void 0:n.exist)&&!e?i.Z.locale:e},[n])]}},30569:function(e,t,n){n.d(t,{Z:function(){return tg}});var r=n(64090),o=n(14749),i=n(50833),a=n(5239),c=n(63787),l=n(80406),u=n(6787),s=n(16480),f=n.n(s),d=n(54739),p=n(44329),h=n(92536),m=n(53850),v=n(89542),g=r.createContext(null);function y(e,t){return void 0===e?null:"".concat(e,"-").concat(t)}function b(e){return y(r.useContext(g),e)}var x=n(61475),w=["children","locked"],E=r.createContext(null);function O(e){var t=e.children,n=e.locked,o=(0,u.Z)(e,w),i=r.useContext(E),c=(0,x.Z)(function(){var e;return e=(0,a.Z)({},i),Object.keys(o).forEach(function(t){var n=o[t];void 0!==n&&(e[t]=n)}),e},[i,o],function(e,t){return!n&&(e[0]!==t[0]||!(0,h.Z)(e[1],t[1],!0))});return r.createElement(E.Provider,{value:c},t)}var S=r.createContext(null);function C(){return r.useContext(S)}var k=r.createContext([]);function j(e){var t=r.useContext(k);return r.useMemo(function(){return void 0!==e?[].concat((0,c.Z)(t),[e]):t},[t,e])}var P=r.createContext(null),M=r.createContext({}),A=n(73193);function T(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if((0,A.Z)(e)){var n=e.nodeName.toLowerCase(),r=["input","select","textarea","button"].includes(n)||e.isContentEditable||"a"===n&&!!e.getAttribute("href"),o=e.getAttribute("tabindex"),i=Number(o),a=null;return o&&!Number.isNaN(i)?a=i:r&&null===a&&(a=0),r&&e.disabled&&(a=null),null!==a&&(a>=0||t&&a<0)}return!1}var N=n(4295),I=n(19223),Z=N.Z.LEFT,R=N.Z.RIGHT,_=N.Z.UP,D=N.Z.DOWN,B=N.Z.ENTER,L=N.Z.ESC,z=N.Z.HOME,F=N.Z.END,H=[_,D,Z,R];function W(e,t){return(function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=(0,c.Z)(e.querySelectorAll("*")).filter(function(e){return T(e,t)});return T(e,t)&&n.unshift(e),n})(e,!0).filter(function(e){return t.has(e)})}function q(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;if(!e)return null;var o=W(e,t),i=o.length,a=o.findIndex(function(e){return n===e});return r<0?-1===a?a=i-1:a-=1:r>0&&(a+=1),o[a=(a+i)%i]}var V=function(e,t){var n=new Set,r=new Map,o=new Map;return e.forEach(function(e){var i=document.querySelector("[data-menu-id='".concat(y(t,e),"']"));i&&(n.add(i),o.set(i,e),r.set(e,i))}),{elements:n,key2element:r,element2key:o}},U="__RC_UTIL_PATH_SPLIT__",X=function(e){return e.join(U)},G="rc-menu-more";function K(e){var t=r.useRef(e);t.current=e;var n=r.useCallback(function(){for(var e,n=arguments.length,r=Array(n),o=0;o1&&(S.motionAppear=!1);var C=S.onVisibleChanged;return(S.onVisibleChanged=function(e){return v.current||e||x(!0),null==C?void 0:C(e)},b)?null:r.createElement(O,{mode:u,locked:!v.current},r.createElement(ek.ZP,(0,o.Z)({visible:w},S,{forceRender:d,removeOnLeave:!1,leavedClassName:"".concat(f,"-hidden")}),function(e){var n=e.className,o=e.style;return r.createElement(ev,{id:t,className:n,style:o},c)}))}var eP=["style","className","title","eventKey","warnKey","disabled","internalPopupClose","children","itemIcon","expandIcon","popupClassName","popupOffset","popupStyle","onClick","onMouseEnter","onMouseLeave","onTitleClick","onTitleMouseEnter","onTitleMouseLeave"],eM=["active"],eA=function(e){var t,n=e.style,c=e.className,s=e.title,p=e.eventKey,h=(e.warnKey,e.disabled),m=e.internalPopupClose,v=e.children,g=e.itemIcon,y=e.expandIcon,x=e.popupClassName,w=e.popupOffset,S=e.popupStyle,C=e.onClick,k=e.onMouseEnter,A=e.onMouseLeave,T=e.onTitleClick,N=e.onTitleMouseEnter,I=e.onTitleMouseLeave,Z=(0,u.Z)(e,eP),R=b(p),_=r.useContext(E),D=_.prefixCls,B=_.mode,L=_.openKeys,z=_.disabled,F=_.overflowDisabled,H=_.activeKey,W=_.selectedKeys,q=_.itemIcon,V=_.expandIcon,U=_.onItemClick,X=_.onOpenChange,G=_.onActive,$=r.useContext(M)._internalRenderSubMenuItem,Y=r.useContext(P).isSubPathKey,Q=j(),J="".concat(D,"-submenu"),ee=z||h,et=r.useRef(),en=r.useRef(),er=null!=y?y:V,ec=L.includes(p),eu=!F&&ec,es=Y(W,p),ef=eo(p,ee,N,I),ed=ef.active,ep=(0,u.Z)(ef,eM),eh=r.useState(!1),em=(0,l.Z)(eh,2),eg=em[0],ey=em[1],eb=function(e){ee||ey(e)},ex=r.useMemo(function(){return ed||"inline"!==B&&(eg||Y([H],p))},[B,ed,H,eg,p,Y]),ew=ei(Q.length),eE=K(function(e){null==C||C(el(e)),U(e)}),eO=R&&"".concat(R,"-popup"),eS=r.createElement("div",(0,o.Z)({role:"menuitem",style:ew,className:"".concat(J,"-title"),tabIndex:ee?null:-1,ref:et,title:"string"==typeof s?s:null,"data-menu-id":F&&R?null:R,"aria-expanded":eu,"aria-haspopup":!0,"aria-controls":eO,"aria-disabled":ee,onClick:function(e){ee||(null==T||T({key:p,domEvent:e}),"inline"===B&&X(p,!ec))},onFocus:function(){G(p)}},ep),s,r.createElement(ea,{icon:"horizontal"!==B?er:void 0,props:(0,a.Z)((0,a.Z)({},e),{},{isOpen:eu,isSubMenu:!0})},r.createElement("i",{className:"".concat(J,"-arrow")}))),ek=r.useRef(B);if("inline"!==B&&Q.length>1?ek.current="vertical":ek.current=B,!F){var eA=ek.current;eS=r.createElement(eC,{mode:eA,prefixCls:J,visible:!m&&eu&&"inline"!==B,popupClassName:x,popupOffset:w,popupStyle:S,popup:r.createElement(O,{mode:"horizontal"===eA?"vertical":eA},r.createElement(ev,{id:eO,ref:en},v)),disabled:ee,onVisibleChange:function(e){"inline"!==B&&X(p,e)}},eS)}var eT=r.createElement(d.Z.Item,(0,o.Z)({role:"none"},Z,{component:"li",style:n,className:f()(J,"".concat(J,"-").concat(B),c,(t={},(0,i.Z)(t,"".concat(J,"-open"),eu),(0,i.Z)(t,"".concat(J,"-active"),ex),(0,i.Z)(t,"".concat(J,"-selected"),es),(0,i.Z)(t,"".concat(J,"-disabled"),ee),t)),onMouseEnter:function(e){eb(!0),null==k||k({key:p,domEvent:e})},onMouseLeave:function(e){eb(!1),null==A||A({key:p,domEvent:e})}}),eS,!F&&r.createElement(ej,{id:eO,open:eu,keyPath:Q},v));return $&&(eT=$(eT,e,{selected:es,active:ex,open:eu,disabled:ee})),r.createElement(O,{onItemClick:eE,mode:"horizontal"===B?"vertical":B,itemIcon:null!=g?g:q,expandIcon:er},eT)};function eT(e){var t,n=e.eventKey,o=e.children,i=j(n),a=ey(o,i),c=C();return r.useEffect(function(){if(c)return c.registerPath(n,i),function(){c.unregisterPath(n,i)}},[i]),t=c?a:r.createElement(eA,e,a),r.createElement(k.Provider,{value:i},t)}var eN=n(6976),eI=["className","title","eventKey","children"],eZ=["children"],eR=function(e){var t=e.className,n=e.title,i=(e.eventKey,e.children),a=(0,u.Z)(e,eI),c=r.useContext(E).prefixCls,l="".concat(c,"-item-group");return r.createElement("li",(0,o.Z)({role:"presentation"},a,{onClick:function(e){return e.stopPropagation()},className:f()(l,t)}),r.createElement("div",{role:"presentation",className:"".concat(l,"-title"),title:"string"==typeof n?n:void 0},n),r.createElement("ul",{role:"group",className:"".concat(l,"-list")},i))};function e_(e){var t=e.children,n=(0,u.Z)(e,eZ),o=ey(t,j(n.eventKey));return C()?o:r.createElement(eR,(0,en.Z)(n,["warnKey"]),o)}function eD(e){var t=e.className,n=e.style,o=r.useContext(E).prefixCls;return C()?null:r.createElement("li",{role:"separator",className:f()("".concat(o,"-item-divider"),t),style:n})}var eB=["label","children","key","type"],eL=["prefixCls","rootClassName","style","className","tabIndex","items","children","direction","id","mode","inlineCollapsed","disabled","disabledOverflow","subMenuOpenDelay","subMenuCloseDelay","forceSubMenuRender","defaultOpenKeys","openKeys","activeKey","defaultActiveFirst","selectable","multiple","defaultSelectedKeys","selectedKeys","onSelect","onDeselect","inlineIndent","motion","defaultMotions","triggerSubMenuAction","builtinPlacements","itemIcon","expandIcon","overflowedIndicator","overflowedIndicatorPopupClassName","getPopupContainer","onClick","onOpenChange","onKeyDown","openAnimation","openTransitionName","_internalRenderMenuItem","_internalRenderSubMenuItem"],ez=[],eF=r.forwardRef(function(e,t){var n,s,m,y,b,x,w,E,C,k,j,A,T,N,Q,J,ee,et,en,er,eo,ei,ea,ec,eu,es,ef,ed=e.prefixCls,ep=void 0===ed?"rc-menu":ed,em=e.rootClassName,ev=e.style,eg=e.className,eb=e.tabIndex,ex=e.items,ew=e.children,eE=e.direction,eO=e.id,eS=e.mode,eC=void 0===eS?"vertical":eS,ek=e.inlineCollapsed,ej=e.disabled,eP=e.disabledOverflow,eM=e.subMenuOpenDelay,eA=e.subMenuCloseDelay,eI=e.forceSubMenuRender,eZ=e.defaultOpenKeys,eR=e.openKeys,eF=e.activeKey,eH=e.defaultActiveFirst,eW=e.selectable,eq=void 0===eW||eW,eV=e.multiple,eU=void 0!==eV&&eV,eX=e.defaultSelectedKeys,eG=e.selectedKeys,eK=e.onSelect,e$=e.onDeselect,eY=e.inlineIndent,eQ=e.motion,eJ=e.defaultMotions,e0=e.triggerSubMenuAction,e1=e.builtinPlacements,e2=e.itemIcon,e4=e.expandIcon,e5=e.overflowedIndicator,e6=void 0===e5?"...":e5,e3=e.overflowedIndicatorPopupClassName,e8=e.getPopupContainer,e9=e.onClick,e7=e.onOpenChange,te=e.onKeyDown,tt=(e.openAnimation,e.openTransitionName,e._internalRenderMenuItem),tn=e._internalRenderSubMenuItem,tr=(0,u.Z)(e,eL),to=r.useMemo(function(){var e;return e=ew,ex&&(e=function e(t){return(t||[]).map(function(t,n){if(t&&"object"===(0,eN.Z)(t)){var i=t.label,a=t.children,c=t.key,l=t.type,s=(0,u.Z)(t,eB),f=null!=c?c:"tmp-".concat(n);return a||"group"===l?"group"===l?r.createElement(e_,(0,o.Z)({key:f},s,{title:i}),e(a)):r.createElement(eT,(0,o.Z)({key:f},s,{title:i}),e(a)):"divider"===l?r.createElement(eD,(0,o.Z)({key:f},s)):r.createElement(eh,(0,o.Z)({key:f},s),i)}return null}).filter(function(e){return e})}(ex)),ey(e,ez)},[ew,ex]),ti=r.useState(!1),ta=(0,l.Z)(ti,2),tc=ta[0],tl=ta[1],tu=r.useRef(),ts=(n=(0,p.Z)(eO,{value:eO}),m=(s=(0,l.Z)(n,2))[0],y=s[1],r.useEffect(function(){Y+=1;var e="".concat($,"-").concat(Y);y("rc-menu-uuid-".concat(e))},[]),m),tf="rtl"===eE,td=(0,p.Z)(eZ,{value:eR,postState:function(e){return e||ez}}),tp=(0,l.Z)(td,2),th=tp[0],tm=tp[1],tv=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];function n(){tm(e),null==e7||e7(e)}t?(0,v.flushSync)(n):n()},tg=r.useState(th),ty=(0,l.Z)(tg,2),tb=ty[0],tx=ty[1],tw=r.useRef(!1),tE=r.useMemo(function(){return("inline"===eC||"vertical"===eC)&&ek?["vertical",ek]:[eC,!1]},[eC,ek]),tO=(0,l.Z)(tE,2),tS=tO[0],tC=tO[1],tk="inline"===tS,tj=r.useState(tS),tP=(0,l.Z)(tj,2),tM=tP[0],tA=tP[1],tT=r.useState(tC),tN=(0,l.Z)(tT,2),tI=tN[0],tZ=tN[1];r.useEffect(function(){tA(tS),tZ(tC),tw.current&&(tk?tm(tb):tv(ez))},[tS,tC]);var tR=r.useState(0),t_=(0,l.Z)(tR,2),tD=t_[0],tB=t_[1],tL=tD>=to.length-1||"horizontal"!==tM||eP;r.useEffect(function(){tk&&tx(th)},[th]),r.useEffect(function(){return tw.current=!0,function(){tw.current=!1}},[]);var tz=(b=r.useState({}),x=(0,l.Z)(b,2)[1],w=(0,r.useRef)(new Map),E=(0,r.useRef)(new Map),C=r.useState([]),j=(k=(0,l.Z)(C,2))[0],A=k[1],T=(0,r.useRef)(0),N=(0,r.useRef)(!1),Q=function(){N.current||x({})},J=(0,r.useCallback)(function(e,t){var n=X(t);E.current.set(n,e),w.current.set(e,n),T.current+=1;var r=T.current;Promise.resolve().then(function(){r===T.current&&Q()})},[]),ee=(0,r.useCallback)(function(e,t){var n=X(t);E.current.delete(n),w.current.delete(e)},[]),et=(0,r.useCallback)(function(e){A(e)},[]),en=(0,r.useCallback)(function(e,t){var n=(w.current.get(e)||"").split(U);return t&&j.includes(n[0])&&n.unshift(G),n},[j]),er=(0,r.useCallback)(function(e,t){return e.some(function(e){return en(e,!0).includes(t)})},[en]),eo=(0,r.useCallback)(function(e){var t="".concat(w.current.get(e)).concat(U),n=new Set;return(0,c.Z)(E.current.keys()).forEach(function(e){e.startsWith(t)&&n.add(E.current.get(e))}),n},[]),r.useEffect(function(){return function(){N.current=!0}},[]),{registerPath:J,unregisterPath:ee,refreshOverflowKeys:et,isSubPathKey:er,getKeyPath:en,getKeys:function(){var e=(0,c.Z)(w.current.keys());return j.length&&e.push(G),e},getSubPathKeys:eo}),tF=tz.registerPath,tH=tz.unregisterPath,tW=tz.refreshOverflowKeys,tq=tz.isSubPathKey,tV=tz.getKeyPath,tU=tz.getKeys,tX=tz.getSubPathKeys,tG=r.useMemo(function(){return{registerPath:tF,unregisterPath:tH}},[tF,tH]),tK=r.useMemo(function(){return{isSubPathKey:tq}},[tq]);r.useEffect(function(){tW(tL?ez:to.slice(tD+1).map(function(e){return e.key}))},[tD,tL]);var t$=(0,p.Z)(eF||eH&&(null===(es=to[0])||void 0===es?void 0:es.key),{value:eF}),tY=(0,l.Z)(t$,2),tQ=tY[0],tJ=tY[1],t0=K(function(e){tJ(e)}),t1=K(function(){tJ(void 0)});(0,r.useImperativeHandle)(t,function(){return{list:tu.current,focus:function(e){var t,n,r=V(tU(),ts),o=r.elements,i=r.key2element,a=r.element2key,c=W(tu.current,o),l=null!=tQ?tQ:c[0]?a.get(c[0]):null===(t=to.find(function(e){return!e.props.disabled}))||void 0===t?void 0:t.key,u=i.get(l);l&&u&&(null==u||null===(n=u.focus)||void 0===n||n.call(u,e))}}});var t2=(0,p.Z)(eX||[],{value:eG,postState:function(e){return Array.isArray(e)?e:null==e?ez:[e]}}),t4=(0,l.Z)(t2,2),t5=t4[0],t6=t4[1],t3=function(e){if(eq){var t,n=e.key,r=t5.includes(n);t6(t=eU?r?t5.filter(function(e){return e!==n}):[].concat((0,c.Z)(t5),[n]):[n]);var o=(0,a.Z)((0,a.Z)({},e),{},{selectedKeys:t});r?null==e$||e$(o):null==eK||eK(o)}!eU&&th.length&&"inline"!==tM&&tv(ez)},t8=K(function(e){null==e9||e9(el(e)),t3(e)}),t9=K(function(e,t){var n=th.filter(function(t){return t!==e});if(t)n.push(e);else if("inline"!==tM){var r=tX(e);n=n.filter(function(e){return!r.has(e)})}(0,h.Z)(th,n,!0)||tv(n,!0)}),t7=(ei=function(e,t){var n=null!=t?t:!th.includes(e);t9(e,n)},ea=r.useRef(),(ec=r.useRef()).current=tQ,eu=function(){I.Z.cancel(ea.current)},r.useEffect(function(){return function(){eu()}},[]),function(e){var t=e.which;if([].concat(H,[B,L,z,F]).includes(t)){var n=tU(),r=V(n,ts),o=r,a=o.elements,c=o.key2element,l=o.element2key,u=function(e,t){for(var n=e||document.activeElement;n;){if(t.has(n))return n;n=n.parentElement}return null}(c.get(tQ),a),s=l.get(u),f=function(e,t,n,r){var o,a,c,l,u="prev",s="next",f="children",d="parent";if("inline"===e&&r===B)return{inlineTrigger:!0};var p=(o={},(0,i.Z)(o,_,u),(0,i.Z)(o,D,s),o),h=(a={},(0,i.Z)(a,Z,n?s:u),(0,i.Z)(a,R,n?u:s),(0,i.Z)(a,D,f),(0,i.Z)(a,B,f),a),m=(c={},(0,i.Z)(c,_,u),(0,i.Z)(c,D,s),(0,i.Z)(c,B,f),(0,i.Z)(c,L,d),(0,i.Z)(c,Z,n?f:d),(0,i.Z)(c,R,n?d:f),c);switch(null===(l=({inline:p,horizontal:h,vertical:m,inlineSub:p,horizontalSub:m,verticalSub:m})["".concat(e).concat(t?"":"Sub")])||void 0===l?void 0:l[r]){case u:return{offset:-1,sibling:!0};case s:return{offset:1,sibling:!0};case d:return{offset:-1,sibling:!1};case f:return{offset:1,sibling:!1};default:return null}}(tM,1===tV(s,!0).length,tf,t);if(!f&&t!==z&&t!==F)return;(H.includes(t)||[z,F].includes(t))&&e.preventDefault();var d=function(e){if(e){var t=e,n=e.querySelector("a");null!=n&&n.getAttribute("href")&&(t=n);var r=l.get(e);tJ(r),eu(),ea.current=(0,I.Z)(function(){ec.current===r&&t.focus()})}};if([z,F].includes(t)||f.sibling||!u){var p,h=W(p=u&&"inline"!==tM?function(e){for(var t=e;t;){if(t.getAttribute("data-menu-list"))return t;t=t.parentElement}return null}(u):tu.current,a);d(t===z?h[0]:t===F?h[h.length-1]:q(p,a,u,f.offset))}else if(f.inlineTrigger)ei(s);else if(f.offset>0)ei(s,!0),eu(),ea.current=(0,I.Z)(function(){r=V(n,ts);var e=u.getAttribute("aria-controls");d(q(document.getElementById(e),r.elements))},5);else if(f.offset<0){var m=tV(s,!0),v=m[m.length-2],g=c.get(v);ei(v,!1),d(g)}}null==te||te(e)});r.useEffect(function(){tl(!0)},[]);var ne=r.useMemo(function(){return{_internalRenderMenuItem:tt,_internalRenderSubMenuItem:tn}},[tt,tn]),nt="horizontal"!==tM||eP?to:to.map(function(e,t){return r.createElement(O,{key:e.key,overflowDisabled:t>tD},e)}),nn=r.createElement(d.Z,(0,o.Z)({id:eO,ref:tu,prefixCls:"".concat(ep,"-overflow"),component:"ul",itemComponent:eh,className:f()(ep,"".concat(ep,"-root"),"".concat(ep,"-").concat(tM),eg,(ef={},(0,i.Z)(ef,"".concat(ep,"-inline-collapsed"),tI),(0,i.Z)(ef,"".concat(ep,"-rtl"),tf),ef),em),dir:eE,style:ev,role:"menu",tabIndex:void 0===eb?0:eb,data:nt,renderRawItem:function(e){return e},renderRawRest:function(e){var t=e.length,n=t?to.slice(-t):null;return r.createElement(eT,{eventKey:G,title:e6,disabled:tL,internalPopupClose:0===t,popupClassName:e3},n)},maxCount:"horizontal"!==tM||eP?d.Z.INVALIDATE:d.Z.RESPONSIVE,ssr:"full","data-menu-list":!0,onVisibleChange:function(e){tB(e)},onKeyDown:t7},tr));return r.createElement(M.Provider,{value:ne},r.createElement(g.Provider,{value:ts},r.createElement(O,{prefixCls:ep,rootClassName:em,mode:tM,openKeys:th,rtl:tf,disabled:ej,motion:tc?eQ:null,defaultMotions:tc?eJ:null,activeKey:tQ,onActive:t0,onInactive:t1,selectedKeys:t5,inlineIndent:void 0===eY?24:eY,subMenuOpenDelay:void 0===eM?.1:eM,subMenuCloseDelay:void 0===eA?.1:eA,forceSubMenuRender:eI,builtinPlacements:e1,triggerSubMenuAction:void 0===e0?"hover":e0,getPopupContainer:e8,itemIcon:e2,expandIcon:e4,onItemClick:t8,onOpenChange:t9},r.createElement(P.Provider,{value:tK},nn),r.createElement("div",{style:{display:"none"},"aria-hidden":!0},r.createElement(S.Provider,{value:tG},to)))))});eF.Item=eh,eF.SubMenu=eT,eF.ItemGroup=e_,eF.Divider=eD;var eH=n(25839),eW={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M176 511a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"ellipsis",theme:"outlined"},eq=n(60688),eV=r.forwardRef(function(e,t){return r.createElement(eq.Z,(0,o.Z)({},e,{ref:t,icon:eW}))}),eU=n(48563),eX=n(47387),eG=n(65823),eK=n(57499),e$=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n},eY=e=>{let{prefixCls:t,className:n,dashed:o}=e,i=e$(e,["prefixCls","className","dashed"]),{getPrefixCls:a}=r.useContext(eK.E_),c=a("menu",t),l=f()({["".concat(c,"-item-divider-dashed")]:!!o},n);return r.createElement(eD,Object.assign({className:l},i))},eQ=n(47104);let eJ=(0,r.createContext)({prefixCls:"",firstLevel:!0,inlineCollapsed:!1});var e0=e=>{var t;let{className:n,children:o,icon:i,title:a,danger:c}=e,{prefixCls:l,firstLevel:u,direction:s,disableMenuItemTitleTooltip:d,inlineCollapsed:p}=r.useContext(eJ),{siderCollapsed:h}=r.useContext(eH.D),m=a;void 0===a?m=u?o:"":!1===a&&(m="");let v={title:m};h||p||(v.title=null,v.open=!1);let g=(0,eg.Z)(o).length,y=r.createElement(eh,Object.assign({},(0,en.Z)(e,["title","icon","danger"]),{className:f()({["".concat(l,"-item-danger")]:c,["".concat(l,"-item-only-child")]:(i?g+1:g)===1},n),title:"string"==typeof a?a:void 0}),(0,eG.Tm)(i,{className:f()((0,eG.l$)(i)?null===(t=i.props)||void 0===t?void 0:t.className:"","".concat(l,"-item-icon"))}),(e=>{let t=r.createElement("span",{className:"".concat(l,"-title-content")},o);return(!i||(0,eG.l$)(o)&&"span"===o.type)&&o&&e&&u&&"string"==typeof o?r.createElement("div",{className:"".concat(l,"-inline-collapsed-noicon")},o.charAt(0)):t})(p));return d||(y=r.createElement(eQ.Z,Object.assign({},v,{placement:"rtl"===s?"left":"right",overlayClassName:"".concat(l,"-inline-collapsed-tooltip")}),y)),y},e1=n(51761),e2=e=>{var t;let n;let{popupClassName:o,icon:i,title:a,theme:c}=e,l=r.useContext(eJ),{prefixCls:u,inlineCollapsed:s,theme:d}=l,p=j();if(i){let e=(0,eG.l$)(a)&&"span"===a.type;n=r.createElement(r.Fragment,null,(0,eG.Tm)(i,{className:f()((0,eG.l$)(i)?null===(t=i.props)||void 0===t?void 0:t.className:"","".concat(u,"-item-icon"))}),e?a:r.createElement("span",{className:"".concat(u,"-title-content")},a))}else n=s&&!p.length&&a&&"string"==typeof a?r.createElement("div",{className:"".concat(u,"-inline-collapsed-noicon")},a.charAt(0)):r.createElement("span",{className:"".concat(u,"-title-content")},a);let h=r.useMemo(()=>Object.assign(Object.assign({},l),{firstLevel:!1}),[l]),[m]=(0,e1.Cn)("Menu");return r.createElement(eJ.Provider,{value:h},r.createElement(eT,Object.assign({},(0,en.Z)(e,["icon"]),{title:n,popupClassName:f()(u,o,"".concat(u,"-").concat(c||d)),popupStyle:{zIndex:m}})))},e4=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let e5=r.createContext(null);var e6=n(8985),e3=n(6336),e8=n(11303),e9=n(46154),e7=n(202),te=n(58854),tt=n(76585),tn=n(80316),tr=e=>{let{componentCls:t,motionDurationSlow:n,horizontalLineHeight:r,colorSplit:o,lineWidth:i,lineType:a,itemPaddingInline:c}=e;return{["".concat(t,"-horizontal")]:{lineHeight:r,border:0,borderBottom:"".concat((0,e6.bf)(i)," ").concat(a," ").concat(o),boxShadow:"none","&::after":{display:"block",clear:"both",height:0,content:'"\\20"'},["".concat(t,"-item, ").concat(t,"-submenu")]:{position:"relative",display:"inline-block",verticalAlign:"bottom",paddingInline:c},["> ".concat(t,"-item:hover,\n > ").concat(t,"-item-active,\n > ").concat(t,"-submenu ").concat(t,"-submenu-title:hover")]:{backgroundColor:"transparent"},["".concat(t,"-item, ").concat(t,"-submenu-title")]:{transition:["border-color ".concat(n),"background ".concat(n)].join(",")},["".concat(t,"-submenu-arrow")]:{display:"none"}}}},to=e=>{let{componentCls:t,menuArrowOffset:n,calc:r}=e;return{["".concat(t,"-rtl")]:{direction:"rtl"},["".concat(t,"-submenu-rtl")]:{transformOrigin:"100% 0"},["".concat(t,"-rtl").concat(t,"-vertical,\n ").concat(t,"-submenu-rtl ").concat(t,"-vertical")]:{["".concat(t,"-submenu-arrow")]:{"&::before":{transform:"rotate(-45deg) translateY(".concat((0,e6.bf)(r(n).mul(-1).equal()),")")},"&::after":{transform:"rotate(45deg) translateY(".concat((0,e6.bf)(n),")")}}}}};let ti=e=>Object.assign({},(0,e8.oN)(e));var ta=(e,t)=>{let{componentCls:n,itemColor:r,itemSelectedColor:o,groupTitleColor:i,itemBg:a,subMenuItemBg:c,itemSelectedBg:l,activeBarHeight:u,activeBarWidth:s,activeBarBorderWidth:f,motionDurationSlow:d,motionEaseInOut:p,motionEaseOut:h,itemPaddingInline:m,motionDurationMid:v,itemHoverColor:g,lineType:y,colorSplit:b,itemDisabledColor:x,dangerItemColor:w,dangerItemHoverColor:E,dangerItemSelectedColor:O,dangerItemActiveBg:S,dangerItemSelectedBg:C,popupBg:k,itemHoverBg:j,itemActiveBg:P,menuSubMenuBg:M,horizontalItemSelectedColor:A,horizontalItemSelectedBg:T,horizontalItemBorderRadius:N,horizontalItemHoverBg:I}=e;return{["".concat(n,"-").concat(t,", ").concat(n,"-").concat(t," > ").concat(n)]:{color:r,background:a,["&".concat(n,"-root:focus-visible")]:Object.assign({},ti(e)),["".concat(n,"-item-group-title")]:{color:i},["".concat(n,"-submenu-selected")]:{["> ".concat(n,"-submenu-title")]:{color:o}},["".concat(n,"-item-disabled, ").concat(n,"-submenu-disabled")]:{color:"".concat(x," !important")},["".concat(n,"-item:not(").concat(n,"-item-selected):not(").concat(n,"-submenu-selected)")]:{["&:hover, > ".concat(n,"-submenu-title:hover")]:{color:g}},["&:not(".concat(n,"-horizontal)")]:{["".concat(n,"-item:not(").concat(n,"-item-selected)")]:{"&:hover":{backgroundColor:j},"&:active":{backgroundColor:P}},["".concat(n,"-submenu-title")]:{"&:hover":{backgroundColor:j},"&:active":{backgroundColor:P}}},["".concat(n,"-item-danger")]:{color:w,["&".concat(n,"-item:hover")]:{["&:not(".concat(n,"-item-selected):not(").concat(n,"-submenu-selected)")]:{color:E}},["&".concat(n,"-item:active")]:{background:S}},["".concat(n,"-item a")]:{"&, &:hover":{color:"inherit"}},["".concat(n,"-item-selected")]:{color:o,["&".concat(n,"-item-danger")]:{color:O},"a, a:hover":{color:"inherit"}},["& ".concat(n,"-item-selected")]:{backgroundColor:l,["&".concat(n,"-item-danger")]:{backgroundColor:C}},["".concat(n,"-item, ").concat(n,"-submenu-title")]:{["&:not(".concat(n,"-item-disabled):focus-visible")]:Object.assign({},ti(e))},["&".concat(n,"-submenu > ").concat(n)]:{backgroundColor:M},["&".concat(n,"-popup > ").concat(n)]:{backgroundColor:k},["&".concat(n,"-submenu-popup > ").concat(n)]:{backgroundColor:k},["&".concat(n,"-horizontal")]:Object.assign(Object.assign({},"dark"===t?{borderBottom:0}:{}),{["> ".concat(n,"-item, > ").concat(n,"-submenu")]:{top:f,marginTop:e.calc(f).mul(-1).equal(),marginBottom:0,borderRadius:N,"&::after":{position:"absolute",insetInline:m,bottom:0,borderBottom:"".concat((0,e6.bf)(u)," solid transparent"),transition:"border-color ".concat(d," ").concat(p),content:'""'},"&:hover, &-active, &-open":{background:I,"&::after":{borderBottomWidth:u,borderBottomColor:A}},"&-selected":{color:A,backgroundColor:T,"&:hover":{backgroundColor:T},"&::after":{borderBottomWidth:u,borderBottomColor:A}}}}),["&".concat(n,"-root")]:{["&".concat(n,"-inline, &").concat(n,"-vertical")]:{borderInlineEnd:"".concat((0,e6.bf)(f)," ").concat(y," ").concat(b)}},["&".concat(n,"-inline")]:{["".concat(n,"-sub").concat(n,"-inline")]:{background:c},["".concat(n,"-item")]:{position:"relative","&::after":{position:"absolute",insetBlock:0,insetInlineEnd:0,borderInlineEnd:"".concat((0,e6.bf)(s)," solid ").concat(o),transform:"scaleY(0.0001)",opacity:0,transition:["transform ".concat(v," ").concat(h),"opacity ".concat(v," ").concat(h)].join(","),content:'""'},["&".concat(n,"-item-danger")]:{"&::after":{borderInlineEndColor:O}}},["".concat(n,"-selected, ").concat(n,"-item-selected")]:{"&::after":{transform:"scaleY(1)",opacity:1,transition:["transform ".concat(v," ").concat(p),"opacity ".concat(v," ").concat(p)].join(",")}}}}}};let tc=e=>{let{componentCls:t,itemHeight:n,itemMarginInline:r,padding:o,menuArrowSize:i,marginXS:a,itemMarginBlock:c,itemWidth:l}=e,u=e.calc(i).add(o).add(a).equal();return{["".concat(t,"-item")]:{position:"relative",overflow:"hidden"},["".concat(t,"-item, ").concat(t,"-submenu-title")]:{height:n,lineHeight:(0,e6.bf)(n),paddingInline:o,overflow:"hidden",textOverflow:"ellipsis",marginInline:r,marginBlock:c,width:l},["> ".concat(t,"-item,\n > ").concat(t,"-submenu > ").concat(t,"-submenu-title")]:{height:n,lineHeight:(0,e6.bf)(n)},["".concat(t,"-item-group-list ").concat(t,"-submenu-title,\n ").concat(t,"-submenu-title")]:{paddingInlineEnd:u}}};var tl=e=>{let{componentCls:t,iconCls:n,itemHeight:r,colorTextLightSolid:o,dropdownWidth:i,controlHeightLG:a,motionDurationMid:c,motionEaseOut:l,paddingXL:u,itemMarginInline:s,fontSizeLG:f,motionDurationSlow:d,paddingXS:p,boxShadowSecondary:h,collapsedWidth:m,collapsedIconSize:v}=e,g={height:r,lineHeight:(0,e6.bf)(r),listStylePosition:"inside",listStyleType:"disc"};return[{[t]:{"&-inline, &-vertical":Object.assign({["&".concat(t,"-root")]:{boxShadow:"none"}},tc(e))},["".concat(t,"-submenu-popup")]:{["".concat(t,"-vertical")]:Object.assign(Object.assign({},tc(e)),{boxShadow:h})}},{["".concat(t,"-submenu-popup ").concat(t,"-vertical").concat(t,"-sub")]:{minWidth:i,maxHeight:"calc(100vh - ".concat((0,e6.bf)(e.calc(a).mul(2.5).equal()),")"),padding:"0",overflow:"hidden",borderInlineEnd:0,"&:not([class*='-active'])":{overflowX:"hidden",overflowY:"auto"}}},{["".concat(t,"-inline")]:{width:"100%",["&".concat(t,"-root")]:{["".concat(t,"-item, ").concat(t,"-submenu-title")]:{display:"flex",alignItems:"center",transition:["border-color ".concat(d),"background ".concat(d),"padding ".concat(c," ").concat(l)].join(","),["> ".concat(t,"-title-content")]:{flex:"auto",minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},"> *":{flex:"none"}}},["".concat(t,"-sub").concat(t,"-inline")]:{padding:0,border:0,borderRadius:0,boxShadow:"none",["& > ".concat(t,"-submenu > ").concat(t,"-submenu-title")]:g,["& ".concat(t,"-item-group-title")]:{paddingInlineStart:u}},["".concat(t,"-item")]:g}},{["".concat(t,"-inline-collapsed")]:{width:m,["&".concat(t,"-root")]:{["".concat(t,"-item, ").concat(t,"-submenu ").concat(t,"-submenu-title")]:{["> ".concat(t,"-inline-collapsed-noicon")]:{fontSize:f,textAlign:"center"}}},["> ".concat(t,"-item,\n > ").concat(t,"-item-group > ").concat(t,"-item-group-list > ").concat(t,"-item,\n > ").concat(t,"-item-group > ").concat(t,"-item-group-list > ").concat(t,"-submenu > ").concat(t,"-submenu-title,\n > ").concat(t,"-submenu > ").concat(t,"-submenu-title")]:{insetInlineStart:0,paddingInline:"calc(50% - ".concat((0,e6.bf)(e.calc(f).div(2).equal())," - ").concat((0,e6.bf)(s),")"),textOverflow:"clip",["\n ".concat(t,"-submenu-arrow,\n ").concat(t,"-submenu-expand-icon\n ")]:{opacity:0},["".concat(t,"-item-icon, ").concat(n)]:{margin:0,fontSize:v,lineHeight:(0,e6.bf)(r),"+ span":{display:"inline-block",opacity:0}}},["".concat(t,"-item-icon, ").concat(n)]:{display:"inline-block"},"&-tooltip":{pointerEvents:"none",["".concat(t,"-item-icon, ").concat(n)]:{display:"none"},"a, a:hover":{color:o}},["".concat(t,"-item-group-title")]:Object.assign(Object.assign({},e8.vS),{paddingInline:p})}}]};let tu=e=>{let{componentCls:t,motionDurationSlow:n,motionDurationMid:r,motionEaseInOut:o,motionEaseOut:i,iconCls:a,iconSize:c,iconMarginInlineEnd:l}=e;return{["".concat(t,"-item, ").concat(t,"-submenu-title")]:{position:"relative",display:"block",margin:0,whiteSpace:"nowrap",cursor:"pointer",transition:["border-color ".concat(n),"background ".concat(n),"padding ".concat(n," ").concat(o)].join(","),["".concat(t,"-item-icon, ").concat(a)]:{minWidth:c,fontSize:c,transition:["font-size ".concat(r," ").concat(i),"margin ".concat(n," ").concat(o),"color ".concat(n)].join(","),"+ span":{marginInlineStart:l,opacity:1,transition:["opacity ".concat(n," ").concat(o),"margin ".concat(n),"color ".concat(n)].join(",")}},["".concat(t,"-item-icon")]:Object.assign({},(0,e8.Ro)()),["&".concat(t,"-item-only-child")]:{["> ".concat(a,", > ").concat(t,"-item-icon")]:{marginInlineEnd:0}}},["".concat(t,"-item-disabled, ").concat(t,"-submenu-disabled")]:{background:"none !important",cursor:"not-allowed","&::after":{borderColor:"transparent !important"},a:{color:"inherit !important"},["> ".concat(t,"-submenu-title")]:{color:"inherit !important",cursor:"not-allowed"}}}},ts=e=>{let{componentCls:t,motionDurationSlow:n,motionEaseInOut:r,borderRadius:o,menuArrowSize:i,menuArrowOffset:a}=e;return{["".concat(t,"-submenu")]:{"&-expand-icon, &-arrow":{position:"absolute",top:"50%",insetInlineEnd:e.margin,width:i,color:"currentcolor",transform:"translateY(-50%)",transition:"transform ".concat(n," ").concat(r,", opacity ").concat(n)},"&-arrow":{"&::before, &::after":{position:"absolute",width:e.calc(i).mul(.6).equal(),height:e.calc(i).mul(.15).equal(),backgroundColor:"currentcolor",borderRadius:o,transition:["background ".concat(n," ").concat(r),"transform ".concat(n," ").concat(r),"top ".concat(n," ").concat(r),"color ".concat(n," ").concat(r)].join(","),content:'""'},"&::before":{transform:"rotate(45deg) translateY(".concat((0,e6.bf)(e.calc(a).mul(-1).equal()),")")},"&::after":{transform:"rotate(-45deg) translateY(".concat((0,e6.bf)(a),")")}}}}},tf=e=>{let{antCls:t,componentCls:n,fontSize:r,motionDurationSlow:o,motionDurationMid:i,motionEaseInOut:a,paddingXS:c,padding:l,colorSplit:u,lineWidth:s,zIndexPopup:f,borderRadiusLG:d,subMenuItemBorderRadius:p,menuArrowSize:h,menuArrowOffset:m,lineType:v,menuPanelMaskInset:g,groupTitleLineHeight:y,groupTitleFontSize:b}=e;return[{"":{["".concat(n)]:Object.assign(Object.assign({},(0,e8.dF)()),{"&-hidden":{display:"none"}})},["".concat(n,"-submenu-hidden")]:{display:"none"}},{[n]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},(0,e8.Wf)(e)),(0,e8.dF)()),{marginBottom:0,paddingInlineStart:0,fontSize:r,lineHeight:0,listStyle:"none",outline:"none",transition:"width ".concat(o," cubic-bezier(0.2, 0, 0, 1) 0s"),"ul, ol":{margin:0,padding:0,listStyle:"none"},"&-overflow":{display:"flex",["".concat(n,"-item")]:{flex:"none"}},["".concat(n,"-item, ").concat(n,"-submenu, ").concat(n,"-submenu-title")]:{borderRadius:e.itemBorderRadius},["".concat(n,"-item-group-title")]:{padding:"".concat((0,e6.bf)(c)," ").concat((0,e6.bf)(l)),fontSize:b,lineHeight:y,transition:"all ".concat(o)},["&-horizontal ".concat(n,"-submenu")]:{transition:["border-color ".concat(o," ").concat(a),"background ".concat(o," ").concat(a)].join(",")},["".concat(n,"-submenu, ").concat(n,"-submenu-inline")]:{transition:["border-color ".concat(o," ").concat(a),"background ".concat(o," ").concat(a),"padding ".concat(i," ").concat(a)].join(",")},["".concat(n,"-submenu ").concat(n,"-sub")]:{cursor:"initial",transition:["background ".concat(o," ").concat(a),"padding ".concat(o," ").concat(a)].join(",")},["".concat(n,"-title-content")]:{transition:"color ".concat(o),["> ".concat(t,"-typography-ellipsis-single-line")]:{display:"inline",verticalAlign:"unset"}},["".concat(n,"-item a")]:{"&::before":{position:"absolute",inset:0,backgroundColor:"transparent",content:'""'}},["".concat(n,"-item-divider")]:{overflow:"hidden",lineHeight:0,borderColor:u,borderStyle:v,borderWidth:0,borderTopWidth:s,marginBlock:s,padding:0,"&-dashed":{borderStyle:"dashed"}}}),tu(e)),{["".concat(n,"-item-group")]:{["".concat(n,"-item-group-list")]:{margin:0,padding:0,["".concat(n,"-item, ").concat(n,"-submenu-title")]:{paddingInline:"".concat((0,e6.bf)(e.calc(r).mul(2).equal())," ").concat((0,e6.bf)(l))}}},"&-submenu":{"&-popup":{position:"absolute",zIndex:f,borderRadius:d,boxShadow:"none",transformOrigin:"0 0",["&".concat(n,"-submenu")]:{background:"transparent"},"&::before":{position:"absolute",inset:"".concat((0,e6.bf)(g)," 0 0"),zIndex:-1,width:"100%",height:"100%",opacity:0,content:'""'}},"&-placement-rightTop::before":{top:0,insetInlineStart:g},"\n &-placement-leftTop,\n &-placement-bottomRight,\n ":{transformOrigin:"100% 0"},"\n &-placement-leftBottom,\n &-placement-topRight,\n ":{transformOrigin:"100% 100%"},"\n &-placement-rightBottom,\n &-placement-topLeft,\n ":{transformOrigin:"0 100%"},"\n &-placement-bottomLeft,\n &-placement-rightTop,\n ":{transformOrigin:"0 0"},"\n &-placement-leftTop,\n &-placement-leftBottom\n ":{paddingInlineEnd:e.paddingXS},"\n &-placement-rightTop,\n &-placement-rightBottom\n ":{paddingInlineStart:e.paddingXS},"\n &-placement-topRight,\n &-placement-topLeft\n ":{paddingBottom:e.paddingXS},"\n &-placement-bottomRight,\n &-placement-bottomLeft\n ":{paddingTop:e.paddingXS},["> ".concat(n)]:Object.assign(Object.assign(Object.assign({borderRadius:d},tu(e)),ts(e)),{["".concat(n,"-item, ").concat(n,"-submenu > ").concat(n,"-submenu-title")]:{borderRadius:p},["".concat(n,"-submenu-title::after")]:{transition:"transform ".concat(o," ").concat(a)}})}}),ts(e)),{["&-inline-collapsed ".concat(n,"-submenu-arrow,\n &-inline ").concat(n,"-submenu-arrow")]:{"&::before":{transform:"rotate(-45deg) translateX(".concat((0,e6.bf)(m),")")},"&::after":{transform:"rotate(45deg) translateX(".concat((0,e6.bf)(e.calc(m).mul(-1).equal()),")")}},["".concat(n,"-submenu-open").concat(n,"-submenu-inline > ").concat(n,"-submenu-title > ").concat(n,"-submenu-arrow")]:{transform:"translateY(".concat((0,e6.bf)(e.calc(h).mul(.2).mul(-1).equal()),")"),"&::after":{transform:"rotate(-45deg) translateX(".concat((0,e6.bf)(e.calc(m).mul(-1).equal()),")")},"&::before":{transform:"rotate(45deg) translateX(".concat((0,e6.bf)(m),")")}}})},{["".concat(t,"-layout-header")]:{[n]:{lineHeight:"inherit"}}}]},td=e=>{var t,n,r;let{colorPrimary:o,colorError:i,colorTextDisabled:a,colorErrorBg:c,colorText:l,colorTextDescription:u,colorBgContainer:s,colorFillAlter:f,colorFillContent:d,lineWidth:p,lineWidthBold:h,controlItemBgActive:m,colorBgTextHover:v,controlHeightLG:g,lineHeight:y,colorBgElevated:b,marginXXS:x,padding:w,fontSize:E,controlHeightSM:O,fontSizeLG:S,colorTextLightSolid:C,colorErrorHover:k}=e,j=null!==(t=e.activeBarWidth)&&void 0!==t?t:0,P=null!==(n=e.activeBarBorderWidth)&&void 0!==n?n:p,M=null!==(r=e.itemMarginInline)&&void 0!==r?r:e.marginXXS,A=new e3.C(C).setAlpha(.65).toRgbString();return{dropdownWidth:160,zIndexPopup:e.zIndexPopupBase+50,radiusItem:e.borderRadiusLG,itemBorderRadius:e.borderRadiusLG,radiusSubMenuItem:e.borderRadiusSM,subMenuItemBorderRadius:e.borderRadiusSM,colorItemText:l,itemColor:l,colorItemTextHover:l,itemHoverColor:l,colorItemTextHoverHorizontal:o,horizontalItemHoverColor:o,colorGroupTitle:u,groupTitleColor:u,colorItemTextSelected:o,itemSelectedColor:o,colorItemTextSelectedHorizontal:o,horizontalItemSelectedColor:o,colorItemBg:s,itemBg:s,colorItemBgHover:v,itemHoverBg:v,colorItemBgActive:d,itemActiveBg:m,colorSubItemBg:f,subMenuItemBg:f,colorItemBgSelected:m,itemSelectedBg:m,colorItemBgSelectedHorizontal:"transparent",horizontalItemSelectedBg:"transparent",colorActiveBarWidth:0,activeBarWidth:j,colorActiveBarHeight:h,activeBarHeight:h,colorActiveBarBorderSize:p,activeBarBorderWidth:P,colorItemTextDisabled:a,itemDisabledColor:a,colorDangerItemText:i,dangerItemColor:i,colorDangerItemTextHover:i,dangerItemHoverColor:i,colorDangerItemTextSelected:i,dangerItemSelectedColor:i,colorDangerItemBgActive:c,dangerItemActiveBg:c,colorDangerItemBgSelected:c,dangerItemSelectedBg:c,itemMarginInline:M,horizontalItemBorderRadius:0,horizontalItemHoverBg:"transparent",itemHeight:g,groupTitleLineHeight:y,collapsedWidth:2*g,popupBg:b,itemMarginBlock:x,itemPaddingInline:w,horizontalLineHeight:"".concat(1.15*g,"px"),iconSize:E,iconMarginInlineEnd:O-E,collapsedIconSize:S,groupTitleFontSize:E,darkItemDisabledColor:new e3.C(C).setAlpha(.25).toRgbString(),darkItemColor:A,darkDangerItemColor:i,darkItemBg:"#001529",darkPopupBg:"#001529",darkSubMenuItemBg:"#000c17",darkItemSelectedColor:C,darkItemSelectedBg:o,darkDangerItemSelectedBg:i,darkItemHoverBg:"transparent",darkGroupTitleColor:A,darkItemHoverColor:C,darkDangerItemHoverColor:k,darkDangerItemSelectedColor:C,darkDangerItemActiveBg:i,itemWidth:j?"calc(100% + ".concat(P,"px)"):"calc(100% - ".concat(2*M,"px)")}};var tp=n(92935),th=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let tm=(0,r.forwardRef)((e,t)=>{var n,o;let i;let a=r.useContext(e5),c=a||{},{getPrefixCls:l,getPopupContainer:u,direction:s,menu:d}=r.useContext(eK.E_),p=l(),{prefixCls:h,className:m,style:v,theme:g="light",expandIcon:y,_internalDisableMenuItemTitleTooltip:b,inlineCollapsed:x,siderCollapsed:w,items:E,children:O,rootClassName:S,mode:C,selectable:k,onClick:j,overflowedIndicatorPopupClassName:P}=e,M=th(e,["prefixCls","className","style","theme","expandIcon","_internalDisableMenuItemTitleTooltip","inlineCollapsed","siderCollapsed","items","children","rootClassName","mode","selectable","onClick","overflowedIndicatorPopupClassName"]),A=(0,en.Z)(M,["collapsedWidth"]),T=r.useMemo(()=>E?function e(t){return(t||[]).map((t,n)=>{if(t&&"object"==typeof t){let{label:o,children:i,key:a,type:c}=t,l=e4(t,["label","children","key","type"]),u=null!=a?a:"tmp-".concat(n);return i||"group"===c?"group"===c?r.createElement(e_,Object.assign({key:u},l,{title:o}),e(i)):r.createElement(e2,Object.assign({key:u},l,{title:o}),e(i)):"divider"===c?r.createElement(eY,Object.assign({key:u},l)):r.createElement(e0,Object.assign({key:u},l),o)}return null}).filter(e=>e)}(E):E,[E])||O;null===(n=c.validator)||void 0===n||n.call(c,{mode:C});let N=(0,eU.zX)(function(){var e;null==j||j.apply(void 0,arguments),null===(e=c.onClick)||void 0===e||e.call(c)}),I=c.mode||C,Z=null!=k?k:c.selectable,R=r.useMemo(()=>void 0!==w?w:x,[x,w]),_={horizontal:{motionName:"".concat(p,"-slide-up")},inline:(0,eX.Z)(p),other:{motionName:"".concat(p,"-zoom-big")}},D=l("menu",h||c.prefixCls),B=(0,tp.Z)(D),[L,z,F]=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,n=!(arguments.length>2)||void 0===arguments[2]||arguments[2];return(0,tt.I$)("Menu",e=>{let{colorBgElevated:t,colorPrimary:n,colorTextLightSolid:r,controlHeightLG:o,fontSize:i,darkItemColor:a,darkDangerItemColor:c,darkItemBg:l,darkSubMenuItemBg:u,darkItemSelectedColor:s,darkItemSelectedBg:f,darkDangerItemSelectedBg:d,darkItemHoverBg:p,darkGroupTitleColor:h,darkItemHoverColor:m,darkItemDisabledColor:v,darkDangerItemHoverColor:g,darkDangerItemSelectedColor:y,darkDangerItemActiveBg:b,popupBg:x,darkPopupBg:w}=e,E=e.calc(i).div(7).mul(5).equal(),O=(0,tn.TS)(e,{menuArrowSize:E,menuHorizontalHeight:e.calc(o).mul(1.15).equal(),menuArrowOffset:e.calc(E).mul(.25).equal(),menuPanelMaskInset:-7,menuSubMenuBg:t,calc:e.calc,popupBg:x}),S=(0,tn.TS)(O,{itemColor:a,itemHoverColor:m,groupTitleColor:h,itemSelectedColor:s,itemBg:l,popupBg:w,subMenuItemBg:u,itemActiveBg:"transparent",itemSelectedBg:f,activeBarHeight:0,activeBarBorderWidth:0,itemHoverBg:p,itemDisabledColor:v,dangerItemColor:c,dangerItemHoverColor:g,dangerItemSelectedColor:y,dangerItemActiveBg:b,dangerItemSelectedBg:d,menuSubMenuBg:u,horizontalItemSelectedColor:r,horizontalItemSelectedBg:n});return[tf(O),tr(O),tl(O),ta(O,"light"),ta(S,"dark"),to(O),(0,e9.Z)(O),(0,e7.oN)(O,"slide-up"),(0,e7.oN)(O,"slide-down"),(0,te._y)(O,"zoom-big")]},td,{deprecatedTokens:[["colorGroupTitle","groupTitleColor"],["radiusItem","itemBorderRadius"],["radiusSubMenuItem","subMenuItemBorderRadius"],["colorItemText","itemColor"],["colorItemTextHover","itemHoverColor"],["colorItemTextHoverHorizontal","horizontalItemHoverColor"],["colorItemTextSelected","itemSelectedColor"],["colorItemTextSelectedHorizontal","horizontalItemSelectedColor"],["colorItemTextDisabled","itemDisabledColor"],["colorDangerItemText","dangerItemColor"],["colorDangerItemTextHover","dangerItemHoverColor"],["colorDangerItemTextSelected","dangerItemSelectedColor"],["colorDangerItemBgActive","dangerItemActiveBg"],["colorDangerItemBgSelected","dangerItemSelectedBg"],["colorItemBg","itemBg"],["colorItemBgHover","itemHoverBg"],["colorSubItemBg","subMenuItemBg"],["colorItemBgActive","itemActiveBg"],["colorItemBgSelectedHorizontal","horizontalItemSelectedBg"],["colorActiveBarWidth","activeBarWidth"],["colorActiveBarHeight","activeBarHeight"],["colorActiveBarBorderSize","activeBarBorderWidth"],["colorItemBgSelected","itemSelectedBg"]],injectStyle:n,unitless:{groupTitleLineHeight:!0}})(e,t)}(D,B,!a),H=f()("".concat(D,"-").concat(g),null==d?void 0:d.className,m);if("function"==typeof y)i=y;else if(null===y||!1===y)i=null;else if(null===c.expandIcon||!1===c.expandIcon)i=null;else{let e=null!=y?y:c.expandIcon;i=(0,eG.Tm)(e,{className:f()("".concat(D,"-submenu-expand-icon"),(0,eG.l$)(e)?null===(o=e.props)||void 0===o?void 0:o.className:"")})}let W=r.useMemo(()=>({prefixCls:D,inlineCollapsed:R||!1,direction:s,firstLevel:!0,theme:g,mode:I,disableMenuItemTitleTooltip:b}),[D,R,s,b,g]);return L(r.createElement(e5.Provider,{value:null},r.createElement(eJ.Provider,{value:W},r.createElement(eF,Object.assign({getPopupContainer:u,overflowedIndicator:r.createElement(eV,null),overflowedIndicatorPopupClassName:f()(D,"".concat(D,"-").concat(g),P),mode:I,selectable:Z,onClick:N},A,{inlineCollapsed:R,style:Object.assign(Object.assign({},null==d?void 0:d.style),v),className:H,prefixCls:D,direction:s,defaultMotions:_,expandIcon:i,ref:t,rootClassName:f()(S,z,c.rootClassName,F,B)}),T))))}),tv=(0,r.forwardRef)((e,t)=>{let n=(0,r.useRef)(null),o=r.useContext(eH.D);return(0,r.useImperativeHandle)(t,()=>({menu:n.current,focus:e=>{var t;null===(t=n.current)||void 0===t||t.focus(e)}})),r.createElement(tm,Object.assign({ref:n},e,o))});tv.Item=e0,tv.SubMenu=e2,tv.Divider=eY,tv.ItemGroup=e_;var tg=tv},80588:function(e,t,n){n.d(t,{ZP:function(){return es}});var r=n(63787),o=n(64090),i=n(37274);let a=o.createContext({});var c=n(57499),l=n(54165),u=n(99537),s=n(77136),f=n(20653),d=n(40388),p=n(66155),h=n(16480),m=n.n(h),v=n(80406),g=n(6787),y=n(5239),b=n(89542),x=n(14749),w=n(50833),E=n(49367),O=n(4295),S=o.forwardRef(function(e,t){var n=e.prefixCls,r=e.style,i=e.className,a=e.duration,c=void 0===a?4.5:a,l=e.eventKey,u=e.content,s=e.closable,f=e.closeIcon,d=e.props,p=e.onClick,h=e.onNoticeClose,g=e.times,y=e.hovering,b=o.useState(!1),E=(0,v.Z)(b,2),S=E[0],C=E[1],k=y||S,j=function(){h(l)};o.useEffect(function(){if(!k&&c>0){var e=setTimeout(function(){j()},1e3*c);return function(){clearTimeout(e)}}},[c,k,g]);var P="".concat(n,"-notice");return o.createElement("div",(0,x.Z)({},d,{ref:t,className:m()(P,i,(0,w.Z)({},"".concat(P,"-closable"),s)),style:r,onMouseEnter:function(e){var t;C(!0),null==d||null===(t=d.onMouseEnter)||void 0===t||t.call(d,e)},onMouseLeave:function(e){var t;C(!1),null==d||null===(t=d.onMouseLeave)||void 0===t||t.call(d,e)},onClick:p}),o.createElement("div",{className:"".concat(P,"-content")},u),s&&o.createElement("a",{tabIndex:0,className:"".concat(P,"-close"),onKeyDown:function(e){("Enter"===e.key||"Enter"===e.code||e.keyCode===O.Z.ENTER)&&j()},onClick:function(e){e.preventDefault(),e.stopPropagation(),j()}},void 0===f?"x":f))}),C=o.createContext({}),k=function(e){var t=e.children,n=e.classNames;return o.createElement(C.Provider,{value:{classNames:n}},t)},j=n(6976),P=function(e){var t,n,r,o={offset:8,threshold:3,gap:16};return e&&"object"===(0,j.Z)(e)&&(o.offset=null!==(t=e.offset)&&void 0!==t?t:8,o.threshold=null!==(n=e.threshold)&&void 0!==n?n:3,o.gap=null!==(r=e.gap)&&void 0!==r?r:16),[!!e,o]},M=["className","style","classNames","styles"],A=function(e){var t,n=e.configList,i=e.placement,a=e.prefixCls,c=e.className,l=e.style,u=e.motion,s=e.onAllNoticeRemoved,f=e.onNoticeClose,d=e.stack,p=(0,o.useContext)(C).classNames,h=(0,o.useRef)({}),b=(0,o.useState)(null),O=(0,v.Z)(b,2),k=O[0],j=O[1],A=(0,o.useState)([]),T=(0,v.Z)(A,2),N=T[0],I=T[1],Z=n.map(function(e){return{config:e,key:String(e.key)}}),R=P(d),_=(0,v.Z)(R,2),D=_[0],B=_[1],L=B.offset,z=B.threshold,F=B.gap,H=D&&(N.length>0||Z.length<=z),W="function"==typeof u?u(i):u;return(0,o.useEffect)(function(){D&&N.length>1&&I(function(e){return e.filter(function(e){return Z.some(function(t){return e===t.key})})})},[N,Z,D]),(0,o.useEffect)(function(){var e,t;D&&h.current[null===(e=Z[Z.length-1])||void 0===e?void 0:e.key]&&j(h.current[null===(t=Z[Z.length-1])||void 0===t?void 0:t.key])},[Z,D]),o.createElement(E.V4,(0,x.Z)({key:i,className:m()(a,"".concat(a,"-").concat(i),null==p?void 0:p.list,c,(t={},(0,w.Z)(t,"".concat(a,"-stack"),!!D),(0,w.Z)(t,"".concat(a,"-stack-expanded"),H),t)),style:l,keys:Z,motionAppear:!0},W,{onAllRemoved:function(){s(i)}}),function(e,t){var n=e.config,c=e.className,l=e.style,u=e.index,s=n.key,d=n.times,v=String(s),b=n.className,w=n.style,E=n.classNames,O=n.styles,C=(0,g.Z)(n,M),j=Z.findIndex(function(e){return e.key===v}),P={};if(D){var A=Z.length-1-(j>-1?j:u-1),T="top"===i||"bottom"===i?"-50%":"0";if(A>0){P.height=H?null===(R=h.current[v])||void 0===R?void 0:R.offsetHeight:null==k?void 0:k.offsetHeight;for(var R,_,B,z,W=0,q=0;q-1?h.current[v]=e:delete h.current[v]},prefixCls:a,classNames:E,styles:O,className:m()(b,null==p?void 0:p.notice),style:w,times:d,key:s,eventKey:s,onNoticeClose:f,hovering:D&&N.length>0})))})},T=o.forwardRef(function(e,t){var n=e.prefixCls,i=void 0===n?"rc-notification":n,a=e.container,c=e.motion,l=e.maxCount,u=e.className,s=e.style,f=e.onAllRemoved,d=e.stack,p=e.renderNotifications,h=o.useState([]),m=(0,v.Z)(h,2),g=m[0],x=m[1],w=function(e){var t,n=g.find(function(t){return t.key===e});null==n||null===(t=n.onClose)||void 0===t||t.call(n),x(function(t){return t.filter(function(t){return t.key!==e})})};o.useImperativeHandle(t,function(){return{open:function(e){x(function(t){var n,o=(0,r.Z)(t),i=o.findIndex(function(t){return t.key===e.key}),a=(0,y.Z)({},e);return i>=0?(a.times=((null===(n=t[i])||void 0===n?void 0:n.times)||0)+1,o[i]=a):(a.times=0,o.push(a)),l>0&&o.length>l&&(o=o.slice(-l)),o})},close:function(e){w(e)},destroy:function(){x([])}}});var E=o.useState({}),O=(0,v.Z)(E,2),S=O[0],C=O[1];o.useEffect(function(){var e={};g.forEach(function(t){var n=t.placement,r=void 0===n?"topRight":n;r&&(e[r]=e[r]||[],e[r].push(t))}),Object.keys(S).forEach(function(t){e[t]=e[t]||[]}),C(e)},[g]);var k=function(e){C(function(t){var n=(0,y.Z)({},t);return(n[e]||[]).length||delete n[e],n})},j=o.useRef(!1);if(o.useEffect(function(){Object.keys(S).length>0?j.current=!0:j.current&&(null==f||f(),j.current=!1)},[S]),!a)return null;var P=Object.keys(S);return(0,b.createPortal)(o.createElement(o.Fragment,null,P.map(function(e){var t=S[e],n=o.createElement(A,{key:e,configList:t,placement:e,prefixCls:i,className:null==u?void 0:u(e),style:null==s?void 0:s(e),motion:c,onNoticeClose:w,onAllNoticeRemoved:k,stack:d});return p?p(n,{prefixCls:i,key:e}):n})),a)}),N=["getContainer","motion","prefixCls","maxCount","className","style","onAllRemoved","stack","renderNotifications"],I=function(){return document.body},Z=0,R=n(8985),_=n(51761),D=n(11303),B=n(76585),L=n(80316);let z=e=>{let{componentCls:t,iconCls:n,boxShadow:r,colorText:o,colorSuccess:i,colorError:a,colorWarning:c,colorInfo:l,fontSizeLG:u,motionEaseInOutCirc:s,motionDurationSlow:f,marginXS:d,paddingXS:p,borderRadiusLG:h,zIndexPopup:m,contentPadding:v,contentBg:g}=e,y="".concat(t,"-notice"),b=new R.E4("MessageMoveIn",{"0%":{padding:0,transform:"translateY(-100%)",opacity:0},"100%":{padding:p,transform:"translateY(0)",opacity:1}}),x=new R.E4("MessageMoveOut",{"0%":{maxHeight:e.height,padding:p,opacity:1},"100%":{maxHeight:0,padding:0,opacity:0}}),w={padding:p,textAlign:"center",["".concat(t,"-custom-content > ").concat(n)]:{verticalAlign:"text-bottom",marginInlineEnd:d,fontSize:u},["".concat(y,"-content")]:{display:"inline-block",padding:v,background:g,borderRadius:h,boxShadow:r,pointerEvents:"all"},["".concat(t,"-success > ").concat(n)]:{color:i},["".concat(t,"-error > ").concat(n)]:{color:a},["".concat(t,"-warning > ").concat(n)]:{color:c},["".concat(t,"-info > ").concat(n,",\n ").concat(t,"-loading > ").concat(n)]:{color:l}};return[{[t]:Object.assign(Object.assign({},(0,D.Wf)(e)),{color:o,position:"fixed",top:d,width:"100%",pointerEvents:"none",zIndex:m,["".concat(t,"-move-up")]:{animationFillMode:"forwards"},["\n ".concat(t,"-move-up-appear,\n ").concat(t,"-move-up-enter\n ")]:{animationName:b,animationDuration:f,animationPlayState:"paused",animationTimingFunction:s},["\n ".concat(t,"-move-up-appear").concat(t,"-move-up-appear-active,\n ").concat(t,"-move-up-enter").concat(t,"-move-up-enter-active\n ")]:{animationPlayState:"running"},["".concat(t,"-move-up-leave")]:{animationName:x,animationDuration:f,animationPlayState:"paused",animationTimingFunction:s},["".concat(t,"-move-up-leave").concat(t,"-move-up-leave-active")]:{animationPlayState:"running"},"&-rtl":{direction:"rtl",span:{direction:"rtl"}}})},{[t]:{["".concat(y,"-wrapper")]:Object.assign({},w)}},{["".concat(t,"-notice-pure-panel")]:Object.assign(Object.assign({},w),{padding:0,textAlign:"start"})}]};var F=(0,B.I$)("Message",e=>[z((0,L.TS)(e,{height:150}))],e=>({zIndexPopup:e.zIndexPopupBase+_.u6+10,contentBg:e.colorBgElevated,contentPadding:"".concat((e.controlHeightLG-e.fontSize*e.lineHeight)/2,"px ").concat(e.paddingSM,"px")})),H=n(92935),W=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let q={info:o.createElement(d.Z,null),success:o.createElement(u.Z,null),error:o.createElement(s.Z,null),warning:o.createElement(f.Z,null),loading:o.createElement(p.Z,null)},V=e=>{let{prefixCls:t,type:n,icon:r,children:i}=e;return o.createElement("div",{className:m()("".concat(t,"-custom-content"),"".concat(t,"-").concat(n))},r||q[n],o.createElement("span",null,i))};var U=n(81303),X=n(76564);function G(e){let t;let n=new Promise(n=>{t=e(()=>{n(!0)})}),r=()=>{null==t||t()};return r.then=(e,t)=>n.then(e,t),r.promise=n,r}var K=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let $=e=>{let{children:t,prefixCls:n}=e,r=(0,H.Z)(n),[i,a,c]=F(n,r);return i(o.createElement(k,{classNames:{list:m()(a,c,r)}},t))},Y=(e,t)=>{let{prefixCls:n,key:r}=t;return o.createElement($,{prefixCls:n,key:r},e)},Q=o.forwardRef((e,t)=>{let{top:n,prefixCls:i,getContainer:a,maxCount:l,duration:u=3,rtl:s,transitionName:f,onAllRemoved:d}=e,{getPrefixCls:p,getPopupContainer:h,message:y,direction:b}=o.useContext(c.E_),x=i||p("message"),w=o.createElement("span",{className:"".concat(x,"-close-x")},o.createElement(U.Z,{className:"".concat(x,"-close-icon")})),[E,O]=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.getContainer,n=void 0===t?I:t,i=e.motion,a=e.prefixCls,c=e.maxCount,l=e.className,u=e.style,s=e.onAllRemoved,f=e.stack,d=e.renderNotifications,p=(0,g.Z)(e,N),h=o.useState(),m=(0,v.Z)(h,2),y=m[0],b=m[1],x=o.useRef(),w=o.createElement(T,{container:y,ref:x,prefixCls:a,motion:i,maxCount:c,className:l,style:u,onAllRemoved:s,stack:f,renderNotifications:d}),E=o.useState([]),O=(0,v.Z)(E,2),S=O[0],C=O[1],k=o.useMemo(function(){return{open:function(e){var t=function(){for(var e={},t=arguments.length,n=Array(t),r=0;r({left:"50%",transform:"translateX(-50%)",top:null!=n?n:8}),className:()=>m()({["".concat(x,"-rtl")]:null!=s?s:"rtl"===b}),motion:()=>({motionName:null!=f?f:"".concat(x,"-move-up")}),closable:!1,closeIcon:w,duration:u,getContainer:()=>(null==a?void 0:a())||(null==h?void 0:h())||document.body,maxCount:l,onAllRemoved:d,renderNotifications:Y});return o.useImperativeHandle(t,()=>Object.assign(Object.assign({},E),{prefixCls:x,message:y})),O}),J=0;function ee(e){let t=o.useRef(null);return(0,X.ln)("Message"),[o.useMemo(()=>{let e=e=>{var n;null===(n=t.current)||void 0===n||n.close(e)},n=n=>{if(!t.current){let e=()=>{};return e.then=()=>{},e}let{open:r,prefixCls:i,message:a}=t.current,c="".concat(i,"-notice"),{content:l,icon:u,type:s,key:f,className:d,style:p,onClose:h}=n,v=K(n,["content","icon","type","key","className","style","onClose"]),g=f;return null==g&&(J+=1,g="antd-message-".concat(J)),G(t=>(r(Object.assign(Object.assign({},v),{key:g,content:o.createElement(V,{prefixCls:i,type:s,icon:u},l),placement:"top",className:m()(s&&"".concat(c,"-").concat(s),d,null==a?void 0:a.className),style:Object.assign(Object.assign({},null==a?void 0:a.style),p),onClose:()=>{null==h||h(),t()}})),()=>{e(g)}))},r={open:n,destroy:n=>{var r;void 0!==n?e(n):null===(r=t.current)||void 0===r||r.destroy()}};return["info","success","warning","error","loading"].forEach(e=>{r[e]=(t,r,o)=>{let i,a;return"function"==typeof r?a=r:(i=r,a=o),n(Object.assign(Object.assign({onClose:a,duration:i},t&&"object"==typeof t&&"content"in t?t:{content:t}),{type:e}))}}),r},[]),o.createElement(Q,Object.assign({key:"message-holder"},e,{ref:t}))]}let et=null,en=e=>e(),er=[],eo={};function ei(){let{getContainer:e,duration:t,rtl:n,maxCount:r,top:o}=eo,i=(null==e?void 0:e())||document.body;return{getContainer:()=>i,duration:t,rtl:n,maxCount:r,top:o}}let ea=o.forwardRef((e,t)=>{let{messageConfig:n,sync:r}=e,{getPrefixCls:i}=(0,o.useContext)(c.E_),l=eo.prefixCls||i("message"),u=(0,o.useContext)(a),[s,f]=ee(Object.assign(Object.assign(Object.assign({},n),{prefixCls:l}),u.message));return o.useImperativeHandle(t,()=>{let e=Object.assign({},s);return Object.keys(e).forEach(t=>{e[t]=function(){return r(),s[t].apply(s,arguments)}}),{instance:e,sync:r}}),f}),ec=o.forwardRef((e,t)=>{let[n,r]=o.useState(ei),i=()=>{r(ei)};o.useEffect(i,[]);let a=(0,l.w6)(),c=a.getRootPrefixCls(),u=a.getIconPrefixCls(),s=a.getTheme(),f=o.createElement(ea,{ref:t,sync:i,messageConfig:n});return o.createElement(l.ZP,{prefixCls:c,iconPrefixCls:u,theme:s},a.holderRender?a.holderRender(f):f)});function el(){if(!et){let e=document.createDocumentFragment(),t={fragment:e};et=t,en(()=>{(0,i.s)(o.createElement(ec,{ref:e=>{let{instance:n,sync:r}=e||{};Promise.resolve().then(()=>{!t.instance&&n&&(t.instance=n,t.sync=r,el())})}}),e)});return}et.instance&&(er.forEach(e=>{let{type:t,skipped:n}=e;if(!n)switch(t){case"open":en(()=>{let t=et.instance.open(Object.assign(Object.assign({},eo),e.config));null==t||t.then(e.resolve),e.setCloseFn(t)});break;case"destroy":en(()=>{null==et||et.instance.destroy(e.key)});break;default:en(()=>{var n;let o=(n=et.instance)[t].apply(n,(0,r.Z)(e.args));null==o||o.then(e.resolve),e.setCloseFn(o)})}}),er=[])}let eu={open:function(e){let t=G(t=>{let n;let r={type:"open",config:e,resolve:t,setCloseFn:e=>{n=e}};return er.push(r),()=>{n?en(()=>{n()}):r.skipped=!0}});return el(),t},destroy:function(e){er.push({type:"destroy",key:e}),el()},config:function(e){eo=Object.assign(Object.assign({},eo),e),en(()=>{var e;null===(e=null==et?void 0:et.sync)||void 0===e||e.call(et)})},useMessage:function(e){return ee(e)},_InternalPanelDoNotUseOrYouWillBeFired:e=>{let{prefixCls:t,className:n,type:r,icon:i,content:a}=e,l=W(e,["prefixCls","className","type","icon","content"]),{getPrefixCls:u}=o.useContext(c.E_),s=t||u("message"),f=(0,H.Z)(s),[d,p,h]=F(s,f);return d(o.createElement(S,Object.assign({},l,{prefixCls:s,className:m()(n,p,"".concat(s,"-notice-pure-panel"),h,f),eventKey:"pure",duration:null,content:o.createElement(V,{prefixCls:s,type:r,icon:i},a)})))}};["success","info","warning","error","loading"].forEach(e=>{eu[e]=function(){for(var t=arguments.length,n=Array(t),r=0;r{let r;let o={type:e,args:t,resolve:n,setCloseFn:e=>{r=e}};return er.push(o),()=>{r?en(()=>{r()}):o.skipped=!0}});return el(),n}(e,n)}});var es=eu},77171:function(e,t,n){let r;n.d(t,{Z:function(){return eY}});var o=n(63787),i=n(64090),a=n(37274),c=n(57499),l=n(54165),u=n(99537),s=n(77136),f=n(20653),d=n(40388),p=n(16480),h=n.n(p),m=n(51761),v=n(47387),g=n(70595),y=n(24750),b=n(89211),x=n(1861),w=n(51350),E=e=>{let{type:t,children:n,prefixCls:r,buttonProps:o,close:a,autoFocus:c,emitEvent:l,isSilent:u,quitOnNullishReturnValue:s,actionFn:f}=e,d=i.useRef(!1),p=i.useRef(null),[h,m]=(0,b.Z)(!1),v=function(){null==a||a.apply(void 0,arguments)};i.useEffect(()=>{let e=null;return c&&(e=setTimeout(()=>{var e;null===(e=p.current)||void 0===e||e.focus()})),()=>{e&&clearTimeout(e)}},[]);let g=e=>{e&&e.then&&(m(!0),e.then(function(){m(!1,!0),v.apply(void 0,arguments),d.current=!1},e=>{if(m(!1,!0),d.current=!1,null==u||!u())return Promise.reject(e)}))};return i.createElement(x.ZP,Object.assign({},(0,w.nx)(t),{onClick:e=>{let t;if(!d.current){if(d.current=!0,!f){v();return}if(l){var n;if(t=f(e),s&&!((n=t)&&n.then)){d.current=!1,v(e);return}}else if(f.length)t=f(a),d.current=!1;else if(!(t=f())){v();return}g(t)}},loading:h,prefixCls:r},o,{ref:p}),n)};let O=i.createContext({}),{Provider:S}=O;var C=()=>{let{autoFocusButton:e,cancelButtonProps:t,cancelTextLocale:n,isSilent:r,mergedOkCancel:o,rootPrefixCls:a,close:c,onCancel:l,onConfirm:u}=(0,i.useContext)(O);return o?i.createElement(E,{isSilent:r,actionFn:l,close:function(){null==c||c.apply(void 0,arguments),null==u||u(!1)},autoFocus:"cancel"===e,buttonProps:t,prefixCls:"".concat(a,"-btn")},n):null},k=()=>{let{autoFocusButton:e,close:t,isSilent:n,okButtonProps:r,rootPrefixCls:o,okTextLocale:a,okType:c,onConfirm:l,onOk:u}=(0,i.useContext)(O);return i.createElement(E,{isSilent:n,type:c||"primary",actionFn:u,close:function(){null==t||t.apply(void 0,arguments),null==l||l(!0)},autoFocus:"ok"===e,buttonProps:r,prefixCls:"".concat(o,"-btn")},a)},j=n(81303),P=n(14749),M=n(80406),A=n(88804),T=i.createContext({}),N=n(5239),I=n(31506),Z=n(91010),R=n(4295),_=n(72480);function D(e,t,n){var r=t;return!r&&n&&(r="".concat(e,"-").concat(n)),r}function B(e,t){var n=e["page".concat(t?"Y":"X","Offset")],r="scroll".concat(t?"Top":"Left");if("number"!=typeof n){var o=e.document;"number"!=typeof(n=o.documentElement[r])&&(n=o.body[r])}return n}var L=n(49367),z=n(74084),F=i.memo(function(e){return e.children},function(e,t){return!t.shouldUpdate}),H={width:0,height:0,overflow:"hidden",outline:"none"},W=i.forwardRef(function(e,t){var n,r,o,a=e.prefixCls,c=e.className,l=e.style,u=e.title,s=e.ariaId,f=e.footer,d=e.closable,p=e.closeIcon,m=e.onClose,v=e.children,g=e.bodyStyle,y=e.bodyProps,b=e.modalRender,x=e.onMouseDown,w=e.onMouseUp,E=e.holderRef,O=e.visible,S=e.forceRender,C=e.width,k=e.height,j=e.classNames,M=e.styles,A=i.useContext(T).panel,I=(0,z.x1)(E,A),Z=(0,i.useRef)(),R=(0,i.useRef)();i.useImperativeHandle(t,function(){return{focus:function(){var e;null===(e=Z.current)||void 0===e||e.focus()},changeActive:function(e){var t=document.activeElement;e&&t===R.current?Z.current.focus():e||t!==Z.current||R.current.focus()}}});var _={};void 0!==C&&(_.width=C),void 0!==k&&(_.height=k),f&&(n=i.createElement("div",{className:h()("".concat(a,"-footer"),null==j?void 0:j.footer),style:(0,N.Z)({},null==M?void 0:M.footer)},f)),u&&(r=i.createElement("div",{className:h()("".concat(a,"-header"),null==j?void 0:j.header),style:(0,N.Z)({},null==M?void 0:M.header)},i.createElement("div",{className:"".concat(a,"-title"),id:s},u))),d&&(o=i.createElement("button",{type:"button",onClick:m,"aria-label":"Close",className:"".concat(a,"-close")},p||i.createElement("span",{className:"".concat(a,"-close-x")})));var D=i.createElement("div",{className:h()("".concat(a,"-content"),null==j?void 0:j.content),style:null==M?void 0:M.content},o,r,i.createElement("div",(0,P.Z)({className:h()("".concat(a,"-body"),null==j?void 0:j.body),style:(0,N.Z)((0,N.Z)({},g),null==M?void 0:M.body)},y),v),n);return i.createElement("div",{key:"dialog-element",role:"dialog","aria-labelledby":u?s:null,"aria-modal":"true",ref:I,style:(0,N.Z)((0,N.Z)({},l),_),className:h()(a,c),onMouseDown:x,onMouseUp:w},i.createElement("div",{tabIndex:0,ref:Z,style:H,"aria-hidden":"true"}),i.createElement(F,{shouldUpdate:O||S},b?b(D):D),i.createElement("div",{tabIndex:0,ref:R,style:H,"aria-hidden":"true"}))}),q=i.forwardRef(function(e,t){var n=e.prefixCls,r=e.title,o=e.style,a=e.className,c=e.visible,l=e.forceRender,u=e.destroyOnClose,s=e.motionName,f=e.ariaId,d=e.onVisibleChanged,p=e.mousePosition,m=(0,i.useRef)(),v=i.useState(),g=(0,M.Z)(v,2),y=g[0],b=g[1],x={};function w(){var e,t,n,r,o,i=(n={left:(t=(e=m.current).getBoundingClientRect()).left,top:t.top},o=(r=e.ownerDocument).defaultView||r.parentWindow,n.left+=B(o),n.top+=B(o,!0),n);b(p?"".concat(p.x-i.left,"px ").concat(p.y-i.top,"px"):"")}return y&&(x.transformOrigin=y),i.createElement(L.ZP,{visible:c,onVisibleChanged:d,onAppearPrepare:w,onEnterPrepare:w,forceRender:l,motionName:s,removeOnLeave:u,ref:m},function(c,l){var u=c.className,s=c.style;return i.createElement(W,(0,P.Z)({},e,{ref:t,title:r,ariaId:f,prefixCls:n,holderRef:l,style:(0,N.Z)((0,N.Z)((0,N.Z)({},s),o),x),className:h()(a,u)}))})});function V(e){var t=e.prefixCls,n=e.style,r=e.visible,o=e.maskProps,a=e.motionName,c=e.className;return i.createElement(L.ZP,{key:"mask",visible:r,motionName:a,leavedClassName:"".concat(t,"-mask-hidden")},function(e,r){var a=e.className,l=e.style;return i.createElement("div",(0,P.Z)({ref:r,style:(0,N.Z)((0,N.Z)({},l),n),className:h()("".concat(t,"-mask"),a,c)},o))})}function U(e){var t=e.prefixCls,n=void 0===t?"rc-dialog":t,r=e.zIndex,o=e.visible,a=void 0!==o&&o,c=e.keyboard,l=void 0===c||c,u=e.focusTriggerAfterClose,s=void 0===u||u,f=e.wrapStyle,d=e.wrapClassName,p=e.wrapProps,m=e.onClose,v=e.afterOpenChange,g=e.afterClose,y=e.transitionName,b=e.animation,x=e.closable,w=e.mask,E=void 0===w||w,O=e.maskTransitionName,S=e.maskAnimation,C=e.maskClosable,k=e.maskStyle,j=e.maskProps,A=e.rootClassName,T=e.classNames,B=e.styles,L=(0,i.useRef)(),z=(0,i.useRef)(),F=(0,i.useRef)(),H=i.useState(a),W=(0,M.Z)(H,2),U=W[0],X=W[1],G=(0,Z.Z)();function K(e){null==m||m(e)}var $=(0,i.useRef)(!1),Y=(0,i.useRef)(),Q=null;return(void 0===C||C)&&(Q=function(e){$.current?$.current=!1:z.current===e.target&&K(e)}),(0,i.useEffect)(function(){a&&(X(!0),(0,I.Z)(z.current,document.activeElement)||(L.current=document.activeElement))},[a]),(0,i.useEffect)(function(){return function(){clearTimeout(Y.current)}},[]),i.createElement("div",(0,P.Z)({className:h()("".concat(n,"-root"),A)},(0,_.Z)(e,{data:!0})),i.createElement(V,{prefixCls:n,visible:E&&a,motionName:D(n,O,S),style:(0,N.Z)((0,N.Z)({zIndex:r},k),null==B?void 0:B.mask),maskProps:j,className:null==T?void 0:T.mask}),i.createElement("div",(0,P.Z)({tabIndex:-1,onKeyDown:function(e){if(l&&e.keyCode===R.Z.ESC){e.stopPropagation(),K(e);return}a&&e.keyCode===R.Z.TAB&&F.current.changeActive(!e.shiftKey)},className:h()("".concat(n,"-wrap"),d,null==T?void 0:T.wrapper),ref:z,onClick:Q,style:(0,N.Z)((0,N.Z)((0,N.Z)({zIndex:r},f),null==B?void 0:B.wrapper),{},{display:U?null:"none"})},p),i.createElement(q,(0,P.Z)({},e,{onMouseDown:function(){clearTimeout(Y.current),$.current=!0},onMouseUp:function(){Y.current=setTimeout(function(){$.current=!1})},ref:F,closable:void 0===x||x,ariaId:G,prefixCls:n,visible:a&&U,onClose:K,onVisibleChanged:function(e){if(e)!function(){if(!(0,I.Z)(z.current,document.activeElement)){var e;null===(e=F.current)||void 0===e||e.focus()}}();else{if(X(!1),E&&L.current&&s){try{L.current.focus({preventScroll:!0})}catch(e){}L.current=null}U&&(null==g||g())}null==v||v(e)},motionName:D(n,y,b)}))))}q.displayName="Content",n(53850);var X=function(e){var t=e.visible,n=e.getContainer,r=e.forceRender,o=e.destroyOnClose,a=void 0!==o&&o,c=e.afterClose,l=e.panelRef,u=i.useState(t),s=(0,M.Z)(u,2),f=s[0],d=s[1],p=i.useMemo(function(){return{panel:l}},[l]);return(i.useEffect(function(){t&&d(!0)},[t]),r||!a||f)?i.createElement(T.Provider,{value:p},i.createElement(A.Z,{open:t||r||f,autoDestroy:!1,getContainer:n,autoLock:t||f},i.createElement(U,(0,P.Z)({},e,{destroyOnClose:a,afterClose:function(){null==c||c(),d(!1)}})))):null};X.displayName="Dialog";var G=function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:i.createElement(j.Z,null),o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if("boolean"==typeof e?!e:void 0===t?!o:!1===t||null===t)return[!1,null];let a="boolean"==typeof t||null==t?r:t;return[!0,n?n(a):a]},K=n(22127),$=n(86718),Y=n(47137),Q=n(92801),J=n(48563);function ee(){}let et=i.createContext({add:ee,remove:ee});var en=n(17094),er=()=>{let{cancelButtonProps:e,cancelTextLocale:t,onCancel:n}=(0,i.useContext)(O);return i.createElement(x.ZP,Object.assign({onClick:n},e),t)},eo=()=>{let{confirmLoading:e,okButtonProps:t,okType:n,okTextLocale:r,onOk:o}=(0,i.useContext)(O);return i.createElement(x.ZP,Object.assign({},(0,w.nx)(n),{loading:e,onClick:o},t),r)},ei=n(4678);function ea(e,t){return i.createElement("span",{className:"".concat(e,"-close-x")},t||i.createElement(j.Z,{className:"".concat(e,"-close-icon")}))}let ec=e=>{let t;let{okText:n,okType:r="primary",cancelText:a,confirmLoading:c,onOk:l,onCancel:u,okButtonProps:s,cancelButtonProps:f,footer:d}=e,[p]=(0,g.Z)("Modal",(0,ei.A)()),h={confirmLoading:c,okButtonProps:s,cancelButtonProps:f,okTextLocale:n||(null==p?void 0:p.okText),cancelTextLocale:a||(null==p?void 0:p.cancelText),okType:r,onOk:l,onCancel:u},m=i.useMemo(()=>h,(0,o.Z)(Object.values(h)));return"function"==typeof d||void 0===d?(t=i.createElement(i.Fragment,null,i.createElement(er,null),i.createElement(eo,null)),"function"==typeof d&&(t=d(t,{OkBtn:eo,CancelBtn:er})),t=i.createElement(S,{value:m},t)):t=d,i.createElement(en.n,{disabled:!1},t)};var el=n(11303),eu=n(8985),es=n(59353);let ef=new eu.E4("antFadeIn",{"0%":{opacity:0},"100%":{opacity:1}}),ed=new eu.E4("antFadeOut",{"0%":{opacity:1},"100%":{opacity:0}}),ep=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],{antCls:n}=e,r="".concat(n,"-fade"),o=t?"&":"";return[(0,es.R)(r,ef,ed,e.motionDurationMid,t),{["\n ".concat(o).concat(r,"-enter,\n ").concat(o).concat(r,"-appear\n ")]:{opacity:0,animationTimingFunction:"linear"},["".concat(o).concat(r,"-leave")]:{animationTimingFunction:"linear"}}]};var eh=n(58854),em=n(80316),ev=n(76585);function eg(e){return{position:e,inset:0}}let ey=e=>{let{componentCls:t,antCls:n}=e;return[{["".concat(t,"-root")]:{["".concat(t).concat(n,"-zoom-enter, ").concat(t).concat(n,"-zoom-appear")]:{transform:"none",opacity:0,animationDuration:e.motionDurationSlow,userSelect:"none"},["".concat(t).concat(n,"-zoom-leave ").concat(t,"-content")]:{pointerEvents:"none"},["".concat(t,"-mask")]:Object.assign(Object.assign({},eg("fixed")),{zIndex:e.zIndexPopupBase,height:"100%",backgroundColor:e.colorBgMask,pointerEvents:"none",["".concat(t,"-hidden")]:{display:"none"}}),["".concat(t,"-wrap")]:Object.assign(Object.assign({},eg("fixed")),{zIndex:e.zIndexPopupBase,overflow:"auto",outline:0,WebkitOverflowScrolling:"touch",["&:has(".concat(t).concat(n,"-zoom-enter), &:has(").concat(t).concat(n,"-zoom-appear)")]:{pointerEvents:"none"}})}},{["".concat(t,"-root")]:ep(e)}]},eb=e=>{let{componentCls:t}=e;return[{["".concat(t,"-root")]:{["".concat(t,"-wrap-rtl")]:{direction:"rtl"},["".concat(t,"-centered")]:{textAlign:"center","&::before":{display:"inline-block",width:0,height:"100%",verticalAlign:"middle",content:'""'},[t]:{top:0,display:"inline-block",paddingBottom:0,textAlign:"start",verticalAlign:"middle"}},["@media (max-width: ".concat(e.screenSMMax,"px)")]:{[t]:{maxWidth:"calc(100vw - 16px)",margin:"".concat((0,eu.bf)(e.marginXS)," auto")},["".concat(t,"-centered")]:{[t]:{flex:1}}}}},{[t]:Object.assign(Object.assign({},(0,el.Wf)(e)),{pointerEvents:"none",position:"relative",top:100,width:"auto",maxWidth:"calc(100vw - ".concat((0,eu.bf)(e.calc(e.margin).mul(2).equal()),")"),margin:"0 auto",paddingBottom:e.paddingLG,["".concat(t,"-title")]:{margin:0,color:e.titleColor,fontWeight:e.fontWeightStrong,fontSize:e.titleFontSize,lineHeight:e.titleLineHeight,wordWrap:"break-word"},["".concat(t,"-content")]:{position:"relative",backgroundColor:e.contentBg,backgroundClip:"padding-box",border:0,borderRadius:e.borderRadiusLG,boxShadow:e.boxShadow,pointerEvents:"auto",padding:e.contentPadding},["".concat(t,"-close")]:Object.assign({position:"absolute",top:e.calc(e.modalHeaderHeight).sub(e.modalCloseBtnSize).div(2).equal(),insetInlineEnd:e.calc(e.modalHeaderHeight).sub(e.modalCloseBtnSize).div(2).equal(),zIndex:e.calc(e.zIndexPopupBase).add(10).equal(),padding:0,color:e.modalCloseIconColor,fontWeight:e.fontWeightStrong,lineHeight:1,textDecoration:"none",background:"transparent",borderRadius:e.borderRadiusSM,width:e.modalCloseBtnSize,height:e.modalCloseBtnSize,border:0,outline:0,cursor:"pointer",transition:"color ".concat(e.motionDurationMid,", background-color ").concat(e.motionDurationMid),"&-x":{display:"flex",fontSize:e.fontSizeLG,fontStyle:"normal",lineHeight:"".concat((0,eu.bf)(e.modalCloseBtnSize)),justifyContent:"center",textTransform:"none",textRendering:"auto"},"&:hover":{color:e.modalIconHoverColor,backgroundColor:e.closeBtnHoverBg,textDecoration:"none"},"&:active":{backgroundColor:e.closeBtnActiveBg}},(0,el.Qy)(e)),["".concat(t,"-header")]:{color:e.colorText,background:e.headerBg,borderRadius:"".concat((0,eu.bf)(e.borderRadiusLG)," ").concat((0,eu.bf)(e.borderRadiusLG)," 0 0"),marginBottom:e.headerMarginBottom,padding:e.headerPadding,borderBottom:e.headerBorderBottom},["".concat(t,"-body")]:{fontSize:e.fontSize,lineHeight:e.lineHeight,wordWrap:"break-word",padding:e.bodyPadding},["".concat(t,"-footer")]:{textAlign:"end",background:e.footerBg,marginTop:e.footerMarginTop,padding:e.footerPadding,borderTop:e.footerBorderTop,borderRadius:e.footerBorderRadius,["> ".concat(e.antCls,"-btn + ").concat(e.antCls,"-btn")]:{marginInlineStart:e.marginXS}},["".concat(t,"-open")]:{overflow:"hidden"}})},{["".concat(t,"-pure-panel")]:{top:"auto",padding:0,display:"flex",flexDirection:"column",["".concat(t,"-content,\n ").concat(t,"-body,\n ").concat(t,"-confirm-body-wrapper")]:{display:"flex",flexDirection:"column",flex:"auto"},["".concat(t,"-confirm-body")]:{marginBottom:"auto"}}}]},ex=e=>{let{componentCls:t}=e;return{["".concat(t,"-root")]:{["".concat(t,"-wrap-rtl")]:{direction:"rtl",["".concat(t,"-confirm-body")]:{direction:"rtl"}}}}},ew=e=>{let t=e.padding,n=e.fontSizeHeading5,r=e.lineHeightHeading5;return(0,em.TS)(e,{modalHeaderHeight:e.calc(e.calc(r).mul(n).equal()).add(e.calc(t).mul(2).equal()).equal(),modalFooterBorderColorSplit:e.colorSplit,modalFooterBorderStyle:e.lineType,modalFooterBorderWidth:e.lineWidth,modalIconHoverColor:e.colorIconHover,modalCloseIconColor:e.colorIcon,modalCloseBtnSize:e.fontHeight,modalConfirmIconSize:e.fontHeight,modalTitleHeight:e.calc(e.titleFontSize).mul(e.titleLineHeight).equal()})},eE=e=>({footerBg:"transparent",headerBg:e.colorBgElevated,titleLineHeight:e.lineHeightHeading5,titleFontSize:e.fontSizeHeading5,contentBg:e.colorBgElevated,titleColor:e.colorTextHeading,closeBtnHoverBg:e.wireframe?"transparent":e.colorFillContent,closeBtnActiveBg:e.wireframe?"transparent":e.colorFillContentHover,contentPadding:e.wireframe?0:"".concat((0,eu.bf)(e.paddingMD)," ").concat((0,eu.bf)(e.paddingContentHorizontalLG)),headerPadding:e.wireframe?"".concat((0,eu.bf)(e.padding)," ").concat((0,eu.bf)(e.paddingLG)):0,headerBorderBottom:e.wireframe?"".concat((0,eu.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorSplit):"none",headerMarginBottom:e.wireframe?0:e.marginXS,bodyPadding:e.wireframe?e.paddingLG:0,footerPadding:e.wireframe?"".concat((0,eu.bf)(e.paddingXS)," ").concat((0,eu.bf)(e.padding)):0,footerBorderTop:e.wireframe?"".concat((0,eu.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorSplit):"none",footerBorderRadius:e.wireframe?"0 0 ".concat((0,eu.bf)(e.borderRadiusLG)," ").concat((0,eu.bf)(e.borderRadiusLG)):0,footerMarginTop:e.wireframe?0:e.marginSM,confirmBodyPadding:e.wireframe?"".concat((0,eu.bf)(2*e.padding)," ").concat((0,eu.bf)(2*e.padding)," ").concat((0,eu.bf)(e.paddingLG)):0,confirmIconMarginInlineEnd:e.wireframe?e.margin:e.marginSM,confirmBtnsMarginTop:e.wireframe?e.marginLG:e.marginSM});var eO=(0,ev.I$)("Modal",e=>{let t=ew(e);return[eb(t),ex(t),ey(t),(0,eh._y)(t,"zoom")]},eE,{unitless:{titleLineHeight:!0}}),eS=n(92935),eC=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};(0,K.Z)()&&window.document.documentElement&&document.documentElement.addEventListener("click",e=>{r={x:e.pageX,y:e.pageY},setTimeout(()=>{r=null},100)},!0);var ek=e=>{var t;let{getPopupContainer:n,getPrefixCls:o,direction:a,modal:l}=i.useContext(c.E_),u=t=>{let{onCancel:n}=e;null==n||n(t)},{prefixCls:s,className:f,rootClassName:d,open:p,wrapClassName:g,centered:y,getContainer:b,closeIcon:x,closable:w,focusTriggerAfterClose:E=!0,style:O,visible:S,width:C=520,footer:k,classNames:P,styles:M}=e,A=eC(e,["prefixCls","className","rootClassName","open","wrapClassName","centered","getContainer","closeIcon","closable","focusTriggerAfterClose","style","visible","width","footer","classNames","styles"]),T=o("modal",s),N=o(),I=(0,eS.Z)(T),[Z,R,_]=eO(T,I),D=h()(g,{["".concat(T,"-centered")]:!!y,["".concat(T,"-wrap-rtl")]:"rtl"===a}),B=null!==k&&i.createElement(ec,Object.assign({},e,{onOk:t=>{let{onOk:n}=e;null==n||n(t)},onCancel:u})),[L,z]=G(w,x,e=>ea(T,e),i.createElement(j.Z,{className:"".concat(T,"-close-icon")}),!0),F=function(e){let t=i.useContext(et),n=i.useRef();return(0,J.zX)(r=>{if(r){let o=e?r.querySelector(e):r;t.add(o),n.current=o}else t.remove(n.current)})}(".".concat(T,"-content")),[H,W]=(0,m.Cn)("Modal",A.zIndex);return Z(i.createElement(Q.BR,null,i.createElement(Y.Ux,{status:!0,override:!0},i.createElement($.Z.Provider,{value:W},i.createElement(X,Object.assign({width:C},A,{zIndex:H,getContainer:void 0===b?n:b,prefixCls:T,rootClassName:h()(R,d,_,I),footer:B,visible:null!=p?p:S,mousePosition:null!==(t=A.mousePosition)&&void 0!==t?t:r,onClose:u,closable:L,closeIcon:z,focusTriggerAfterClose:E,transitionName:(0,v.m)(N,"zoom",e.transitionName),maskTransitionName:(0,v.m)(N,"fade",e.maskTransitionName),className:h()(R,f,null==l?void 0:l.className),style:Object.assign(Object.assign({},null==l?void 0:l.style),O),classNames:Object.assign(Object.assign({wrapper:D},null==l?void 0:l.classNames),P),styles:Object.assign(Object.assign({},null==l?void 0:l.styles),M),panelRef:F}))))))};let ej=e=>{let{componentCls:t,titleFontSize:n,titleLineHeight:r,modalConfirmIconSize:o,fontSize:i,lineHeight:a,modalTitleHeight:c,fontHeight:l,confirmBodyPadding:u}=e,s="".concat(t,"-confirm");return{[s]:{"&-rtl":{direction:"rtl"},["".concat(e.antCls,"-modal-header")]:{display:"none"},["".concat(s,"-body-wrapper")]:Object.assign({},(0,el.dF)()),["&".concat(t," ").concat(t,"-body")]:{padding:u},["".concat(s,"-body")]:{display:"flex",flexWrap:"nowrap",alignItems:"start",["> ".concat(e.iconCls)]:{flex:"none",fontSize:o,marginInlineEnd:e.confirmIconMarginInlineEnd,marginTop:e.calc(e.calc(l).sub(o).equal()).div(2).equal()},["&-has-title > ".concat(e.iconCls)]:{marginTop:e.calc(e.calc(c).sub(o).equal()).div(2).equal()}},["".concat(s,"-paragraph")]:{display:"flex",flexDirection:"column",flex:"auto",rowGap:e.marginXS,maxWidth:"calc(100% - ".concat((0,eu.bf)(e.calc(e.modalConfirmIconSize).add(e.marginSM).equal()),")")},["".concat(s,"-title")]:{color:e.colorTextHeading,fontWeight:e.fontWeightStrong,fontSize:n,lineHeight:r},["".concat(s,"-content")]:{color:e.colorText,fontSize:i,lineHeight:a},["".concat(s,"-btns")]:{textAlign:"end",marginTop:e.confirmBtnsMarginTop,["".concat(e.antCls,"-btn + ").concat(e.antCls,"-btn")]:{marginBottom:0,marginInlineStart:e.marginXS}}},["".concat(s,"-error ").concat(s,"-body > ").concat(e.iconCls)]:{color:e.colorError},["".concat(s,"-warning ").concat(s,"-body > ").concat(e.iconCls,",\n ").concat(s,"-confirm ").concat(s,"-body > ").concat(e.iconCls)]:{color:e.colorWarning},["".concat(s,"-info ").concat(s,"-body > ").concat(e.iconCls)]:{color:e.colorInfo},["".concat(s,"-success ").concat(s,"-body > ").concat(e.iconCls)]:{color:e.colorSuccess}}};var eP=(0,ev.bk)(["Modal","confirm"],e=>[ej(ew(e))],eE,{order:-1e3}),eM=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};function eA(e){let{prefixCls:t,icon:n,okText:r,cancelText:a,confirmPrefixCls:c,type:l,okCancel:p,footer:m,locale:v}=e,y=eM(e,["prefixCls","icon","okText","cancelText","confirmPrefixCls","type","okCancel","footer","locale"]),b=n;if(!n&&null!==n)switch(l){case"info":b=i.createElement(d.Z,null);break;case"success":b=i.createElement(u.Z,null);break;case"error":b=i.createElement(s.Z,null);break;default:b=i.createElement(f.Z,null)}let x=null!=p?p:"confirm"===l,w=null!==e.autoFocusButton&&(e.autoFocusButton||"ok"),[E]=(0,g.Z)("Modal"),O=v||E,j=r||(x?null==O?void 0:O.okText:null==O?void 0:O.justOkText),P=Object.assign({autoFocusButton:w,cancelTextLocale:a||(null==O?void 0:O.cancelText),okTextLocale:j,mergedOkCancel:x},y),M=i.useMemo(()=>P,(0,o.Z)(Object.values(P))),A=i.createElement(i.Fragment,null,i.createElement(C,null),i.createElement(k,null)),T=void 0!==e.title&&null!==e.title,N="".concat(c,"-body");return i.createElement("div",{className:"".concat(c,"-body-wrapper")},i.createElement("div",{className:h()(N,{["".concat(N,"-has-title")]:T})},b,i.createElement("div",{className:"".concat(c,"-paragraph")},T&&i.createElement("span",{className:"".concat(c,"-title")},e.title),i.createElement("div",{className:"".concat(c,"-content")},e.content))),void 0===m||"function"==typeof m?i.createElement(S,{value:M},i.createElement("div",{className:"".concat(c,"-btns")},"function"==typeof m?m(A,{OkBtn:k,CancelBtn:C}):A)):m,i.createElement(eP,{prefixCls:t}))}let eT=e=>{let{close:t,zIndex:n,afterClose:r,open:o,keyboard:a,centered:c,getContainer:l,maskStyle:u,direction:s,prefixCls:f,wrapClassName:d,rootPrefixCls:p,bodyStyle:g,closable:b=!1,closeIcon:x,modalRender:w,focusTriggerAfterClose:E,onConfirm:O,styles:S}=e,C="".concat(f,"-confirm"),k=e.width||416,j=e.style||{},P=void 0===e.mask||e.mask,M=void 0!==e.maskClosable&&e.maskClosable,A=h()(C,"".concat(C,"-").concat(e.type),{["".concat(C,"-rtl")]:"rtl"===s},e.className),[,T]=(0,y.ZP)(),N=i.useMemo(()=>void 0!==n?n:T.zIndexPopupBase+m.u6,[n,T]);return i.createElement(ek,{prefixCls:f,className:A,wrapClassName:h()({["".concat(C,"-centered")]:!!e.centered},d),onCancel:()=>{null==t||t({triggerCancel:!0}),null==O||O(!1)},open:o,title:"",footer:null,transitionName:(0,v.m)(p||"","zoom",e.transitionName),maskTransitionName:(0,v.m)(p||"","fade",e.maskTransitionName),mask:P,maskClosable:M,style:j,styles:Object.assign({body:g,mask:u},S),width:k,zIndex:N,afterClose:r,keyboard:a,centered:c,getContainer:l,closable:b,closeIcon:x,modalRender:w,focusTriggerAfterClose:E},i.createElement(eA,Object.assign({},e,{confirmPrefixCls:C})))};var eN=e=>{let{rootPrefixCls:t,iconPrefixCls:n,direction:r,theme:o}=e;return i.createElement(l.ZP,{prefixCls:t,iconPrefixCls:n,direction:r,theme:o},i.createElement(eT,Object.assign({},e)))},eI=[];let eZ="",eR=e=>{var t,n;let{prefixCls:r,getContainer:o,direction:a}=e,l=(0,ei.A)(),u=(0,i.useContext)(c.E_),s=eZ||u.getPrefixCls(),f=r||"".concat(s,"-modal"),d=o;return!1===d&&(d=void 0),i.createElement(eN,Object.assign({},e,{rootPrefixCls:s,prefixCls:f,iconPrefixCls:u.iconPrefixCls,theme:u.theme,direction:null!=a?a:u.direction,locale:null!==(n=null===(t=u.locale)||void 0===t?void 0:t.Modal)&&void 0!==n?n:l,getContainer:d}))};function e_(e){let t;let n=(0,l.w6)(),r=document.createDocumentFragment(),c=Object.assign(Object.assign({},e),{close:f,open:!0});function u(){for(var t=arguments.length,n=Array(t),i=0;ie&&e.triggerCancel);e.onCancel&&c&&e.onCancel.apply(e,[()=>{}].concat((0,o.Z)(n.slice(1))));for(let e=0;e{let t=n.getPrefixCls(void 0,eZ),o=n.getIconPrefixCls(),c=n.getTheme(),u=i.createElement(eR,Object.assign({},e));(0,a.s)(i.createElement(l.ZP,{prefixCls:t,iconPrefixCls:o,theme:c},n.holderRender?n.holderRender(u):u),r)})}function f(){for(var t=arguments.length,n=Array(t),r=0;r{"function"==typeof e.afterClose&&e.afterClose(),u.apply(this,n)}})).visible&&delete c.visible,s(c)}return s(c),eI.push(f),{destroy:f,update:function(e){s(c="function"==typeof e?e(c):Object.assign(Object.assign({},c),e))}}}function eD(e){return Object.assign(Object.assign({},e),{type:"warning"})}function eB(e){return Object.assign(Object.assign({},e),{type:"info"})}function eL(e){return Object.assign(Object.assign({},e),{type:"success"})}function ez(e){return Object.assign(Object.assign({},e),{type:"error"})}function eF(e){return Object.assign(Object.assign({},e),{type:"confirm"})}var eH=n(21467),eW=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n},eq=(0,eH.i)(e=>{let{prefixCls:t,className:n,closeIcon:r,closable:o,type:a,title:l,children:u,footer:s}=e,f=eW(e,["prefixCls","className","closeIcon","closable","type","title","children","footer"]),{getPrefixCls:d}=i.useContext(c.E_),p=d(),m=t||d("modal"),v=(0,eS.Z)(p),[g,y,b]=eO(m,v),x="".concat(m,"-confirm"),w={};return w=a?{closable:null!=o&&o,title:"",footer:"",children:i.createElement(eA,Object.assign({},e,{prefixCls:m,confirmPrefixCls:x,rootPrefixCls:p,content:u}))}:{closable:null==o||o,title:l,footer:null!==s&&i.createElement(ec,Object.assign({},e)),children:u},g(i.createElement(W,Object.assign({prefixCls:m,className:h()(y,"".concat(m,"-pure-panel"),a&&x,a&&"".concat(x,"-").concat(a),n,b,v)},f,{closeIcon:ea(m,r),closable:o},w)))}),eV=n(79474),eU=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n},eX=i.forwardRef((e,t)=>{var n,{afterClose:r,config:a}=e,l=eU(e,["afterClose","config"]);let[u,s]=i.useState(!0),[f,d]=i.useState(a),{direction:p,getPrefixCls:h}=i.useContext(c.E_),m=h("modal"),v=h(),y=function(){s(!1);for(var e=arguments.length,t=Array(e),n=0;ne&&e.triggerCancel);f.onCancel&&r&&f.onCancel.apply(f,[()=>{}].concat((0,o.Z)(t.slice(1))))};i.useImperativeHandle(t,()=>({destroy:y,update:e=>{d(t=>Object.assign(Object.assign({},t),e))}}));let b=null!==(n=f.okCancel)&&void 0!==n?n:"confirm"===f.type,[x]=(0,g.Z)("Modal",eV.Z.Modal);return i.createElement(eN,Object.assign({prefixCls:m,rootPrefixCls:v},f,{close:y,open:u,afterClose:()=>{var e;r(),null===(e=f.afterClose)||void 0===e||e.call(f)},okText:f.okText||(b?null==x?void 0:x.okText:null==x?void 0:x.justOkText),direction:f.direction||p,cancelText:f.cancelText||(null==x?void 0:x.cancelText)},l))});let eG=0,eK=i.memo(i.forwardRef((e,t)=>{let[n,r]=function(){let[e,t]=i.useState([]);return[e,i.useCallback(e=>(t(t=>[].concat((0,o.Z)(t),[e])),()=>{t(t=>t.filter(t=>t!==e))}),[])]}();return i.useImperativeHandle(t,()=>({patchElement:r}),[]),i.createElement(i.Fragment,null,n)}));function e$(e){return e_(eD(e))}ek.useModal=function(){let e=i.useRef(null),[t,n]=i.useState([]);i.useEffect(()=>{t.length&&((0,o.Z)(t).forEach(e=>{e()}),n([]))},[t]);let r=i.useCallback(t=>function(r){var a;let c,l;eG+=1;let u=i.createRef(),s=new Promise(e=>{c=e}),f=!1,d=i.createElement(eX,{key:"modal-".concat(eG),config:t(r),ref:u,afterClose:()=>{null==l||l()},isSilent:()=>f,onConfirm:e=>{c(e)}});return(l=null===(a=e.current)||void 0===a?void 0:a.patchElement(d))&&eI.push(l),{destroy:()=>{function e(){var e;null===(e=u.current)||void 0===e||e.destroy()}u.current?e():n(t=>[].concat((0,o.Z)(t),[e]))},update:e=>{function t(){var t;null===(t=u.current)||void 0===t||t.update(e)}u.current?t():n(e=>[].concat((0,o.Z)(e),[t]))},then:e=>(f=!0,s.then(e))}},[]);return[i.useMemo(()=>({info:r(eB),success:r(eL),error:r(ez),warning:r(eD),confirm:r(eF)}),[]),i.createElement(eK,{key:"modal-holder",ref:e})]},ek.info=function(e){return e_(eB(e))},ek.success=function(e){return e_(eL(e))},ek.error=function(e){return e_(ez(e))},ek.warning=e$,ek.warn=e$,ek.confirm=function(e){return e_(eF(e))},ek.destroyAll=function(){for(;eI.length;){let e=eI.pop();e&&e()}},ek.config=function(e){let{rootPrefixCls:t}=e;eZ=t},ek._InternalPanelDoNotUseOrYouWillBeFired=eq;var eY=ek},4678:function(e,t,n){n.d(t,{A:function(){return l},f:function(){return c}});var r=n(79474);let o=Object.assign({},r.Z.Modal),i=[],a=()=>i.reduce((e,t)=>Object.assign(Object.assign({},e),t),r.Z.Modal);function c(e){if(e){let t=Object.assign({},e);return i.push(t),o=a(),()=>{i=i.filter(e=>e!==t),o=a()}}o=Object.assign({},r.Z.Modal)}function l(){return o}},13969:function(e,t,n){n.d(t,{default:function(){return tD}});var r=n(64090),o=n(16480),i=n.n(o),a=n(14749),c=n(63787),l=n(50833),u=n(5239),s=n(80406),f=n(6787),d=n(6976),p=n(44329),h=n(53850),m=n(24800),v=n(76158),g=n(4295),y=n(74084),b=function(e){var t=e.className,n=e.customizeIcon,o=e.customizeIconProps,a=e.children,c=e.onMouseDown,l=e.onClick,u="function"==typeof n?n(o):n;return r.createElement("span",{className:t,onMouseDown:function(e){e.preventDefault(),null==c||c(e)},style:{userSelect:"none",WebkitUserSelect:"none"},unselectable:"on",onClick:l,"aria-hidden":!0},void 0!==u?u:r.createElement("span",{className:i()(t.split(/\s+/).map(function(e){return"".concat(e,"-icon")}))},a))},x=function(e,t,n,o,i){var a=arguments.length>5&&void 0!==arguments[5]&&arguments[5],c=arguments.length>6?arguments[6]:void 0,l=arguments.length>7?arguments[7]:void 0,u=r.useMemo(function(){return"object"===(0,d.Z)(o)?o.clearIcon:i||void 0},[o,i]);return{allowClear:r.useMemo(function(){return!a&&!!o&&(!!n.length||!!c)&&!("combobox"===l&&""===c)},[o,a,n.length,c,l]),clearIcon:r.createElement(b,{className:"".concat(e,"-clear"),onMouseDown:t,customizeIcon:u},"\xd7")}},w=r.createContext(null);function E(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:250,t=r.useRef(null),n=r.useRef(null);return r.useEffect(function(){return function(){window.clearTimeout(n.current)}},[]),[function(){return t.current},function(r){(r||null===t.current)&&(t.current=r),window.clearTimeout(n.current),n.current=window.setTimeout(function(){t.current=null},e)}]}var O=n(72480),S=n(54739),C=r.forwardRef(function(e,t){var n,o=e.prefixCls,a=e.id,c=e.inputElement,l=e.disabled,s=e.tabIndex,f=e.autoFocus,d=e.autoComplete,p=e.editable,m=e.activeDescendantId,v=e.value,g=e.maxLength,b=e.onKeyDown,x=e.onMouseDown,w=e.onChange,E=e.onPaste,O=e.onCompositionStart,S=e.onCompositionEnd,C=e.open,k=e.attrs,j=c||r.createElement("input",null),P=j,M=P.ref,A=P.props,T=A.onKeyDown,N=A.onChange,I=A.onMouseDown,Z=A.onCompositionStart,R=A.onCompositionEnd,_=A.style;return(0,h.Kp)(!("maxLength"in j.props),"Passing 'maxLength' to input element directly may not work because input in BaseSelect is controlled."),j=r.cloneElement(j,(0,u.Z)((0,u.Z)((0,u.Z)({type:"search"},A),{},{id:a,ref:(0,y.sQ)(t,M),disabled:l,tabIndex:s,autoComplete:d||"off",autoFocus:f,className:i()("".concat(o,"-selection-search-input"),null===(n=j)||void 0===n||null===(n=n.props)||void 0===n?void 0:n.className),role:"combobox","aria-expanded":C||!1,"aria-haspopup":"listbox","aria-owns":"".concat(a,"_list"),"aria-autocomplete":"list","aria-controls":"".concat(a,"_list"),"aria-activedescendant":C?m:void 0},k),{},{value:p?v:"",maxLength:g,readOnly:!p,unselectable:p?null:"on",style:(0,u.Z)((0,u.Z)({},_),{},{opacity:p?null:0}),onKeyDown:function(e){b(e),T&&T(e)},onMouseDown:function(e){x(e),I&&I(e)},onChange:function(e){w(e),N&&N(e)},onCompositionStart:function(e){O(e),Z&&Z(e)},onCompositionEnd:function(e){S(e),R&&R(e)},onPaste:E}))});function k(e){return Array.isArray(e)?e:void 0!==e?[e]:[]}var j=window.document&&window.document.documentElement;function P(e){return["string","number"].includes((0,d.Z)(e))}function M(e){var t=void 0;return e&&(P(e.title)?t=e.title.toString():P(e.label)&&(t=e.label.toString())),t}function A(e){var t;return null!==(t=e.key)&&void 0!==t?t:e.value}var T=function(e){e.preventDefault(),e.stopPropagation()},N=function(e){var t,n,o=e.id,a=e.prefixCls,c=e.values,u=e.open,f=e.searchValue,d=e.autoClearSearchValue,p=e.inputRef,h=e.placeholder,m=e.disabled,v=e.mode,g=e.showSearch,y=e.autoFocus,x=e.autoComplete,w=e.activeDescendantId,E=e.tabIndex,k=e.removeIcon,P=e.maxTagCount,N=e.maxTagTextLength,I=e.maxTagPlaceholder,Z=void 0===I?function(e){return"+ ".concat(e.length," ...")}:I,R=e.tagRender,_=e.onToggleOpen,D=e.onRemove,B=e.onInputChange,L=e.onInputPaste,z=e.onInputKeyDown,F=e.onInputMouseDown,H=e.onInputCompositionStart,W=e.onInputCompositionEnd,q=r.useRef(null),V=(0,r.useState)(0),U=(0,s.Z)(V,2),X=U[0],G=U[1],K=(0,r.useState)(!1),$=(0,s.Z)(K,2),Y=$[0],Q=$[1],J="".concat(a,"-selection"),ee=u||"multiple"===v&&!1===d||"tags"===v?f:"",et="tags"===v||"multiple"===v&&!1===d||g&&(u||Y);t=function(){G(q.current.scrollWidth)},n=[ee],j?r.useLayoutEffect(t,n):r.useEffect(t,n);var en=function(e,t,n,o,a){return r.createElement("span",{title:M(e),className:i()("".concat(J,"-item"),(0,l.Z)({},"".concat(J,"-item-disabled"),n))},r.createElement("span",{className:"".concat(J,"-item-content")},t),o&&r.createElement(b,{className:"".concat(J,"-item-remove"),onMouseDown:T,onClick:a,customizeIcon:k},"\xd7"))},er=r.createElement("div",{className:"".concat(J,"-search"),style:{width:X},onFocus:function(){Q(!0)},onBlur:function(){Q(!1)}},r.createElement(C,{ref:p,open:u,prefixCls:a,id:o,inputElement:null,disabled:m,autoFocus:y,autoComplete:x,editable:et,activeDescendantId:w,value:ee,onKeyDown:z,onMouseDown:F,onChange:B,onPaste:L,onCompositionStart:H,onCompositionEnd:W,tabIndex:E,attrs:(0,O.Z)(e,!0)}),r.createElement("span",{ref:q,className:"".concat(J,"-search-mirror"),"aria-hidden":!0},ee,"\xa0")),eo=r.createElement(S.Z,{prefixCls:"".concat(J,"-overflow"),data:c,renderItem:function(e){var t,n=e.disabled,o=e.label,i=e.value,a=!m&&!n,c=o;if("number"==typeof N&&("string"==typeof o||"number"==typeof o)){var l=String(c);l.length>N&&(c="".concat(l.slice(0,N),"..."))}var s=function(t){t&&t.stopPropagation(),D(e)};return"function"==typeof R?(t=c,r.createElement("span",{onMouseDown:function(e){T(e),_(!u)}},R({label:t,value:i,disabled:n,closable:a,onClose:s}))):en(e,c,n,a,s)},renderRest:function(e){var t="function"==typeof Z?Z(e):Z;return en({title:t},t,!1)},suffix:er,itemKey:A,maxCount:P});return r.createElement(r.Fragment,null,eo,!c.length&&!ee&&r.createElement("span",{className:"".concat(J,"-placeholder")},h))},I=function(e){var t=e.inputElement,n=e.prefixCls,o=e.id,i=e.inputRef,a=e.disabled,c=e.autoFocus,l=e.autoComplete,u=e.activeDescendantId,f=e.mode,d=e.open,p=e.values,h=e.placeholder,m=e.tabIndex,v=e.showSearch,g=e.searchValue,y=e.activeValue,b=e.maxLength,x=e.onInputKeyDown,w=e.onInputMouseDown,E=e.onInputChange,S=e.onInputPaste,k=e.onInputCompositionStart,j=e.onInputCompositionEnd,P=e.title,A=r.useState(!1),T=(0,s.Z)(A,2),N=T[0],I=T[1],Z="combobox"===f,R=Z||v,_=p[0],D=g||"";Z&&y&&!N&&(D=y),r.useEffect(function(){Z&&I(!1)},[Z,y]);var B=("combobox"===f||!!d||!!v)&&!!D,L=void 0===P?M(_):P,z=r.useMemo(function(){return _?null:r.createElement("span",{className:"".concat(n,"-selection-placeholder"),style:B?{visibility:"hidden"}:void 0},h)},[_,B,h,n]);return r.createElement(r.Fragment,null,r.createElement("span",{className:"".concat(n,"-selection-search")},r.createElement(C,{ref:i,prefixCls:n,id:o,open:d,inputElement:t,disabled:a,autoFocus:c,autoComplete:l,editable:R,activeDescendantId:u,value:D,onKeyDown:x,onMouseDown:w,onChange:function(e){I(!0),E(e)},onPaste:S,onCompositionStart:k,onCompositionEnd:j,tabIndex:m,attrs:(0,O.Z)(e,!0),maxLength:Z?b:void 0})),!Z&&_?r.createElement("span",{className:"".concat(n,"-selection-item"),title:L,style:B?{visibility:"hidden"}:void 0},_.label):null,z)},Z=r.forwardRef(function(e,t){var n=(0,r.useRef)(null),o=(0,r.useRef)(!1),i=e.prefixCls,c=e.open,l=e.mode,u=e.showSearch,f=e.tokenWithEnter,d=e.autoClearSearchValue,p=e.onSearch,h=e.onSearchSubmit,m=e.onToggleOpen,v=e.onInputKeyDown,y=e.domRef;r.useImperativeHandle(t,function(){return{focus:function(){n.current.focus()},blur:function(){n.current.blur()}}});var b=E(0),x=(0,s.Z)(b,2),w=x[0],O=x[1],S=(0,r.useRef)(null),C=function(e){!1!==p(e,!0,o.current)&&m(!0)},k={inputRef:n,onInputKeyDown:function(e){var t=e.which;(t===g.Z.UP||t===g.Z.DOWN)&&e.preventDefault(),v&&v(e),t!==g.Z.ENTER||"tags"!==l||o.current||c||null==h||h(e.target.value),[g.Z.ESC,g.Z.SHIFT,g.Z.BACKSPACE,g.Z.TAB,g.Z.WIN_KEY,g.Z.ALT,g.Z.META,g.Z.WIN_KEY_RIGHT,g.Z.CTRL,g.Z.SEMICOLON,g.Z.EQUALS,g.Z.CAPS_LOCK,g.Z.CONTEXT_MENU,g.Z.F1,g.Z.F2,g.Z.F3,g.Z.F4,g.Z.F5,g.Z.F6,g.Z.F7,g.Z.F8,g.Z.F9,g.Z.F10,g.Z.F11,g.Z.F12].includes(t)||m(!0)},onInputMouseDown:function(){O(!0)},onInputChange:function(e){var t=e.target.value;if(f&&S.current&&/[\r\n]/.test(S.current)){var n=S.current.replace(/[\r\n]+$/,"").replace(/\r\n/g," ").replace(/[\r\n]/g," ");t=t.replace(n,S.current)}S.current=null,C(t)},onInputPaste:function(e){var t=e.clipboardData,n=null==t?void 0:t.getData("text");S.current=n||""},onInputCompositionStart:function(){o.current=!0},onInputCompositionEnd:function(e){o.current=!1,"combobox"!==l&&C(e.target.value)}},j="multiple"===l||"tags"===l?r.createElement(N,(0,a.Z)({},e,k)):r.createElement(I,(0,a.Z)({},e,k));return r.createElement("div",{ref:y,className:"".concat(i,"-selector"),onClick:function(e){e.target!==n.current&&(void 0!==document.body.style.msTouchAction?setTimeout(function(){n.current.focus()}):n.current.focus())},onMouseDown:function(e){var t=w();e.target===n.current||t||"combobox"===l||e.preventDefault(),("combobox"===l||u&&t)&&c||(c&&!1!==d&&p("",!0,!1),m())}},j)}),R=n(44101),_=["prefixCls","disabled","visible","children","popupElement","animation","transitionName","dropdownStyle","dropdownClassName","direction","placement","builtinPlacements","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","getPopupContainer","empty","getTriggerDOMNode","onPopupVisibleChange","onPopupMouseEnter"],D=function(e){var t=!0===e?0:1;return{bottomLeft:{points:["tl","bl"],offset:[0,4],overflow:{adjustX:t,adjustY:1},htmlRegion:"scroll"},bottomRight:{points:["tr","br"],offset:[0,4],overflow:{adjustX:t,adjustY:1},htmlRegion:"scroll"},topLeft:{points:["bl","tl"],offset:[0,-4],overflow:{adjustX:t,adjustY:1},htmlRegion:"scroll"},topRight:{points:["br","tr"],offset:[0,-4],overflow:{adjustX:t,adjustY:1},htmlRegion:"scroll"}}},B=r.forwardRef(function(e,t){var n=e.prefixCls,o=(e.disabled,e.visible),c=e.children,s=e.popupElement,d=e.animation,p=e.transitionName,h=e.dropdownStyle,m=e.dropdownClassName,v=e.direction,g=e.placement,y=e.builtinPlacements,b=e.dropdownMatchSelectWidth,x=e.dropdownRender,w=e.dropdownAlign,E=e.getPopupContainer,O=e.empty,S=e.getTriggerDOMNode,C=e.onPopupVisibleChange,k=e.onPopupMouseEnter,j=(0,f.Z)(e,_),P="".concat(n,"-dropdown"),M=s;x&&(M=x(s));var A=r.useMemo(function(){return y||D(b)},[y,b]),T=d?"".concat(P,"-").concat(d):p,N="number"==typeof b,I=r.useMemo(function(){return N?null:!1===b?"minWidth":"width"},[b,N]),Z=h;N&&(Z=(0,u.Z)((0,u.Z)({},Z),{},{width:b}));var B=r.useRef(null);return r.useImperativeHandle(t,function(){return{getPopupElement:function(){return B.current}}}),r.createElement(R.Z,(0,a.Z)({},j,{showAction:C?["click"]:[],hideAction:C?["click"]:[],popupPlacement:g||("rtl"===(void 0===v?"ltr":v)?"bottomRight":"bottomLeft"),builtinPlacements:A,prefixCls:P,popupTransitionName:T,popup:r.createElement("div",{ref:B,onMouseEnter:k},M),stretch:I,popupAlign:w,popupVisible:o,getPopupContainer:E,popupClassName:i()(m,(0,l.Z)({},"".concat(P,"-empty"),O)),popupStyle:Z,getTriggerDOMNode:S,onPopupVisibleChange:C}),c)}),L=n(56721);function z(e,t){var n,r=e.key;return("value"in e&&(n=e.value),null!=r)?r:void 0!==n?n:"rc-index-key-".concat(t)}function F(e,t){var n=e||{},r=n.label,o=n.value,i=n.options,a=n.groupLabel,c=r||(t?"children":"label");return{label:c,value:o||"value",options:i||"options",groupLabel:a||c}}function H(e){var t=(0,u.Z)({},e);return"props"in t||Object.defineProperty(t,"props",{get:function(){return(0,h.ZP)(!1,"Return type is option instead of Option instance. Please read value directly instead of reading from `props`."),t}}),t}var W=function(e,t,n){if(!t||!t.length)return null;var r=!1,o=function e(t,n){var o=(0,L.Z)(n),i=o[0],a=o.slice(1);if(!i)return[t];var l=t.split(i);return r=r||l.length>1,l.reduce(function(t,n){return[].concat((0,c.Z)(t),(0,c.Z)(e(n,a)))},[]).filter(Boolean)}(e,t);return r?void 0!==n?o.slice(0,n):o:null},q=r.createContext(null),V=["id","prefixCls","className","showSearch","tagRender","direction","omitDomProps","displayValues","onDisplayValuesChange","emptyOptions","notFoundContent","onClear","mode","disabled","loading","getInputElement","getRawInputElement","open","defaultOpen","onDropdownVisibleChange","activeValue","onActiveValueChange","activeDescendantId","searchValue","autoClearSearchValue","onSearch","onSearchSplit","tokenSeparators","allowClear","suffixIcon","clearIcon","OptionList","animation","transitionName","dropdownStyle","dropdownClassName","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","placement","builtinPlacements","getPopupContainer","showAction","onFocus","onBlur","onKeyUp","onKeyDown","onMouseDown"],U=["value","onChange","removeIcon","placeholder","autoFocus","maxTagCount","maxTagTextLength","maxTagPlaceholder","choiceTransitionName","onInputKeyDown","onPopupScroll","tabIndex"],X=function(e){return"tags"===e||"multiple"===e},G=r.forwardRef(function(e,t){var n,o,h,O,S,C,k,j,P=e.id,M=e.prefixCls,A=e.className,T=e.showSearch,N=e.tagRender,I=e.direction,R=e.omitDomProps,_=e.displayValues,D=e.onDisplayValuesChange,L=e.emptyOptions,z=e.notFoundContent,F=void 0===z?"Not Found":z,H=e.onClear,G=e.mode,K=e.disabled,$=e.loading,Y=e.getInputElement,Q=e.getRawInputElement,J=e.open,ee=e.defaultOpen,et=e.onDropdownVisibleChange,en=e.activeValue,er=e.onActiveValueChange,eo=e.activeDescendantId,ei=e.searchValue,ea=e.autoClearSearchValue,ec=e.onSearch,el=e.onSearchSplit,eu=e.tokenSeparators,es=e.allowClear,ef=e.suffixIcon,ed=e.clearIcon,ep=e.OptionList,eh=e.animation,em=e.transitionName,ev=e.dropdownStyle,eg=e.dropdownClassName,ey=e.dropdownMatchSelectWidth,eb=e.dropdownRender,ex=e.dropdownAlign,ew=e.placement,eE=e.builtinPlacements,eO=e.getPopupContainer,eS=e.showAction,eC=void 0===eS?[]:eS,ek=e.onFocus,ej=e.onBlur,eP=e.onKeyUp,eM=e.onKeyDown,eA=e.onMouseDown,eT=(0,f.Z)(e,V),eN=X(G),eI=(void 0!==T?T:eN)||"combobox"===G,eZ=(0,u.Z)({},eT);U.forEach(function(e){delete eZ[e]}),null==R||R.forEach(function(e){delete eZ[e]});var eR=r.useState(!1),e_=(0,s.Z)(eR,2),eD=e_[0],eB=e_[1];r.useEffect(function(){eB((0,v.Z)())},[]);var eL=r.useRef(null),ez=r.useRef(null),eF=r.useRef(null),eH=r.useRef(null),eW=r.useRef(null),eq=r.useRef(!1),eV=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,t=r.useState(!1),n=(0,s.Z)(t,2),o=n[0],i=n[1],a=r.useRef(null),c=function(){window.clearTimeout(a.current)};return r.useEffect(function(){return c},[]),[o,function(t,n){c(),a.current=window.setTimeout(function(){i(t),n&&n()},e)},c]}(),eU=(0,s.Z)(eV,3),eX=eU[0],eG=eU[1],eK=eU[2];r.useImperativeHandle(t,function(){var e,t;return{focus:null===(e=eH.current)||void 0===e?void 0:e.focus,blur:null===(t=eH.current)||void 0===t?void 0:t.blur,scrollTo:function(e){var t;return null===(t=eW.current)||void 0===t?void 0:t.scrollTo(e)}}});var e$=r.useMemo(function(){if("combobox"!==G)return ei;var e,t=null===(e=_[0])||void 0===e?void 0:e.value;return"string"==typeof t||"number"==typeof t?String(t):""},[ei,G,_]),eY="combobox"===G&&"function"==typeof Y&&Y()||null,eQ="function"==typeof Q&&Q(),eJ=(0,y.x1)(ez,null==eQ||null===(O=eQ.props)||void 0===O?void 0:O.ref),e0=r.useState(!1),e1=(0,s.Z)(e0,2),e2=e1[0],e4=e1[1];(0,m.Z)(function(){e4(!0)},[]);var e5=(0,p.Z)(!1,{defaultValue:ee,value:J}),e6=(0,s.Z)(e5,2),e3=e6[0],e8=e6[1],e9=!!e2&&e3,e7=!F&&L;(K||e7&&e9&&"combobox"===G)&&(e9=!1);var te=!e7&&e9,tt=r.useCallback(function(e){var t=void 0!==e?e:!e9;K||(e8(t),e9!==t&&(null==et||et(t)))},[K,e9,e8,et]),tn=r.useMemo(function(){return(eu||[]).some(function(e){return["\n","\r\n"].includes(e)})},[eu]),tr=r.useContext(q)||{},to=tr.maxCount,ti=tr.rawValues,ta=function(e,t,n){if(!((null==ti?void 0:ti.size)>=to)){var r=!0,o=e;null==er||er(null);var i=W(e,eu,to&&to-ti.size),a=n?null:i;return"combobox"!==G&&a&&(o="",null==el||el(a),tt(!1),r=!1),ec&&e$!==o&&ec(o,{source:t?"typing":"effect"}),r}};r.useEffect(function(){e9||eN||"combobox"===G||ta("",!1,!1)},[e9]),r.useEffect(function(){e3&&K&&e8(!1),K&&!eq.current&&eG(!1)},[K]);var tc=E(),tl=(0,s.Z)(tc,2),tu=tl[0],ts=tl[1],tf=r.useRef(!1),td=[];r.useEffect(function(){return function(){td.forEach(function(e){return clearTimeout(e)}),td.splice(0,td.length)}},[]);var tp=r.useState({}),th=(0,s.Z)(tp,2)[1];eQ&&(C=function(e){tt(e)}),n=function(){var e;return[eL.current,null===(e=eF.current)||void 0===e?void 0:e.getPopupElement()]},o=!!eQ,(h=r.useRef(null)).current={open:te,triggerOpen:tt,customizedTrigger:o},r.useEffect(function(){function e(e){if(null===(t=h.current)||void 0===t||!t.customizedTrigger){var t,r=e.target;r.shadowRoot&&e.composed&&(r=e.composedPath()[0]||r),h.current.open&&n().filter(function(e){return e}).every(function(e){return!e.contains(r)&&e!==r})&&h.current.triggerOpen(!1)}}return window.addEventListener("mousedown",e),function(){return window.removeEventListener("mousedown",e)}},[]);var tm=r.useMemo(function(){return(0,u.Z)((0,u.Z)({},e),{},{notFoundContent:F,open:e9,triggerOpen:te,id:P,showSearch:eI,multiple:eN,toggleOpen:tt})},[e,F,te,e9,P,eI,eN,tt]),tv=!!ef||$;tv&&(k=r.createElement(b,{className:i()("".concat(M,"-arrow"),(0,l.Z)({},"".concat(M,"-arrow-loading"),$)),customizeIcon:ef,customizeIconProps:{loading:$,searchValue:e$,open:e9,focused:eX,showSearch:eI}}));var tg=x(M,function(){var e;null==H||H(),null===(e=eH.current)||void 0===e||e.focus(),D([],{type:"clear",values:_}),ta("",!1,!1)},_,es,ed,K,e$,G),ty=tg.allowClear,tb=tg.clearIcon,tx=r.createElement(ep,{ref:eW}),tw=i()(M,A,(S={},(0,l.Z)(S,"".concat(M,"-focused"),eX),(0,l.Z)(S,"".concat(M,"-multiple"),eN),(0,l.Z)(S,"".concat(M,"-single"),!eN),(0,l.Z)(S,"".concat(M,"-allow-clear"),es),(0,l.Z)(S,"".concat(M,"-show-arrow"),tv),(0,l.Z)(S,"".concat(M,"-disabled"),K),(0,l.Z)(S,"".concat(M,"-loading"),$),(0,l.Z)(S,"".concat(M,"-open"),e9),(0,l.Z)(S,"".concat(M,"-customize-input"),eY),(0,l.Z)(S,"".concat(M,"-show-search"),eI),S)),tE=r.createElement(B,{ref:eF,disabled:K,prefixCls:M,visible:te,popupElement:tx,animation:eh,transitionName:em,dropdownStyle:ev,dropdownClassName:eg,direction:I,dropdownMatchSelectWidth:ey,dropdownRender:eb,dropdownAlign:ex,placement:ew,builtinPlacements:eE,getPopupContainer:eO,empty:L,getTriggerDOMNode:function(){return ez.current},onPopupVisibleChange:C,onPopupMouseEnter:function(){th({})}},eQ?r.cloneElement(eQ,{ref:eJ}):r.createElement(Z,(0,a.Z)({},e,{domRef:ez,prefixCls:M,inputElement:eY,ref:eH,id:P,showSearch:eI,autoClearSearchValue:ea,mode:G,activeDescendantId:eo,tagRender:N,values:_,open:e9,onToggleOpen:tt,activeValue:en,searchValue:e$,onSearch:ta,onSearchSubmit:function(e){e&&e.trim()&&ec(e,{source:"submit"})},onRemove:function(e){D(_.filter(function(t){return t!==e}),{type:"remove",values:[e]})},tokenWithEnter:tn})));return j=eQ?tE:r.createElement("div",(0,a.Z)({className:tw},eZ,{ref:eL,onMouseDown:function(e){var t,n=e.target,r=null===(t=eF.current)||void 0===t?void 0:t.getPopupElement();if(r&&r.contains(n)){var o=setTimeout(function(){var e,t=td.indexOf(o);-1!==t&&td.splice(t,1),eK(),eD||r.contains(document.activeElement)||null===(e=eH.current)||void 0===e||e.focus()});td.push(o)}for(var i=arguments.length,a=Array(i>1?i-1:0),c=1;c=0;a-=1){var l=o[a];if(!l.disabled){o.splice(a,1),i=l;break}}i&&D(o,{type:"remove",values:[i]})}for(var u=arguments.length,s=Array(u>1?u-1:0),f=1;f1?n-1:0),o=1;o0?null:"hidden"},$={position:"absolute",background:"rgba(0, 0, 0, 0.5)",borderRadius:99,cursor:"pointer",userSelect:"none"};return m?(K.height=8,K.left=0,K.right=0,K.bottom=0,$.height="100%",$.width=v,N?$.left=W:$.right=W):(K.width=8,K.top=0,K.bottom=0,N?K.right=0:K.left=0,$.width="100%",$.height=v,$.top=W),r.createElement("div",{ref:I,className:i()(G,(n={},(0,l.Z)(n,"".concat(G,"-horizontal"),m),(0,l.Z)(n,"".concat(G,"-vertical"),!m),(0,l.Z)(n,"".concat(G,"-visible"),D),n)),style:(0,u.Z)((0,u.Z)({},K),y),onMouseDown:function(e){e.stopPropagation(),e.preventDefault()},onMouseMove:z},r.createElement("div",{ref:Z,className:i()("".concat(G,"-thumb"),(0,l.Z)({},"".concat(G,"-thumb-moving"),E)),style:(0,u.Z)((0,u.Z)({},$),b),onMouseDown:V}))});function ei(e){var t=e.children,n=e.setRef,o=r.useCallback(function(e){n(e)},[]);return r.cloneElement(t,{ref:o})}var ea=n(97472),ec=n(47365),el=n(65127),eu=function(){function e(){(0,ec.Z)(this,e),this.maps=void 0,this.id=0,this.maps=Object.create(null)}return(0,el.Z)(e,[{key:"set",value:function(e,t){this.maps[e]=t,this.id+=1}},{key:"get",value:function(e){return this.maps[e]}}]),e}(),es=n(48563),ef=("undefined"==typeof navigator?"undefined":(0,d.Z)(navigator))==="object"&&/Firefox/i.test(navigator.userAgent);function ed(e,t){var n=(0,r.useRef)(!1),o=(0,r.useRef)(null),i=(0,r.useRef)({top:e,bottom:t});return i.current.top=e,i.current.bottom=t,function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e<0&&i.current.top||e>0&&i.current.bottom;return t&&r?(clearTimeout(o.current),n.current=!1):(!r||n.current)&&(clearTimeout(o.current),n.current=!0,o.current=setTimeout(function(){n.current=!1},50)),!n.current&&r}}var ep=14/15;function eh(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=e/t*100;return isNaN(n)&&(n=0),Math.floor(n=Math.min(n=Math.max(n,20),e/2))}var em=["prefixCls","className","height","itemHeight","fullHeight","style","data","children","itemKey","virtual","direction","scrollWidth","component","onScroll","onVirtualScroll","onVisibleChange","innerProps","extraRender","styles"],ev=[],eg={overflowY:"auto",overflowAnchor:"none"},ey=r.forwardRef(function(e,t){var n,o,c,p,h,v,g,y,b,x,w,E,O,S,C,k,j,P,M,A,T,N,I,Z,R,_,D,B,L,z,F,H,W,q,V,U=e.prefixCls,X=void 0===U?"rc-virtual-list":U,G=e.className,K=e.height,$=e.itemHeight,Y=e.fullHeight,Q=e.style,er=e.data,ec=e.children,el=e.itemKey,ey=e.virtual,eb=e.direction,ex=e.scrollWidth,ew=e.component,eE=e.onScroll,eO=e.onVirtualScroll,eS=e.onVisibleChange,eC=e.innerProps,ek=e.extraRender,ej=e.styles,eP=(0,f.Z)(e,em),eM=!!(!1!==ey&&K&&$),eA=eM&&er&&($*er.length>K||!!ex),eT="rtl"===eb,eN=i()(X,(0,l.Z)({},"".concat(X,"-rtl"),eT),G),eI=er||ev,eZ=(0,r.useRef)(),eR=(0,r.useRef)(),e_=(0,r.useState)(0),eD=(0,s.Z)(e_,2),eB=eD[0],eL=eD[1],ez=(0,r.useState)(0),eF=(0,s.Z)(ez,2),eH=eF[0],eW=eF[1],eq=(0,r.useState)(!1),eV=(0,s.Z)(eq,2),eU=eV[0],eX=eV[1],eG=function(){eX(!0)},eK=function(){eX(!1)},e$=r.useCallback(function(e){return"function"==typeof el?el(e):null==e?void 0:e[el]},[el]);function eY(e){eL(function(t){var n,r=(n="function"==typeof e?e(t):e,Number.isNaN(td.current)||(n=Math.min(n,td.current)),n=Math.max(n,0));return eZ.current.scrollTop=r,r})}var eQ=(0,r.useRef)({start:0,end:eI.length}),eJ=(0,r.useRef)(),e0=(o=r.useState(eI),p=(c=(0,s.Z)(o,2))[0],h=c[1],v=r.useState(null),y=(g=(0,s.Z)(v,2))[0],b=g[1],r.useEffect(function(){var e=function(e,t,n){var r,o,i=e.length,a=t.length;if(0===i&&0===a)return null;i0&&void 0!==arguments[0]&&arguments[0];d();var t=function(){l.current.forEach(function(e,t){if(e&&e.offsetParent){var n=(0,ea.Z)(e),r=n.offsetHeight;u.current.get(t)!==r&&u.current.set(t,n.offsetHeight)}}),c(function(e){return e+1})};e?t():f.current=(0,en.Z)(t)}return(0,r.useEffect)(function(){return d},[]),[function(r,o){var i=e(r),a=l.current.get(i);o?(l.current.set(i,o),p()):l.current.delete(i),!a!=!o&&(o?null==t||t(r):null==n||n(r))},p,u.current,a]}(e$,null,null),e4=(0,s.Z)(e2,4),e5=e4[0],e6=e4[1],e3=e4[2],e8=e4[3],e9=r.useMemo(function(){if(!eM)return{scrollHeight:void 0,start:0,end:eI.length-1,offset:void 0};if(!eA)return{scrollHeight:(null===(e=eR.current)||void 0===e?void 0:e.offsetHeight)||0,start:0,end:eI.length-1,offset:void 0};for(var e,t,n,r,o=0,i=eI.length,a=0;a=eB&&void 0===t&&(t=a,n=o),u>eB+K&&void 0===r&&(r=a),o=u}return void 0===t&&(t=0,n=0,r=Math.ceil(K/$)),void 0===r&&(r=eI.length-1),{scrollHeight:o,start:t,end:r=Math.min(r+1,eI.length-1),offset:n}},[eA,eM,eB,eI,e8,K]),e7=e9.scrollHeight,te=e9.start,tt=e9.end,tn=e9.offset;eQ.current.start=te,eQ.current.end=tt;var tr=r.useState({width:0,height:K}),to=(0,s.Z)(tr,2),ti=to[0],ta=to[1],tc=(0,r.useRef)(),tl=(0,r.useRef)(),tu=r.useMemo(function(){return eh(ti.width,ex)},[ti.width,ex]),ts=r.useMemo(function(){return eh(ti.height,e7)},[ti.height,e7]),tf=e7-K,td=(0,r.useRef)(tf);td.current=tf;var tp=eB<=0,th=eB>=tf,tm=ed(tp,th),tv=function(){return{x:eT?-eH:eH,y:eB}},tg=(0,r.useRef)(tv()),ty=(0,es.zX)(function(){if(eO){var e=tv();(tg.current.x!==e.x||tg.current.y!==e.y)&&(eO(e),tg.current=e)}});function tb(e,t){t?((0,J.flushSync)(function(){eW(e)}),ty()):eY(e)}var tx=function(e){var t=e,n=ex-ti.width;return Math.min(t=Math.max(t,0),n)},tw=(0,es.zX)(function(e,t){t?((0,J.flushSync)(function(){eW(function(t){return tx(t+(eT?-e:e))})}),ty()):eY(function(t){return t+e})}),tE=(x=!!ex,w=(0,r.useRef)(0),E=(0,r.useRef)(null),O=(0,r.useRef)(null),S=(0,r.useRef)(!1),C=ed(tp,th),k=(0,r.useRef)(null),j=(0,r.useRef)(null),[function(e){if(eM){en.Z.cancel(j.current),j.current=(0,en.Z)(function(){k.current=null},2);var t,n=e.deltaX,r=e.deltaY,o=e.shiftKey,i=n,a=r;("sx"===k.current||!k.current&&o&&r&&!n)&&(i=r,a=0,k.current="sx");var c=Math.abs(i),l=Math.abs(a);(null===k.current&&(k.current=x&&c>l?"x":"y"),"y"===k.current)?(t=a,en.Z.cancel(E.current),w.current+=t,O.current=t,C(t)||(ef||e.preventDefault(),E.current=(0,en.Z)(function(){var e=S.current?10:1;tw(w.current*e),w.current=0}))):(tw(i,!0),ef||e.preventDefault())}},function(e){eM&&(S.current=e.detail===O.current)}]),tO=(0,s.Z)(tE,2),tS=tO[0],tC=tO[1];P=function(e,t){return!tm(e,t)&&(tS({preventDefault:function(){},deltaY:e}),!0)},A=(0,r.useRef)(!1),T=(0,r.useRef)(0),N=(0,r.useRef)(null),I=(0,r.useRef)(null),Z=function(e){if(A.current){var t=Math.ceil(e.touches[0].pageY),n=T.current-t;T.current=t,P(n)&&e.preventDefault(),clearInterval(I.current),I.current=setInterval(function(){(!P(n*=ep,!0)||.1>=Math.abs(n))&&clearInterval(I.current)},16)}},R=function(){A.current=!1,M()},_=function(e){M(),1!==e.touches.length||A.current||(A.current=!0,T.current=Math.ceil(e.touches[0].pageY),N.current=e.target,N.current.addEventListener("touchmove",Z),N.current.addEventListener("touchend",R))},M=function(){N.current&&(N.current.removeEventListener("touchmove",Z),N.current.removeEventListener("touchend",R))},(0,m.Z)(function(){return eM&&eZ.current.addEventListener("touchstart",_),function(){var e;null===(e=eZ.current)||void 0===e||e.removeEventListener("touchstart",_),M(),clearInterval(I.current)}},[eM]),(0,m.Z)(function(){function e(e){eM&&e.preventDefault()}var t=eZ.current;return t.addEventListener("wheel",tS),t.addEventListener("DOMMouseScroll",tC),t.addEventListener("MozMousePixelScroll",e),function(){t.removeEventListener("wheel",tS),t.removeEventListener("DOMMouseScroll",tC),t.removeEventListener("MozMousePixelScroll",e)}},[eM]),(0,m.Z)(function(){ex&&eW(function(e){return tx(e)})},[ti.width,ex]);var tk=function(){var e,t;null===(e=tc.current)||void 0===e||e.delayHidden(),null===(t=tl.current)||void 0===t||t.delayHidden()},tj=(D=r.useRef(),B=r.useState(null),z=(L=(0,s.Z)(B,2))[0],F=L[1],(0,m.Z)(function(){if(z&&z.times<10){if(!eZ.current){F(function(e){return(0,u.Z)({},e)});return}e6(!0);var e=z.targetAlign,t=z.originAlign,n=z.index,r=z.offset,o=eZ.current.clientHeight,i=!1,a=e,c=null;if(o){for(var l=e||t,s=0,f=0,d=0,p=Math.min(eI.length-1,n),h=0;h<=p;h+=1){var m=e$(eI[h]);f=s;var v=e3.get(m);s=d=f+(void 0===v?$:v)}for(var g="top"===l?r:o-r,y=p;y>=0;y-=1){var b=e$(eI[y]),x=e3.get(b);if(void 0===x){i=!0;break}if((g-=x)<=0)break}switch(l){case"top":c=f-r;break;case"bottom":c=d-o+r;break;default:var w=eZ.current.scrollTop;fw+o&&(a="bottom")}null!==c&&eY(c),c!==z.lastTop&&(i=!0)}i&&F((0,u.Z)((0,u.Z)({},z),{},{times:z.times+1,targetAlign:a,lastTop:c}))}},[z,eZ.current]),function(e){if(null==e){tk();return}if(en.Z.cancel(D.current),"number"==typeof e)eY(e);else if(e&&"object"===(0,d.Z)(e)){var t,n=e.align;t="index"in e?e.index:eI.findIndex(function(t){return e$(t)===e.key});var r=e.offset;F({times:0,index:t,offset:void 0===r?0:r,originAlign:n})}});r.useImperativeHandle(t,function(){return{getScrollInfo:tv,scrollTo:function(e){e&&"object"===(0,d.Z)(e)&&("left"in e||"top"in e)?(void 0!==e.left&&eW(tx(e.left)),tj(e.top)):tj(e)}}}),(0,m.Z)(function(){eS&&eS(eI.slice(te,tt+1),eI)},[te,tt,eI]);var tP=(H=r.useMemo(function(){return[new Map,[]]},[eI,e3.id,$]),q=(W=(0,s.Z)(H,2))[0],V=W[1],function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,n=q.get(e),r=q.get(t);if(void 0===n||void 0===r)for(var o=eI.length,i=V.length;iK&&r.createElement(eo,{ref:tc,prefixCls:X,scrollOffset:eB,scrollRange:e7,rtl:eT,onScroll:tb,onStartMove:eG,onStopMove:eK,spinSize:ts,containerSize:ti.height,style:null==ej?void 0:ej.verticalScrollBar,thumbStyle:null==ej?void 0:ej.verticalScrollBarThumb}),eA&&ex&&r.createElement(eo,{ref:tl,prefixCls:X,scrollOffset:eH,scrollRange:ex,rtl:eT,onScroll:tb,onStartMove:eG,onStopMove:eK,spinSize:tu,containerSize:ti.width,horizontal:!0,style:null==ej?void 0:ej.horizontalScrollBar,thumbStyle:null==ej?void 0:ej.horizontalScrollBarThumb}))});ey.displayName="List";var eb=["disabled","title","children","style","className"];function ex(e){return"string"==typeof e||"number"==typeof e}var ew=r.forwardRef(function(e,t){var n=r.useContext(w),o=n.prefixCls,u=n.id,d=n.open,p=n.multiple,h=n.mode,m=n.searchValue,v=n.toggleOpen,y=n.notFoundContent,x=n.onPopupScroll,E=r.useContext(q),S=E.maxCount,C=E.flattenOptions,k=E.onActiveValue,j=E.defaultActiveFirstOption,P=E.onSelect,M=E.menuItemSelectedIcon,A=E.rawValues,T=E.fieldNames,N=E.virtual,I=E.direction,Z=E.listHeight,R=E.listItemHeight,_=E.optionRender,D="".concat(o,"-item"),B=(0,Y.Z)(function(){return C},[d,C],function(e,t){return t[0]&&e[1]!==t[1]}),L=r.useRef(null),z=r.useMemo(function(){return p&&void 0!==S&&(null==A?void 0:A.size)>=S},[p,S,null==A?void 0:A.size]),F=function(e){e.preventDefault()},H=function(e){var t;null===(t=L.current)||void 0===t||t.scrollTo("number"==typeof e?{index:e}:e)},W=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=B.length,r=0;r1&&void 0!==arguments[1]&&arguments[1];G(e);var n={source:t?"keyboard":"mouse"},r=B[e];if(!r){k(null,-1,n);return}k(r.value,e,n)};(0,r.useEffect)(function(){K(!1!==j?W(0):-1)},[B.length,m]);var $=r.useCallback(function(e){return A.has(e)&&"combobox"!==h},[h,(0,c.Z)(A).toString(),A.size]);(0,r.useEffect)(function(){var e,t=setTimeout(function(){if(!p&&d&&1===A.size){var e=Array.from(A)[0],t=B.findIndex(function(t){return t.data.value===e});-1!==t&&(K(t),H(t))}});return d&&(null===(e=L.current)||void 0===e||e.scrollTo(void 0)),function(){return clearTimeout(t)}},[d,m]);var J=function(e){void 0!==e&&P(e,{selected:!A.has(e)}),p||v(!1)};if(r.useImperativeHandle(t,function(){return{onKeyDown:function(e){var t=e.which,n=e.ctrlKey;switch(t){case g.Z.N:case g.Z.P:case g.Z.UP:case g.Z.DOWN:var r=0;if(t===g.Z.UP?r=-1:t===g.Z.DOWN?r=1:/(mac\sos|macintosh)/i.test(navigator.appVersion)&&n&&(t===g.Z.N?r=1:t===g.Z.P&&(r=-1)),0!==r){var o=W(X+r,r);H(o),K(o,!0)}break;case g.Z.ENTER:var i,a=B[X];!a||null!=a&&null!==(i=a.data)&&void 0!==i&&i.disabled||z?J(void 0):J(a.value),d&&e.preventDefault();break;case g.Z.ESC:v(!1),d&&e.stopPropagation()}},onKeyUp:function(){},scrollTo:function(e){H(e)}}}),0===B.length)return r.createElement("div",{role:"listbox",id:"".concat(u,"_list"),className:"".concat(D,"-empty"),onMouseDown:F},y);var ee=Object.keys(T).map(function(e){return T[e]}),et=function(e){return e.label};function en(e,t){return{role:e.group?"presentation":"option",id:"".concat(u,"_list_").concat(t)}}var er=function(e){var t=B[e];if(!t)return null;var n=t.data||{},o=n.value,i=t.group,c=(0,O.Z)(n,!0),l=et(t);return t?r.createElement("div",(0,a.Z)({"aria-label":"string"!=typeof l||i?null:l},c,{key:e},en(t,e),{"aria-selected":$(o)}),o):null},eo={role:"listbox",id:"".concat(u,"_list")};return r.createElement(r.Fragment,null,N&&r.createElement("div",(0,a.Z)({},eo,{style:{height:0,width:0,overflow:"hidden"}}),er(X-1),er(X),er(X+1)),r.createElement(ey,{itemKey:"key",ref:L,data:B,height:Z,itemHeight:R,fullHeight:!1,onMouseDown:F,onScroll:x,virtual:N,direction:I,innerProps:N?null:eo},function(e,t){var n=e.group,o=e.groupOption,c=e.data,u=e.label,s=e.value,d=c.key;if(n){var p,h,m=null!==(h=c.title)&&void 0!==h?h:ex(u)?u.toString():void 0;return r.createElement("div",{className:i()(D,"".concat(D,"-group")),title:m},void 0!==u?u:d)}var v=c.disabled,g=c.title,y=(c.children,c.style),x=c.className,w=(0,f.Z)(c,eb),E=(0,Q.Z)(w,ee),S=$(s),C=v||!S&&z,k="".concat(D,"-option"),j=i()(D,k,x,(p={},(0,l.Z)(p,"".concat(k,"-grouped"),o),(0,l.Z)(p,"".concat(k,"-active"),X===t&&!C),(0,l.Z)(p,"".concat(k,"-disabled"),C),(0,l.Z)(p,"".concat(k,"-selected"),S),p)),P=et(e),A=!M||"function"==typeof M||S,T="number"==typeof P?P:P||s,I=ex(T)?T.toString():void 0;return void 0!==g&&(I=g),r.createElement("div",(0,a.Z)({},(0,O.Z)(E),N?{}:en(e,t),{"aria-selected":S,className:j,title:I,onMouseMove:function(){X===t||C||K(t)},onClick:function(){C||J(s)},style:y}),r.createElement("div",{className:"".concat(k,"-content")},"function"==typeof _?_(e,{index:t}):T),r.isValidElement(M)||S,A&&r.createElement(b,{className:"".concat(D,"-option-state"),customizeIcon:M,customizeIconProps:{value:s,disabled:C,isSelected:S}},S?"✓":null))}))});function eE(e,t){return k(e).join("").toUpperCase().includes(t)}var eO=n(22127),eS=0,eC=(0,eO.Z)(),ek=n(33054),ej=["children","value"],eP=["children"];function eM(e){var t=r.useRef();return t.current=e,r.useCallback(function(){return t.current.apply(t,arguments)},[])}var eA=["id","mode","prefixCls","backfill","fieldNames","inputValue","searchValue","onSearch","autoClearSearchValue","onSelect","onDeselect","dropdownMatchSelectWidth","filterOption","filterSort","optionFilterProp","optionLabelProp","options","optionRender","children","defaultActiveFirstOption","menuItemSelectedIcon","virtual","direction","listHeight","listItemHeight","value","defaultValue","labelInValue","onChange","maxCount"],eT=["inputValue"],eN=r.forwardRef(function(e,t){var n,o,i,h,m,v,g,y=e.id,b=e.mode,x=e.prefixCls,w=e.backfill,E=e.fieldNames,O=e.inputValue,S=e.searchValue,C=e.onSearch,j=e.autoClearSearchValue,P=void 0===j||j,M=e.onSelect,A=e.onDeselect,T=e.dropdownMatchSelectWidth,N=void 0===T||T,I=e.filterOption,Z=e.filterSort,R=e.optionFilterProp,_=e.optionLabelProp,D=e.options,B=e.optionRender,L=e.children,W=e.defaultActiveFirstOption,V=e.menuItemSelectedIcon,U=e.virtual,K=e.direction,$=e.listHeight,Y=void 0===$?200:$,Q=e.listItemHeight,J=void 0===Q?20:Q,ee=e.value,et=e.defaultValue,en=e.labelInValue,er=e.onChange,eo=e.maxCount,ei=(0,f.Z)(e,eA),ea=(n=r.useState(),i=(o=(0,s.Z)(n,2))[0],h=o[1],r.useEffect(function(){var e;h("rc_select_".concat((eC?(e=eS,eS+=1):e="TEST_OR_SSR",e)))},[]),y||i),ec=X(b),el=!!(!D&&L),eu=r.useMemo(function(){return(void 0!==I||"combobox"!==b)&&I},[I,b]),es=r.useMemo(function(){return F(E,el)},[JSON.stringify(E),el]),ef=(0,p.Z)("",{value:void 0!==S?S:O,postState:function(e){return e||""}}),ed=(0,s.Z)(ef,2),ep=ed[0],eh=ed[1],em=r.useMemo(function(){var e=D;D||(e=function e(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return(0,ek.Z)(t).map(function(t,o){if(!r.isValidElement(t)||!t.type)return null;var i,a,c,l,s,d=t.type.isSelectOptGroup,p=t.key,h=t.props,m=h.children,v=(0,f.Z)(h,eP);return n||!d?(i=t.key,c=(a=t.props).children,l=a.value,s=(0,f.Z)(a,ej),(0,u.Z)({key:i,value:void 0!==l?l:i,children:c},s)):(0,u.Z)((0,u.Z)({key:"__RC_SELECT_GRP__".concat(null===p?o:p,"__"),label:p},v),{},{options:e(m)})}).filter(function(e){return e})}(L));var t=new Map,n=new Map,o=function(e,t,n){n&&"string"==typeof n&&e.set(t[n],t)};return function e(r){for(var i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=0;a1&&void 0!==arguments[1]?arguments[1]:{},n=t.fieldNames,r=t.childrenAsData,o=[],i=F(n,!1),a=i.label,c=i.value,l=i.options,u=i.groupLabel;return!function e(t,n){Array.isArray(t)&&t.forEach(function(t){if(!n&&l in t){var i=t[u];void 0===i&&r&&(i=t.label),o.push({key:z(t,o.length),group:!0,data:t,label:i}),e(t[l],!0)}else{var s=t[c];o.push({key:z(t,o.length),groupOption:n,data:t,label:t[a],value:s})}})}(e,!1),o}(eW,{fieldNames:es,childrenAsData:el})},[eW,es,el]),eV=function(e){var t=eb(e);if(eI(t),er&&(t.length!==e_.length||t.some(function(e,t){var n;return(null===(n=e_[t])||void 0===n?void 0:n.value)!==(null==e?void 0:e.value)}))){var n=en?t:t.map(function(e){return e.value}),r=t.map(function(e){return H(eD(e.value))});er(ec?n:n[0],ec?r:r[0])}},eU=r.useState(null),eX=(0,s.Z)(eU,2),eG=eX[0],eK=eX[1],e$=r.useState(0),eY=(0,s.Z)(e$,2),eQ=eY[0],eJ=eY[1],e0=void 0!==W?W:"combobox"!==b,e1=r.useCallback(function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.source;eJ(t),w&&"combobox"===b&&null!==e&&"keyboard"===(void 0===r?"keyboard":r)&&eK(String(e))},[w,b]),e2=function(e,t,n){var r=function(){var t,n=eD(e);return[en?{label:null==n?void 0:n[es.label],value:e,key:null!==(t=null==n?void 0:n.key)&&void 0!==t?t:e}:e,H(n)]};if(t&&M){var o=r(),i=(0,s.Z)(o,2);M(i[0],i[1])}else if(!t&&A&&"clear"!==n){var a=r(),c=(0,s.Z)(a,2);A(c[0],c[1])}},e4=eM(function(e,t){var n=!ec||t.selected;eV(n?ec?[].concat((0,c.Z)(e_),[e]):[e]:e_.filter(function(t){return t.value!==e})),e2(e,n),"combobox"===b?eK(""):(!X||P)&&(eh(""),eK(""))}),e5=r.useMemo(function(){var e=!1!==U&&!1!==N;return(0,u.Z)((0,u.Z)({},em),{},{flattenOptions:eq,onActiveValue:e1,defaultActiveFirstOption:e0,onSelect:e4,menuItemSelectedIcon:V,rawValues:eL,fieldNames:es,virtual:e,direction:K,listHeight:Y,listItemHeight:J,childrenAsData:el,maxCount:eo,optionRender:B})},[eo,em,eq,e1,e0,e4,V,eL,es,U,N,K,Y,J,el,B]);return r.createElement(q.Provider,{value:e5},r.createElement(G,(0,a.Z)({},ei,{id:ea,prefixCls:void 0===x?"rc-select":x,ref:t,omitDomProps:eT,mode:b,displayValues:eB,onDisplayValuesChange:function(e,t){eV(e);var n=t.type,r=t.values;("remove"===n||"clear"===n)&&r.forEach(function(e){e2(e.value,!1,n)})},direction:K,searchValue:ep,onSearch:function(e,t){if(eh(e),eK(null),"submit"===t.source){var n=(e||"").trim();n&&(eV(Array.from(new Set([].concat((0,c.Z)(eL),[n])))),e2(n,!0),eh(""));return}"blur"!==t.source&&("combobox"===b&&eV(e),null==C||C(e))},autoClearSearchValue:P,onSearchSplit:function(e){var t=e;"tags"!==b&&(t=e.map(function(e){var t=eg.get(e);return null==t?void 0:t.value}).filter(function(e){return void 0!==e}));var n=Array.from(new Set([].concat((0,c.Z)(eL),(0,c.Z)(t))));eV(n),n.forEach(function(e){e2(e,!0)})},dropdownMatchSelectWidth:N,OptionList:ew,emptyOptions:!eq.length,activeValue:eG,activeDescendantId:"".concat(ea,"_list_").concat(eQ)})))});eN.Option=$,eN.OptGroup=K;var eI=n(51761),eZ=n(47387),eR=n(21467),e_=n(47794),eD=n(57499),eB=n(70595),eL=n(6336),ez=n(24750),eF=n(76585),eH=n(80316);let eW=e=>{let{componentCls:t,margin:n,marginXS:r,marginXL:o,fontSize:i,lineHeight:a}=e;return{[t]:{marginInline:r,fontSize:i,lineHeight:a,textAlign:"center",["".concat(t,"-image")]:{height:e.emptyImgHeight,marginBottom:r,opacity:e.opacityImage,img:{height:"100%"},svg:{maxWidth:"100%",height:"100%",margin:"auto"}},["".concat(t,"-description")]:{color:e.colorText},["".concat(t,"-footer")]:{marginTop:n},"&-normal":{marginBlock:o,color:e.colorTextDisabled,["".concat(t,"-description")]:{color:e.colorTextDisabled},["".concat(t,"-image")]:{height:e.emptyImgHeightMD}},"&-small":{marginBlock:r,color:e.colorTextDisabled,["".concat(t,"-image")]:{height:e.emptyImgHeightSM}}}}};var eq=(0,eF.I$)("Empty",e=>{let{componentCls:t,controlHeightLG:n,calc:r}=e;return[eW((0,eH.TS)(e,{emptyImgCls:"".concat(t,"-img"),emptyImgHeight:r(n).mul(2.5).equal(),emptyImgHeightMD:n,emptyImgHeightSM:r(n).mul(.875).equal()}))]}),eV=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let eU=r.createElement(()=>{let[,e]=(0,ez.ZP)(),t=new eL.C(e.colorBgBase).toHsl().l<.5?{opacity:.65}:{};return r.createElement("svg",{style:t,width:"184",height:"152",viewBox:"0 0 184 152",xmlns:"http://www.w3.org/2000/svg"},r.createElement("g",{fill:"none",fillRule:"evenodd"},r.createElement("g",{transform:"translate(24 31.67)"},r.createElement("ellipse",{fillOpacity:".8",fill:"#F5F5F7",cx:"67.797",cy:"106.89",rx:"67.797",ry:"12.668"}),r.createElement("path",{d:"M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z",fill:"#AEB8C2"}),r.createElement("path",{d:"M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z",fill:"url(#linearGradient-1)",transform:"translate(13.56)"}),r.createElement("path",{d:"M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z",fill:"#F5F5F7"}),r.createElement("path",{d:"M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z",fill:"#DCE0E6"})),r.createElement("path",{d:"M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z",fill:"#DCE0E6"}),r.createElement("g",{transform:"translate(149.65 15.383)",fill:"#FFF"},r.createElement("ellipse",{cx:"20.654",cy:"3.167",rx:"2.849",ry:"2.815"}),r.createElement("path",{d:"M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z"}))))},null),eX=r.createElement(()=>{let[,e]=(0,ez.ZP)(),{colorFill:t,colorFillTertiary:n,colorFillQuaternary:o,colorBgContainer:i}=e,{borderColor:a,shadowColor:c,contentColor:l}=(0,r.useMemo)(()=>({borderColor:new eL.C(t).onBackground(i).toHexShortString(),shadowColor:new eL.C(n).onBackground(i).toHexShortString(),contentColor:new eL.C(o).onBackground(i).toHexShortString()}),[t,n,o,i]);return r.createElement("svg",{width:"64",height:"41",viewBox:"0 0 64 41",xmlns:"http://www.w3.org/2000/svg"},r.createElement("g",{transform:"translate(0 1)",fill:"none",fillRule:"evenodd"},r.createElement("ellipse",{fill:c,cx:"32",cy:"33",rx:"32",ry:"7"}),r.createElement("g",{fillRule:"nonzero",stroke:a},r.createElement("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"}),r.createElement("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",fill:l}))))},null),eG=e=>{var{className:t,rootClassName:n,prefixCls:o,image:a=eU,description:c,children:l,imageStyle:u,style:s}=e,f=eV(e,["className","rootClassName","prefixCls","image","description","children","imageStyle","style"]);let{getPrefixCls:d,direction:p,empty:h}=r.useContext(eD.E_),m=d("empty",o),[v,g,y]=eq(m),[b]=(0,eB.Z)("Empty"),x=void 0!==c?c:null==b?void 0:b.description,w=null;return w="string"==typeof a?r.createElement("img",{alt:"string"==typeof x?x:"empty",src:a}):a,v(r.createElement("div",Object.assign({className:i()(g,y,m,null==h?void 0:h.className,{["".concat(m,"-normal")]:a===eX,["".concat(m,"-rtl")]:"rtl"===p},t,n),style:Object.assign(Object.assign({},null==h?void 0:h.style),s)},f),r.createElement("div",{className:"".concat(m,"-image"),style:u},w),x&&r.createElement("div",{className:"".concat(m,"-description")},x),l&&r.createElement("div",{className:"".concat(m,"-footer")},l)))};eG.PRESENTED_IMAGE_DEFAULT=eU,eG.PRESENTED_IMAGE_SIMPLE=eX;var eK=e=>{let{componentName:t}=e,{getPrefixCls:n}=(0,r.useContext)(eD.E_),o=n("empty");switch(t){case"Table":case"List":return r.createElement(eG,{image:eG.PRESENTED_IMAGE_SIMPLE});case"Select":case"TreeSelect":case"Cascader":case"Transfer":case"Mentions":return r.createElement(eG,{image:eG.PRESENTED_IMAGE_SIMPLE,className:"".concat(o,"-small")});default:return r.createElement(eG,null)}},e$=n(17094),eY=n(92935),eQ=n(10693),eJ=n(47137),e0=n(8443),e1=n(92801);let e2=e=>{let t={overflow:{adjustX:!0,adjustY:!0,shiftY:!0},htmlRegion:"scroll"===e?"scroll":"visible",dynamicInset:!0};return{bottomLeft:Object.assign(Object.assign({},t),{points:["tl","bl"],offset:[0,4]}),bottomRight:Object.assign(Object.assign({},t),{points:["tr","br"],offset:[0,4]}),topLeft:Object.assign(Object.assign({},t),{points:["bl","tl"],offset:[0,-4]}),topRight:Object.assign(Object.assign({},t),{points:["br","tr"],offset:[0,-4]})}};var e4=n(11303),e5=n(12288),e6=n(202),e3=n(8985),e8=n(59353);let e9=new e3.E4("antMoveDownIn",{"0%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),e7=new e3.E4("antMoveDownOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0}}),te=new e3.E4("antMoveLeftIn",{"0%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),tt=new e3.E4("antMoveLeftOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),tn=new e3.E4("antMoveRightIn",{"0%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),tr=new e3.E4("antMoveRightOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),to={"move-up":{inKeyframes:new e3.E4("antMoveUpIn",{"0%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),outKeyframes:new e3.E4("antMoveUpOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0}})},"move-down":{inKeyframes:e9,outKeyframes:e7},"move-left":{inKeyframes:te,outKeyframes:tt},"move-right":{inKeyframes:tn,outKeyframes:tr}},ti=(e,t)=>{let{antCls:n}=e,r="".concat(n,"-").concat(t),{inKeyframes:o,outKeyframes:i}=to[t];return[(0,e8.R)(r,o,i,e.motionDurationMid),{["\n ".concat(r,"-enter,\n ").concat(r,"-appear\n ")]:{opacity:0,animationTimingFunction:e.motionEaseOutCirc},["".concat(r,"-leave")]:{animationTimingFunction:e.motionEaseInOutCirc}}]},ta=e=>{let{optionHeight:t,optionFontSize:n,optionLineHeight:r,optionPadding:o}=e;return{position:"relative",display:"block",minHeight:t,padding:o,color:e.colorText,fontWeight:"normal",fontSize:n,lineHeight:r,boxSizing:"border-box"}};var tc=e=>{let{antCls:t,componentCls:n}=e,r="".concat(n,"-item"),o="&".concat(t,"-slide-up-enter").concat(t,"-slide-up-enter-active"),i="&".concat(t,"-slide-up-appear").concat(t,"-slide-up-appear-active"),a="&".concat(t,"-slide-up-leave").concat(t,"-slide-up-leave-active"),c="".concat(n,"-dropdown-placement-");return[{["".concat(n,"-dropdown")]:Object.assign(Object.assign({},(0,e4.Wf)(e)),{position:"absolute",top:-9999,zIndex:e.zIndexPopup,boxSizing:"border-box",padding:e.paddingXXS,overflow:"hidden",fontSize:e.fontSize,fontVariant:"initial",backgroundColor:e.colorBgElevated,borderRadius:e.borderRadiusLG,outline:"none",boxShadow:e.boxShadowSecondary,["\n ".concat(o).concat(c,"bottomLeft,\n ").concat(i).concat(c,"bottomLeft\n ")]:{animationName:e6.fJ},["\n ".concat(o).concat(c,"topLeft,\n ").concat(i).concat(c,"topLeft,\n ").concat(o).concat(c,"topRight,\n ").concat(i).concat(c,"topRight\n ")]:{animationName:e6.Qt},["".concat(a).concat(c,"bottomLeft")]:{animationName:e6.Uw},["\n ".concat(a).concat(c,"topLeft,\n ").concat(a).concat(c,"topRight\n ")]:{animationName:e6.ly},"&-hidden":{display:"none"},["".concat(r)]:Object.assign(Object.assign({},ta(e)),{cursor:"pointer",transition:"background ".concat(e.motionDurationSlow," ease"),borderRadius:e.borderRadiusSM,"&-group":{color:e.colorTextDescription,fontSize:e.fontSizeSM,cursor:"default"},"&-option":{display:"flex","&-content":Object.assign({flex:"auto"},e4.vS),"&-state":{flex:"none",display:"flex",alignItems:"center"},["&-active:not(".concat(r,"-option-disabled)")]:{backgroundColor:e.optionActiveBg},["&-selected:not(".concat(r,"-option-disabled)")]:{color:e.optionSelectedColor,fontWeight:e.optionSelectedFontWeight,backgroundColor:e.optionSelectedBg,["".concat(r,"-option-state")]:{color:e.colorPrimary},["&:has(+ ".concat(r,"-option-selected:not(").concat(r,"-option-disabled))")]:{borderEndStartRadius:0,borderEndEndRadius:0,["& + ".concat(r,"-option-selected:not(").concat(r,"-option-disabled)")]:{borderStartStartRadius:0,borderStartEndRadius:0}}},"&-disabled":{["&".concat(r,"-option-selected")]:{backgroundColor:e.colorBgContainerDisabled},color:e.colorTextDisabled,cursor:"not-allowed"},"&-grouped":{paddingInlineStart:e.calc(e.controlPaddingHorizontal).mul(2).equal()}}}),"&-rtl":{direction:"rtl"}})},(0,e6.oN)(e,"slide-up"),(0,e6.oN)(e,"slide-down"),ti(e,"move-up"),ti(e,"move-down")]};let tl=e=>{let{multipleSelectItemHeight:t,selectHeight:n,lineWidth:r}=e;return e.calc(n).sub(t).div(2).sub(r).equal()};function tu(e,t){let{componentCls:n,iconCls:r}=e,o="".concat(n,"-selection-overflow"),i=e.multipleSelectItemHeight,a=tl(e),c=t?"".concat(n,"-").concat(t):"";return{["".concat(n,"-multiple").concat(c)]:{fontSize:e.fontSize,[o]:{position:"relative",display:"flex",flex:"auto",flexWrap:"wrap",maxWidth:"100%","&-item":{flex:"none",alignSelf:"center",maxWidth:"100%",display:"inline-flex"}},["".concat(n,"-selector")]:{display:"flex",flexWrap:"wrap",alignItems:"center",height:"100%",paddingInline:e.calc(2).mul(2).equal(),paddingBlock:e.calc(a).sub(2).equal(),borderRadius:e.borderRadius,["".concat(n,"-show-search&")]:{cursor:"text"},["".concat(n,"-disabled&")]:{background:e.multipleSelectorBgDisabled,cursor:"not-allowed"},"&:after":{display:"inline-block",width:0,margin:"".concat((0,e3.bf)(2)," 0"),lineHeight:(0,e3.bf)(i),visibility:"hidden",content:'"\\a0"'}},["\n &".concat(n,"-show-arrow ").concat(n,"-selector,\n &").concat(n,"-allow-clear ").concat(n,"-selector\n ")]:{paddingInlineEnd:e.calc(e.fontSizeIcon).add(e.controlPaddingHorizontal).equal()},["".concat(n,"-selection-item")]:{display:"flex",alignSelf:"center",flex:"none",boxSizing:"border-box",maxWidth:"100%",height:i,marginTop:2,marginBottom:2,lineHeight:(0,e3.bf)(e.calc(i).sub(e.calc(e.lineWidth).mul(2)).equal()),borderRadius:e.borderRadiusSM,cursor:"default",transition:"font-size ".concat(e.motionDurationSlow,", line-height ").concat(e.motionDurationSlow,", height ").concat(e.motionDurationSlow),marginInlineEnd:e.calc(2).mul(2).equal(),paddingInlineStart:e.paddingXS,paddingInlineEnd:e.calc(e.paddingXS).div(2).equal(),["".concat(n,"-disabled&")]:{color:e.multipleItemColorDisabled,borderColor:e.multipleItemBorderColorDisabled,cursor:"not-allowed"},"&-content":{display:"inline-block",marginInlineEnd:e.calc(e.paddingXS).div(2).equal(),overflow:"hidden",whiteSpace:"pre",textOverflow:"ellipsis"},"&-remove":Object.assign(Object.assign({},(0,e4.Ro)()),{display:"inline-flex",alignItems:"center",color:e.colorIcon,fontWeight:"bold",fontSize:10,lineHeight:"inherit",cursor:"pointer",["> ".concat(r)]:{verticalAlign:"-0.2em"},"&:hover":{color:e.colorIconHover}})},["".concat(o,"-item + ").concat(o,"-item")]:{["".concat(n,"-selection-search")]:{marginInlineStart:0}},["".concat(o,"-item-suffix")]:{height:"100%"},["".concat(n,"-selection-search")]:{display:"inline-flex",position:"relative",maxWidth:"100%",marginInlineStart:e.calc(e.inputPaddingHorizontalBase).sub(a).equal(),"\n &-input,\n &-mirror\n ":{height:i,fontFamily:e.fontFamily,lineHeight:(0,e3.bf)(i),transition:"all ".concat(e.motionDurationSlow)},"&-input":{width:"100%",minWidth:4.1},"&-mirror":{position:"absolute",top:0,insetInlineStart:0,insetInlineEnd:"auto",zIndex:999,whiteSpace:"pre",visibility:"hidden"}},["".concat(n,"-selection-placeholder")]:{position:"absolute",top:"50%",insetInlineStart:e.inputPaddingHorizontalBase,insetInlineEnd:e.inputPaddingHorizontalBase,transform:"translateY(-50%)",transition:"all ".concat(e.motionDurationSlow)}}}}var ts=e=>{let{componentCls:t}=e,n=(0,eH.TS)(e,{selectHeight:e.controlHeightSM,multipleSelectItemHeight:e.controlHeightXS,borderRadius:e.borderRadiusSM,borderRadiusSM:e.borderRadiusXS}),r=(0,eH.TS)(e,{fontSize:e.fontSizeLG,selectHeight:e.controlHeightLG,multipleSelectItemHeight:e.multipleItemHeightLG,borderRadius:e.borderRadiusLG,borderRadiusSM:e.borderRadius});return[tu(e),tu(n,"sm"),{["".concat(t,"-multiple").concat(t,"-sm")]:{["".concat(t,"-selection-placeholder")]:{insetInline:e.calc(e.controlPaddingHorizontalSM).sub(e.lineWidth).equal()},["".concat(t,"-selection-search")]:{marginInlineStart:2}}},tu(r,"lg")]};function tf(e,t){let{componentCls:n,inputPaddingHorizontalBase:r,borderRadius:o}=e,i=e.calc(e.controlHeight).sub(e.calc(e.lineWidth).mul(2)).equal(),a=t?"".concat(n,"-").concat(t):"";return{["".concat(n,"-single").concat(a)]:{fontSize:e.fontSize,height:e.controlHeight,["".concat(n,"-selector")]:Object.assign(Object.assign({},(0,e4.Wf)(e,!0)),{display:"flex",borderRadius:o,["".concat(n,"-selection-search")]:{position:"absolute",top:0,insetInlineStart:r,insetInlineEnd:r,bottom:0,"&-input":{width:"100%",WebkitAppearance:"textfield"}},["\n ".concat(n,"-selection-item,\n ").concat(n,"-selection-placeholder\n ")]:{padding:0,lineHeight:(0,e3.bf)(i),transition:"all ".concat(e.motionDurationSlow,", visibility 0s"),alignSelf:"center"},["".concat(n,"-selection-placeholder")]:{transition:"none",pointerEvents:"none"},[["&:after","".concat(n,"-selection-item:empty:after"),"".concat(n,"-selection-placeholder:empty:after")].join(",")]:{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'}}),["\n &".concat(n,"-show-arrow ").concat(n,"-selection-item,\n &").concat(n,"-show-arrow ").concat(n,"-selection-placeholder\n ")]:{paddingInlineEnd:e.showArrowPaddingInlineEnd},["&".concat(n,"-open ").concat(n,"-selection-item")]:{color:e.colorTextPlaceholder},["&:not(".concat(n,"-customize-input)")]:{["".concat(n,"-selector")]:{width:"100%",height:"100%",padding:"0 ".concat((0,e3.bf)(r)),["".concat(n,"-selection-search-input")]:{height:i},"&:after":{lineHeight:(0,e3.bf)(i)}}},["&".concat(n,"-customize-input")]:{["".concat(n,"-selector")]:{"&:after":{display:"none"},["".concat(n,"-selection-search")]:{position:"static",width:"100%"},["".concat(n,"-selection-placeholder")]:{position:"absolute",insetInlineStart:0,insetInlineEnd:0,padding:"0 ".concat((0,e3.bf)(r)),"&:after":{display:"none"}}}}}}}let td=(e,t)=>{let{componentCls:n,antCls:r,controlOutlineWidth:o}=e;return{["&:not(".concat(n,"-customize-input) ").concat(n,"-selector")]:{border:"".concat((0,e3.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(t.borderColor),background:e.selectorBg},["&:not(".concat(n,"-disabled):not(").concat(n,"-customize-input):not(").concat(r,"-pagination-size-changer)")]:{["&:hover ".concat(n,"-selector")]:{borderColor:t.hoverBorderHover},["".concat(n,"-focused& ").concat(n,"-selector")]:{borderColor:t.activeBorderColor,boxShadow:"0 0 0 ".concat((0,e3.bf)(o)," ").concat(t.activeShadowColor),outline:0}}}},tp=(e,t)=>({["&".concat(e.componentCls,"-status-").concat(t.status)]:Object.assign({},td(e,t))}),th=e=>({"&-outlined":Object.assign(Object.assign(Object.assign(Object.assign({},td(e,{borderColor:e.colorBorder,hoverBorderHover:e.colorPrimaryHover,activeBorderColor:e.colorPrimary,activeShadowColor:e.controlOutline})),tp(e,{status:"error",borderColor:e.colorError,hoverBorderHover:e.colorErrorHover,activeBorderColor:e.colorError,activeShadowColor:e.colorErrorOutline})),tp(e,{status:"warning",borderColor:e.colorWarning,hoverBorderHover:e.colorWarningHover,activeBorderColor:e.colorWarning,activeShadowColor:e.colorWarningOutline})),{["&".concat(e.componentCls,"-disabled")]:{["&:not(".concat(e.componentCls,"-customize-input) ").concat(e.componentCls,"-selector")]:{background:e.colorBgContainerDisabled,color:e.colorTextDisabled}},["&".concat(e.componentCls,"-multiple ").concat(e.componentCls,"-selection-item")]:{background:e.multipleItemBg,border:"".concat((0,e3.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.multipleItemBorderColor)}})}),tm=(e,t)=>{let{componentCls:n,antCls:r}=e;return{["&:not(".concat(n,"-customize-input) ").concat(n,"-selector")]:{background:t.bg,border:"".concat((0,e3.bf)(e.lineWidth)," ").concat(e.lineType," transparent"),color:t.color},["&:not(".concat(n,"-disabled):not(").concat(n,"-customize-input):not(").concat(r,"-pagination-size-changer)")]:{["&:hover ".concat(n,"-selector")]:{background:t.hoverBg},["".concat(n,"-focused& ").concat(n,"-selector")]:{background:e.selectorBg,borderColor:t.activeBorderColor,outline:0}}}},tv=(e,t)=>({["&".concat(e.componentCls,"-status-").concat(t.status)]:Object.assign({},tm(e,t))}),tg=e=>({"&-filled":Object.assign(Object.assign(Object.assign(Object.assign({},tm(e,{bg:e.colorFillTertiary,hoverBg:e.colorFillSecondary,activeBorderColor:e.colorPrimary,color:e.colorText})),tv(e,{status:"error",bg:e.colorErrorBg,hoverBg:e.colorErrorBgHover,activeBorderColor:e.colorError,color:e.colorError})),tv(e,{status:"warning",bg:e.colorWarningBg,hoverBg:e.colorWarningBgHover,activeBorderColor:e.colorWarning,color:e.colorWarning})),{["&".concat(e.componentCls,"-disabled")]:{["&:not(".concat(e.componentCls,"-customize-input) ").concat(e.componentCls,"-selector")]:{borderColor:e.colorBorder,background:e.colorBgContainerDisabled,color:e.colorTextDisabled}},["&".concat(e.componentCls,"-multiple ").concat(e.componentCls,"-selection-item")]:{background:e.colorBgContainer,border:"".concat((0,e3.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorSplit)}})}),ty=e=>({"&-borderless":{["".concat(e.componentCls,"-selector")]:{background:"transparent",borderColor:"transparent"},["&".concat(e.componentCls,"-disabled")]:{["&:not(".concat(e.componentCls,"-customize-input) ").concat(e.componentCls,"-selector")]:{color:e.colorTextDisabled}},["&".concat(e.componentCls,"-multiple ").concat(e.componentCls,"-selection-item")]:{background:e.multipleItemBg,border:"".concat((0,e3.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.multipleItemBorderColor)}}});var tb=e=>({[e.componentCls]:Object.assign(Object.assign(Object.assign({},th(e)),tg(e)),ty(e))});let tx=e=>{let{componentCls:t}=e;return{position:"relative",transition:"all ".concat(e.motionDurationMid," ").concat(e.motionEaseInOut),input:{cursor:"pointer"},["".concat(t,"-show-search&")]:{cursor:"text",input:{cursor:"auto",color:"inherit",height:"100%"}},["".concat(t,"-disabled&")]:{cursor:"not-allowed",input:{cursor:"not-allowed"}}}},tw=e=>{let{componentCls:t}=e;return{["".concat(t,"-selection-search-input")]:{margin:0,padding:0,background:"transparent",border:"none",outline:"none",appearance:"none",fontFamily:"inherit","&::-webkit-search-cancel-button":{display:"none","-webkit-appearance":"none"}}}},tE=e=>{let{antCls:t,componentCls:n,inputPaddingHorizontalBase:r,iconCls:o}=e;return{[n]:Object.assign(Object.assign({},(0,e4.Wf)(e)),{position:"relative",display:"inline-block",cursor:"pointer",["&:not(".concat(n,"-customize-input) ").concat(n,"-selector")]:Object.assign(Object.assign({},tx(e)),tw(e)),["".concat(n,"-selection-item")]:Object.assign(Object.assign({flex:1,fontWeight:"normal",position:"relative",userSelect:"none"},e4.vS),{["> ".concat(t,"-typography")]:{display:"inline"}}),["".concat(n,"-selection-placeholder")]:Object.assign(Object.assign({},e4.vS),{flex:1,color:e.colorTextPlaceholder,pointerEvents:"none"}),["".concat(n,"-arrow")]:Object.assign(Object.assign({},(0,e4.Ro)()),{position:"absolute",top:"50%",insetInlineStart:"auto",insetInlineEnd:r,height:e.fontSizeIcon,marginTop:e.calc(e.fontSizeIcon).mul(-1).div(2).equal(),color:e.colorTextQuaternary,fontSize:e.fontSizeIcon,lineHeight:1,textAlign:"center",pointerEvents:"none",display:"flex",alignItems:"center",transition:"opacity ".concat(e.motionDurationSlow," ease"),[o]:{verticalAlign:"top",transition:"transform ".concat(e.motionDurationSlow),"> svg":{verticalAlign:"top"},["&:not(".concat(n,"-suffix)")]:{pointerEvents:"auto"}},["".concat(n,"-disabled &")]:{cursor:"not-allowed"},"> *:not(:last-child)":{marginInlineEnd:8}}),["".concat(n,"-clear")]:{position:"absolute",top:"50%",insetInlineStart:"auto",insetInlineEnd:r,zIndex:1,display:"inline-block",width:e.fontSizeIcon,height:e.fontSizeIcon,marginTop:e.calc(e.fontSizeIcon).mul(-1).div(2).equal(),color:e.colorTextQuaternary,fontSize:e.fontSizeIcon,fontStyle:"normal",lineHeight:1,textAlign:"center",textTransform:"none",cursor:"pointer",opacity:0,transition:"color ".concat(e.motionDurationMid," ease, opacity ").concat(e.motionDurationSlow," ease"),textRendering:"auto","&:before":{display:"block"},"&:hover":{color:e.colorTextTertiary}},"&:hover":{["".concat(n,"-clear")]:{opacity:1},["".concat(n,"-arrow:not(:last-child)")]:{opacity:0}}}),["".concat(n,"-has-feedback")]:{["".concat(n,"-clear")]:{insetInlineEnd:e.calc(r).add(e.fontSize).add(e.paddingXS).equal()}}}},tO=e=>{let{componentCls:t}=e;return[{[t]:{["&".concat(t,"-in-form-item")]:{width:"100%"}}},tE(e),function(e){let{componentCls:t}=e,n=e.calc(e.controlPaddingHorizontalSM).sub(e.lineWidth).equal();return[tf(e),tf((0,eH.TS)(e,{controlHeight:e.controlHeightSM,borderRadius:e.borderRadiusSM}),"sm"),{["".concat(t,"-single").concat(t,"-sm")]:{["&:not(".concat(t,"-customize-input)")]:{["".concat(t,"-selection-search")]:{insetInlineStart:n,insetInlineEnd:n},["".concat(t,"-selector")]:{padding:"0 ".concat((0,e3.bf)(n))},["&".concat(t,"-show-arrow ").concat(t,"-selection-search")]:{insetInlineEnd:e.calc(n).add(e.calc(e.fontSize).mul(1.5)).equal()},["\n &".concat(t,"-show-arrow ").concat(t,"-selection-item,\n &").concat(t,"-show-arrow ").concat(t,"-selection-placeholder\n ")]:{paddingInlineEnd:e.calc(e.fontSize).mul(1.5).equal()}}}},tf((0,eH.TS)(e,{controlHeight:e.singleItemHeightLG,fontSize:e.fontSizeLG,borderRadius:e.borderRadiusLG}),"lg")]}(e),ts(e),tc(e),{["".concat(t,"-rtl")]:{direction:"rtl"}},(0,e5.c)(e,{borderElCls:"".concat(t,"-selector"),focusElCls:"".concat(t,"-focused")})]};var tS=(0,eF.I$)("Select",(e,t)=>{let{rootPrefixCls:n}=t,r=(0,eH.TS)(e,{rootPrefixCls:n,inputPaddingHorizontalBase:e.calc(e.paddingSM).sub(1).equal(),multipleSelectItemHeight:e.multipleItemHeight,selectHeight:e.controlHeight});return[tO(r),tb(r)]},e=>{let{fontSize:t,lineHeight:n,controlHeight:r,controlPaddingHorizontal:o,zIndexPopupBase:i,colorText:a,fontWeightStrong:c,controlItemBgActive:l,controlItemBgHover:u,colorBgContainer:s,colorFillSecondary:f,controlHeightLG:d,controlHeightSM:p,colorBgContainerDisabled:h,colorTextDisabled:m}=e;return{zIndexPopup:i+50,optionSelectedColor:a,optionSelectedFontWeight:c,optionSelectedBg:l,optionActiveBg:u,optionPadding:"".concat((r-t*n)/2,"px ").concat(o,"px"),optionFontSize:t,optionLineHeight:n,optionHeight:r,selectorBg:s,clearBg:s,singleItemHeightLG:d,multipleItemBg:f,multipleItemBorderColor:"transparent",multipleItemHeight:p,multipleItemHeightLG:r,multipleSelectorBgDisabled:h,multipleItemColorDisabled:m,multipleItemBorderColorDisabled:"transparent",showArrowPaddingInlineEnd:Math.ceil(1.25*e.fontSize)}},{unitless:{optionLineHeight:!0,optionSelectedFontWeight:!0}}),tC={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"}}]},name:"check",theme:"outlined"},tk=n(60688),tj=r.forwardRef(function(e,t){return r.createElement(tk.Z,(0,a.Z)({},e,{ref:t,icon:tC}))}),tP=n(77136),tM=n(81303),tA=n(20383),tT=n(66155),tN=n(96871),tI=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let tZ="SECRET_COMBOBOX_MODE_DO_NOT_USE",tR=r.forwardRef((e,t)=>{var n,o,a;let c;let{prefixCls:l,bordered:u,className:s,rootClassName:f,getPopupContainer:d,popupClassName:p,dropdownClassName:h,listHeight:m=256,placement:v,listItemHeight:g,size:y,disabled:b,notFoundContent:x,status:w,builtinPlacements:E,dropdownMatchSelectWidth:O,popupMatchSelectWidth:S,direction:C,style:k,allowClear:j,variant:P,dropdownStyle:M,transitionName:A,tagRender:T,maxCount:N}=e,I=tI(e,["prefixCls","bordered","className","rootClassName","getPopupContainer","popupClassName","dropdownClassName","listHeight","placement","listItemHeight","size","disabled","notFoundContent","status","builtinPlacements","dropdownMatchSelectWidth","popupMatchSelectWidth","direction","style","allowClear","variant","dropdownStyle","transitionName","tagRender","maxCount"]),{getPopupContainer:Z,getPrefixCls:R,renderEmpty:_,direction:D,virtual:B,popupMatchSelectWidth:L,popupOverflow:z,select:F}=r.useContext(eD.E_),[,H]=(0,ez.ZP)(),W=null!=g?g:null==H?void 0:H.controlHeight,q=R("select",l),V=R(),U=null!=C?C:D,{compactSize:X,compactItemClassnames:G}=(0,e1.ri)(q,U),[K,$]=(0,e0.Z)(P,u),Y=(0,eY.Z)(q),[J,ee,et]=tS(q,Y),en=r.useMemo(()=>{let{mode:t}=e;return"combobox"===t?void 0:t===tZ?"combobox":t},[e.mode]),er="multiple"===en||"tags"===en,eo=(o=e.suffixIcon,void 0!==(a=e.showArrow)?a:null!==o),ei=null!==(n=null!=S?S:O)&&void 0!==n?n:L,{status:ea,hasFeedback:ec,isFormItemInput:el,feedbackIcon:eu}=r.useContext(eJ.aM),es=(0,e_.F)(ea,w);c=void 0!==x?x:"combobox"===en?null:(null==_?void 0:_("Select"))||r.createElement(eK,{componentName:"Select"});let{suffixIcon:ef,itemIcon:ed,removeIcon:ep,clearIcon:eh}=function(e){let{suffixIcon:t,clearIcon:n,menuItemSelectedIcon:o,removeIcon:i,loading:a,multiple:c,hasFeedback:l,prefixCls:u,showSuffixIcon:s,feedbackIcon:f,showArrow:d,componentName:p}=e,h=null!=n?n:r.createElement(tP.Z,null),m=e=>null!==t||l||d?r.createElement(r.Fragment,null,!1!==s&&e,l&&f):null,v=null;if(void 0!==t)v=m(t);else if(a)v=m(r.createElement(tT.Z,{spin:!0}));else{let e="".concat(u,"-suffix");v=t=>{let{open:n,showSearch:o}=t;return n&&o?m(r.createElement(tN.Z,{className:e})):m(r.createElement(tA.Z,{className:e}))}}let g=null;return g=void 0!==o?o:c?r.createElement(tj,null):null,{clearIcon:h,suffixIcon:v,itemIcon:g,removeIcon:void 0!==i?i:r.createElement(tM.Z,null)}}(Object.assign(Object.assign({},I),{multiple:er,hasFeedback:ec,feedbackIcon:eu,showSuffixIcon:eo,prefixCls:q,componentName:"Select"})),em=(0,Q.Z)(I,["suffixIcon","itemIcon"]),ev=i()(p||h,{["".concat(q,"-dropdown-").concat(U)]:"rtl"===U},f,et,Y,ee),eg=(0,eQ.Z)(e=>{var t;return null!==(t=null!=y?y:X)&&void 0!==t?t:e}),ey=r.useContext(e$.Z),eb=i()({["".concat(q,"-lg")]:"large"===eg,["".concat(q,"-sm")]:"small"===eg,["".concat(q,"-rtl")]:"rtl"===U,["".concat(q,"-").concat(K)]:$,["".concat(q,"-in-form-item")]:el},(0,e_.Z)(q,es,ec),G,null==F?void 0:F.className,s,f,et,Y,ee),ex=r.useMemo(()=>void 0!==v?v:"rtl"===U?"bottomRight":"bottomLeft",[v,U]),[ew]=(0,eI.Cn)("SelectLike",null==M?void 0:M.zIndex);return J(r.createElement(eN,Object.assign({ref:t,virtual:B,showSearch:null==F?void 0:F.showSearch},em,{style:Object.assign(Object.assign({},null==F?void 0:F.style),k),dropdownMatchSelectWidth:ei,transitionName:(0,eZ.m)(V,"slide-up",A),builtinPlacements:E||e2(z),listHeight:m,listItemHeight:W,mode:en,prefixCls:q,placement:ex,direction:U,suffixIcon:ef,menuItemSelectedIcon:ed,removeIcon:ep,allowClear:!0===j?{clearIcon:eh}:j,notFoundContent:c,className:eb,getPopupContainer:d||Z,dropdownClassName:ev,disabled:null!=b?b:ey,dropdownStyle:Object.assign(Object.assign({},M),{zIndex:ew}),maxCount:er?N:void 0,tagRender:er?T:void 0})))}),t_=(0,eR.Z)(tR);tR.SECRET_COMBOBOX_MODE_DO_NOT_USE=tZ,tR.Option=$,tR.OptGroup=K,tR._InternalPanelDoNotUseOrYouWillBeFired=t_;var tD=tR},92801:function(e,t,n){n.d(t,{BR:function(){return l},ri:function(){return c}});var r=n(16480),o=n.n(r);n(33054);var i=n(64090);let a=i.createContext(null),c=(e,t)=>{let n=i.useContext(a),r=i.useMemo(()=>{if(!n)return"";let{compactDirection:r,isFirstItem:i,isLastItem:a}=n,c="vertical"===r?"-vertical-":"-";return o()("".concat(e,"-compact").concat(c,"item"),{["".concat(e,"-compact").concat(c,"first-item")]:i,["".concat(e,"-compact").concat(c,"last-item")]:a,["".concat(e,"-compact").concat(c,"item-rtl")]:"rtl"===t})},[e,t,n]);return{compactSize:null==n?void 0:n.compactSize,compactDirection:null==n?void 0:n.compactDirection,compactItemClassnames:r}},l=e=>{let{children:t}=e;return i.createElement(a.Provider,{value:null},t)}},12288:function(e,t,n){n.d(t,{c:function(){return r}});function r(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{focus:!0},{componentCls:n}=e,r="".concat(n,"-compact");return{[r]:Object.assign(Object.assign({},function(e,t,n){let{focusElCls:r,focus:o,borderElCls:i}=n,a=i?"> *":"",c=["hover",o?"focus":null,"active"].filter(Boolean).map(e=>"&:".concat(e," ").concat(a)).join(",");return{["&-item:not(".concat(t,"-last-item)")]:{marginInlineEnd:e.calc(e.lineWidth).mul(-1).equal()},"&-item":Object.assign(Object.assign({[c]:{zIndex:2}},r?{["&".concat(r)]:{zIndex:2}}:{}),{["&[disabled] ".concat(a)]:{zIndex:0}})}}(e,r,t)),function(e,t,n){let{borderElCls:r}=n,o=r?"> ".concat(r):"";return{["&-item:not(".concat(t,"-first-item):not(").concat(t,"-last-item) ").concat(o)]:{borderRadius:0},["&-item:not(".concat(t,"-last-item)").concat(t,"-first-item")]:{["& ".concat(o,", &").concat(e,"-sm ").concat(o,", &").concat(e,"-lg ").concat(o)]:{borderStartEndRadius:0,borderEndEndRadius:0}},["&-item:not(".concat(t,"-first-item)").concat(t,"-last-item")]:{["& ".concat(o,", &").concat(e,"-sm ").concat(o,", &").concat(e,"-lg ").concat(o)]:{borderStartStartRadius:0,borderEndStartRadius:0}}}}(n,r,t))}}},11303:function(e,t,n){n.d(t,{Lx:function(){return l},Qy:function(){return f},Ro:function(){return a},Wf:function(){return i},dF:function(){return c},du:function(){return u},oN:function(){return s},vS:function(){return o}});var r=n(8985);let o={overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},i=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{boxSizing:"border-box",margin:0,padding:0,color:e.colorText,fontSize:e.fontSize,lineHeight:e.lineHeight,listStyle:"none",fontFamily:t?"inherit":e.fontFamily}},a=()=>({display:"inline-flex",alignItems:"center",color:"inherit",fontStyle:"normal",lineHeight:0,textAlign:"center",textTransform:"none",verticalAlign:"-0.125em",textRendering:"optimizeLegibility","-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale","> *":{lineHeight:1},svg:{display:"inline-block"}}),c=()=>({"&::before":{display:"table",content:'""'},"&::after":{display:"table",clear:"both",content:'""'}}),l=e=>({a:{color:e.colorLink,textDecoration:e.linkDecoration,backgroundColor:"transparent",outline:"none",cursor:"pointer",transition:"color ".concat(e.motionDurationSlow),"-webkit-text-decoration-skip":"objects","&:hover":{color:e.colorLinkHover},"&:active":{color:e.colorLinkActive},"&:active,\n &:hover":{textDecoration:e.linkHoverDecoration,outline:0},"&:focus":{textDecoration:e.linkFocusDecoration,outline:0},"&[disabled]":{color:e.colorTextDisabled,cursor:"not-allowed"}}}),u=(e,t)=>{let{fontFamily:n,fontSize:r}=e,o='[class^="'.concat(t,'"], [class*=" ').concat(t,'"]');return{[o]:{fontFamily:n,fontSize:r,boxSizing:"border-box","&::before, &::after":{boxSizing:"border-box"},[o]:{boxSizing:"border-box","&::before, &::after":{boxSizing:"border-box"}}}}},s=e=>({outline:"".concat((0,r.bf)(e.lineWidthFocus)," solid ").concat(e.colorPrimaryBorder),outlineOffset:1,transition:"outline-offset 0s, outline 0s"}),f=e=>({"&:focus-visible":Object.assign({},s(e))})},46154:function(e,t){t.Z=e=>({[e.componentCls]:{["".concat(e.antCls,"-motion-collapse-legacy")]:{overflow:"hidden","&-active":{transition:"height ".concat(e.motionDurationMid," ").concat(e.motionEaseInOut,",\n opacity ").concat(e.motionDurationMid," ").concat(e.motionEaseInOut," !important")}},["".concat(e.antCls,"-motion-collapse")]:{overflow:"hidden",transition:"height ".concat(e.motionDurationMid," ").concat(e.motionEaseInOut,",\n opacity ").concat(e.motionDurationMid," ").concat(e.motionEaseInOut," !important")}}})},59353:function(e,t,n){n.d(t,{R:function(){return i}});let r=e=>({animationDuration:e,animationFillMode:"both"}),o=e=>({animationDuration:e,animationFillMode:"both"}),i=function(e,t,n,i){let a=arguments.length>4&&void 0!==arguments[4]&&arguments[4],c=a?"&":"";return{["\n ".concat(c).concat(e,"-enter,\n ").concat(c).concat(e,"-appear\n ")]:Object.assign(Object.assign({},r(i)),{animationPlayState:"paused"}),["".concat(c).concat(e,"-leave")]:Object.assign(Object.assign({},o(i)),{animationPlayState:"paused"}),["\n ".concat(c).concat(e,"-enter").concat(e,"-enter-active,\n ").concat(c).concat(e,"-appear").concat(e,"-appear-active\n ")]:{animationName:t,animationPlayState:"running"},["".concat(c).concat(e,"-leave").concat(e,"-leave-active")]:{animationName:n,animationPlayState:"running",pointerEvents:"none"}}}},202:function(e,t,n){n.d(t,{Qt:function(){return c},Uw:function(){return a},fJ:function(){return i},ly:function(){return l},oN:function(){return f}});var r=n(8985),o=n(59353);let i=new r.E4("antSlideUpIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1}}),a=new r.E4("antSlideUpOut",{"0%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0}}),c=new r.E4("antSlideDownIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1}}),l=new r.E4("antSlideDownOut",{"0%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0}}),u=new r.E4("antSlideLeftIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1}}),s={"slide-up":{inKeyframes:i,outKeyframes:a},"slide-down":{inKeyframes:c,outKeyframes:l},"slide-left":{inKeyframes:u,outKeyframes:new r.E4("antSlideLeftOut",{"0%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0}})},"slide-right":{inKeyframes:new r.E4("antSlideRightIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1}}),outKeyframes:new r.E4("antSlideRightOut",{"0%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0}})}},f=(e,t)=>{let{antCls:n}=e,r="".concat(n,"-").concat(t),{inKeyframes:i,outKeyframes:a}=s[t];return[(0,o.R)(r,i,a,e.motionDurationMid),{["\n ".concat(r,"-enter,\n ").concat(r,"-appear\n ")]:{transform:"scale(0)",transformOrigin:"0% 0%",opacity:0,animationTimingFunction:e.motionEaseOutQuint,"&-prepare":{transform:"scale(1)"}},["".concat(r,"-leave")]:{animationTimingFunction:e.motionEaseInQuint}}]}},58854:function(e,t,n){n.d(t,{_y:function(){return m},kr:function(){return i}});var r=n(8985),o=n(59353);let i=new r.E4("antZoomIn",{"0%":{transform:"scale(0.2)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),a=new r.E4("antZoomOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.2)",opacity:0}}),c=new r.E4("antZoomBigIn",{"0%":{transform:"scale(0.8)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),l=new r.E4("antZoomBigOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.8)",opacity:0}}),u=new r.E4("antZoomUpIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 0%"}}),s=new r.E4("antZoomUpOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 0%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0}}),f=new r.E4("antZoomLeftIn",{"0%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"0% 50%"}}),d=new r.E4("antZoomLeftOut",{"0%":{transform:"scale(1)",transformOrigin:"0% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0}}),p=new r.E4("antZoomRightIn",{"0%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"100% 50%"}}),h={zoom:{inKeyframes:i,outKeyframes:a},"zoom-big":{inKeyframes:c,outKeyframes:l},"zoom-big-fast":{inKeyframes:c,outKeyframes:l},"zoom-left":{inKeyframes:f,outKeyframes:d},"zoom-right":{inKeyframes:p,outKeyframes:new r.E4("antZoomRightOut",{"0%":{transform:"scale(1)",transformOrigin:"100% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0}})},"zoom-up":{inKeyframes:u,outKeyframes:s},"zoom-down":{inKeyframes:new r.E4("antZoomDownIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 100%"}}),outKeyframes:new r.E4("antZoomDownOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 100%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0}})}},m=(e,t)=>{let{antCls:n}=e,r="".concat(n,"-").concat(t),{inKeyframes:i,outKeyframes:a}=h[t];return[(0,o.R)(r,i,a,"zoom-big-fast"===t?e.motionDurationFast:e.motionDurationMid),{["\n ".concat(r,"-enter,\n ").concat(r,"-appear\n ")]:{transform:"scale(0)",opacity:0,animationTimingFunction:e.motionEaseOutCirc,"&-prepare":{transform:"none"}},["".concat(r,"-leave")]:{animationTimingFunction:e.motionEaseInOutCirc}}]}},43345:function(e,t,n){n.d(t,{Mj:function(){return y},u_:function(){return g},uH:function(){return v}});var r=n(64090),o=n(8985),i=n(12215),a=e=>{let{controlHeight:t}=e;return{controlHeightSM:.75*t,controlHeightXS:.5*t,controlHeightLG:1.25*t}},c=n(46864),l=n(6336),u=e=>{let t=e,n=e,r=e,o=e;return e<6&&e>=5?t=e+1:e<16&&e>=6?t=e+2:e>=16&&(t=16),e<7&&e>=5?n=4:e<8&&e>=7?n=5:e<14&&e>=8?n=6:e<16&&e>=14?n=7:e>=16&&(n=8),e<6&&e>=2?r=1:e>=6&&(r=2),e>4&&e<8?o=4:e>=8&&(o=6),{borderRadius:e,borderRadiusXS:r,borderRadiusSM:n,borderRadiusLG:t,borderRadiusOuter:o}};let s=(e,t)=>new l.C(e).setAlpha(t).toRgbString(),f=(e,t)=>new l.C(e).darken(t).toHexString(),d=e=>{let t=(0,i.R_)(e);return{1:t[0],2:t[1],3:t[2],4:t[3],5:t[4],6:t[5],7:t[6],8:t[4],9:t[5],10:t[6]}},p=(e,t)=>{let n=e||"#fff",r=t||"#000";return{colorBgBase:n,colorTextBase:r,colorText:s(r,.88),colorTextSecondary:s(r,.65),colorTextTertiary:s(r,.45),colorTextQuaternary:s(r,.25),colorFill:s(r,.15),colorFillSecondary:s(r,.06),colorFillTertiary:s(r,.04),colorFillQuaternary:s(r,.02),colorBgLayout:f(n,4),colorBgContainer:f(n,0),colorBgElevated:f(n,0),colorBgSpotlight:s(r,.85),colorBgBlur:"transparent",colorBorder:f(n,15),colorBorderSecondary:f(n,6)}};var h=n(49202),m=e=>{let t=(0,h.Z)(e),n=t.map(e=>e.size),r=t.map(e=>e.lineHeight),o=n[1],i=n[0],a=n[2],c=r[1],l=r[0],u=r[2];return{fontSizeSM:i,fontSize:o,fontSizeLG:a,fontSizeXL:n[3],fontSizeHeading1:n[6],fontSizeHeading2:n[5],fontSizeHeading3:n[4],fontSizeHeading4:n[3],fontSizeHeading5:n[2],lineHeight:c,lineHeightLG:u,lineHeightSM:l,fontHeight:Math.round(c*o),fontHeightLG:Math.round(u*a),fontHeightSM:Math.round(l*i),lineHeightHeading1:r[6],lineHeightHeading2:r[5],lineHeightHeading3:r[4],lineHeightHeading4:r[3],lineHeightHeading5:r[2]}};let v=(0,o.jG)(function(e){let t=Object.keys(c.M).map(t=>{let n=(0,i.R_)(e[t]);return Array(10).fill(1).reduce((e,r,o)=>(e["".concat(t,"-").concat(o+1)]=n[o],e["".concat(t).concat(o+1)]=n[o],e),{})}).reduce((e,t)=>e=Object.assign(Object.assign({},e),t),{});return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},e),t),function(e,t){let{generateColorPalettes:n,generateNeutralColorPalettes:r}=t,{colorSuccess:o,colorWarning:i,colorError:a,colorInfo:c,colorPrimary:u,colorBgBase:s,colorTextBase:f}=e,d=n(u),p=n(o),h=n(i),m=n(a),v=n(c),g=r(s,f),y=n(e.colorLink||e.colorInfo);return Object.assign(Object.assign({},g),{colorPrimaryBg:d[1],colorPrimaryBgHover:d[2],colorPrimaryBorder:d[3],colorPrimaryBorderHover:d[4],colorPrimaryHover:d[5],colorPrimary:d[6],colorPrimaryActive:d[7],colorPrimaryTextHover:d[8],colorPrimaryText:d[9],colorPrimaryTextActive:d[10],colorSuccessBg:p[1],colorSuccessBgHover:p[2],colorSuccessBorder:p[3],colorSuccessBorderHover:p[4],colorSuccessHover:p[4],colorSuccess:p[6],colorSuccessActive:p[7],colorSuccessTextHover:p[8],colorSuccessText:p[9],colorSuccessTextActive:p[10],colorErrorBg:m[1],colorErrorBgHover:m[2],colorErrorBorder:m[3],colorErrorBorderHover:m[4],colorErrorHover:m[5],colorError:m[6],colorErrorActive:m[7],colorErrorTextHover:m[8],colorErrorText:m[9],colorErrorTextActive:m[10],colorWarningBg:h[1],colorWarningBgHover:h[2],colorWarningBorder:h[3],colorWarningBorderHover:h[4],colorWarningHover:h[4],colorWarning:h[6],colorWarningActive:h[7],colorWarningTextHover:h[8],colorWarningText:h[9],colorWarningTextActive:h[10],colorInfoBg:v[1],colorInfoBgHover:v[2],colorInfoBorder:v[3],colorInfoBorderHover:v[4],colorInfoHover:v[4],colorInfo:v[6],colorInfoActive:v[7],colorInfoTextHover:v[8],colorInfoText:v[9],colorInfoTextActive:v[10],colorLinkHover:y[4],colorLink:y[6],colorLinkActive:y[7],colorBgMask:new l.C("#000").setAlpha(.45).toRgbString(),colorWhite:"#fff"})}(e,{generateColorPalettes:d,generateNeutralColorPalettes:p})),m(e.fontSize)),function(e){let{sizeUnit:t,sizeStep:n}=e;return{sizeXXL:t*(n+8),sizeXL:t*(n+4),sizeLG:t*(n+2),sizeMD:t*(n+1),sizeMS:t*n,size:t*n,sizeSM:t*(n-1),sizeXS:t*(n-2),sizeXXS:t*(n-3)}}(e)),a(e)),function(e){let{motionUnit:t,motionBase:n,borderRadius:r,lineWidth:o}=e;return Object.assign({motionDurationFast:"".concat((n+t).toFixed(1),"s"),motionDurationMid:"".concat((n+2*t).toFixed(1),"s"),motionDurationSlow:"".concat((n+3*t).toFixed(1),"s"),lineWidthBold:o+1},u(r))}(e))}),g={token:c.Z,override:{override:c.Z},hashed:!0},y=r.createContext(g)},46864:function(e,t,n){n.d(t,{M:function(){return r}});let r={blue:"#1677ff",purple:"#722ED1",cyan:"#13C2C2",green:"#52C41A",magenta:"#EB2F96",pink:"#eb2f96",red:"#F5222D",orange:"#FA8C16",yellow:"#FADB14",volcano:"#FA541C",geekblue:"#2F54EB",gold:"#FAAD14",lime:"#A0D911"},o=Object.assign(Object.assign({},r),{colorPrimary:"#1677ff",colorSuccess:"#52c41a",colorWarning:"#faad14",colorError:"#ff4d4f",colorInfo:"#1677ff",colorLink:"",colorTextBase:"",colorBgBase:"",fontFamily:"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,\n'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\n'Noto Color Emoji'",fontFamilyCode:"'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace",fontSize:14,lineWidth:1,lineType:"solid",motionUnit:.1,motionBase:0,motionEaseOutCirc:"cubic-bezier(0.08, 0.82, 0.17, 1)",motionEaseInOutCirc:"cubic-bezier(0.78, 0.14, 0.15, 0.86)",motionEaseOut:"cubic-bezier(0.215, 0.61, 0.355, 1)",motionEaseInOut:"cubic-bezier(0.645, 0.045, 0.355, 1)",motionEaseOutBack:"cubic-bezier(0.12, 0.4, 0.29, 1.46)",motionEaseInBack:"cubic-bezier(0.71, -0.46, 0.88, 0.6)",motionEaseInQuint:"cubic-bezier(0.755, 0.05, 0.855, 0.06)",motionEaseOutQuint:"cubic-bezier(0.23, 1, 0.32, 1)",borderRadius:6,sizeUnit:4,sizeStep:4,sizePopupArrow:16,controlHeight:32,zIndexBase:0,zIndexPopupBase:1e3,opacityImage:1,wireframe:!1,motion:!0});t.Z=o},49202:function(e,t,n){function r(e){return(e+8)/e}function o(e){let t=Array(10).fill(null).map((t,n)=>{let r=e*Math.pow(2.71828,(n-1)/5);return 2*Math.floor((n>1?Math.floor(r):Math.ceil(r))/2)});return t[1]=e,t.map(e=>({size:e,lineHeight:r(e)}))}n.d(t,{D:function(){return r},Z:function(){return o}})},24750:function(e,t,n){n.d(t,{ZP:function(){return g},ID:function(){return h},NJ:function(){return p}});var r=n(64090),o=n(8985),i=n(43345),a=n(46864),c=n(6336);function l(e){return e>=0&&e<=255}var u=function(e,t){let{r:n,g:r,b:o,a:i}=new c.C(e).toRgb();if(i<1)return e;let{r:a,g:u,b:s}=new c.C(t).toRgb();for(let e=.01;e<=1;e+=.01){let t=Math.round((n-a*(1-e))/e),i=Math.round((r-u*(1-e))/e),f=Math.round((o-s*(1-e))/e);if(l(t)&&l(i)&&l(f))return new c.C({r:t,g:i,b:f,a:Math.round(100*e)/100}).toRgbString()}return new c.C({r:n,g:r,b:o,a:1}).toRgbString()},s=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};function f(e){let{override:t}=e,n=s(e,["override"]),r=Object.assign({},t);Object.keys(a.Z).forEach(e=>{delete r[e]});let o=Object.assign(Object.assign({},n),r);return!1===o.motion&&(o.motionDurationFast="0s",o.motionDurationMid="0s",o.motionDurationSlow="0s"),Object.assign(Object.assign(Object.assign({},o),{colorFillContent:o.colorFillSecondary,colorFillContentHover:o.colorFill,colorFillAlter:o.colorFillQuaternary,colorBgContainerDisabled:o.colorFillTertiary,colorBorderBg:o.colorBgContainer,colorSplit:u(o.colorBorderSecondary,o.colorBgContainer),colorTextPlaceholder:o.colorTextQuaternary,colorTextDisabled:o.colorTextQuaternary,colorTextHeading:o.colorText,colorTextLabel:o.colorTextSecondary,colorTextDescription:o.colorTextTertiary,colorTextLightSolid:o.colorWhite,colorHighlight:o.colorError,colorBgTextHover:o.colorFillSecondary,colorBgTextActive:o.colorFill,colorIcon:o.colorTextTertiary,colorIconHover:o.colorText,colorErrorOutline:u(o.colorErrorBg,o.colorBgContainer),colorWarningOutline:u(o.colorWarningBg,o.colorBgContainer),fontSizeIcon:o.fontSizeSM,lineWidthFocus:4*o.lineWidth,lineWidth:o.lineWidth,controlOutlineWidth:2*o.lineWidth,controlInteractiveSize:o.controlHeight/2,controlItemBgHover:o.colorFillTertiary,controlItemBgActive:o.colorPrimaryBg,controlItemBgActiveHover:o.colorPrimaryBgHover,controlItemBgActiveDisabled:o.colorFill,controlTmpOutline:o.colorFillQuaternary,controlOutline:u(o.colorPrimaryBg,o.colorBgContainer),lineType:o.lineType,borderRadius:o.borderRadius,borderRadiusXS:o.borderRadiusXS,borderRadiusSM:o.borderRadiusSM,borderRadiusLG:o.borderRadiusLG,fontWeightStrong:600,opacityLoading:.65,linkDecoration:"none",linkHoverDecoration:"none",linkFocusDecoration:"none",controlPaddingHorizontal:12,controlPaddingHorizontalSM:8,paddingXXS:o.sizeXXS,paddingXS:o.sizeXS,paddingSM:o.sizeSM,padding:o.size,paddingMD:o.sizeMD,paddingLG:o.sizeLG,paddingXL:o.sizeXL,paddingContentHorizontalLG:o.sizeLG,paddingContentVerticalLG:o.sizeMS,paddingContentHorizontal:o.sizeMS,paddingContentVertical:o.sizeSM,paddingContentHorizontalSM:o.size,paddingContentVerticalSM:o.sizeXS,marginXXS:o.sizeXXS,marginXS:o.sizeXS,marginSM:o.sizeSM,margin:o.size,marginMD:o.sizeMD,marginLG:o.sizeLG,marginXL:o.sizeXL,marginXXL:o.sizeXXL,boxShadow:"\n 0 6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 9px 28px 8px rgba(0, 0, 0, 0.05)\n ",boxShadowSecondary:"\n 0 6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 9px 28px 8px rgba(0, 0, 0, 0.05)\n ",boxShadowTertiary:"\n 0 1px 2px 0 rgba(0, 0, 0, 0.03),\n 0 1px 6px -1px rgba(0, 0, 0, 0.02),\n 0 2px 4px 0 rgba(0, 0, 0, 0.02)\n ",screenXS:480,screenXSMin:480,screenXSMax:575,screenSM:576,screenSMMin:576,screenSMMax:767,screenMD:768,screenMDMin:768,screenMDMax:991,screenLG:992,screenLGMin:992,screenLGMax:1199,screenXL:1200,screenXLMin:1200,screenXLMax:1599,screenXXL:1600,screenXXLMin:1600,boxShadowPopoverArrow:"2px 2px 5px rgba(0, 0, 0, 0.05)",boxShadowCard:"\n 0 1px 2px -2px ".concat(new c.C("rgba(0, 0, 0, 0.16)").toRgbString(),",\n 0 3px 6px 0 ").concat(new c.C("rgba(0, 0, 0, 0.12)").toRgbString(),",\n 0 5px 12px 4px ").concat(new c.C("rgba(0, 0, 0, 0.09)").toRgbString(),"\n "),boxShadowDrawerRight:"\n -6px 0 16px 0 rgba(0, 0, 0, 0.08),\n -3px 0 6px -4px rgba(0, 0, 0, 0.12),\n -9px 0 28px 8px rgba(0, 0, 0, 0.05)\n ",boxShadowDrawerLeft:"\n 6px 0 16px 0 rgba(0, 0, 0, 0.08),\n 3px 0 6px -4px rgba(0, 0, 0, 0.12),\n 9px 0 28px 8px rgba(0, 0, 0, 0.05)\n ",boxShadowDrawerUp:"\n 0 6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 9px 28px 8px rgba(0, 0, 0, 0.05)\n ",boxShadowDrawerDown:"\n 0 -6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 -3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 -9px 28px 8px rgba(0, 0, 0, 0.05)\n ",boxShadowTabsOverflowLeft:"inset 10px 0 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowRight:"inset -10px 0 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowTop:"inset 0 10px 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowBottom:"inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08)"}),r)}var d=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let p={lineHeight:!0,lineHeightSM:!0,lineHeightLG:!0,lineHeightHeading1:!0,lineHeightHeading2:!0,lineHeightHeading3:!0,lineHeightHeading4:!0,lineHeightHeading5:!0,opacityLoading:!0,fontWeightStrong:!0,zIndexPopupBase:!0,zIndexBase:!0},h={size:!0,sizeSM:!0,sizeLG:!0,sizeMD:!0,sizeXS:!0,sizeXXS:!0,sizeMS:!0,sizeXL:!0,sizeXXL:!0,sizeUnit:!0,sizeStep:!0,motionBase:!0,motionUnit:!0},m={screenXS:!0,screenXSMin:!0,screenXSMax:!0,screenSM:!0,screenSMMin:!0,screenSMMax:!0,screenMD:!0,screenMDMin:!0,screenMDMax:!0,screenLG:!0,screenLGMin:!0,screenLGMax:!0,screenXL:!0,screenXLMin:!0,screenXLMax:!0,screenXXL:!0,screenXXLMin:!0},v=(e,t,n)=>{let r=n.getDerivativeToken(e),{override:o}=t,i=d(t,["override"]),a=Object.assign(Object.assign({},r),{override:o});return a=f(a),i&&Object.entries(i).forEach(e=>{let[t,n]=e,{theme:r}=n,o=d(n,["theme"]),i=o;r&&(i=v(Object.assign(Object.assign({},a),o),{override:o},r)),a[t]=i}),a};function g(){let{token:e,hashed:t,theme:n,override:c,cssVar:l}=r.useContext(i.Mj),u="".concat("5.13.2","-").concat(t||""),s=n||i.uH,[d,g,y]=(0,o.fp)(s,[a.Z,e],{salt:u,override:c,getComputedToken:v,formatToken:f,cssVar:l&&{prefix:l.prefix,key:l.key,unitless:p,ignore:h,preserve:m}});return[s,y,t?g:"",d,l]}},76585:function(e,t,n){n.d(t,{ZP:function(){return C},I$:function(){return P},bk:function(){return k}});var r=n(64090),o=n(8985);n(48563);var i=n(57499),a=n(11303),c=n(24750),l=n(47365),u=n(65127),s=n(72784),f=n(29676),d=n(68605),p=n(27478);let h=(0,u.Z)(function e(){(0,l.Z)(this,e)}),m=function(e){function t(e){var n,r,o;return(0,l.Z)(this,t),r=t,r=(0,d.Z)(r),(n=(0,s.Z)(this,(0,f.Z)()?Reflect.construct(r,o||[],(0,d.Z)(this).constructor):r.apply(this,o))).result=0,e instanceof t?n.result=e.result:"number"==typeof e&&(n.result=e),n}return(0,p.Z)(t,e),(0,u.Z)(t,[{key:"add",value:function(e){return e instanceof t?this.result+=e.result:"number"==typeof e&&(this.result+=e),this}},{key:"sub",value:function(e){return e instanceof t?this.result-=e.result:"number"==typeof e&&(this.result-=e),this}},{key:"mul",value:function(e){return e instanceof t?this.result*=e.result:"number"==typeof e&&(this.result*=e),this}},{key:"div",value:function(e){return e instanceof t?this.result/=e.result:"number"==typeof e&&(this.result/=e),this}},{key:"equal",value:function(){return this.result}}]),t}(h),v="CALC_UNIT";function g(e){return"number"==typeof e?"".concat(e).concat(v):e}let y=function(e){function t(e){var n,r,o;return(0,l.Z)(this,t),r=t,r=(0,d.Z)(r),(n=(0,s.Z)(this,(0,f.Z)()?Reflect.construct(r,o||[],(0,d.Z)(this).constructor):r.apply(this,o))).result="",e instanceof t?n.result="(".concat(e.result,")"):"number"==typeof e?n.result=g(e):"string"==typeof e&&(n.result=e),n}return(0,p.Z)(t,e),(0,u.Z)(t,[{key:"add",value:function(e){return e instanceof t?this.result="".concat(this.result," + ").concat(e.getResult()):("number"==typeof e||"string"==typeof e)&&(this.result="".concat(this.result," + ").concat(g(e))),this.lowPriority=!0,this}},{key:"sub",value:function(e){return e instanceof t?this.result="".concat(this.result," - ").concat(e.getResult()):("number"==typeof e||"string"==typeof e)&&(this.result="".concat(this.result," - ").concat(g(e))),this.lowPriority=!0,this}},{key:"mul",value:function(e){return this.lowPriority&&(this.result="(".concat(this.result,")")),e instanceof t?this.result="".concat(this.result," * ").concat(e.getResult(!0)):("number"==typeof e||"string"==typeof e)&&(this.result="".concat(this.result," * ").concat(e)),this.lowPriority=!1,this}},{key:"div",value:function(e){return this.lowPriority&&(this.result="(".concat(this.result,")")),e instanceof t?this.result="".concat(this.result," / ").concat(e.getResult(!0)):("number"==typeof e||"string"==typeof e)&&(this.result="".concat(this.result," / ").concat(e)),this.lowPriority=!1,this}},{key:"getResult",value:function(e){return this.lowPriority||e?"(".concat(this.result,")"):this.result}},{key:"equal",value:function(e){let{unit:t=!0}=e||{},n=RegExp("".concat(v),"g");return(this.result=this.result.replace(n,t?"px":""),void 0!==this.lowPriority)?"calc(".concat(this.result,")"):this.result}}]),t}(h);var b=e=>{let t="css"===e?y:m;return e=>new t(e)},x=n(80316),w=n(28030);let E=(e,t,n)=>{var r;return"function"==typeof n?n((0,x.TS)(t,null!==(r=t[e])&&void 0!==r?r:{})):null!=n?n:{}},O=(e,t,n,r)=>{let o=Object.assign({},t[e]);if(null==r?void 0:r.deprecatedTokens){let{deprecatedTokens:e}=r;e.forEach(e=>{var t;let[n,r]=e;((null==o?void 0:o[n])||(null==o?void 0:o[r]))&&(null!==(t=o[r])&&void 0!==t||(o[r]=null==o?void 0:o[n]))})}let i=Object.assign(Object.assign({},n),o);return Object.keys(i).forEach(e=>{i[e]===t[e]&&delete i[e]}),i},S=(e,t)=>"".concat([t,e.replace(/([A-Z]+)([A-Z][a-z]+)/g,"$1-$2").replace(/([a-z])([A-Z])/g,"$1-$2")].filter(Boolean).join("-"));function C(e,t,n){let l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},u=Array.isArray(e)?e:[e,e],[s]=u,f=u.join("-");return e=>{let[u,d,p,h,m]=(0,c.ZP)(),{getPrefixCls:v,iconPrefixCls:g,csp:y}=(0,r.useContext)(i.E_),C=v(),k=m?"css":"js",j=b(k),{max:P,min:M}="js"===k?{max:Math.max,min:Math.min}:{max:function(){for(var e=arguments.length,t=Array(e),n=0;n(0,o.bf)(e)).join(","),")")},min:function(){for(var e=arguments.length,t=Array(e),n=0;n(0,o.bf)(e)).join(","),")")}},A={theme:u,token:h,hashId:p,nonce:()=>null==y?void 0:y.nonce,clientOnly:l.clientOnly,order:l.order||-999};return(0,o.xy)(Object.assign(Object.assign({},A),{clientOnly:!1,path:["Shared",C]}),()=>[{"&":(0,a.Lx)(h)}]),(0,w.Z)(g,y),[(0,o.xy)(Object.assign(Object.assign({},A),{path:[f,e,g]}),()=>{if(!1===l.injectStyle)return[];let{token:r,flush:i}=(0,x.ZP)(h),c=E(s,d,n),u=".".concat(e),f=O(s,d,c,{deprecatedTokens:l.deprecatedTokens});m&&Object.keys(c).forEach(e=>{c[e]="var(".concat((0,o.ks)(e,S(s,m.prefix)),")")});let v=(0,x.TS)(r,{componentCls:u,prefixCls:e,iconCls:".".concat(g),antCls:".".concat(C),calc:j,max:P,min:M},m?c:f),y=t(v,{hashId:p,prefixCls:e,rootPrefixCls:C,iconPrefixCls:g});return i(s,f),[!1===l.resetStyle?null:(0,a.du)(v,e),y]}),p]}}let k=(e,t,n,r)=>{let o=C(e,t,n,Object.assign({resetStyle:!1,order:-998},r));return e=>{let{prefixCls:t}=e;return o(t),null}},j=(e,t,n)=>{function i(t){return"".concat(e).concat(t.slice(0,1).toUpperCase()).concat(t.slice(1))}let{unitless:a={},injectStyle:l=!0}=null!=n?n:{},u={[i("zIndexPopup")]:!0};Object.keys(a).forEach(e=>{u[i(e)]=a[e]});let s=r=>{let{rootCls:a,cssVar:l}=r,[,s]=(0,c.ZP)();return(0,o.CI)({path:[e],prefix:l.prefix,key:null==l?void 0:l.key,unitless:Object.assign(Object.assign({},c.NJ),u),ignore:c.ID,token:s,scope:a},()=>{let r=E(e,s,t),o=O(e,s,r,{deprecatedTokens:null==n?void 0:n.deprecatedTokens});return Object.keys(r).forEach(e=>{o[i(e)]=o[e],delete o[e]}),o}),null};return t=>{let[,,,,n]=(0,c.ZP)();return[o=>l&&n?r.createElement(r.Fragment,null,r.createElement(s,{rootCls:t,cssVar:n,component:e}),o):o,null==n?void 0:n.key]}},P=(e,t,n,r)=>{let o=C(e,t,n,r),i=j(Array.isArray(e)?e[0]:e,n,r);return function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,[,n]=o(e),[r,a]=i(t);return[r,n,a]}}},80316:function(e,t,n){n.d(t,{TS:function(){return i}});let r="undefined"!=typeof CSSINJS_STATISTIC,o=!0;function i(){for(var e=arguments.length,t=Array(e),n=0;n{Object.keys(e).forEach(t=>{Object.defineProperty(i,t,{configurable:!0,enumerable:!0,get:()=>e[t]})})}),o=!0,i}let a={};function c(){}t.ZP=e=>{let t;let n=e,i=c;return r&&"undefined"!=typeof Proxy&&(t=new Set,n=new Proxy(e,{get:(e,n)=>(o&&t.add(n),e[n])}),i=(e,n)=>{var r;a[e]={global:Array.from(t),component:Object.assign(Object.assign({},null===(r=a[e])||void 0===r?void 0:r.component),n)}}),{token:n,keys:t,flush:i}}},28030:function(e,t,n){var r=n(8985),o=n(11303),i=n(24750);t.Z=(e,t)=>{let[n,a]=(0,i.ZP)();return(0,r.xy)({theme:n,token:a,hashId:"",path:["ant-design-icons",e],nonce:()=>null==t?void 0:t.nonce},()=>[{[".".concat(e)]:Object.assign(Object.assign({},(0,o.Ro)()),{[".".concat(e," .").concat(e,"-icon")]:{display:"block"}})}])}},47104:function(e,t,n){n.d(t,{Z:function(){return V}});var r=n(64090),o=n(16480),i=n.n(o);function a(e){var t=e.children,n=e.prefixCls,o=e.id,a=e.overlayInnerStyle,c=e.className,l=e.style;return r.createElement("div",{className:i()("".concat(n,"-content"),c),style:l},r.createElement("div",{className:"".concat(n,"-inner"),id:o,role:"tooltip",style:a},"function"==typeof t?t():t))}var c=n(14749),l=n(5239),u=n(6787),s=n(44101),f={shiftX:64,adjustY:1},d={adjustX:1,shiftY:!0},p=[0,0],h={left:{points:["cr","cl"],overflow:d,offset:[-4,0],targetOffset:p},right:{points:["cl","cr"],overflow:d,offset:[4,0],targetOffset:p},top:{points:["bc","tc"],overflow:f,offset:[0,-4],targetOffset:p},bottom:{points:["tc","bc"],overflow:f,offset:[0,4],targetOffset:p},topLeft:{points:["bl","tl"],overflow:f,offset:[0,-4],targetOffset:p},leftTop:{points:["tr","tl"],overflow:d,offset:[-4,0],targetOffset:p},topRight:{points:["br","tr"],overflow:f,offset:[0,-4],targetOffset:p},rightTop:{points:["tl","tr"],overflow:d,offset:[4,0],targetOffset:p},bottomRight:{points:["tr","br"],overflow:f,offset:[0,4],targetOffset:p},rightBottom:{points:["bl","br"],overflow:d,offset:[4,0],targetOffset:p},bottomLeft:{points:["tl","bl"],overflow:f,offset:[0,4],targetOffset:p},leftBottom:{points:["br","bl"],overflow:d,offset:[-4,0],targetOffset:p}},m=["overlayClassName","trigger","mouseEnterDelay","mouseLeaveDelay","overlayStyle","prefixCls","children","onVisibleChange","afterVisibleChange","transitionName","animation","motion","placement","align","destroyTooltipOnHide","defaultVisible","getTooltipContainer","overlayInnerStyle","arrowContent","overlay","id","showArrow"],v=(0,r.forwardRef)(function(e,t){var n=e.overlayClassName,o=e.trigger,i=e.mouseEnterDelay,f=e.mouseLeaveDelay,d=e.overlayStyle,p=e.prefixCls,v=void 0===p?"rc-tooltip":p,g=e.children,y=e.onVisibleChange,b=e.afterVisibleChange,x=e.transitionName,w=e.animation,E=e.motion,O=e.placement,S=e.align,C=e.destroyTooltipOnHide,k=e.defaultVisible,j=e.getTooltipContainer,P=e.overlayInnerStyle,M=(e.arrowContent,e.overlay),A=e.id,T=e.showArrow,N=(0,u.Z)(e,m),I=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,function(){return I.current});var Z=(0,l.Z)({},N);return"visible"in e&&(Z.popupVisible=e.visible),r.createElement(s.Z,(0,c.Z)({popupClassName:n,prefixCls:v,popup:function(){return r.createElement(a,{key:"content",prefixCls:v,id:A,overlayInnerStyle:P},M)},action:void 0===o?["hover"]:o,builtinPlacements:h,popupPlacement:void 0===O?"right":O,ref:I,popupAlign:void 0===S?{}:S,getPopupContainer:j,onPopupVisibleChange:y,afterPopupVisibleChange:b,popupTransitionName:x,popupAnimation:w,popupMotion:E,defaultPopupVisible:k,autoDestroy:void 0!==C&&C,mouseLeaveDelay:void 0===f?.1:f,popupStyle:d,mouseEnterDelay:void 0===i?0:i,arrow:void 0===T||T},Z),g)}),g=n(44329),y=n(51761),b=n(47387),x=n(8985);let w=(e,t,n)=>{let{sizePopupArrow:r,arrowPolygon:o,arrowPath:i,arrowShadowWidth:a,borderRadiusXS:c,calc:l}=e;return{pointerEvents:"none",width:r,height:r,overflow:"hidden","&::before":{position:"absolute",bottom:0,insetInlineStart:0,width:r,height:l(r).div(2).equal(),background:t,clipPath:{_multi_value_:!0,value:[o,i]},content:'""'},"&::after":{content:'""',position:"absolute",width:a,height:a,bottom:0,insetInline:0,margin:"auto",borderRadius:{_skip_check_:!0,value:"0 0 ".concat((0,x.bf)(c)," 0")},transform:"translateY(50%) rotate(-135deg)",boxShadow:n,zIndex:0,background:"transparent"}}};function E(e){let{contentRadius:t,limitVerticalRadius:n}=e,r=t>12?t+2:12;return{arrowOffsetHorizontal:r,arrowOffsetVertical:n?8:r}}let O={left:{points:["cr","cl"]},right:{points:["cl","cr"]},top:{points:["bc","tc"]},bottom:{points:["tc","bc"]},topLeft:{points:["bl","tl"]},leftTop:{points:["tr","tl"]},topRight:{points:["br","tr"]},rightTop:{points:["tl","tr"]},bottomRight:{points:["tr","br"]},rightBottom:{points:["bl","br"]},bottomLeft:{points:["tl","bl"]},leftBottom:{points:["br","bl"]}},S={topLeft:{points:["bl","tc"]},leftTop:{points:["tr","cl"]},topRight:{points:["br","tc"]},rightTop:{points:["tl","cr"]},bottomRight:{points:["tr","bc"]},rightBottom:{points:["bl","cr"]},bottomLeft:{points:["tl","bc"]},leftBottom:{points:["br","cl"]}},C=new Set(["topLeft","topRight","bottomLeft","bottomRight","leftTop","leftBottom","rightTop","rightBottom"]);var k=n(65823),j=n(76564),P=n(86718),M=n(57499),A=n(92801),T=n(24750),N=n(11303),I=n(58854);let Z=["blue","purple","cyan","green","magenta","pink","red","orange","yellow","volcano","geekblue","lime","gold"];var R=n(80316),_=n(76585);let D=e=>{var t;let{componentCls:n,tooltipMaxWidth:r,tooltipColor:o,tooltipBg:i,tooltipBorderRadius:a,zIndexPopup:c,controlHeight:l,boxShadowSecondary:u,paddingSM:s,paddingXS:f}=e;return[{[n]:Object.assign(Object.assign(Object.assign(Object.assign({},(0,N.Wf)(e)),{position:"absolute",zIndex:c,display:"block",width:"max-content",maxWidth:r,visibility:"visible",transformOrigin:"var(--arrow-x, 50%) var(--arrow-y, 50%)","&-hidden":{display:"none"},"--antd-arrow-background-color":i,["".concat(n,"-inner")]:{minWidth:l,minHeight:l,padding:"".concat((0,x.bf)(e.calc(s).div(2).equal())," ").concat((0,x.bf)(f)),color:o,textAlign:"start",textDecoration:"none",wordWrap:"break-word",backgroundColor:i,borderRadius:a,boxShadow:u,boxSizing:"border-box"},"&-placement-left,&-placement-leftTop,&-placement-leftBottom,&-placement-right,&-placement-rightTop,&-placement-rightBottom":{["".concat(n,"-inner")]:{borderRadius:e.min(a,8)}},["".concat(n,"-content")]:{position:"relative"}}),(t=(e,t)=>{let{darkColor:r}=t;return{["&".concat(n,"-").concat(e)]:{["".concat(n,"-inner")]:{backgroundColor:r},["".concat(n,"-arrow")]:{"--antd-arrow-background-color":r}}}},Z.reduce((n,r)=>{let o=e["".concat(r,"1")],i=e["".concat(r,"3")],a=e["".concat(r,"6")],c=e["".concat(r,"7")];return Object.assign(Object.assign({},n),t(r,{lightColor:o,lightBorderColor:i,darkColor:a,textColor:c}))},{}))),{"&-rtl":{direction:"rtl"}})},function(e,t,n){var r,o,i,a,c,l,u,s;let{componentCls:f,boxShadowPopoverArrow:d,arrowOffsetVertical:p,arrowOffsetHorizontal:h}=e,{arrowDistance:m=0,arrowPlacement:v={left:!0,right:!0,top:!0,bottom:!0}}={};return{[f]:Object.assign(Object.assign(Object.assign(Object.assign({["".concat(f,"-arrow")]:[Object.assign(Object.assign({position:"absolute",zIndex:1,display:"block"},w(e,t,d)),{"&:before":{background:t}})]},(r=!!v.top,o={[["&-placement-top > ".concat(f,"-arrow"),"&-placement-topLeft > ".concat(f,"-arrow"),"&-placement-topRight > ".concat(f,"-arrow")].join(",")]:{bottom:m,transform:"translateY(100%) rotate(180deg)"},["&-placement-top > ".concat(f,"-arrow")]:{left:{_skip_check_:!0,value:"50%"},transform:"translateX(-50%) translateY(100%) rotate(180deg)"},["&-placement-topLeft > ".concat(f,"-arrow")]:{left:{_skip_check_:!0,value:h}},["&-placement-topRight > ".concat(f,"-arrow")]:{right:{_skip_check_:!0,value:h}}},r?o:{})),(i=!!v.bottom,a={[["&-placement-bottom > ".concat(f,"-arrow"),"&-placement-bottomLeft > ".concat(f,"-arrow"),"&-placement-bottomRight > ".concat(f,"-arrow")].join(",")]:{top:m,transform:"translateY(-100%)"},["&-placement-bottom > ".concat(f,"-arrow")]:{left:{_skip_check_:!0,value:"50%"},transform:"translateX(-50%) translateY(-100%)"},["&-placement-bottomLeft > ".concat(f,"-arrow")]:{left:{_skip_check_:!0,value:h}},["&-placement-bottomRight > ".concat(f,"-arrow")]:{right:{_skip_check_:!0,value:h}}},i?a:{})),(c=!!v.left,l={[["&-placement-left > ".concat(f,"-arrow"),"&-placement-leftTop > ".concat(f,"-arrow"),"&-placement-leftBottom > ".concat(f,"-arrow")].join(",")]:{right:{_skip_check_:!0,value:m},transform:"translateX(100%) rotate(90deg)"},["&-placement-left > ".concat(f,"-arrow")]:{top:{_skip_check_:!0,value:"50%"},transform:"translateY(-50%) translateX(100%) rotate(90deg)"},["&-placement-leftTop > ".concat(f,"-arrow")]:{top:p},["&-placement-leftBottom > ".concat(f,"-arrow")]:{bottom:p}},c?l:{})),(u=!!v.right,s={[["&-placement-right > ".concat(f,"-arrow"),"&-placement-rightTop > ".concat(f,"-arrow"),"&-placement-rightBottom > ".concat(f,"-arrow")].join(",")]:{left:{_skip_check_:!0,value:m},transform:"translateX(-100%) rotate(-90deg)"},["&-placement-right > ".concat(f,"-arrow")]:{top:{_skip_check_:!0,value:"50%"},transform:"translateY(-50%) translateX(-100%) rotate(-90deg)"},["&-placement-rightTop > ".concat(f,"-arrow")]:{top:p},["&-placement-rightBottom > ".concat(f,"-arrow")]:{bottom:p}},u?s:{}))}}(e,"var(--antd-arrow-background-color)"),{["".concat(n,"-pure")]:{position:"relative",maxWidth:"none",margin:e.sizePopupArrow}}]},B=e=>Object.assign(Object.assign({zIndexPopup:e.zIndexPopupBase+70},E({contentRadius:e.borderRadius,limitVerticalRadius:!0})),function(e){let{sizePopupArrow:t,borderRadiusXS:n,borderRadiusOuter:r}=e,o=t/2,i=1*r/Math.sqrt(2),a=o-r*(1-1/Math.sqrt(2)),c=o-1/Math.sqrt(2)*n,l=r*(Math.sqrt(2)-1)+1/Math.sqrt(2)*n,u=2*o-c,s=2*o-i,f=2*o-0,d=o*Math.sqrt(2)+r*(Math.sqrt(2)-2),p=r*(Math.sqrt(2)-1),h="polygon(".concat(p,"px 100%, 50% ").concat(p,"px, ").concat(2*o-p,"px 100%, ").concat(p,"px 100%)");return{arrowShadowWidth:d,arrowPath:"path('M ".concat(0," ").concat(o," A ").concat(r," ").concat(r," 0 0 0 ").concat(i," ").concat(a," L ").concat(c," ").concat(l," A ").concat(n," ").concat(n," 0 0 1 ").concat(u," ").concat(l," L ").concat(s," ").concat(a," A ").concat(r," ").concat(r," 0 0 0 ").concat(f," ").concat(o," Z')"),arrowPolygon:h}}((0,R.TS)(e,{borderRadiusOuter:Math.min(e.borderRadiusOuter,4)})));function L(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return(0,_.I$)("Tooltip",e=>{let{borderRadius:t,colorTextLightSolid:n,colorBgSpotlight:r}=e;return[D((0,R.TS)(e,{tooltipMaxWidth:250,tooltipColor:n,tooltipBorderRadius:t,tooltipBg:r})),(0,I._y)(e,"zoom-big-fast")]},B,{resetStyle:!1,injectStyle:t})(e)}var z=n(63787);let F=Z.map(e=>"".concat(e,"-inverse"));function H(e,t){let n=function(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return t?[].concat((0,z.Z)(F),(0,z.Z)(Z)).includes(e):Z.includes(e)}(t),r=i()({["".concat(e,"-").concat(t)]:t&&n}),o={},a={};return t&&!n&&(o.background=t,a["--antd-arrow-background-color"]=t),{className:r,overlayStyle:o,arrowStyle:a}}var W=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let q=r.forwardRef((e,t)=>{var n,o;let{prefixCls:a,openClassName:c,getTooltipContainer:l,overlayClassName:u,color:s,overlayInnerStyle:f,children:d,afterOpenChange:p,afterVisibleChange:h,destroyTooltipOnHide:m,arrow:x=!0,title:w,overlay:N,builtinPlacements:I,arrowPointAtCenter:Z=!1,autoAdjustOverflow:R=!0}=e,_=!!x,[,D]=(0,T.ZP)(),{getPopupContainer:B,getPrefixCls:z,direction:F}=r.useContext(M.E_),q=(0,j.ln)("Tooltip"),V=r.useRef(null),U=()=>{var e;null===(e=V.current)||void 0===e||e.forceAlign()};r.useImperativeHandle(t,()=>({forceAlign:U,forcePopupAlign:()=>{q.deprecated(!1,"forcePopupAlign","forceAlign"),U()}}));let[X,G]=(0,g.Z)(!1,{value:null!==(n=e.open)&&void 0!==n?n:e.visible,defaultValue:null!==(o=e.defaultOpen)&&void 0!==o?o:e.defaultVisible}),K=!w&&!N&&0!==w,$=r.useMemo(()=>{var e,t;let n=Z;return"object"==typeof x&&(n=null!==(t=null!==(e=x.pointAtCenter)&&void 0!==e?e:x.arrowPointAtCenter)&&void 0!==t?t:Z),I||function(e){let{arrowWidth:t,autoAdjustOverflow:n,arrowPointAtCenter:r,offset:o,borderRadius:i,visibleFirst:a}=e,c=t/2,l={};return Object.keys(O).forEach(e=>{let u=Object.assign(Object.assign({},r&&S[e]||O[e]),{offset:[0,0],dynamicInset:!0});switch(l[e]=u,C.has(e)&&(u.autoArrow=!1),e){case"top":case"topLeft":case"topRight":u.offset[1]=-c-o;break;case"bottom":case"bottomLeft":case"bottomRight":u.offset[1]=c+o;break;case"left":case"leftTop":case"leftBottom":u.offset[0]=-c-o;break;case"right":case"rightTop":case"rightBottom":u.offset[0]=c+o}let s=E({contentRadius:i,limitVerticalRadius:!0});if(r)switch(e){case"topLeft":case"bottomLeft":u.offset[0]=-s.arrowOffsetHorizontal-c;break;case"topRight":case"bottomRight":u.offset[0]=s.arrowOffsetHorizontal+c;break;case"leftTop":case"rightTop":u.offset[1]=-s.arrowOffsetHorizontal-c;break;case"leftBottom":case"rightBottom":u.offset[1]=s.arrowOffsetHorizontal+c}u.overflow=function(e,t,n,r){if(!1===r)return{adjustX:!1,adjustY:!1};let o={};switch(e){case"top":case"bottom":o.shiftX=2*t.arrowOffsetHorizontal+n,o.shiftY=!0,o.adjustY=!0;break;case"left":case"right":o.shiftY=2*t.arrowOffsetVertical+n,o.shiftX=!0,o.adjustX=!0}let i=Object.assign(Object.assign({},o),r&&"object"==typeof r?r:{});return i.shiftX||(i.adjustX=!0),i.shiftY||(i.adjustY=!0),i}(e,s,t,n),a&&(u.htmlRegion="visibleFirst")}),l}({arrowPointAtCenter:n,autoAdjustOverflow:R,arrowWidth:_?D.sizePopupArrow:0,borderRadius:D.borderRadius,offset:D.marginXXS,visibleFirst:!0})},[Z,x,I,D]),Y=r.useMemo(()=>0===w?w:N||w||"",[N,w]),Q=r.createElement(A.BR,null,"function"==typeof Y?Y():Y),{getPopupContainer:J,placement:ee="top",mouseEnterDelay:et=.1,mouseLeaveDelay:en=.1,overlayStyle:er,rootClassName:eo}=e,ei=W(e,["getPopupContainer","placement","mouseEnterDelay","mouseLeaveDelay","overlayStyle","rootClassName"]),ea=z("tooltip",a),ec=z(),el=e["data-popover-inject"],eu=X;"open"in e||"visible"in e||!K||(eu=!1);let es=(0,k.l$)(d)&&!(0,k.M2)(d)?d:r.createElement("span",null,d),ef=es.props,ed=ef.className&&"string"!=typeof ef.className?ef.className:i()(ef.className,c||"".concat(ea,"-open")),[ep,eh,em]=L(ea,!el),ev=H(ea,s),eg=ev.arrowStyle,ey=Object.assign(Object.assign({},f),ev.overlayStyle),eb=i()(u,{["".concat(ea,"-rtl")]:"rtl"===F},ev.className,eo,eh,em),[ex,ew]=(0,y.Cn)("Tooltip",ei.zIndex),eE=r.createElement(v,Object.assign({},ei,{zIndex:ex,showArrow:_,placement:ee,mouseEnterDelay:et,mouseLeaveDelay:en,prefixCls:ea,overlayClassName:eb,overlayStyle:Object.assign(Object.assign({},eg),er),getTooltipContainer:J||l||B,ref:V,builtinPlacements:$,overlay:Q,visible:eu,onVisibleChange:t=>{var n,r;G(!K&&t),K||(null===(n=e.onOpenChange)||void 0===n||n.call(e,t),null===(r=e.onVisibleChange)||void 0===r||r.call(e,t))},afterVisibleChange:null!=p?p:h,overlayInnerStyle:ey,arrowContent:r.createElement("span",{className:"".concat(ea,"-arrow-content")}),motion:{motionName:(0,b.m)(ec,"zoom-big-fast",e.transitionName),motionDeadline:1e3},destroyTooltipOnHide:!!m}),eu?(0,k.Tm)(es,{className:ed}):es);return ep(r.createElement(P.Z.Provider,{value:ew},eE))});q._InternalPanelDoNotUseOrYouWillBeFired=e=>{let{prefixCls:t,className:n,placement:o="top",title:c,color:l,overlayInnerStyle:u}=e,{getPrefixCls:s}=r.useContext(M.E_),f=s("tooltip",t),[d,p,h]=L(f),m=H(f,l),v=m.arrowStyle,g=Object.assign(Object.assign({},u),m.overlayStyle),y=i()(p,h,f,"".concat(f,"-pure"),"".concat(f,"-placement-").concat(o),n,m.className);return d(r.createElement("div",{className:y,style:v},r.createElement("div",{className:"".concat(f,"-arrow")}),r.createElement(a,Object.assign({},e,{className:p,prefixCls:f,overlayInnerStyle:g}),c)))};var V=q},6122:function(e,t,n){var r;!function(o){var i,a={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286"},c=!0,l="[DecimalError] ",u=l+"Invalid argument: ",s=l+"Exponent out of range: ",f=Math.floor,d=Math.pow,p=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,h=f(1286742750677284.5),m={};function v(e,t){var n,r,o,i,a,l,u,s,f=e.constructor,d=f.precision;if(!e.s||!t.s)return t.s||(t=new f(e)),c?k(t,d):t;if(u=e.d,s=t.d,a=e.e,o=t.e,u=u.slice(),i=a-o){for(i<0?(r=u,i=-i,l=s.length):(r=s,o=a,l=u.length),i>(l=(a=Math.ceil(d/7))>l?a+1:l+1)&&(i=l,r.length=1),r.reverse();i--;)r.push(0);r.reverse()}for((l=u.length)-(i=s.length)<0&&(i=l,r=s,s=u,u=r),n=0;i;)n=(u[--i]=u[i]+s[i]+n)/1e7|0,u[i]%=1e7;for(n&&(u.unshift(n),++o),l=u.length;0==u[--l];)u.pop();return t.d=u,t.e=o,c?k(t,d):t}function g(e,t,n){if(e!==~~e||en)throw Error(u+e)}function y(e){var t,n,r,o=e.length-1,i="",a=e[0];if(o>0){for(i+=a,t=1;te.e^this.s<0?1:-1;for(t=0,n=(r=this.d.length)<(o=e.d.length)?r:o;te.d[t]^this.s<0?1:-1;return r===o?0:r>o^this.s<0?1:-1},m.decimalPlaces=m.dp=function(){var e=this.d.length-1,t=(e-this.e)*7;if(e=this.d[e])for(;e%10==0;e/=10)t--;return t<0?0:t},m.dividedBy=m.div=function(e){return b(this,new this.constructor(e))},m.dividedToIntegerBy=m.idiv=function(e){var t=this.constructor;return k(b(this,new t(e),0,1),t.precision)},m.equals=m.eq=function(e){return!this.cmp(e)},m.exponent=function(){return w(this)},m.greaterThan=m.gt=function(e){return this.cmp(e)>0},m.greaterThanOrEqualTo=m.gte=function(e){return this.cmp(e)>=0},m.isInteger=m.isint=function(){return this.e>this.d.length-2},m.isNegative=m.isneg=function(){return this.s<0},m.isPositive=m.ispos=function(){return this.s>0},m.isZero=function(){return 0===this.s},m.lessThan=m.lt=function(e){return 0>this.cmp(e)},m.lessThanOrEqualTo=m.lte=function(e){return 1>this.cmp(e)},m.logarithm=m.log=function(e){var t,n=this.constructor,r=n.precision,o=r+5;if(void 0===e)e=new n(10);else if((e=new n(e)).s<1||e.eq(i))throw Error(l+"NaN");if(this.s<1)throw Error(l+(this.s?"NaN":"-Infinity"));return this.eq(i)?new n(0):(c=!1,t=b(S(this,o),S(e,o),o),c=!0,k(t,r))},m.minus=m.sub=function(e){return e=new this.constructor(e),this.s==e.s?j(this,e):v(this,(e.s=-e.s,e))},m.modulo=m.mod=function(e){var t,n=this.constructor,r=n.precision;if(!(e=new n(e)).s)throw Error(l+"NaN");return this.s?(c=!1,t=b(this,e,0,1).times(e),c=!0,this.minus(t)):k(new n(this),r)},m.naturalExponential=m.exp=function(){return x(this)},m.naturalLogarithm=m.ln=function(){return S(this)},m.negated=m.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e},m.plus=m.add=function(e){return e=new this.constructor(e),this.s==e.s?v(this,e):j(this,(e.s=-e.s,e))},m.precision=m.sd=function(e){var t,n,r;if(void 0!==e&&!!e!==e&&1!==e&&0!==e)throw Error(u+e);if(t=w(this)+1,n=7*(r=this.d.length-1)+1,r=this.d[r]){for(;r%10==0;r/=10)n--;for(r=this.d[0];r>=10;r/=10)n++}return e&&t>n?t:n},m.squareRoot=m.sqrt=function(){var e,t,n,r,o,i,a,u=this.constructor;if(this.s<1){if(!this.s)return new u(0);throw Error(l+"NaN")}for(e=w(this),c=!1,0==(o=Math.sqrt(+this))||o==1/0?(((t=y(this.d)).length+e)%2==0&&(t+="0"),o=Math.sqrt(t),e=f((e+1)/2)-(e<0||e%2),r=new u(t=o==1/0?"5e"+e:(t=o.toExponential()).slice(0,t.indexOf("e")+1)+e)):r=new u(o.toString()),o=a=(n=u.precision)+3;;)if(r=(i=r).plus(b(this,i,a+2)).times(.5),y(i.d).slice(0,a)===(t=y(r.d)).slice(0,a)){if(t=t.slice(a-3,a+1),o==a&&"4999"==t){if(k(i,n+1,0),i.times(i).eq(this)){r=i;break}}else if("9999"!=t)break;a+=4}return c=!0,k(r,n)},m.times=m.mul=function(e){var t,n,r,o,i,a,l,u,s,f=this.constructor,d=this.d,p=(e=new f(e)).d;if(!this.s||!e.s)return new f(0);for(e.s*=this.s,n=this.e+e.e,(u=d.length)<(s=p.length)&&(i=d,d=p,p=i,a=u,u=s,s=a),i=[],r=a=u+s;r--;)i.push(0);for(r=s;--r>=0;){for(t=0,o=u+r;o>r;)l=i[o]+p[r]*d[o-r-1]+t,i[o--]=l%1e7|0,t=l/1e7|0;i[o]=(i[o]+t)%1e7|0}for(;!i[--a];)i.pop();return t?++n:i.shift(),e.d=i,e.e=n,c?k(e,f.precision):e},m.toDecimalPlaces=m.todp=function(e,t){var n=this,r=n.constructor;return(n=new r(n),void 0===e)?n:(g(e,0,1e9),void 0===t?t=r.rounding:g(t,0,8),k(n,e+w(n)+1,t))},m.toExponential=function(e,t){var n,r=this,o=r.constructor;return void 0===e?n=P(r,!0):(g(e,0,1e9),void 0===t?t=o.rounding:g(t,0,8),n=P(r=k(new o(r),e+1,t),!0,e+1)),n},m.toFixed=function(e,t){var n,r,o=this.constructor;return void 0===e?P(this):(g(e,0,1e9),void 0===t?t=o.rounding:g(t,0,8),n=P((r=k(new o(this),e+w(this)+1,t)).abs(),!1,e+w(r)+1),this.isneg()&&!this.isZero()?"-"+n:n)},m.toInteger=m.toint=function(){var e=this.constructor;return k(new e(this),w(this)+1,e.rounding)},m.toNumber=function(){return+this},m.toPower=m.pow=function(e){var t,n,r,o,a,u,s=this,d=s.constructor,p=+(e=new d(e));if(!e.s)return new d(i);if(!(s=new d(s)).s){if(e.s<1)throw Error(l+"Infinity");return s}if(s.eq(i))return s;if(r=d.precision,e.eq(i))return k(s,r);if(u=(t=e.e)>=(n=e.d.length-1),a=s.s,u){if((n=p<0?-p:p)<=9007199254740991){for(o=new d(i),t=Math.ceil(r/7+4),c=!1;n%2&&M((o=o.times(s)).d,t),0!==(n=f(n/2));)M((s=s.times(s)).d,t);return c=!0,e.s<0?new d(i).div(o):k(o,r)}}else if(a<0)throw Error(l+"NaN");return a=a<0&&1&e.d[Math.max(t,n)]?-1:1,s.s=1,c=!1,o=e.times(S(s,r+12)),c=!0,(o=x(o)).s=a,o},m.toPrecision=function(e,t){var n,r,o=this,i=o.constructor;return void 0===e?(n=w(o),r=P(o,n<=i.toExpNeg||n>=i.toExpPos)):(g(e,1,1e9),void 0===t?t=i.rounding:g(t,0,8),n=w(o=k(new i(o),e,t)),r=P(o,e<=n||n<=i.toExpNeg,e)),r},m.toSignificantDigits=m.tosd=function(e,t){var n=this.constructor;return void 0===e?(e=n.precision,t=n.rounding):(g(e,1,1e9),void 0===t?t=n.rounding:g(t,0,8)),k(new n(this),e,t)},m.toString=m.valueOf=m.val=m.toJSON=function(){var e=w(this),t=this.constructor;return P(this,e<=t.toExpNeg||e>=t.toExpPos)};var b=function(){function e(e,t){var n,r=0,o=e.length;for(e=e.slice();o--;)n=e[o]*t+r,e[o]=n%1e7|0,r=n/1e7|0;return r&&e.unshift(r),e}function t(e,t,n,r){var o,i;if(n!=r)i=n>r?1:-1;else for(o=i=0;ot[o]?1:-1;break}return i}function n(e,t,n){for(var r=0;n--;)e[n]-=r,r=e[n]1;)e.shift()}return function(r,o,i,a){var c,u,s,f,d,p,h,m,v,g,y,b,x,E,O,S,C,j,P=r.constructor,M=r.s==o.s?1:-1,A=r.d,T=o.d;if(!r.s)return new P(r);if(!o.s)throw Error(l+"Division by zero");for(s=0,u=r.e-o.e,C=T.length,O=A.length,m=(h=new P(M)).d=[];T[s]==(A[s]||0);)++s;if(T[s]>(A[s]||0)&&--u,(b=null==i?i=P.precision:a?i+(w(r)-w(o))+1:i)<0)return new P(0);if(b=b/7+2|0,s=0,1==C)for(f=0,T=T[0],b++;(s1&&(T=e(T,f),A=e(A,f),C=T.length,O=A.length),E=C,g=(v=A.slice(0,C)).length;g=1e7/2&&++S;do f=0,(c=t(T,v,C,g))<0?(y=v[0],C!=g&&(y=1e7*y+(v[1]||0)),(f=y/S|0)>1?(f>=1e7&&(f=1e7-1),p=(d=e(T,f)).length,g=v.length,1==(c=t(d,v,p,g))&&(f--,n(d,C16)throw Error(s+w(e));if(!e.s)return new p(i);for(null==t?(c=!1,l=h):l=t,a=new p(.03125);e.abs().gte(.1);)e=e.times(a),f+=5;for(l+=Math.log(d(2,f))/Math.LN10*2+5|0,n=r=o=new p(i),p.precision=l;;){if(r=k(r.times(e),l),n=n.times(++u),y((a=o.plus(b(r,n,l))).d).slice(0,l)===y(o.d).slice(0,l)){for(;f--;)o=k(o.times(o),l);return p.precision=h,null==t?(c=!0,k(o,h)):o}o=a}}function w(e){for(var t=7*e.e,n=e.d[0];n>=10;n/=10)t++;return t}function E(e,t,n){if(t>e.LN10.sd())throw c=!0,n&&(e.precision=n),Error(l+"LN10 precision limit exceeded");return k(new e(e.LN10),t)}function O(e){for(var t="";e--;)t+="0";return t}function S(e,t){var n,r,o,a,u,s,f,d,p,h=1,m=e,v=m.d,g=m.constructor,x=g.precision;if(m.s<1)throw Error(l+(m.s?"NaN":"-Infinity"));if(m.eq(i))return new g(0);if(null==t?(c=!1,d=x):d=t,m.eq(10))return null==t&&(c=!0),E(g,d);if(d+=10,g.precision=d,r=(n=y(v)).charAt(0),!(15e14>Math.abs(a=w(m))))return f=E(g,d+2,x).times(a+""),m=S(new g(r+"."+n.slice(1)),d-10).plus(f),g.precision=x,null==t?(c=!0,k(m,x)):m;for(;r<7&&1!=r||1==r&&n.charAt(1)>3;)r=(n=y((m=m.times(e)).d)).charAt(0),h++;for(a=w(m),r>1?(m=new g("0."+n),a++):m=new g(r+"."+n.slice(1)),s=u=m=b(m.minus(i),m.plus(i),d),p=k(m.times(m),d),o=3;;){if(u=k(u.times(p),d),y((f=s.plus(b(u,new g(o),d))).d).slice(0,d)===y(s.d).slice(0,d))return s=s.times(2),0!==a&&(s=s.plus(E(g,d+2,x).times(a+""))),s=b(s,new g(h),d),g.precision=x,null==t?(c=!0,k(s,x)):s;s=f,o+=2}}function C(e,t){var n,r,o;for((n=t.indexOf("."))>-1&&(t=t.replace(".","")),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;48===t.charCodeAt(r);)++r;for(o=t.length;48===t.charCodeAt(o-1);)--o;if(t=t.slice(r,o)){if(o-=r,n=n-r-1,e.e=f(n/7),e.d=[],r=(n+1)%7,n<0&&(r+=7),rh||e.e<-h))throw Error(s+n)}else e.s=0,e.e=0,e.d=[0];return e}function k(e,t,n){var r,o,i,a,l,u,p,m,v=e.d;for(a=1,i=v[0];i>=10;i/=10)a++;if((r=t-a)<0)r+=7,o=t,p=v[m=0];else{if((m=Math.ceil((r+1)/7))>=(i=v.length))return e;for(a=1,p=i=v[m];i>=10;i/=10)a++;r%=7,o=r-7+a}if(void 0!==n&&(l=p/(i=d(10,a-o-1))%10|0,u=t<0||void 0!==v[m+1]||p%i,u=n<4?(l||u)&&(0==n||n==(e.s<0?3:2)):l>5||5==l&&(4==n||u||6==n&&(r>0?o>0?p/d(10,a-o):0:v[m-1])%10&1||n==(e.s<0?8:7))),t<1||!v[0])return u?(i=w(e),v.length=1,t=t-i-1,v[0]=d(10,(7-t%7)%7),e.e=f(-t/7)||0):(v.length=1,v[0]=e.e=e.s=0),e;if(0==r?(v.length=m,i=1,m--):(v.length=m+1,i=d(10,7-r),v[m]=o>0?(p/d(10,a-o)%d(10,o)|0)*i:0),u)for(;;){if(0==m){1e7==(v[0]+=i)&&(v[0]=1,++e.e);break}if(v[m]+=i,1e7!=v[m])break;v[m--]=0,i=1}for(r=v.length;0===v[--r];)v.pop();if(c&&(e.e>h||e.e<-h))throw Error(s+w(e));return e}function j(e,t){var n,r,o,i,a,l,u,s,f,d,p=e.constructor,h=p.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new p(e),c?k(t,h):t;if(u=e.d,d=t.d,r=t.e,s=e.e,u=u.slice(),a=s-r){for((f=a<0)?(n=u,a=-a,l=d.length):(n=d,r=s,l=u.length),a>(o=Math.max(Math.ceil(h/7),l)+2)&&(a=o,n.length=1),n.reverse(),o=a;o--;)n.push(0);n.reverse()}else{for((f=(o=u.length)<(l=d.length))&&(l=o),o=0;o0;--o)u[l++]=0;for(o=d.length;o>a;){if(u[--o]0?i=i.charAt(0)+"."+i.slice(1)+O(r):a>1&&(i=i.charAt(0)+"."+i.slice(1)),i=i+(o<0?"e":"e+")+o):o<0?(i="0."+O(-o-1)+i,n&&(r=n-a)>0&&(i+=O(r))):o>=a?(i+=O(o+1-a),n&&(r=n-o-1)>0&&(i=i+"."+O(r))):((r=o+1)0&&(o+1===a&&(i+="."),i+=O(r))),e.s<0?"-"+i:i}function M(e,t){if(e.length>t)return e.length=t,!0}function A(e){if(!e||"object"!=typeof e)throw Error(l+"Object expected");var t,n,r,o=["precision",1,1e9,"rounding",0,8,"toExpNeg",-1/0,0,"toExpPos",0,1/0];for(t=0;t=o[t+1]&&r<=o[t+2])this[n]=r;else throw Error(u+n+": "+r)}if(void 0!==(r=e[n="LN10"])){if(r==Math.LN10)this[n]=new this(r);else throw Error(u+n+": "+r)}return this}(a=function e(t){var n,r,o;function i(e){if(!(this instanceof i))return new i(e);if(this.constructor=i,e instanceof i){this.s=e.s,this.e=e.e,this.d=(e=e.d)?e.slice():e;return}if("number"==typeof e){if(0*e!=0)throw Error(u+e);if(e>0)this.s=1;else if(e<0)e=-e,this.s=-1;else{this.s=0,this.e=0,this.d=[0];return}if(e===~~e&&e<1e7){this.e=0,this.d=[e];return}return C(this,e.toString())}if("string"!=typeof e)throw Error(u+e);if(45===e.charCodeAt(0)?(e=e.slice(1),this.s=-1):this.s=1,p.test(e))C(this,e);else throw Error(u+e)}if(i.prototype=m,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=e,i.config=i.set=A,void 0===t&&(t={}),t)for(n=0,o=["precision","rounding","toExpNeg","toExpPos","LN10"];n-1}},64797:function(e){e.exports=function(e,t,n){for(var r=-1,o=null==e?0:e.length;++r0&&i(s)?n>1?e(s,n-1,i,a,c):r(c,s):a||(c[c.length]=s)}return c}},94410:function(e,t,n){var r=n(320)();e.exports=r},77458:function(e,t,n){var r=n(94410),o=n(39406);e.exports=function(e,t){return e&&r(e,t,o)}},38824:function(e,t,n){var r=n(53066),o=n(217);e.exports=function(e,t){t=r(t,e);for(var n=0,i=t.length;null!=e&&nt}},69959:function(e){e.exports=function(e,t){return null!=e&&t in Object(e)}},77095:function(e,t,n){var r=n(47495),o=n(77562),i=n(48150);e.exports=function(e,t,n){return t==t?i(e,t,n):r(e,o,n)}},63686:function(e,t,n){var r=n(7976),o=n(19340);e.exports=function(e){return o(e)&&"[object Arguments]"==r(e)}},29759:function(e,t,n){var r=n(28685),o=n(19340);e.exports=function e(t,n,i,a,c){return t===n||(null!=t&&null!=n&&(o(t)||o(n))?r(t,n,i,a,e,c):t!=t&&n!=n)}},28685:function(e,t,n){var r=n(4380),o=n(63859),i=n(41020),a=n(10701),c=n(96770),l=n(95059),u=n(64843),s=n(30484),f="[object Arguments]",d="[object Array]",p="[object Object]",h=Object.prototype.hasOwnProperty;e.exports=function(e,t,n,m,v,g){var y=l(e),b=l(t),x=y?d:c(e),w=b?d:c(t);x=x==f?p:x,w=w==f?p:w;var E=x==p,O=w==p,S=x==w;if(S&&u(e)){if(!u(t))return!1;y=!0,E=!1}if(S&&!E)return g||(g=new r),y||s(e)?o(e,t,n,m,v,g):i(e,t,x,n,m,v,g);if(!(1&n)){var C=E&&h.call(e,"__wrapped__"),k=O&&h.call(t,"__wrapped__");if(C||k){var j=C?e.value():e,P=k?t.value():t;return g||(g=new r),v(j,P,n,m,g)}}return!!S&&(g||(g=new r),a(e,t,n,m,v,g))}},59165:function(e,t,n){var r=n(4380),o=n(29759);e.exports=function(e,t,n,i){var a=n.length,c=a,l=!i;if(null==e)return!c;for(e=Object(e);a--;){var u=n[a];if(l&&u[2]?u[1]!==e[u[0]]:!(u[0]in e))return!1}for(;++ao?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var i=Array(o);++r=200){var m=t?null:c(e);if(m)return l(m);d=!1,s=a,h=new r}else h=t?[]:p;t:for(;++u=o?e:r(e,t,n)}},9058:function(e,t,n){var r=n(62704);e.exports=function(e,t){if(e!==t){var n=void 0!==e,o=null===e,i=e==e,a=r(e),c=void 0!==t,l=null===t,u=t==t,s=r(t);if(!l&&!s&&!a&&e>t||a&&c&&u&&!l&&!s||o&&c&&u||!n&&u||!i)return 1;if(!o&&!a&&!s&&e=l)return u;return u*("desc"==n[o]?-1:1)}}return e.index-t.index}},35852:function(e,t,n){var r=n(67741)["__core-js_shared__"];e.exports=r},91502:function(e,t,n){var r=n(10187);e.exports=function(e,t){return function(n,o){if(null==n)return n;if(!r(n))return e(n,o);for(var i=n.length,a=t?i:-1,c=Object(n);(t?a--:++a-1?c[l?t[u]:u]:void 0}}},16519:function(e,t,n){var r=n(67535),o=n(45021),i=n(55038);e.exports=function(e){return function(t,n,a){return a&&"number"!=typeof a&&o(t,n,a)&&(n=a=void 0),t=i(t),void 0===n?(n=t,t=0):n=i(n),a=void 0===a?ts))return!1;var d=l.get(e),p=l.get(t);if(d&&p)return d==t&&p==e;var h=-1,m=!0,v=2&n?new r:void 0;for(l.set(e,t),l.set(t,e);++h-1&&e%1==0&&e-1}},42572:function(e,t,n){var r=n(89329);e.exports=function(e,t){var n=this.__data__,o=r(n,e);return o<0?(++this.size,n.push([e,t])):n[o][1]=t,this}},26528:function(e,t,n){var r=n(68193),o=n(5835),i=n(58246);e.exports=function(){this.size=0,this.__data__={hash:new r,map:new(i||o),string:new r}}},90972:function(e,t,n){var r=n(72080);e.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}},55981:function(e,t,n){var r=n(72080);e.exports=function(e){return r(this,e).get(e)}},76656:function(e,t,n){var r=n(72080);e.exports=function(e){return r(this,e).has(e)}},45541:function(e,t,n){var r=n(72080);e.exports=function(e,t){var n=r(this,e),o=n.size;return n.set(e,t),this.size+=n.size==o?0:1,this}},38737:function(e){e.exports=function(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}},69794:function(e){e.exports=function(e,t){return function(n){return null!=n&&n[e]===t&&(void 0!==t||e in Object(n))}}},53092:function(e,t,n){var r=n(49512);e.exports=function(e){var t=r(e,function(e){return 500===n.size&&n.clear(),e}),n=t.cache;return t}},83463:function(e,t,n){var r=n(93245)(Object,"create");e.exports=r},51678:function(e,t,n){var r=n(93332)(Object.keys,Object);e.exports=r},16474:function(e,t,n){e=n.nmd(e);var r=n(58584),o=t&&!t.nodeType&&t,i=o&&e&&!e.nodeType&&e,a=i&&i.exports===o&&r.process,c=function(){try{var e=i&&i.require&&i.require("util").types;if(e)return e;return a&&a.binding&&a.binding("util")}catch(e){}}();e.exports=c},8611:function(e){var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},93332:function(e){e.exports=function(e,t){return function(n){return e(t(n))}}},7157:function(e,t,n){var r=n(24821),o=Math.max;e.exports=function(e,t,n){return t=o(void 0===t?e.length-1:t,0),function(){for(var i=arguments,a=-1,c=o(i.length-t,0),l=Array(c);++a0){if(++n>=800)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}},4800:function(e,t,n){var r=n(5835);e.exports=function(){this.__data__=new r,this.size=0}},73987:function(e){e.exports=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}},59728:function(e){e.exports=function(e){return this.__data__.get(e)}},4146:function(e){e.exports=function(e){return this.__data__.has(e)}},81333:function(e,t,n){var r=n(5835),o=n(58246),i=n(93785);e.exports=function(e,t){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!o||a.length<199)return a.push([e,t]),this.size=++n.size,this;n=this.__data__=new i(a)}return n.set(e,t),this.size=n.size,this}},48150:function(e){e.exports=function(e,t,n){for(var r=n-1,o=e.length;++r=t||n<0||v&&r>=s}function x(){var e,n,r,i=o();if(b(i))return w(i);d=setTimeout(x,(e=i-p,n=i-h,r=t-e,v?c(r,s-n):r))}function w(e){return(d=void 0,g&&l)?y(e):(l=u=void 0,f)}function E(){var e,n=o(),r=b(n);if(l=arguments,u=this,p=n,r){if(void 0===d)return h=e=p,d=setTimeout(x,t),m?y(e):f;if(v)return clearTimeout(d),d=setTimeout(x,t),y(p)}return void 0===d&&(d=setTimeout(x,t)),f}return t=i(t)||0,r(n)&&(m=!!n.leading,s=(v="maxWait"in n)?a(i(n.maxWait)||0,t):s,g="trailing"in n?!!n.trailing:g),E.cancel=function(){void 0!==d&&clearTimeout(d),h=0,l=p=u=d=void 0},E.flush=function(){return void 0===d?f:w(o())},E}},61595:function(e){e.exports=function(e,t){return e===t||e!=e&&t!=t}},72986:function(e,t,n){var r=n(31917),o=n(31062),i=n(49452),a=n(95059),c=n(45021);e.exports=function(e,t,n){var l=a(e)?r:o;return n&&c(e,t,n)&&(t=void 0),l(e,i(t,3))}},209:function(e,t,n){var r=n(70493)(n(87539));e.exports=r},87539:function(e,t,n){var r=n(47495),o=n(49452),i=n(26018),a=Math.max;e.exports=function(e,t,n){var c=null==e?0:e.length;if(!c)return -1;var l=null==n?0:i(n);return l<0&&(l=a(c+l,0)),r(e,o(t,3),l)}},20734:function(e,t,n){var r=n(9677),o=n(30677);e.exports=function(e,t){return r(o(e,t),1)}},44750:function(e,t,n){var r=n(38824);e.exports=function(e,t,n){var o=null==e?void 0:r(e,t);return void 0===o?n:o}},19955:function(e,t,n){var r=n(69959),o=n(24986);e.exports=function(e,t){return null!=e&&o(e,t,r)}},39100:function(e){e.exports=function(e){return e}},99782:function(e,t,n){var r=n(63686),o=n(19340),i=Object.prototype,a=i.hasOwnProperty,c=i.propertyIsEnumerable,l=r(function(){return arguments}())?r:function(e){return o(e)&&a.call(e,"callee")&&!c.call(e,"callee")};e.exports=l},95059:function(e){var t=Array.isArray;e.exports=t},10187:function(e,t,n){var r=n(80509),o=n(54512);e.exports=function(e){return null!=e&&o(e.length)&&!r(e)}},90849:function(e,t,n){var r=n(7976),o=n(19340);e.exports=function(e){return!0===e||!1===e||o(e)&&"[object Boolean]"==r(e)}},64843:function(e,t,n){e=n.nmd(e);var r=n(67741),o=n(33879),i=t&&!t.nodeType&&t,a=i&&e&&!e.nodeType&&e,c=a&&a.exports===i?r.Buffer:void 0,l=c?c.isBuffer:void 0;e.exports=l||o},93574:function(e,t,n){var r=n(29759);e.exports=function(e,t){return r(e,t)}},80509:function(e,t,n){var r=n(7976),o=n(70816);e.exports=function(e){if(!o(e))return!1;var t=r(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},54512:function(e){e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},96240:function(e,t,n){var r=n(39018);e.exports=function(e){return r(e)&&e!=+e}},71292:function(e){e.exports=function(e){return null==e}},39018:function(e,t,n){var r=n(7976),o=n(19340);e.exports=function(e){return"number"==typeof e||o(e)&&"[object Number]"==r(e)}},70816:function(e){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},19340:function(e){e.exports=function(e){return null!=e&&"object"==typeof e}},23393:function(e,t,n){var r=n(7976),o=n(28766),i=n(19340),a=Object.prototype,c=Function.prototype.toString,l=a.hasOwnProperty,u=c.call(Object);e.exports=function(e){if(!i(e)||"[object Object]"!=r(e))return!1;var t=o(e);if(null===t)return!0;var n=l.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&c.call(n)==u}},96907:function(e,t,n){var r=n(7976),o=n(95059),i=n(19340);e.exports=function(e){return"string"==typeof e||!o(e)&&i(e)&&"[object String]"==r(e)}},62704:function(e,t,n){var r=n(7976),o=n(19340);e.exports=function(e){return"symbol"==typeof e||o(e)&&"[object Symbol]"==r(e)}},30484:function(e,t,n){var r=n(80043),o=n(43863),i=n(16474),a=i&&i.isTypedArray,c=a?o(a):r;e.exports=c},39406:function(e,t,n){var r=n(26546),o=n(92916),i=n(10187);e.exports=function(e){return i(e)?r(e):o(e)}},36887:function(e){e.exports=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}},30677:function(e,t,n){var r=n(83690),o=n(49452),i=n(28245),a=n(95059);e.exports=function(e,t){return(a(e)?r:i)(e,o(t,3))}},50924:function(e,t,n){var r=n(30804),o=n(77458),i=n(49452);e.exports=function(e,t){var n={};return t=i(t,3),o(e,function(e,o,i){r(n,o,t(e,o,i))}),n}},5037:function(e,t,n){var r=n(41764),o=n(92262),i=n(39100);e.exports=function(e){return e&&e.length?r(e,i,o):void 0}},49512:function(e,t,n){var r=n(93785);function o(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw TypeError("Expected a function");var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var a=e.apply(this,r);return n.cache=i.set(o,a)||i,a};return n.cache=new(o.Cache||r),n}o.Cache=r,e.exports=o},30264:function(e,t,n){var r=n(41764),o=n(87004),i=n(39100);e.exports=function(e){return e&&e.length?r(e,i,o):void 0}},67222:function(e){e.exports=function(){}},80128:function(e,t,n){var r=n(67741);e.exports=function(){return r.Date.now()}},62973:function(e,t,n){var r=n(60411),o=n(34831),i=n(55632),a=n(217);e.exports=function(e){return i(e)?r(a(e)):o(e)}},1646:function(e,t,n){var r=n(16519)();e.exports=r},13435:function(e,t,n){var r=n(30927),o=n(49452),i=n(61700),a=n(95059),c=n(45021);e.exports=function(e,t,n){var l=a(e)?r:i;return n&&c(e,t,n)&&(t=void 0),l(e,o(t,3))}},97572:function(e,t,n){var r=n(9677),o=n(56871),i=n(70712),a=n(45021),c=i(function(e,t){if(null==e)return[];var n=t.length;return n>1&&a(e,t[0],t[1])?t=[]:n>2&&a(t[0],t[1],t[2])&&(t=[t[0]]),o(e,r(t,1),[])});e.exports=c},30786:function(e){e.exports=function(){return[]}},33879:function(e){e.exports=function(){return!1}},68417:function(e,t,n){var r=n(54525),o=n(70816);e.exports=function(e,t,n){var i=!0,a=!0;if("function"!=typeof e)throw TypeError("Expected a function");return o(n)&&(i="leading"in n?!!n.leading:i,a="trailing"in n?!!n.trailing:a),r(e,t,{leading:i,maxWait:t,trailing:a})}},55038:function(e,t,n){var r=n(89753),o=1/0;e.exports=function(e){return e?(e=r(e))===o||e===-o?(e<0?-1:1)*17976931348623157e292:e==e?e:0:0===e?e:0}},26018:function(e,t,n){var r=n(55038);e.exports=function(e){var t=r(e),n=t%1;return t==t?n?t-n:t:0}},89753:function(e,t,n){var r=n(33223),o=n(70816),i=n(62704),a=0/0,c=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,u=/^0o[0-7]+$/i,s=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(i(e))return a;if(o(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=o(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=r(e);var n=l.test(e);return n||u.test(e)?s(e.slice(2),n?2:8):c.test(e)?a:+e}},25635:function(e,t,n){var r=n(2218);e.exports=function(e){return null==e?"":r(e)}},98116:function(e,t,n){var r=n(49452),o=n(15375);e.exports=function(e,t){return e&&e.length?o(e,r(t,2)):[]}},9332:function(e,t,n){var r=n(6551)("toUpperCase");e.exports=r},8792:function(e,t,n){n.d(t,{default:function(){return o.a}});var r=n(25250),o=n.n(r)},47907:function(e,t,n){var r=n(15313);n.o(r,"useRouter")&&n.d(t,{useRouter:function(){return r.useRouter}}),n.o(r,"useSearchParams")&&n.d(t,{useSearchParams:function(){return r.useSearchParams}})},49079:function(e,t,n){var r,o;e.exports=(null==(r=n.g.process)?void 0:r.env)&&"object"==typeof(null==(o=n.g.process)?void 0:o.env)?n.g.process:n(13127)},12956:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return r}}),n(82139);let r=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r{})}}function b(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}let x=i.default.forwardRef(function(e,t){let n,r;let{href:l,as:g,children:x,prefetch:w=null,passHref:E,replace:O,shallow:S,scroll:C,locale:k,onClick:j,onMouseEnter:P,onTouchStart:M,legacyBehavior:A=!1,...T}=e;n=x,A&&("string"==typeof n||"number"==typeof n)&&(n=(0,o.jsx)("a",{children:n}));let N=i.default.useContext(f.RouterContext),I=i.default.useContext(d.AppRouterContext),Z=null!=N?N:I,R=!N,_=!1!==w,D=null===w?v.PrefetchKind.AUTO:v.PrefetchKind.FULL,{href:B,as:L}=i.default.useMemo(()=>{if(!N){let e=b(l);return{href:e,as:g?b(g):e}}let[e,t]=(0,a.resolveHref)(N,l,!0);return{href:e,as:g?(0,a.resolveHref)(N,g):t||e}},[N,l,g]),z=i.default.useRef(B),F=i.default.useRef(L);A&&(r=i.default.Children.only(n));let H=A?r&&"object"==typeof r&&r.ref:t,[W,q,V]=(0,p.useIntersection)({rootMargin:"200px"}),U=i.default.useCallback(e=>{(F.current!==L||z.current!==B)&&(V(),F.current=L,z.current=B),W(e),H&&("function"==typeof H?H(e):"object"==typeof H&&(H.current=e))},[L,H,B,V,W]);i.default.useEffect(()=>{Z&&q&&_&&y(Z,B,L,{locale:k},{kind:D},R)},[L,B,q,k,_,null==N?void 0:N.locale,Z,R,D]);let X={ref:U,onClick(e){A||"function"!=typeof j||j(e),A&&r.props&&"function"==typeof r.props.onClick&&r.props.onClick(e),Z&&!e.defaultPrevented&&function(e,t,n,r,o,a,l,u,s){let{nodeName:f}=e.currentTarget;if("A"===f.toUpperCase()&&(function(e){let t=e.currentTarget.getAttribute("target");return t&&"_self"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e)||!s&&!(0,c.isLocalURL)(n)))return;e.preventDefault();let d=()=>{let e=null==l||l;"beforePopState"in t?t[o?"replace":"push"](n,r,{shallow:a,locale:u,scroll:e}):t[o?"replace":"push"](r||n,{scroll:e})};s?i.default.startTransition(d):d()}(e,Z,B,L,O,S,C,k,R)},onMouseEnter(e){A||"function"!=typeof P||P(e),A&&r.props&&"function"==typeof r.props.onMouseEnter&&r.props.onMouseEnter(e),Z&&(_||!R)&&y(Z,B,L,{locale:k,priority:!0,bypassPrefetchedCheck:!0},{kind:D},R)},onTouchStart(e){A||"function"!=typeof M||M(e),A&&r.props&&"function"==typeof r.props.onTouchStart&&r.props.onTouchStart(e),Z&&(_||!R)&&y(Z,B,L,{locale:k,priority:!0,bypassPrefetchedCheck:!0},{kind:D},R)}};if((0,u.isAbsoluteUrl)(L))X.href=L;else if(!A||E||"a"===r.type&&!("href"in r.props)){let e=void 0!==k?k:null==N?void 0:N.locale,t=(null==N?void 0:N.isLocaleDomain)&&(0,h.getDomainLocale)(L,e,null==N?void 0:N.locales,null==N?void 0:N.domainLocales);X.href=t||(0,m.addBasePath)((0,s.addLocale)(L,e,null==N?void 0:N.defaultLocale))}return A?i.default.cloneElement(r,X):(0,o.jsx)("a",{...T,...X,children:n})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},52185:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{requestIdleCallback:function(){return n},cancelIdleCallback:function(){return r}});let n="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){let t=Date.now();return self.setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},r="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(e){return clearTimeout(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},14542:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"resolveHref",{enumerable:!0,get:function(){return f}});let r=n(95770),o=n(11030),i=n(24544),a=n(36874),c=n(82139),l=n(17434),u=n(22360),s=n(96735);function f(e,t,n){let f;let d="string"==typeof t?t:(0,o.formatWithValidation)(t),p=d.match(/^[a-zA-Z]{1,}:\/\//),h=p?d.slice(p[0].length):d;if((h.split("?",1)[0]||"").match(/(\/\/|\\)/)){console.error("Invalid href '"+d+"' passed to next/router in page: '"+e.pathname+"'. Repeated forward-slashes (//) or backslashes \\ are not valid in the href.");let t=(0,a.normalizeRepeatedSlashes)(h);d=(p?p[0]:"")+t}if(!(0,l.isLocalURL)(d))return n?[d]:d;try{f=new URL(d.startsWith("#")?e.asPath:e.pathname,"http://n")}catch(e){f=new URL("/","http://n")}try{let e=new URL(d,f);e.pathname=(0,c.normalizePathTrailingSlash)(e.pathname);let t="";if((0,u.isDynamicRoute)(e.pathname)&&e.searchParams&&n){let n=(0,r.searchParamsToUrlQuery)(e.searchParams),{result:a,params:c}=(0,s.interpolateAs)(e.pathname,e.pathname,n);a&&(t=(0,o.formatWithValidation)({pathname:a,hash:e.hash,query:(0,i.omit)(n,c)}))}let a=e.origin===f.origin?e.href.slice(e.origin.length):e.href;return n?[a,t||a]:a}catch(e){return n?[d]:d}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},45291:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useIntersection",{enumerable:!0,get:function(){return l}});let r=n(64090),o=n(52185),i="function"==typeof IntersectionObserver,a=new Map,c=[];function l(e){let{rootRef:t,rootMargin:n,disabled:l}=e,u=l||!i,[s,f]=(0,r.useState)(!1),d=(0,r.useRef)(null),p=(0,r.useCallback)(e=>{d.current=e},[]);return(0,r.useEffect)(()=>{if(i){if(u||s)return;let e=d.current;if(e&&e.tagName)return function(e,t,n){let{id:r,observer:o,elements:i}=function(e){let t;let n={root:e.root||null,margin:e.rootMargin||""},r=c.find(e=>e.root===n.root&&e.margin===n.margin);if(r&&(t=a.get(r)))return t;let o=new Map;return t={id:n,observer:new IntersectionObserver(e=>{e.forEach(e=>{let t=o.get(e.target),n=e.isIntersecting||e.intersectionRatio>0;t&&n&&t(n)})},e),elements:o},c.push(n),a.set(n,t),t}(n);return i.set(e,t),o.observe(e),function(){if(i.delete(e),o.unobserve(e),0===i.size){o.disconnect(),a.delete(r);let e=c.findIndex(e=>e.root===r.root&&e.margin===r.margin);e>-1&&c.splice(e,1)}}}(e,e=>e&&f(e),{root:null==t?void 0:t.current,rootMargin:n})}else if(!s){let e=(0,o.requestIdleCallback)(()=>f(!0));return()=>(0,o.cancelIdleCallback)(e)}},[u,n,t,s,d.current]),[p,s,(0,r.useCallback)(()=>{f(!1)},[])]}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},13127:function(e){!function(){var t={229:function(e){var t,n,r,o=e.exports={};function i(){throw Error("setTimeout has not been defined")}function a(){throw Error("clearTimeout has not been defined")}function c(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:i}catch(e){t=i}try{n="function"==typeof clearTimeout?clearTimeout:a}catch(e){n=a}}();var l=[],u=!1,s=-1;function f(){u&&r&&(u=!1,r.length?l=r.concat(l):s=-1,l.length&&d())}function d(){if(!u){var e=c(f);u=!0;for(var t=l.length;t;){for(r=l,l=[];++s1)for(var n=1;n{let t=l[e]||"",{repeat:n,optional:r}=c[e],o="["+(n?"...":"")+e+"]";return r&&(o=(t?"":"/")+"["+o+"]"),n&&!Array.isArray(t)&&(t=[t]),(r||e in l)&&(i=i.replace(o,n?t.map(e=>encodeURIComponent(e)).join("/"):encodeURIComponent(t))||"/")})||(i=""),{params:u,result:i}}},11305:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isDynamicRoute",{enumerable:!0,get:function(){return i}});let r=n(94749),o=/\/\[[^/]+?\](?=\/|$)/;function i(e){return(0,r.isInterceptionRouteAppPath)(e)&&(e=(0,r.extractInterceptionRouteInformation)(e).interceptedRoute),o.test(e)}},17434:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isLocalURL",{enumerable:!0,get:function(){return i}});let r=n(36874),o=n(87379);function i(e){if(!(0,r.isAbsoluteUrl)(e))return!0;try{let t=(0,r.getLocationOrigin)(),n=new URL(e,t);return n.origin===t&&(0,o.hasBasePath)(n.pathname)}catch(e){return!1}}},24544:function(e,t){function n(e,t){let n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"omit",{enumerable:!0,get:function(){return n}})},95770:function(e,t){function n(e){let t={};return e.forEach((e,n)=>{void 0===t[n]?t[n]=e:Array.isArray(t[n])?t[n].push(e):t[n]=[t[n],e]}),t}function r(e){return"string"!=typeof e&&("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function o(e){let t=new URLSearchParams;return Object.entries(e).forEach(e=>{let[n,o]=e;Array.isArray(o)?o.forEach(e=>t.append(n,r(e))):t.set(n,r(o))}),t}function i(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r{Array.from(t.keys()).forEach(t=>e.delete(t)),t.forEach((t,n)=>e.append(n,t))}),e}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{searchParamsToUrlQuery:function(){return n},urlQueryToSearchParams:function(){return o},assign:function(){return i}})},2395:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getRouteMatcher",{enumerable:!0,get:function(){return o}});let r=n(36874);function o(e){let{re:t,groups:n}=e;return e=>{let o=t.exec(e);if(!o)return!1;let i=e=>{try{return decodeURIComponent(e)}catch(e){throw new r.DecodeError("failed to decode param")}},a={};return Object.keys(n).forEach(e=>{let t=n[e],r=o[t.pos];void 0!==r&&(a[e]=~r.indexOf("/")?r.split("/").map(e=>i(e)):t.repeat?[i(r)]:i(r))}),a}}},19935:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{getRouteRegex:function(){return l},getNamedRouteRegex:function(){return f},getNamedMiddlewareRegex:function(){return d}});let r=n(94749),o=n(22202),i=n(95868);function a(e){let t=e.startsWith("[")&&e.endsWith("]");t&&(e=e.slice(1,-1));let n=e.startsWith("...");return n&&(e=e.slice(3)),{key:e,repeat:n,optional:t}}function c(e){let t=(0,i.removeTrailingSlash)(e).slice(1).split("/"),n={},c=1;return{parameterizedRoute:t.map(e=>{let t=r.INTERCEPTION_ROUTE_MARKERS.find(t=>e.startsWith(t)),i=e.match(/\[((?:\[.*\])|.+)\]/);if(t&&i){let{key:e,optional:r,repeat:l}=a(i[1]);return n[e]={pos:c++,repeat:l,optional:r},"/"+(0,o.escapeStringRegexp)(t)+"([^/]+?)"}if(!i)return"/"+(0,o.escapeStringRegexp)(e);{let{key:e,repeat:t,optional:r}=a(i[1]);return n[e]={pos:c++,repeat:t,optional:r},t?r?"(?:/(.+?))?":"/(.+?)":"/([^/]+?)"}}).join(""),groups:n}}function l(e){let{parameterizedRoute:t,groups:n}=c(e);return{re:RegExp("^"+t+"(?:/)?$"),groups:n}}function u(e){let{interceptionMarker:t,getSafeRouteKey:n,segment:r,routeKeys:i,keyPrefix:c}=e,{key:l,optional:u,repeat:s}=a(r),f=l.replace(/\W/g,"");c&&(f=""+c+f);let d=!1;(0===f.length||f.length>30)&&(d=!0),isNaN(parseInt(f.slice(0,1)))||(d=!0),d&&(f=n()),c?i[f]=""+c+l:i[f]=l;let p=t?(0,o.escapeStringRegexp)(t):"";return s?u?"(?:/"+p+"(?<"+f+">.+?))?":"/"+p+"(?<"+f+">.+?)":"/"+p+"(?<"+f+">[^/]+?)"}function s(e,t){let n;let a=(0,i.removeTrailingSlash)(e).slice(1).split("/"),c=(n=0,()=>{let e="",t=++n;for(;t>0;)e+=String.fromCharCode(97+(t-1)%26),t=Math.floor((t-1)/26);return e}),l={};return{namedParameterizedRoute:a.map(e=>{let n=r.INTERCEPTION_ROUTE_MARKERS.some(t=>e.startsWith(t)),i=e.match(/\[((?:\[.*\])|.+)\]/);if(n&&i){let[n]=e.split(i[0]);return u({getSafeRouteKey:c,interceptionMarker:n,segment:i[1],routeKeys:l,keyPrefix:t?"nxtI":void 0})}return i?u({getSafeRouteKey:c,segment:i[1],routeKeys:l,keyPrefix:t?"nxtP":void 0}):"/"+(0,o.escapeStringRegexp)(e)}).join(""),routeKeys:l}}function f(e,t){let n=s(e,t);return{...l(e),namedRegex:"^"+n.namedParameterizedRoute+"(?:/)?$",routeKeys:n.routeKeys}}function d(e,t){let{parameterizedRoute:n}=c(e),{catchAll:r=!0}=t;if("/"===n)return{namedRegex:"^/"+(r?".*":"")+"$"};let{namedParameterizedRoute:o}=s(e,!1);return{namedRegex:"^"+o+(r?"(?:(/.*)?)":"")+"$"}}},97409:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSortedRoutes",{enumerable:!0,get:function(){return r}});class n{insert(e){this._insert(e.split("/").filter(Boolean),[],!1)}smoosh(){return this._smoosh()}_smoosh(e){void 0===e&&(e="/");let t=[...this.children.keys()].sort();null!==this.slugName&&t.splice(t.indexOf("[]"),1),null!==this.restSlugName&&t.splice(t.indexOf("[...]"),1),null!==this.optionalRestSlugName&&t.splice(t.indexOf("[[...]]"),1);let n=t.map(t=>this.children.get(t)._smoosh(""+e+t+"/")).reduce((e,t)=>[...e,...t],[]);if(null!==this.slugName&&n.push(...this.children.get("[]")._smoosh(e+"["+this.slugName+"]/")),!this.placeholder){let t="/"===e?"/":e.slice(0,-1);if(null!=this.optionalRestSlugName)throw Error('You cannot define a route with the same specificity as a optional catch-all route ("'+t+'" and "'+t+"[[..."+this.optionalRestSlugName+']]").');n.unshift(t)}return null!==this.restSlugName&&n.push(...this.children.get("[...]")._smoosh(e+"[..."+this.restSlugName+"]/")),null!==this.optionalRestSlugName&&n.push(...this.children.get("[[...]]")._smoosh(e+"[[..."+this.optionalRestSlugName+"]]/")),n}_insert(e,t,r){if(0===e.length){this.placeholder=!1;return}if(r)throw Error("Catch-all must be the last part of the URL.");let o=e[0];if(o.startsWith("[")&&o.endsWith("]")){let n=o.slice(1,-1),a=!1;if(n.startsWith("[")&&n.endsWith("]")&&(n=n.slice(1,-1),a=!0),n.startsWith("...")&&(n=n.substring(3),r=!0),n.startsWith("[")||n.endsWith("]"))throw Error("Segment names may not start or end with extra brackets ('"+n+"').");if(n.startsWith("."))throw Error("Segment names may not start with erroneous periods ('"+n+"').");function i(e,n){if(null!==e&&e!==n)throw Error("You cannot use different slug names for the same dynamic path ('"+e+"' !== '"+n+"').");t.forEach(e=>{if(e===n)throw Error('You cannot have the same slug name "'+n+'" repeat within a single dynamic path');if(e.replace(/\W/g,"")===o.replace(/\W/g,""))throw Error('You cannot have the slug names "'+e+'" and "'+n+'" differ only by non-word symbols within a single dynamic path')}),t.push(n)}if(r){if(a){if(null!=this.restSlugName)throw Error('You cannot use both an required and optional catch-all route at the same level ("[...'+this.restSlugName+']" and "'+e[0]+'" ).');i(this.optionalRestSlugName,n),this.optionalRestSlugName=n,o="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Error('You cannot use both an optional and required catch-all route at the same level ("[[...'+this.optionalRestSlugName+']]" and "'+e[0]+'").');i(this.restSlugName,n),this.restSlugName=n,o="[...]"}}else{if(a)throw Error('Optional route parameters are not yet supported ("'+e[0]+'").');i(this.slugName,n),this.slugName=n,o="[]"}}this.children.has(o)||this.children.set(o,new n),this.children.get(o)._insert(e.slice(1),t,r)}constructor(){this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}}function r(e){let t=new n;return e.forEach(e=>t.insert(e)),t.smoosh()}},36874:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{WEB_VITALS:function(){return n},execOnce:function(){return r},isAbsoluteUrl:function(){return i},getLocationOrigin:function(){return a},getURL:function(){return c},getDisplayName:function(){return l},isResSent:function(){return u},normalizeRepeatedSlashes:function(){return s},loadGetInitialProps:function(){return f},SP:function(){return d},ST:function(){return p},DecodeError:function(){return h},NormalizeError:function(){return m},PageNotFoundError:function(){return v},MissingStaticPage:function(){return g},MiddlewareNotFoundError:function(){return y},stringifyError:function(){return b}});let n=["CLS","FCP","FID","INP","LCP","TTFB"];function r(e){let t,n=!1;return function(){for(var r=arguments.length,o=Array(r),i=0;io.test(e);function a(){let{protocol:e,hostname:t,port:n}=window.location;return e+"//"+t+(n?":"+n:"")}function c(){let{href:e}=window.location,t=a();return e.substring(t.length)}function l(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function u(e){return e.finished||e.headersSent}function s(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function f(e,t){let n=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await f(t.Component,t.ctx)}:{};let r=await e.getInitialProps(t);if(n&&u(n))return r;if(!r)throw Error('"'+l(e)+'.getInitialProps()" should resolve to an object. But found "'+r+'" instead.');return r}let d="undefined"!=typeof performance,p=d&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class h extends Error{}class m extends Error{}class v extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class g extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class y extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function b(e){return JSON.stringify({message:e.message,stack:e.stack})}},18314:function(e,t,n){var r=n(41811);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,i,a){if(a!==r){var c=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return n.PropTypes=n,n}},74404:function(e,t,n){e.exports=n(18314)()},41811:function(e){e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},76570:function(e,t,n){n.d(t,{gN:function(){return ev},zb:function(){return E},RV:function(){return ek},aV:function(){return eg},ZM:function(){return O},ZP:function(){return eN},cI:function(){return eS},qo:function(){return eA}});var r,o=n(64090),i=n(14749),a=n(6787),c=n(86926),l=n(74902),u=n(5239),s=n(63787),f=n(47365),d=n(65127),p=n(34951),h=n(27478),m=n(85430),v=n(50833),g=n(33054),y=n(92536),b=n(53850),x="RC_FORM_INTERNAL_HOOKS",w=function(){(0,b.ZP)(!1,"Can not find FormContext. Please make sure you wrap Field under Form.")},E=o.createContext({getFieldValue:w,getFieldsValue:w,getFieldError:w,getFieldWarning:w,getFieldsError:w,isFieldsTouched:w,isFieldTouched:w,isFieldValidating:w,isFieldsValidating:w,resetFields:w,setFields:w,setFieldValue:w,setFieldsValue:w,validateFields:w,submit:w,getInternalHooks:function(){return w(),{dispatch:w,initEntityValue:w,registerField:w,useSubscribe:w,setInitialValues:w,destroyForm:w,setCallbacks:w,registerWatch:w,getFields:w,setValidateMessages:w,setPreserve:w,getInitialValue:w}}}),O=o.createContext(null);function S(e){return null==e?[]:Array.isArray(e)?e:[e]}var C=n(49079);function k(){return(k=Object.assign?Object.assign.bind():function(e){for(var t=1;t1?t-1:0),r=1;r=i)return e;switch(e){case"%s":return String(n[o++]);case"%d":return Number(n[o++]);case"%j":try{return JSON.stringify(n[o++])}catch(e){return"[Circular]"}break;default:return e}}):e}function Z(e,t){return!!(null==e||"array"===t&&Array.isArray(e)&&!e.length)||("string"===t||"url"===t||"hex"===t||"email"===t||"date"===t||"pattern"===t)&&"string"==typeof e&&!e}function R(e,t,n){var r=0,o=e.length;!function i(a){if(a&&a.length){n(a);return}var c=r;r+=1,c()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},H={integer:function(e){return H.number(e)&&parseInt(e,10)===e},float:function(e){return H.number(e)&&!H.integer(e)},array:function(e){return Array.isArray(e)},regexp:function(e){if(e instanceof RegExp)return!0;try{return new RegExp(e),!0}catch(e){return!1}},date:function(e){return"function"==typeof e.getTime&&"function"==typeof e.getMonth&&"function"==typeof e.getYear&&!isNaN(e.getTime())},number:function(e){return!isNaN(e)&&"number"==typeof e},object:function(e){return"object"==typeof e&&!H.array(e)},method:function(e){return"function"==typeof e},email:function(e){return"string"==typeof e&&e.length<=320&&!!e.match(F.email)},url:function(e){return"string"==typeof e&&e.length<=2048&&!!e.match(z())},hex:function(e){return"string"==typeof e&&!!e.match(F.hex)}},W="enum",q={required:L,whitespace:function(e,t,n,r,o){(/^\s+$/.test(t)||""===t)&&r.push(I(o.messages.whitespace,e.fullField))},type:function(e,t,n,r,o){if(e.required&&void 0===t){L(e,t,n,r,o);return}var i=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(i)>-1?H[i](t)||r.push(I(o.messages.types[i],e.fullField,e.type)):i&&typeof t!==e.type&&r.push(I(o.messages.types[i],e.fullField,e.type))},range:function(e,t,n,r,o){var i="number"==typeof e.len,a="number"==typeof e.min,c="number"==typeof e.max,l=t,u=null,s="number"==typeof t,f="string"==typeof t,d=Array.isArray(t);if(s?u="number":f?u="string":d&&(u="array"),!u)return!1;d&&(l=t.length),f&&(l=t.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"_").length),i?l!==e.len&&r.push(I(o.messages[u].len,e.fullField,e.len)):a&&!c&&le.max?r.push(I(o.messages[u].max,e.fullField,e.max)):a&&c&&(le.max)&&r.push(I(o.messages[u].range,e.fullField,e.min,e.max))},enum:function(e,t,n,r,o){e[W]=Array.isArray(e[W])?e[W]:[],-1===e[W].indexOf(t)&&r.push(I(o.messages[W],e.fullField,e[W].join(", ")))},pattern:function(e,t,n,r,o){!e.pattern||(e.pattern instanceof RegExp?(e.pattern.lastIndex=0,e.pattern.test(t)||r.push(I(o.messages.pattern.mismatch,e.fullField,t,e.pattern))):"string"!=typeof e.pattern||new RegExp(e.pattern).test(t)||r.push(I(o.messages.pattern.mismatch,e.fullField,t,e.pattern)))}},V=function(e,t,n,r,o){var i=e.type,a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Z(t,i)&&!e.required)return n();q.required(e,t,r,a,o,i),Z(t,i)||q.type(e,t,r,a,o)}n(a)},U={string:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Z(t,"string")&&!e.required)return n();q.required(e,t,r,i,o,"string"),Z(t,"string")||(q.type(e,t,r,i,o),q.range(e,t,r,i,o),q.pattern(e,t,r,i,o),!0===e.whitespace&&q.whitespace(e,t,r,i,o))}n(i)},method:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Z(t)&&!e.required)return n();q.required(e,t,r,i,o),void 0!==t&&q.type(e,t,r,i,o)}n(i)},number:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(""===t&&(t=void 0),Z(t)&&!e.required)return n();q.required(e,t,r,i,o),void 0!==t&&(q.type(e,t,r,i,o),q.range(e,t,r,i,o))}n(i)},boolean:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Z(t)&&!e.required)return n();q.required(e,t,r,i,o),void 0!==t&&q.type(e,t,r,i,o)}n(i)},regexp:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Z(t)&&!e.required)return n();q.required(e,t,r,i,o),Z(t)||q.type(e,t,r,i,o)}n(i)},integer:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Z(t)&&!e.required)return n();q.required(e,t,r,i,o),void 0!==t&&(q.type(e,t,r,i,o),q.range(e,t,r,i,o))}n(i)},float:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Z(t)&&!e.required)return n();q.required(e,t,r,i,o),void 0!==t&&(q.type(e,t,r,i,o),q.range(e,t,r,i,o))}n(i)},array:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(null==t&&!e.required)return n();q.required(e,t,r,i,o,"array"),null!=t&&(q.type(e,t,r,i,o),q.range(e,t,r,i,o))}n(i)},object:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Z(t)&&!e.required)return n();q.required(e,t,r,i,o),void 0!==t&&q.type(e,t,r,i,o)}n(i)},enum:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Z(t)&&!e.required)return n();q.required(e,t,r,i,o),void 0!==t&&q.enum(e,t,r,i,o)}n(i)},pattern:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Z(t,"string")&&!e.required)return n();q.required(e,t,r,i,o),Z(t,"string")||q.pattern(e,t,r,i,o)}n(i)},date:function(e,t,n,r,o){var i,a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Z(t,"date")&&!e.required)return n();q.required(e,t,r,a,o),!Z(t,"date")&&(i=t instanceof Date?t:new Date(t),q.type(e,i,r,a,o),i&&q.range(e,i.getTime(),r,a,o))}n(a)},url:V,hex:V,email:V,required:function(e,t,n,r,o){var i=[],a=Array.isArray(t)?"array":typeof t;q.required(e,t,r,i,o,a),n(i)},any:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Z(t)&&!e.required)return n();q.required(e,t,r,i,o)}n(i)}};function X(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var e=JSON.parse(JSON.stringify(this));return e.clone=this.clone,e}}}var G=X(),K=function(){function e(e){this.rules=null,this._messages=G,this.define(e)}var t=e.prototype;return t.define=function(e){var t=this;if(!e)throw Error("Cannot configure a schema with no rules");if("object"!=typeof e||Array.isArray(e))throw Error("Rules must be an object");this.rules={},Object.keys(e).forEach(function(n){var r=e[n];t.rules[n]=Array.isArray(r)?r:[r]})},t.messages=function(e){return e&&(this._messages=B(X(),e)),this._messages},t.validate=function(t,n,r){var o=this;void 0===n&&(n={}),void 0===r&&(r=function(){});var i=t,a=n,c=r;if("function"==typeof a&&(c=a,a={}),!this.rules||0===Object.keys(this.rules).length)return c&&c(null,i),Promise.resolve(i);if(a.messages){var l=this.messages();l===G&&(l=X()),B(l,a.messages),a.messages=l}else a.messages=this.messages();var u={};(a.keys||Object.keys(this.rules)).forEach(function(e){var n=o.rules[e],r=i[e];n.forEach(function(n){var a=n;"function"==typeof a.transform&&(i===t&&(i=k({},i)),r=i[e]=a.transform(r)),(a="function"==typeof a?{validator:a}:k({},a)).validator=o.getValidationMethod(a),a.validator&&(a.field=e,a.fullField=a.fullField||e,a.type=o.getType(a),u[e]=u[e]||[],u[e].push({rule:a,value:r,source:i,field:e}))})});var s={};return function(e,t,n,r,o){if(t.first){var i=new Promise(function(t,i){var a;R((a=[],Object.keys(e).forEach(function(t){a.push.apply(a,e[t]||[])}),a),n,function(e){return r(e),e.length?i(new _(e,N(e))):t(o)})});return i.catch(function(e){return e}),i}var a=!0===t.firstFields?Object.keys(e):t.firstFields||[],c=Object.keys(e),l=c.length,u=0,s=[],f=new Promise(function(t,i){var f=function(e){if(s.push.apply(s,e),++u===l)return r(s),s.length?i(new _(s,N(s))):t(o)};c.length||(r(s),t(o)),c.forEach(function(t){var r=e[t];-1!==a.indexOf(t)?R(r,n,f):function(e,t,n){var r=[],o=0,i=e.length;function a(e){r.push.apply(r,e||[]),++o===i&&n(r)}e.forEach(function(e){t(e,a)})}(r,n,f)})});return f.catch(function(e){return e}),f}(u,a,function(t,n){var r,o=t.rule,c=("object"===o.type||"array"===o.type)&&("object"==typeof o.fields||"object"==typeof o.defaultField);function l(e,t){return k({},t,{fullField:o.fullField+"."+e,fullFields:o.fullFields?[].concat(o.fullFields,[e]):[e]})}function u(r){void 0===r&&(r=[]);var u=Array.isArray(r)?r:[r];!a.suppressWarning&&u.length&&e.warning("async-validator:",u),u.length&&void 0!==o.message&&(u=[].concat(o.message));var f=u.map(D(o,i));if(a.first&&f.length)return s[o.field]=1,n(f);if(c){if(o.required&&!t.value)return void 0!==o.message?f=[].concat(o.message).map(D(o,i)):a.error&&(f=[a.error(o,I(a.messages.required,o.field))]),n(f);var d={};o.defaultField&&Object.keys(t.value).map(function(e){d[e]=o.defaultField});var p={};Object.keys(d=k({},d,t.rule.fields)).forEach(function(e){var t=d[e],n=Array.isArray(t)?t:[t];p[e]=n.map(l.bind(null,e))});var h=new e(p);h.messages(a.messages),t.rule.options&&(t.rule.options.messages=a.messages,t.rule.options.error=a.error),h.validate(t.value,t.rule.options||a,function(e){var t=[];f&&f.length&&t.push.apply(t,f),e&&e.length&&t.push.apply(t,e),n(t.length?t:null)})}else n(f)}if(c=c&&(o.required||!o.required&&t.value),o.field=t.field,o.asyncValidator)r=o.asyncValidator(o,t.value,u,t.source,a);else if(o.validator){try{r=o.validator(o,t.value,u,t.source,a)}catch(e){null==console.error||console.error(e),a.suppressValidatorError||setTimeout(function(){throw e},0),u(e.message)}!0===r?u():!1===r?u("function"==typeof o.message?o.message(o.fullField||o.field):o.message||(o.fullField||o.field)+" fails"):r instanceof Array?u(r):r instanceof Error&&u(r.message)}r&&r.then&&r.then(function(){return u()},function(e){return u(e)})},function(e){!function(e){for(var t=[],n={},r=0;r2&&void 0!==arguments[2]&&arguments[2];return e&&e.some(function(e){return eu(t,e,n)})}function eu(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return!!e&&!!t&&(!!n||e.length===t.length)&&t.every(function(t,n){return e[n]===t})}function es(e){var t=arguments.length<=1?void 0:arguments[1];return t&&t.target&&"object"===(0,eo.Z)(t.target)&&e in t.target?t.target[e]:t}function ef(e,t,n){var r=e.length;if(t<0||t>=r||n<0||n>=r)return e;var o=e[t],i=t-n;return i>0?[].concat((0,s.Z)(e.slice(0,n)),[o],(0,s.Z)(e.slice(n,t)),(0,s.Z)(e.slice(t+1,r))):i<0?[].concat((0,s.Z)(e.slice(0,t)),(0,s.Z)(e.slice(t+1,n+1)),[o],(0,s.Z)(e.slice(n+1,r))):e}var ed=["name"],ep=[];function eh(e,t,n,r,o,i){return"function"==typeof e?e(t,n,"source"in i?{source:i.source}:{}):r!==o}var em=function(e){(0,h.Z)(n,e);var t=(0,m.Z)(n);function n(e){var r;return(0,f.Z)(this,n),r=t.call(this,e),(0,v.Z)((0,p.Z)(r),"state",{resetCount:0}),(0,v.Z)((0,p.Z)(r),"cancelRegisterFunc",null),(0,v.Z)((0,p.Z)(r),"mounted",!1),(0,v.Z)((0,p.Z)(r),"touched",!1),(0,v.Z)((0,p.Z)(r),"dirty",!1),(0,v.Z)((0,p.Z)(r),"validatePromise",void 0),(0,v.Z)((0,p.Z)(r),"prevValidating",void 0),(0,v.Z)((0,p.Z)(r),"errors",ep),(0,v.Z)((0,p.Z)(r),"warnings",ep),(0,v.Z)((0,p.Z)(r),"cancelRegister",function(){var e=r.props,t=e.preserve,n=e.isListField,o=e.name;r.cancelRegisterFunc&&r.cancelRegisterFunc(n,t,ea(o)),r.cancelRegisterFunc=null}),(0,v.Z)((0,p.Z)(r),"getNamePath",function(){var e=r.props,t=e.name,n=e.fieldContext.prefixName;return void 0!==t?[].concat((0,s.Z)(void 0===n?[]:n),(0,s.Z)(t)):[]}),(0,v.Z)((0,p.Z)(r),"getRules",function(){var e=r.props,t=e.rules,n=e.fieldContext;return(void 0===t?[]:t).map(function(e){return"function"==typeof e?e(n):e})}),(0,v.Z)((0,p.Z)(r),"refresh",function(){r.mounted&&r.setState(function(e){return{resetCount:e.resetCount+1}})}),(0,v.Z)((0,p.Z)(r),"metaCache",null),(0,v.Z)((0,p.Z)(r),"triggerMetaEvent",function(e){var t=r.props.onMetaChange;if(t){var n=(0,u.Z)((0,u.Z)({},r.getMeta()),{},{destroy:e});(0,y.Z)(r.metaCache,n)||t(n),r.metaCache=n}else r.metaCache=null}),(0,v.Z)((0,p.Z)(r),"onStoreChange",function(e,t,n){var o=r.props,i=o.shouldUpdate,a=o.dependencies,c=void 0===a?[]:a,l=o.onReset,u=n.store,s=r.getNamePath(),f=r.getValue(e),d=r.getValue(u),p=t&&el(t,s);switch("valueUpdate"===n.type&&"external"===n.source&&f!==d&&(r.touched=!0,r.dirty=!0,r.validatePromise=null,r.errors=ep,r.warnings=ep,r.triggerMetaEvent()),n.type){case"reset":if(!t||p){r.touched=!1,r.dirty=!1,r.validatePromise=void 0,r.errors=ep,r.warnings=ep,r.triggerMetaEvent(),null==l||l(),r.refresh();return}break;case"remove":if(i){r.reRender();return}break;case"setField":var h=n.data;if(p){"touched"in h&&(r.touched=h.touched),"validating"in h&&!("originRCField"in h)&&(r.validatePromise=h.validating?Promise.resolve([]):null),"errors"in h&&(r.errors=h.errors||ep),"warnings"in h&&(r.warnings=h.warnings||ep),r.dirty=!0,r.triggerMetaEvent(),r.reRender();return}if("value"in h&&el(t,s,!0)||i&&!s.length&&eh(i,e,u,f,d,n)){r.reRender();return}break;case"dependenciesUpdate":if(c.map(ea).some(function(e){return el(n.relatedFields,e)})){r.reRender();return}break;default:if(p||(!c.length||s.length||i)&&eh(i,e,u,f,d,n)){r.reRender();return}}!0===i&&r.reRender()}),(0,v.Z)((0,p.Z)(r),"validateRules",function(e){var t=r.getNamePath(),n=r.getValue(),o=e||{},i=o.triggerName,a=o.validateOnly,f=Promise.resolve().then((0,l.Z)((0,c.Z)().mark(function o(){var a,d,p,h,m,v,g;return(0,c.Z)().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(r.mounted){o.next=2;break}return o.abrupt("return",[]);case 2:if(p=void 0!==(d=(a=r.props).validateFirst)&&d,h=a.messageVariables,m=a.validateDebounce,v=r.getRules(),i&&(v=v.filter(function(e){return e}).filter(function(e){var t=e.validateTrigger;return!t||S(t).includes(i)})),!(m&&i)){o.next=10;break}return o.next=8,new Promise(function(e){setTimeout(e,m)});case 8:if(!(r.validatePromise!==f)){o.next=10;break}return o.abrupt("return",[]);case 10:return(g=function(e,t,n,r,o,i){var a,s,f=e.join("."),d=n.map(function(e,t){var n=e.validator,r=(0,u.Z)((0,u.Z)({},e),{},{ruleIndex:t});return n&&(r.validator=function(e,t,r){var o=!1,i=n(e,t,function(){for(var e=arguments.length,t=Array(e),n=0;n0&&void 0!==arguments[0]?arguments[0]:ep;if(r.validatePromise===f){r.validatePromise=null;var t,n=[],o=[];null===(t=e.forEach)||void 0===t||t.call(e,function(e){var t=e.rule.warningOnly,r=e.errors,i=void 0===r?ep:r;t?o.push.apply(o,(0,s.Z)(i)):n.push.apply(n,(0,s.Z)(i))}),r.errors=n,r.warnings=o,r.triggerMetaEvent(),r.reRender()}}),o.abrupt("return",g);case 13:case"end":return o.stop()}},o)})));return void 0!==a&&a||(r.validatePromise=f,r.dirty=!0,r.errors=ep,r.warnings=ep,r.triggerMetaEvent(),r.reRender()),f}),(0,v.Z)((0,p.Z)(r),"isFieldValidating",function(){return!!r.validatePromise}),(0,v.Z)((0,p.Z)(r),"isFieldTouched",function(){return r.touched}),(0,v.Z)((0,p.Z)(r),"isFieldDirty",function(){return!!r.dirty||void 0!==r.props.initialValue||void 0!==(0,r.props.fieldContext.getInternalHooks(x).getInitialValue)(r.getNamePath())}),(0,v.Z)((0,p.Z)(r),"getErrors",function(){return r.errors}),(0,v.Z)((0,p.Z)(r),"getWarnings",function(){return r.warnings}),(0,v.Z)((0,p.Z)(r),"isListField",function(){return r.props.isListField}),(0,v.Z)((0,p.Z)(r),"isList",function(){return r.props.isList}),(0,v.Z)((0,p.Z)(r),"isPreserve",function(){return r.props.preserve}),(0,v.Z)((0,p.Z)(r),"getMeta",function(){return r.prevValidating=r.isFieldValidating(),{touched:r.isFieldTouched(),validating:r.prevValidating,errors:r.errors,warnings:r.warnings,name:r.getNamePath(),validated:null===r.validatePromise}}),(0,v.Z)((0,p.Z)(r),"getOnlyChild",function(e){if("function"==typeof e){var t=r.getMeta();return(0,u.Z)((0,u.Z)({},r.getOnlyChild(e(r.getControlled(),t,r.props.fieldContext))),{},{isFunction:!0})}var n=(0,g.Z)(e);return 1===n.length&&o.isValidElement(n[0])?{child:n[0],isFunction:!1}:{child:n,isFunction:!1}}),(0,v.Z)((0,p.Z)(r),"getValue",function(e){var t=r.props.fieldContext.getFieldsValue,n=r.getNamePath();return(0,ei.Z)(e||t(!0),n)}),(0,v.Z)((0,p.Z)(r),"getControlled",function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=r.props,n=t.trigger,o=t.validateTrigger,i=t.getValueFromEvent,a=t.normalize,c=t.valuePropName,l=t.getValueProps,s=t.fieldContext,f=void 0!==o?o:s.validateTrigger,d=r.getNamePath(),p=s.getInternalHooks,h=s.getFieldsValue,m=p(x).dispatch,g=r.getValue(),y=l||function(e){return(0,v.Z)({},c,e)},b=e[n],w=(0,u.Z)((0,u.Z)({},e),y(g));return w[n]=function(){r.touched=!0,r.dirty=!0,r.triggerMetaEvent();for(var e,t=arguments.length,n=Array(t),o=0;o=0&&t<=n.length?(d.keys=[].concat((0,s.Z)(d.keys.slice(0,t)),[d.id],(0,s.Z)(d.keys.slice(t))),o([].concat((0,s.Z)(n.slice(0,t)),[e],(0,s.Z)(n.slice(t))))):(d.keys=[].concat((0,s.Z)(d.keys),[d.id]),o([].concat((0,s.Z)(n),[e]))),d.id+=1},remove:function(e){var t=a(),n=new Set(Array.isArray(e)?e:[e]);n.size<=0||(d.keys=d.keys.filter(function(e,t){return!n.has(t)}),o(t.filter(function(e,t){return!n.has(t)})))},move:function(e,t){if(e!==t){var n=a();e<0||e>=n.length||t<0||t>=n.length||(d.keys=ef(d.keys,e,t),o(ef(n,e,t)))}}},t)})))},ey=n(80406),eb="__@field_split__";function ex(e){return e.map(function(e){return"".concat((0,eo.Z)(e),":").concat(e)}).join(eb)}var ew=function(){function e(){(0,f.Z)(this,e),(0,v.Z)(this,"kvs",new Map)}return(0,d.Z)(e,[{key:"set",value:function(e,t){this.kvs.set(ex(e),t)}},{key:"get",value:function(e){return this.kvs.get(ex(e))}},{key:"update",value:function(e,t){var n=t(this.get(e));n?this.set(e,n):this.delete(e)}},{key:"delete",value:function(e){this.kvs.delete(ex(e))}},{key:"map",value:function(e){return(0,s.Z)(this.kvs.entries()).map(function(t){var n=(0,ey.Z)(t,2),r=n[0],o=n[1];return e({key:r.split(eb).map(function(e){var t=e.match(/^([^:]*):(.*)$/),n=(0,ey.Z)(t,3),r=n[1],o=n[2];return"number"===r?Number(o):o}),value:o})})}},{key:"toJSON",value:function(){var e={};return this.map(function(t){var n=t.key,r=t.value;return e[n.join(".")]=r,null}),e}}]),e}(),eE=["name"],eO=(0,d.Z)(function e(t){var n=this;(0,f.Z)(this,e),(0,v.Z)(this,"formHooked",!1),(0,v.Z)(this,"forceRootUpdate",void 0),(0,v.Z)(this,"subscribable",!0),(0,v.Z)(this,"store",{}),(0,v.Z)(this,"fieldEntities",[]),(0,v.Z)(this,"initialValues",{}),(0,v.Z)(this,"callbacks",{}),(0,v.Z)(this,"validateMessages",null),(0,v.Z)(this,"preserve",null),(0,v.Z)(this,"lastValidatePromise",null),(0,v.Z)(this,"getForm",function(){return{getFieldValue:n.getFieldValue,getFieldsValue:n.getFieldsValue,getFieldError:n.getFieldError,getFieldWarning:n.getFieldWarning,getFieldsError:n.getFieldsError,isFieldsTouched:n.isFieldsTouched,isFieldTouched:n.isFieldTouched,isFieldValidating:n.isFieldValidating,isFieldsValidating:n.isFieldsValidating,resetFields:n.resetFields,setFields:n.setFields,setFieldValue:n.setFieldValue,setFieldsValue:n.setFieldsValue,validateFields:n.validateFields,submit:n.submit,_init:!0,getInternalHooks:n.getInternalHooks}}),(0,v.Z)(this,"getInternalHooks",function(e){return e===x?(n.formHooked=!0,{dispatch:n.dispatch,initEntityValue:n.initEntityValue,registerField:n.registerField,useSubscribe:n.useSubscribe,setInitialValues:n.setInitialValues,destroyForm:n.destroyForm,setCallbacks:n.setCallbacks,setValidateMessages:n.setValidateMessages,getFields:n.getFields,setPreserve:n.setPreserve,getInitialValue:n.getInitialValue,registerWatch:n.registerWatch}):((0,b.ZP)(!1,"`getInternalHooks` is internal usage. Should not call directly."),null)}),(0,v.Z)(this,"useSubscribe",function(e){n.subscribable=e}),(0,v.Z)(this,"prevWithoutPreserves",null),(0,v.Z)(this,"setInitialValues",function(e,t){if(n.initialValues=e||{},t){var r,o=(0,Q.T)(e,n.store);null===(r=n.prevWithoutPreserves)||void 0===r||r.map(function(t){var n=t.key;o=(0,Q.Z)(o,n,(0,ei.Z)(e,n))}),n.prevWithoutPreserves=null,n.updateStore(o)}}),(0,v.Z)(this,"destroyForm",function(){var e=new ew;n.getFieldEntities(!0).forEach(function(t){n.isMergedPreserve(t.isPreserve())||e.set(t.getNamePath(),!0)}),n.prevWithoutPreserves=e}),(0,v.Z)(this,"getInitialValue",function(e){var t=(0,ei.Z)(n.initialValues,e);return e.length?(0,Q.T)(t):t}),(0,v.Z)(this,"setCallbacks",function(e){n.callbacks=e}),(0,v.Z)(this,"setValidateMessages",function(e){n.validateMessages=e}),(0,v.Z)(this,"setPreserve",function(e){n.preserve=e}),(0,v.Z)(this,"watchList",[]),(0,v.Z)(this,"registerWatch",function(e){return n.watchList.push(e),function(){n.watchList=n.watchList.filter(function(t){return t!==e})}}),(0,v.Z)(this,"notifyWatch",function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(n.watchList.length){var t=n.getFieldsValue(),r=n.getFieldsValue(!0);n.watchList.forEach(function(n){n(t,r,e)})}}),(0,v.Z)(this,"timeoutId",null),(0,v.Z)(this,"warningUnhooked",function(){}),(0,v.Z)(this,"updateStore",function(e){n.store=e}),(0,v.Z)(this,"getFieldEntities",function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return e?n.fieldEntities.filter(function(e){return e.getNamePath().length}):n.fieldEntities}),(0,v.Z)(this,"getFieldsMap",function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=new ew;return n.getFieldEntities(e).forEach(function(e){var n=e.getNamePath();t.set(n,e)}),t}),(0,v.Z)(this,"getFieldEntitiesForNamePathList",function(e){if(!e)return n.getFieldEntities(!0);var t=n.getFieldsMap(!0);return e.map(function(e){var n=ea(e);return t.get(n)||{INVALIDATE_NAME_PATH:ea(e)}})}),(0,v.Z)(this,"getFieldsValue",function(e,t){if(n.warningUnhooked(),!0===e||Array.isArray(e)?(r=e,o=t):e&&"object"===(0,eo.Z)(e)&&(i=e.strict,o=e.filter),!0===r&&!o)return n.store;var r,o,i,a=n.getFieldEntitiesForNamePathList(Array.isArray(r)?r:null),c=[];return a.forEach(function(e){var t,n,a,l="INVALIDATE_NAME_PATH"in e?e.INVALIDATE_NAME_PATH:e.getNamePath();if(i){if(null!==(a=e.isList)&&void 0!==a&&a.call(e))return}else if(!r&&null!==(t=(n=e).isListField)&&void 0!==t&&t.call(n))return;if(o){var u="getMeta"in e?e.getMeta():null;o(u)&&c.push(l)}else c.push(l)}),ec(n.store,c.map(ea))}),(0,v.Z)(this,"getFieldValue",function(e){n.warningUnhooked();var t=ea(e);return(0,ei.Z)(n.store,t)}),(0,v.Z)(this,"getFieldsError",function(e){return n.warningUnhooked(),n.getFieldEntitiesForNamePathList(e).map(function(t,n){return!t||"INVALIDATE_NAME_PATH"in t?{name:ea(e[n]),errors:[],warnings:[]}:{name:t.getNamePath(),errors:t.getErrors(),warnings:t.getWarnings()}})}),(0,v.Z)(this,"getFieldError",function(e){n.warningUnhooked();var t=ea(e);return n.getFieldsError([t])[0].errors}),(0,v.Z)(this,"getFieldWarning",function(e){n.warningUnhooked();var t=ea(e);return n.getFieldsError([t])[0].warnings}),(0,v.Z)(this,"isFieldsTouched",function(){n.warningUnhooked();for(var e,t=arguments.length,r=Array(t),o=0;o0&&void 0!==arguments[0]?arguments[0]:{},r=new ew,o=n.getFieldEntities(!0);o.forEach(function(e){var t=e.props.initialValue,n=e.getNamePath();if(void 0!==t){var o=r.get(n)||new Set;o.add({entity:e,value:t}),r.set(n,o)}}),t.entities?e=t.entities:t.namePathList?(e=[],t.namePathList.forEach(function(t){var n,o=r.get(t);o&&(n=e).push.apply(n,(0,s.Z)((0,s.Z)(o).map(function(e){return e.entity})))})):e=o,function(e){e.forEach(function(e){if(void 0!==e.props.initialValue){var o=e.getNamePath();if(void 0!==n.getInitialValue(o))(0,b.ZP)(!1,"Form already set 'initialValues' with path '".concat(o.join("."),"'. Field can not overwrite it."));else{var i=r.get(o);if(i&&i.size>1)(0,b.ZP)(!1,"Multiple Field with path '".concat(o.join("."),"' set 'initialValue'. Can not decide which one to pick."));else if(i){var a=n.getFieldValue(o);e.isListField()||t.skipExist&&void 0!==a||n.updateStore((0,Q.Z)(n.store,o,(0,s.Z)(i)[0].value))}}}})}(e)}),(0,v.Z)(this,"resetFields",function(e){n.warningUnhooked();var t=n.store;if(!e){n.updateStore((0,Q.T)(n.initialValues)),n.resetWithFieldInitialValue(),n.notifyObservers(t,null,{type:"reset"}),n.notifyWatch();return}var r=e.map(ea);r.forEach(function(e){var t=n.getInitialValue(e);n.updateStore((0,Q.Z)(n.store,e,t))}),n.resetWithFieldInitialValue({namePathList:r}),n.notifyObservers(t,r,{type:"reset"}),n.notifyWatch(r)}),(0,v.Z)(this,"setFields",function(e){n.warningUnhooked();var t=n.store,r=[];e.forEach(function(e){var o=e.name,i=(0,a.Z)(e,eE),c=ea(o);r.push(c),"value"in i&&n.updateStore((0,Q.Z)(n.store,c,i.value)),n.notifyObservers(t,[c],{type:"setField",data:e})}),n.notifyWatch(r)}),(0,v.Z)(this,"getFields",function(){return n.getFieldEntities(!0).map(function(e){var t=e.getNamePath(),r=e.getMeta(),o=(0,u.Z)((0,u.Z)({},r),{},{name:t,value:n.getFieldValue(t)});return Object.defineProperty(o,"originRCField",{value:!0}),o})}),(0,v.Z)(this,"initEntityValue",function(e){var t=e.props.initialValue;if(void 0!==t){var r=e.getNamePath();void 0===(0,ei.Z)(n.store,r)&&n.updateStore((0,Q.Z)(n.store,r,t))}}),(0,v.Z)(this,"isMergedPreserve",function(e){var t=void 0!==e?e:n.preserve;return null==t||t}),(0,v.Z)(this,"registerField",function(e){n.fieldEntities.push(e);var t=e.getNamePath();if(n.notifyWatch([t]),void 0!==e.props.initialValue){var r=n.store;n.resetWithFieldInitialValue({entities:[e],skipExist:!0}),n.notifyObservers(r,[e.getNamePath()],{type:"valueUpdate",source:"internal"})}return function(r,o){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if(n.fieldEntities=n.fieldEntities.filter(function(t){return t!==e}),!n.isMergedPreserve(o)&&(!r||i.length>1)){var a=r?void 0:n.getInitialValue(t);if(t.length&&n.getFieldValue(t)!==a&&n.fieldEntities.every(function(e){return!eu(e.getNamePath(),t)})){var c=n.store;n.updateStore((0,Q.Z)(c,t,a,!0)),n.notifyObservers(c,[t],{type:"remove"}),n.triggerDependenciesUpdate(c,t)}}n.notifyWatch([t])}}),(0,v.Z)(this,"dispatch",function(e){switch(e.type){case"updateValue":var t=e.namePath,r=e.value;n.updateValue(t,r);break;case"validateField":var o=e.namePath,i=e.triggerName;n.validateFields([o],{triggerName:i})}}),(0,v.Z)(this,"notifyObservers",function(e,t,r){if(n.subscribable){var o=(0,u.Z)((0,u.Z)({},r),{},{store:n.getFieldsValue(!0)});n.getFieldEntities().forEach(function(n){(0,n.onStoreChange)(e,t,o)})}else n.forceRootUpdate()}),(0,v.Z)(this,"triggerDependenciesUpdate",function(e,t){var r=n.getDependencyChildrenFields(t);return r.length&&n.validateFields(r),n.notifyObservers(e,r,{type:"dependenciesUpdate",relatedFields:[t].concat((0,s.Z)(r))}),r}),(0,v.Z)(this,"updateValue",function(e,t){var r=ea(e),o=n.store;n.updateStore((0,Q.Z)(n.store,r,t)),n.notifyObservers(o,[r],{type:"valueUpdate",source:"internal"}),n.notifyWatch([r]);var i=n.triggerDependenciesUpdate(o,r),a=n.callbacks.onValuesChange;a&&a(ec(n.store,[r]),n.getFieldsValue()),n.triggerOnFieldsChange([r].concat((0,s.Z)(i)))}),(0,v.Z)(this,"setFieldsValue",function(e){n.warningUnhooked();var t=n.store;if(e){var r=(0,Q.T)(n.store,e);n.updateStore(r)}n.notifyObservers(t,null,{type:"valueUpdate",source:"external"}),n.notifyWatch()}),(0,v.Z)(this,"setFieldValue",function(e,t){n.setFields([{name:e,value:t}])}),(0,v.Z)(this,"getDependencyChildrenFields",function(e){var t=new Set,r=[],o=new ew;return n.getFieldEntities().forEach(function(e){(e.props.dependencies||[]).forEach(function(t){var n=ea(t);o.update(n,function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Set;return t.add(e),t})})}),function e(n){(o.get(n)||new Set).forEach(function(n){if(!t.has(n)){t.add(n);var o=n.getNamePath();n.isFieldDirty()&&o.length&&(r.push(o),e(o))}})}(e),r}),(0,v.Z)(this,"triggerOnFieldsChange",function(e,t){var r=n.callbacks.onFieldsChange;if(r){var o=n.getFields();if(t){var i=new ew;t.forEach(function(e){var t=e.name,n=e.errors;i.set(t,n)}),o.forEach(function(e){e.errors=i.get(e.name)||e.errors})}var a=o.filter(function(t){return el(e,t.name)});a.length&&r(a,o)}}),(0,v.Z)(this,"validateFields",function(e,t){n.warningUnhooked(),Array.isArray(e)||"string"==typeof e||"string"==typeof t?(a=e,c=t):c=e;var r,o,i,a,c,l=!!a,f=l?a.map(ea):[],d=[],p=String(Date.now()),h=new Set,m=c||{},v=m.recursive,g=m.dirty;n.getFieldEntities(!0).forEach(function(e){if(l||f.push(e.getNamePath()),e.props.rules&&e.props.rules.length&&(!g||e.isFieldDirty())){var t=e.getNamePath();if(h.add(t.join(p)),!l||el(f,t,v)){var r=e.validateRules((0,u.Z)({validateMessages:(0,u.Z)((0,u.Z)({},Y),n.validateMessages)},c));d.push(r.then(function(){return{name:t,errors:[],warnings:[]}}).catch(function(e){var n,r=[],o=[];return(null===(n=e.forEach)||void 0===n||n.call(e,function(e){var t=e.rule.warningOnly,n=e.errors;t?o.push.apply(o,(0,s.Z)(n)):r.push.apply(r,(0,s.Z)(n))}),r.length)?Promise.reject({name:t,errors:r,warnings:o}):{name:t,errors:r,warnings:o}}))}}});var y=(r=!1,o=d.length,i=[],d.length?new Promise(function(e,t){d.forEach(function(n,a){n.catch(function(e){return r=!0,e}).then(function(n){o-=1,i[a]=n,o>0||(r&&t(i),e(i))})})}):Promise.resolve([]));n.lastValidatePromise=y,y.catch(function(e){return e}).then(function(e){var t=e.map(function(e){return e.name});n.notifyObservers(n.store,t,{type:"validateFinish"}),n.triggerOnFieldsChange(t,e)});var b=y.then(function(){return n.lastValidatePromise===y?Promise.resolve(n.getFieldsValue(f)):Promise.reject([])}).catch(function(e){var t=e.filter(function(e){return e&&e.errors.length});return Promise.reject({values:n.getFieldsValue(f),errorFields:t,outOfDate:n.lastValidatePromise!==y})});b.catch(function(e){return e});var x=f.filter(function(e){return h.has(e.join(p))});return n.triggerOnFieldsChange(x),b}),(0,v.Z)(this,"submit",function(){n.warningUnhooked(),n.validateFields().then(function(e){var t=n.callbacks.onFinish;if(t)try{t(e)}catch(e){console.error(e)}}).catch(function(e){var t=n.callbacks.onFinishFailed;t&&t(e)})}),this.forceRootUpdate=t}),eS=function(e){var t=o.useRef(),n=o.useState({}),r=(0,ey.Z)(n,2)[1];if(!t.current){if(e)t.current=e;else{var i=new eO(function(){r({})});t.current=i.getForm()}}return[t.current]},eC=o.createContext({triggerFormChange:function(){},triggerFormFinish:function(){},registerForm:function(){},unregisterForm:function(){}}),ek=function(e){var t=e.validateMessages,n=e.onFormChange,r=e.onFormFinish,i=e.children,a=o.useContext(eC),c=o.useRef({});return o.createElement(eC.Provider,{value:(0,u.Z)((0,u.Z)({},a),{},{validateMessages:(0,u.Z)((0,u.Z)({},a.validateMessages),t),triggerFormChange:function(e,t){n&&n(e,{changedFields:t,forms:c.current}),a.triggerFormChange(e,t)},triggerFormFinish:function(e,t){r&&r(e,{values:t,forms:c.current}),a.triggerFormFinish(e,t)},registerForm:function(e,t){e&&(c.current=(0,u.Z)((0,u.Z)({},c.current),{},(0,v.Z)({},e,t))),a.registerForm(e,t)},unregisterForm:function(e){var t=(0,u.Z)({},c.current);delete t[e],c.current=t,a.unregisterForm(e)}})},i)},ej=["name","initialValues","fields","form","preserve","children","component","validateMessages","validateTrigger","onValuesChange","onFieldsChange","onFinish","onFinishFailed"];function eP(e){try{return JSON.stringify(e)}catch(e){return Math.random()}}var eM=function(){},eA=function(){for(var e=arguments.length,t=Array(e),n=0;n1?t-1:0),o=1;oen;(0,u.useImperativeHandle)(t,function(){return{focus:V,blur:function(){var e;null===(e=q.current)||void 0===e||e.blur()},setSelectionRange:function(e,t,n){var r;null===(r=q.current)||void 0===r||r.setSelectionRange(e,t,n)},select:function(){var e;null===(e=q.current)||void 0===e||e.select()},input:q.current}}),(0,u.useEffect)(function(){H(function(e){return(!e||!C)&&e})},[C]);var ei=function(e,t,n){var r,o,i=t;if(!W.current&&et.exceedFormatter&&et.max&&et.strategy(t)>et.max)i=et.exceedFormatter(t,{max:et.max}),t!==i&&ee([(null===(r=q.current)||void 0===r?void 0:r.selectionStart)||0,(null===(o=q.current)||void 0===o?void 0:o.selectionEnd)||0]);else if("compositionEnd"===n.source)return;K(i),q.current&&(0,s.rJ)(q.current,e,c,i)};(0,u.useEffect)(function(){if(J){var e;null===(e=q.current)||void 0===e||e.setSelectionRange.apply(e,(0,d.Z)(J))}},[J]);var ea=eo&&"".concat(S,"-out-of-range");return u.createElement(f,(0,o.Z)({},B,{prefixCls:S,className:l()(j,ea),handleReset:function(e){K(""),V(),q.current&&(0,s.rJ)(q.current,e,c)},value:$,focused:F,triggerFocus:V,suffix:function(){var e=Number(en)>0;if(M||et.show){var t=et.showFormatter?et.showFormatter({value:$,count:er,maxLength:en}):"".concat(er).concat(e?" / ".concat(en):"");return u.createElement(u.Fragment,null,et.show&&u.createElement("span",{className:l()("".concat(S,"-show-count-suffix"),(0,i.Z)({},"".concat(S,"-show-count-has-suffix"),!!M),null==Z?void 0:Z.count),style:(0,r.Z)({},null==R?void 0:R.count)},t),M)}return null}(),disabled:C,classes:I,classNames:Z,styles:R}),(n=(0,v.Z)(e,["prefixCls","onPressEnter","addonBefore","addonAfter","prefix","suffix","allowClear","defaultValue","showCount","count","classes","htmlSize","styles","classNames"]),u.createElement("input",(0,o.Z)({autoComplete:a},n,{onChange:function(e){ei(e,e.target.value,{source:"change"})},onFocus:function(e){H(!0),null==b||b(e)},onBlur:function(e){H(!1),null==x||x(e)},onKeyDown:function(e){w&&"Enter"===e.key&&w(e),null==E||E(e)},className:l()(S,(0,i.Z)({},"".concat(S,"-disabled"),C),null==Z?void 0:Z.input),style:null==R?void 0:R.input,ref:q,size:k,type:void 0===N?"text":N,onCompositionStart:function(e){W.current=!0,null==_||_(e)},onCompositionEnd:function(e){W.current=!1,ei(e,e.currentTarget.value,{source:"compositionEnd"}),null==D||D(e)}}))))})},8002:function(e,t,n){function r(e){return!!(e.addonBefore||e.addonAfter)}function o(e){return!!(e.prefix||e.suffix||e.allowClear)}function i(e,t,n,r){if(n){var o=t;if("click"===t.type){var i=e.cloneNode(!0);o=Object.create(t,{target:{value:i},currentTarget:{value:i}}),i.value="",n(o);return}if("file"!==e.type&&void 0!==r){var a=e.cloneNode(!0);o=Object.create(t,{target:{value:a},currentTarget:{value:a}}),a.value=r,n(o);return}n(o)}}function a(e,t){if(e){e.focus(t);var n=(t||{}).cursor;if(n){var r=e.value.length;switch(n){case"start":e.setSelectionRange(0,0);break;case"end":e.setSelectionRange(r,r);break;default:e.setSelectionRange(0,r)}}}}n.d(t,{He:function(){return r},X3:function(){return o},nH:function(){return a},rJ:function(){return i}})},49367:function(e,t,n){n.d(t,{V4:function(){return es},zt:function(){return x},ZP:function(){return ef}});var r,o,i,a,c,l=n(50833),u=n(5239),s=n(80406),f=n(6976),d=n(16480),p=n.n(d),h=n(97472),m=n(74084),v=n(64090),g=n(6787),y=["children"],b=v.createContext({});function x(e){var t=e.children,n=(0,g.Z)(e,y);return v.createElement(b.Provider,{value:n},t)}var w=n(47365),E=n(65127),O=n(27478),S=n(85430),C=function(e){(0,O.Z)(n,e);var t=(0,S.Z)(n);function n(){return(0,w.Z)(this,n),t.apply(this,arguments)}return(0,E.Z)(n,[{key:"render",value:function(){return this.props.children}}]),n}(v.Component),k=n(89211),j="none",P="appear",M="enter",A="leave",T="none",N="prepare",I="start",Z="active",R="prepared",_=n(22127);function D(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit".concat(e)]="webkit".concat(t),n["Moz".concat(e)]="moz".concat(t),n["ms".concat(e)]="MS".concat(t),n["O".concat(e)]="o".concat(t.toLowerCase()),n}var B=(r=(0,_.Z)(),o=window,i={animationend:D("Animation","AnimationEnd"),transitionend:D("Transition","TransitionEnd")},!r||("AnimationEvent"in o||delete i.animationend.animation,"TransitionEvent"in o||delete i.transitionend.transition),i),L={};(0,_.Z)()&&(L=document.createElement("div").style);var z={};function F(e){if(z[e])return z[e];var t=B[e];if(t)for(var n=Object.keys(t),r=n.length,o=0;o0&&(clearTimeout(em.current),em.current=setTimeout(function(){ey({deadline:!0})},S))),ek===R&&eg(),!0},i=(0,k.Z)(T),c=(a=(0,s.Z)(i,2))[0],f=a[1],d=function(){var e=v.useRef(null);function t(){K.Z.cancel(e.current)}return v.useEffect(function(){return function(){t()}},[]),[function n(r){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;t();var i=(0,K.Z)(function(){o<=1?r({isCanceled:function(){return i!==e.current}}):n(r,o-1)});e.current=i},t]}(),h=(p=(0,s.Z)(d,2))[0],m=p[1],g=e?$:Y,G(function(){if(c!==T&&"end"!==c){var e=g.indexOf(c),t=g[e+1],n=o(c);!1===n?f(t,!0):t&&h(function(e){function r(){e.isCanceled()||f(t,!0)}!0===n?r():Promise.resolve(n).then(r)})}},[el,c]),v.useEffect(function(){return function(){m()}},[]),[function(){f(N,!0)},c]),eS=(0,s.Z)(eO,2),eC=eS[0],ek=eS[1],ej=Q(ek);ev.current=ej,G(function(){ei(t);var n,r=eh.current;eh.current=!0,!r&&t&&w&&(n=P),r&&t&&b&&(n=M),(r&&!t&&O||!r&&C&&!t&&O)&&(n=A);var o=ew(n);n&&(e||o[N])?(eu(n),eC()):eu(j)},[t]),(0,v.useEffect)(function(){(el!==P||w)&&(el!==M||b)&&(el!==A||O)||eu(j)},[w,b,O]),(0,v.useEffect)(function(){return function(){eh.current=!1,clearTimeout(em.current)}},[]);var eP=v.useRef(!1);(0,v.useEffect)(function(){eo&&(eP.current=!0),void 0!==eo&&el===j&&((eP.current||eo)&&(null==et||et(eo)),eP.current=!0)},[eo,el]);var eM=ed;return eE[N]&&ek===I&&(eM=(0,u.Z)({transition:"none"},eM)),[el,ek,eM,null!=eo?eo:t]}(w,r,function(){try{return E.current instanceof HTMLElement?E.current:(0,h.Z)(O.current)}catch(e){return null}},e),_=(0,s.Z)(S,4),D=_[0],B=_[1],L=_[2],z=_[3],F=v.useRef(z);z&&(F.current=!0);var H=v.useCallback(function(e){E.current=e,(0,m.mH)(t,e)},[t]),W=(0,u.Z)((0,u.Z)({},y),{},{visible:r});if(f){if(D===j)q=z?f((0,u.Z)({},W),H):!i&&F.current&&g?f((0,u.Z)((0,u.Z)({},W),{},{className:g}),H):!c&&(i||g)?null:f((0,u.Z)((0,u.Z)({},W),{},{style:{display:"none"}}),H);else{B===N?ee="prepare":Q(B)?ee="active":B===I&&(ee="start");var q,J,ee,et=X(d,"".concat(D,"-").concat(ee));q=f((0,u.Z)((0,u.Z)({},W),{},{className:p()(X(d,D),(J={},(0,l.Z)(J,et,et&&ee),(0,l.Z)(J,d,"string"==typeof d),J)),style:L}),H)}}else q=null;return v.isValidElement(q)&&(0,m.Yr)(q)&&!q.ref&&(q=v.cloneElement(q,{ref:H})),v.createElement(C,{ref:O},q)})).displayName="CSSMotion",c),ee=n(14749),et=n(34951),en="keep",er="remove",eo="removed";function ei(e){var t;return t=e&&"object"===(0,f.Z)(e)&&"key"in e?e:{key:e},(0,u.Z)((0,u.Z)({},t),{},{key:String(t.key)})}function ea(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.map(ei)}var ec=["component","children","onVisibleChanged","onAllRemoved"],el=["status"],eu=["eventProps","visible","children","motionName","motionAppear","motionEnter","motionLeave","motionLeaveImmediately","motionDeadline","removeOnLeave","leavedClassName","onAppearPrepare","onAppearStart","onAppearActive","onAppearEnd","onEnterStart","onEnterActive","onEnterEnd","onLeaveStart","onLeaveActive","onLeaveEnd"],es=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:J,n=function(e){(0,O.Z)(r,e);var n=(0,S.Z)(r);function r(){var e;(0,w.Z)(this,r);for(var t=arguments.length,o=Array(t),i=0;i0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=[],r=0,o=t.length,i=ea(e),a=ea(t);i.forEach(function(e){for(var t=!1,i=r;i1}).forEach(function(e){(n=n.filter(function(t){var n=t.key,r=t.status;return n!==e||r!==er})).forEach(function(t){t.key===e&&(t.status=en)})}),n})(r,ea(n)).filter(function(e){var t=r.find(function(t){var n=t.key;return e.key===n});return!t||t.status!==eo||e.status!==er})}}}]),r}(v.Component);return(0,l.Z)(n,"defaultProps",{component:"div"}),n}(q),ef=J},54739:function(e,t,n){n.d(t,{Z:function(){return M}});var r=n(14749),o=n(5239),i=n(80406),a=n(6787),c=n(64090),l=n(16480),u=n.n(l),s=n(46505),f=n(24800),d=["prefixCls","invalidate","item","renderItem","responsive","responsiveDisabled","registerSize","itemKey","className","style","children","display","order","component"],p=void 0,h=c.forwardRef(function(e,t){var n,i=e.prefixCls,l=e.invalidate,f=e.item,h=e.renderItem,m=e.responsive,v=e.responsiveDisabled,g=e.registerSize,y=e.itemKey,b=e.className,x=e.style,w=e.children,E=e.display,O=e.order,S=e.component,C=(0,a.Z)(e,d),k=m&&!E;c.useEffect(function(){return function(){g(y,null)}},[]);var j=h&&f!==p?h(f):w;l||(n={opacity:k?0:1,height:k?0:p,overflowY:k?"hidden":p,order:m?O:p,pointerEvents:k?"none":p,position:k?"absolute":p});var P={};k&&(P["aria-hidden"]=!0);var M=c.createElement(void 0===S?"div":S,(0,r.Z)({className:u()(!l&&i,b),style:(0,o.Z)((0,o.Z)({},n),x)},P,C,{ref:t}),j);return m&&(M=c.createElement(s.Z,{onResize:function(e){g(y,e.offsetWidth)},disabled:v},M)),M});h.displayName="Item";var m=n(54811),v=n(89542),g=n(19223);function y(e,t){var n=c.useState(t),r=(0,i.Z)(n,2),o=r[0],a=r[1];return[o,(0,m.Z)(function(t){e(function(){a(t)})})]}var b=c.createContext(null),x=["component"],w=["className"],E=["className"],O=c.forwardRef(function(e,t){var n=c.useContext(b);if(!n){var o=e.component,i=(0,a.Z)(e,x);return c.createElement(void 0===o?"div":o,(0,r.Z)({},i,{ref:t}))}var l=n.className,s=(0,a.Z)(n,w),f=e.className,d=(0,a.Z)(e,E);return c.createElement(b.Provider,{value:null},c.createElement(h,(0,r.Z)({ref:t,className:u()(l,f)},s,d)))});O.displayName="RawItem";var S=["prefixCls","data","renderItem","renderRawItem","itemKey","itemWidth","ssr","style","className","maxCount","renderRest","renderRawRest","suffix","component","itemComponent","onVisibleChange"],C="responsive",k="invalidate";function j(e){return"+ ".concat(e.length," ...")}var P=c.forwardRef(function(e,t){var n,l,d=e.prefixCls,p=void 0===d?"rc-overflow":d,m=e.data,x=void 0===m?[]:m,w=e.renderItem,E=e.renderRawItem,O=e.itemKey,P=e.itemWidth,M=void 0===P?10:P,A=e.ssr,T=e.style,N=e.className,I=e.maxCount,Z=e.renderRest,R=e.renderRawRest,_=e.suffix,D=e.component,B=e.itemComponent,L=e.onVisibleChange,z=(0,a.Z)(e,S),F="full"===A,H=(n=c.useRef(null),function(e){n.current||(n.current=[],function(e){if("undefined"==typeof MessageChannel)(0,g.Z)(e);else{var t=new MessageChannel;t.port1.onmessage=function(){return e()},t.port2.postMessage(void 0)}}(function(){(0,v.unstable_batchedUpdates)(function(){n.current.forEach(function(e){e()}),n.current=null})})),n.current.push(e)}),W=y(H,null),q=(0,i.Z)(W,2),V=q[0],U=q[1],X=V||0,G=y(H,new Map),K=(0,i.Z)(G,2),$=K[0],Y=K[1],Q=y(H,0),J=(0,i.Z)(Q,2),ee=J[0],et=J[1],en=y(H,0),er=(0,i.Z)(en,2),eo=er[0],ei=er[1],ea=y(H,0),ec=(0,i.Z)(ea,2),el=ec[0],eu=ec[1],es=(0,c.useState)(null),ef=(0,i.Z)(es,2),ed=ef[0],ep=ef[1],eh=(0,c.useState)(null),em=(0,i.Z)(eh,2),ev=em[0],eg=em[1],ey=c.useMemo(function(){return null===ev&&F?Number.MAX_SAFE_INTEGER:ev||0},[ev,V]),eb=(0,c.useState)(!1),ex=(0,i.Z)(eb,2),ew=ex[0],eE=ex[1],eO="".concat(p,"-item"),eS=Math.max(ee,eo),eC=I===C,ek=x.length&&eC,ej=I===k,eP=ek||"number"==typeof I&&x.length>I,eM=(0,c.useMemo)(function(){var e=x;return ek?e=null===V&&F?x:x.slice(0,Math.min(x.length,X/M)):"number"==typeof I&&(e=x.slice(0,I)),e},[x,M,V,I,ek]),eA=(0,c.useMemo)(function(){return ek?x.slice(ey+1):x.slice(eM.length)},[x,eM,ek,ey]),eT=(0,c.useCallback)(function(e,t){var n;return"function"==typeof O?O(e):null!==(n=O&&(null==e?void 0:e[O]))&&void 0!==n?n:t},[O]),eN=(0,c.useCallback)(w||function(e){return e},[w]);function eI(e,t,n){(ev!==e||void 0!==t&&t!==ed)&&(eg(e),n||(eE(eX){eI(r-1,e-o-el+eo);break}}_&&eR(0)+el>X&&ep(null)}},[X,$,eo,el,eT,eM]);var e_=ew&&!!eA.length,eD={};null!==ed&&ek&&(eD={position:"absolute",left:ed,top:0});var eB={prefixCls:eO,responsive:ek,component:B,invalidate:ej},eL=E?function(e,t){var n=eT(e,t);return c.createElement(b.Provider,{key:n,value:(0,o.Z)((0,o.Z)({},eB),{},{order:t,item:e,itemKey:n,registerSize:eZ,display:t<=ey})},E(e,t))}:function(e,t){var n=eT(e,t);return c.createElement(h,(0,r.Z)({},eB,{order:t,key:n,item:e,renderItem:eN,itemKey:n,registerSize:eZ,display:t<=ey}))},ez={order:e_?ey:Number.MAX_SAFE_INTEGER,className:"".concat(eO,"-rest"),registerSize:function(e,t){ei(t),et(eo)},display:e_};if(R)R&&(l=c.createElement(b.Provider,{value:(0,o.Z)((0,o.Z)({},eB),ez)},R(eA)));else{var eF=Z||j;l=c.createElement(h,(0,r.Z)({},eB,ez),"function"==typeof eF?eF(eA):eF)}var eH=c.createElement(void 0===D?"div":D,(0,r.Z)({className:u()(!ej&&p,N),style:T,ref:t},z),eM.map(eL),eP?l:null,_&&c.createElement(h,(0,r.Z)({},eB,{responsive:eC,responsiveDisabled:!ek,order:ey,className:"".concat(eO,"-suffix"),registerSize:function(e,t){eu(t)},display:!0,style:eD}),_));return eC&&(eH=c.createElement(s.Z,{onResize:function(e,t){U(t.clientWidth)},disabled:!ek},eH)),eH});P.displayName="Overflow",P.Item=O,P.RESPONSIVE=C,P.INVALIDATE=k;var M=P},46505:function(e,t,n){n.d(t,{Z:function(){return z}});var r=n(14749),o=n(64090),i=n(33054);n(53850);var a=n(5239),c=n(6976),l=n(97472),u=n(74084),s=o.createContext(null),f=function(){if("undefined"!=typeof Map)return Map;function e(e,t){var n=-1;return e.some(function(e,r){return e[0]===t&&(n=r,!0)}),n}return function(){function t(){this.__entries__=[]}return Object.defineProperty(t.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),t.prototype.get=function(t){var n=e(this.__entries__,t),r=this.__entries__[n];return r&&r[1]},t.prototype.set=function(t,n){var r=e(this.__entries__,t);~r?this.__entries__[r][1]=n:this.__entries__.push([t,n])},t.prototype.delete=function(t){var n=this.__entries__,r=e(n,t);~r&&n.splice(r,1)},t.prototype.has=function(t){return!!~e(this.__entries__,t)},t.prototype.clear=function(){this.__entries__.splice(0)},t.prototype.forEach=function(e,t){void 0===t&&(t=null);for(var n=0,r=this.__entries__;n0},e.prototype.connect_=function(){d&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),v?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},e.prototype.disconnect_=function(){d&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},e.prototype.onTransitionEnd_=function(e){var t=e.propertyName,n=void 0===t?"":t;m.some(function(e){return!!~n.indexOf(e)})&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=new e),this.instance_},e.instance_=null,e}(),y=function(e,t){for(var n=0,r=Object.keys(t);n0},e}(),P="undefined"!=typeof WeakMap?new WeakMap:new f,M=function e(t){if(!(this instanceof e))throw TypeError("Cannot call a class as a function.");if(!arguments.length)throw TypeError("1 argument required, but only 0 present.");var n=new j(t,g.getInstance(),this);P.set(this,n)};["observe","unobserve","disconnect"].forEach(function(e){M.prototype[e]=function(){var t;return(t=P.get(this))[e].apply(t,arguments)}});var A=void 0!==p.ResizeObserver?p.ResizeObserver:M,T=new Map,N=new A(function(e){e.forEach(function(e){var t,n=e.target;null===(t=T.get(n))||void 0===t||t.forEach(function(e){return e(n)})})}),I=n(47365),Z=n(65127),R=n(27478),_=n(85430),D=function(e){(0,R.Z)(n,e);var t=(0,_.Z)(n);function n(){return(0,I.Z)(this,n),t.apply(this,arguments)}return(0,Z.Z)(n,[{key:"render",value:function(){return this.props.children}}]),n}(o.Component),B=o.forwardRef(function(e,t){var n=e.children,r=e.disabled,i=o.useRef(null),f=o.useRef(null),d=o.useContext(s),p="function"==typeof n,h=p?n(i):n,m=o.useRef({width:-1,height:-1,offsetWidth:-1,offsetHeight:-1}),v=!p&&o.isValidElement(h)&&(0,u.Yr)(h),g=v?h.ref:null,y=(0,u.x1)(g,i),b=function(){var e;return(0,l.Z)(i.current)||(i.current&&"object"===(0,c.Z)(i.current)?(0,l.Z)(null===(e=i.current)||void 0===e?void 0:e.nativeElement):null)||(0,l.Z)(f.current)};o.useImperativeHandle(t,function(){return b()});var x=o.useRef(e);x.current=e;var w=o.useCallback(function(e){var t=x.current,n=t.onResize,r=t.data,o=e.getBoundingClientRect(),i=o.width,c=o.height,l=e.offsetWidth,u=e.offsetHeight,s=Math.floor(i),f=Math.floor(c);if(m.current.width!==s||m.current.height!==f||m.current.offsetWidth!==l||m.current.offsetHeight!==u){var p={width:s,height:f,offsetWidth:l,offsetHeight:u};m.current=p;var h=(0,a.Z)((0,a.Z)({},p),{},{offsetWidth:l===Math.round(i)?i:l,offsetHeight:u===Math.round(c)?c:u});null==d||d(h,e,r),n&&Promise.resolve().then(function(){n(h,e)})}},[]);return o.useEffect(function(){var e=b();return e&&!r&&(T.has(e)||(T.set(e,new Set),N.observe(e)),T.get(e).add(w)),function(){T.has(e)&&(T.get(e).delete(w),T.get(e).size||(N.unobserve(e),T.delete(e)))}},[i.current,r]),o.createElement(D,{ref:f},v?o.cloneElement(h,{ref:y}):h)}),L=o.forwardRef(function(e,t){var n=e.children;return("function"==typeof n?[n]:(0,i.Z)(n)).map(function(n,i){var a=(null==n?void 0:n.key)||"".concat("rc-observer-key","-").concat(i);return o.createElement(B,(0,r.Z)({},e,{key:a,ref:0===i?t:void 0}),n)})});L.Collection=function(e){var t=e.children,n=e.onBatchResize,r=o.useRef(0),i=o.useRef([]),a=o.useContext(s),c=o.useCallback(function(e,t,o){r.current+=1;var c=r.current;i.current.push({size:e,element:t,data:o}),Promise.resolve().then(function(){c===r.current&&(null==n||n(i.current),i.current=[])}),null==a||a(e,t,o)},[n,a]);return o.createElement(s.Provider,{value:c},t)};var z=L},33054:function(e,t,n){n.d(t,{Z:function(){return function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=[];return r.Children.forEach(t,function(t){(null!=t||n.keepEmpty)&&(Array.isArray(t)?i=i.concat(e(t)):(0,o.isFragment)(t)&&t.props?i=i.concat(e(t.props.children,n)):i.push(t))}),i}}});var r=n(64090),o=n(24185)},22127:function(e,t,n){n.d(t,{Z:function(){return r}});function r(){return!!window.document&&!!window.document.createElement}},31506:function(e,t,n){n.d(t,{Z:function(){return r}});function r(e,t){if(!e)return!1;if(e.contains)return e.contains(t);for(var n=t;n;){if(n===e)return!0;n=n.parentNode}return!1}},24050:function(e,t,n){n.d(t,{hq:function(){return h},jL:function(){return p}});var r=n(22127),o=n(31506),i="data-rc-order",a="data-rc-priority",c=new Map;function l(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.mark;return t?t.startsWith("data-")?t:"data-".concat(t):"rc-util-key"}function u(e){return e.attachTo?e.attachTo:document.querySelector("head")||document.body}function s(e){return Array.from((c.get(e)||e).children).filter(function(e){return"STYLE"===e.tagName})}function f(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(0,r.Z)())return null;var n=t.csp,o=t.prepend,c=t.priority,l=void 0===c?0:c,f="queue"===o?"prependQueue":o?"prepend":"append",d="prependQueue"===f,p=document.createElement("style");p.setAttribute(i,f),d&&l&&p.setAttribute(a,"".concat(l)),null!=n&&n.nonce&&(p.nonce=null==n?void 0:n.nonce),p.innerHTML=e;var h=u(t),m=h.firstChild;if(o){if(d){var v=s(h).filter(function(e){return!!["prepend","prependQueue"].includes(e.getAttribute(i))&&l>=Number(e.getAttribute(a)||0)});if(v.length)return h.insertBefore(p,v[v.length-1].nextSibling),p}h.insertBefore(p,m)}else h.appendChild(p);return p}function d(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return s(u(t)).find(function(n){return n.getAttribute(l(t))===e})}function p(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=d(e,t);n&&u(t).removeChild(n)}function h(e,t){var n,r,i,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!function(e,t){var n=c.get(e);if(!n||!(0,o.Z)(document,n)){var r=f("",t),i=r.parentNode;c.set(e,i),e.removeChild(r)}}(u(a),a);var s=d(t,a);if(s)return null!==(n=a.csp)&&void 0!==n&&n.nonce&&s.nonce!==(null===(r=a.csp)||void 0===r?void 0:r.nonce)&&(s.nonce=null===(i=a.csp)||void 0===i?void 0:i.nonce),s.innerHTML!==e&&(s.innerHTML=e),s;var p=f(e,a);return p.setAttribute(l(a),t),p}},97472:function(e,t,n){n.d(t,{S:function(){return i},Z:function(){return a}});var r=n(64090),o=n(89542);function i(e){return e instanceof HTMLElement||e instanceof SVGElement}function a(e){return i(e)?e:e instanceof r.Component?o.findDOMNode(e):null}},73193:function(e,t,n){n.d(t,{Z:function(){return r}});function r(e){if(!e)return!1;if(e instanceof Element){if(e.offsetParent)return!0;if(e.getBBox){var t=e.getBBox(),n=t.width,r=t.height;if(n||r)return!0}if(e.getBoundingClientRect){var o=e.getBoundingClientRect(),i=o.width,a=o.height;if(i||a)return!0}}return!1}},74687:function(e,t,n){function r(e){var t;return null==e||null===(t=e.getRootNode)||void 0===t?void 0:t.call(e)}function o(e){return r(e) instanceof ShadowRoot?r(e):null}n.d(t,{A:function(){return o}})},4295:function(e,t){var n={MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,QUESTION_MARK:63,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,PERIOD:190,SLASH:191,APOSTROPHE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,WIN_IME:229,isTextModifyingKeyEvent:function(e){var t=e.keyCode;if(e.altKey&&!e.ctrlKey||e.metaKey||t>=n.F1&&t<=n.F12)return!1;switch(t){case n.ALT:case n.CAPS_LOCK:case n.CONTEXT_MENU:case n.CTRL:case n.DOWN:case n.END:case n.ESC:case n.HOME:case n.INSERT:case n.LEFT:case n.MAC_FF_META:case n.META:case n.NUMLOCK:case n.NUM_CENTER:case n.PAGE_DOWN:case n.PAGE_UP:case n.PAUSE:case n.PRINT_SCREEN:case n.RIGHT:case n.SHIFT:case n.UP:case n.WIN_KEY:case n.WIN_KEY_RIGHT:return!1;default:return!0}},isCharacterKey:function(e){if(e>=n.ZERO&&e<=n.NINE||e>=n.NUM_ZERO&&e<=n.NUM_MULTIPLY||e>=n.A&&e<=n.Z||-1!==window.navigator.userAgent.indexOf("WebKit")&&0===e)return!0;switch(e){case n.SPACE:case n.QUESTION_MARK:case n.NUM_PLUS:case n.NUM_MINUS:case n.NUM_PERIOD:case n.NUM_DIVISION:case n.SEMICOLON:case n.DASH:case n.EQUALS:case n.COMMA:case n.PERIOD:case n.SLASH:case n.APOSTROPHE:case n.SINGLE_QUOTE:case n.OPEN_SQUARE_BRACKET:case n.BACKSLASH:case n.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}};t.Z=n},37274:function(e,t,n){n.d(t,{s:function(){return v},v:function(){return y}});var r,o,i=n(86926),a=n(74902),c=n(6976),l=n(5239),u=n(89542),s=(0,l.Z)({},r||(r=n.t(u,2))),f=s.version,d=s.render,p=s.unmountComponentAtNode;try{Number((f||"").split(".")[0])>=18&&(o=s.createRoot)}catch(e){}function h(e){var t=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;t&&"object"===(0,c.Z)(t)&&(t.usingClientEntryPoint=e)}var m="__rc_react_root__";function v(e,t){if(o){var n;h(!0),n=t[m]||o(t),h(!1),n.render(e),t[m]=n;return}d(e,t)}function g(){return(g=(0,a.Z)((0,i.Z)().mark(function e(t){return(0,i.Z)().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Promise.resolve().then(function(){var e;null===(e=t[m])||void 0===e||e.unmount(),delete t[m]}));case 1:case"end":return e.stop()}},e)}))).apply(this,arguments)}function y(e){return b.apply(this,arguments)}function b(){return(b=(0,a.Z)((0,i.Z)().mark(function e(t){return(0,i.Z)().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!(void 0!==o)){e.next=2;break}return e.abrupt("return",function(e){return g.apply(this,arguments)}(t));case 2:p(t);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}},54811:function(e,t,n){n.d(t,{Z:function(){return o}});var r=n(64090);function o(e){var t=r.useRef();return t.current=e,r.useCallback(function(){for(var e,n=arguments.length,r=Array(n),o=0;o2&&void 0!==arguments[2]&&arguments[2],i=new Set;return function e(t,a){var c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,l=i.has(t);if((0,o.ZP)(!l,"Warning: There may be circular references"),l)return!1;if(t===a)return!0;if(n&&c>1)return!1;i.add(t);var u=c+1;if(Array.isArray(t)){if(!Array.isArray(a)||t.length!==a.length)return!1;for(var s=0;s
+

LiteLLM Login

+ +

By default Username is "admin" and Password is your set LiteLLM Proxy `MASTER_KEY`

+

If you need to set UI credentials / SSO docs here: https://docs.litellm.ai/docs/proxy/ui

+
+ + + + + +
+ + +""" diff --git a/litellm/router.py b/litellm/router.py index d6a94d203b1..21e967576ed 100644 --- a/litellm/router.py +++ b/litellm/router.py @@ -289,11 +289,7 @@ class Router: timeout = kwargs.get("request_timeout", self.timeout) kwargs["num_retries"] = kwargs.get("num_retries", self.num_retries) kwargs.setdefault("metadata", {}).update({"model_group": model}) - with concurrent.futures.ThreadPoolExecutor(max_workers=1) as executor: - # Submit the function to the executor with a timeout - future = executor.submit(self.function_with_fallbacks, **kwargs) - response = future.result(timeout=timeout) # type: ignore - + response = self.function_with_fallbacks(**kwargs) return response except Exception as e: raise e @@ -308,7 +304,10 @@ class Router: specific_deployment=kwargs.pop("specific_deployment", None), ) kwargs.setdefault("metadata", {}).update( - {"deployment": deployment["litellm_params"]["model"]} + { + "deployment": deployment["litellm_params"]["model"], + "model_info": deployment.get("model_info", {}), + } ) data = deployment["litellm_params"].copy() kwargs["model_info"] = deployment.get("model_info", {}) @@ -380,14 +379,17 @@ class Router: specific_deployment=kwargs.pop("specific_deployment", None), ) kwargs.setdefault("metadata", {}).update( - {"deployment": deployment["litellm_params"]["model"]} + { + "deployment": deployment["litellm_params"]["model"], + "model_info": deployment.get("model_info", {}), + } ) kwargs["model_info"] = deployment.get("model_info", {}) data = deployment["litellm_params"].copy() model_name = data["model"] for k, v in self.default_litellm_params.items(): if ( - k not in kwargs + k not in kwargs and v is not None ): # prioritize model-specific params > default router params kwargs[k] = v elif k == "metadata": @@ -407,13 +409,24 @@ class Router: else: model_client = potential_model_client self.total_calls[model_name] += 1 + + timeout = ( + data.get( + "timeout", None + ) # timeout set on litellm_params for this deployment + or self.timeout # timeout set on router + or kwargs.get( + "timeout", None + ) # this uses default_litellm_params when nothing is set + ) + response = await litellm.acompletion( **{ **data, "messages": messages, "caching": self.cache_responses, "client": model_client, - "timeout": self.timeout, + "timeout": timeout, **kwargs, } ) @@ -455,7 +468,10 @@ class Router: specific_deployment=kwargs.pop("specific_deployment", None), ) kwargs.setdefault("metadata", {}).update( - {"deployment": deployment["litellm_params"]["model"]} + { + "deployment": deployment["litellm_params"]["model"], + "model_info": deployment.get("model_info", {}), + } ) kwargs["model_info"] = deployment.get("model_info", {}) data = deployment["litellm_params"].copy() @@ -530,7 +546,10 @@ class Router: specific_deployment=kwargs.pop("specific_deployment", None), ) kwargs.setdefault("metadata", {}).update( - {"deployment": deployment["litellm_params"]["model"]} + { + "deployment": deployment["litellm_params"]["model"], + "model_info": deployment.get("model_info", {}), + } ) kwargs["model_info"] = deployment.get("model_info", {}) data = deployment["litellm_params"].copy() @@ -658,7 +677,10 @@ class Router: specific_deployment=kwargs.pop("specific_deployment", None), ) kwargs.setdefault("metadata", {}).update( - {"deployment": deployment["litellm_params"]["model"]} + { + "deployment": deployment["litellm_params"]["model"], + "model_info": deployment.get("model_info", {}), + } ) kwargs["model_info"] = deployment.get("model_info", {}) data = deployment["litellm_params"].copy() @@ -784,7 +806,10 @@ class Router: specific_deployment=kwargs.pop("specific_deployment", None), ) kwargs.setdefault("metadata", {}).update( - {"deployment": deployment["litellm_params"]["model"]} + { + "deployment": deployment["litellm_params"]["model"], + "model_info": deployment.get("model_info", {}), + } ) kwargs["model_info"] = deployment.get("model_info", {}) data = deployment["litellm_params"].copy() @@ -1411,6 +1436,37 @@ class Router: max_retries = litellm.get_secret(max_retries_env_name) litellm_params["max_retries"] = max_retries + # proxy support + import os + import httpx + + # Check if the HTTP_PROXY and HTTPS_PROXY environment variables are set and use them accordingly. + http_proxy = os.getenv("HTTP_PROXY", None) + https_proxy = os.getenv("HTTPS_PROXY", None) + + # Create the proxies dictionary only if the environment variables are set. + sync_proxy_mounts = None + async_proxy_mounts = None + if http_proxy is not None and https_proxy is not None: + sync_proxy_mounts = { + "http://": httpx.HTTPTransport(proxy=httpx.Proxy(url=http_proxy)), + "https://": httpx.HTTPTransport(proxy=httpx.Proxy(url=https_proxy)), + } + async_proxy_mounts = { + "http://": httpx.AsyncHTTPTransport( + proxy=httpx.Proxy(url=http_proxy) + ), + "https://": httpx.AsyncHTTPTransport( + proxy=httpx.Proxy(url=https_proxy) + ), + } + + organization = litellm_params.get("organization", None) + if isinstance(organization, str) and organization.startswith("os.environ/"): + organization_env_name = organization.replace("os.environ/", "") + organization = litellm.get_secret(organization_env_name) + litellm_params["organization"] = organization + if "azure" in model_name: if api_base is None: raise ValueError( @@ -1435,6 +1491,7 @@ class Router: limits=httpx.Limits( max_connections=1000, max_keepalive_connections=100 ), + mounts=async_proxy_mounts, ), # type: ignore ) self.cache.set_cache( @@ -1456,6 +1513,7 @@ class Router: limits=httpx.Limits( max_connections=1000, max_keepalive_connections=100 ), + mounts=sync_proxy_mounts, ), # type: ignore ) self.cache.set_cache( @@ -1477,6 +1535,7 @@ class Router: limits=httpx.Limits( max_connections=1000, max_keepalive_connections=100 ), + mounts=async_proxy_mounts, ), # type: ignore ) self.cache.set_cache( @@ -1498,6 +1557,7 @@ class Router: limits=httpx.Limits( max_connections=1000, max_keepalive_connections=100 ), + mounts=sync_proxy_mounts, ), # type: ignore ) self.cache.set_cache( @@ -1533,6 +1593,7 @@ class Router: limits=httpx.Limits( max_connections=1000, max_keepalive_connections=100 ), + mounts=async_proxy_mounts, ), # type: ignore ) self.cache.set_cache( @@ -1552,6 +1613,7 @@ class Router: limits=httpx.Limits( max_connections=1000, max_keepalive_connections=100 ), + mounts=sync_proxy_mounts, ), # type: ignore ) self.cache.set_cache( @@ -1572,6 +1634,7 @@ class Router: limits=httpx.Limits( max_connections=1000, max_keepalive_connections=100 ), + mounts=async_proxy_mounts, ), ) self.cache.set_cache( @@ -1591,6 +1654,7 @@ class Router: limits=httpx.Limits( max_connections=1000, max_keepalive_connections=100 ), + mounts=sync_proxy_mounts, ), ) self.cache.set_cache( @@ -1610,11 +1674,13 @@ class Router: base_url=api_base, timeout=timeout, max_retries=max_retries, + organization=organization, http_client=httpx.AsyncClient( transport=AsyncCustomHTTPTransport(), limits=httpx.Limits( max_connections=1000, max_keepalive_connections=100 ), + mounts=async_proxy_mounts, ), # type: ignore ) self.cache.set_cache( @@ -1630,11 +1696,13 @@ class Router: base_url=api_base, timeout=timeout, max_retries=max_retries, + organization=organization, http_client=httpx.Client( transport=CustomHTTPTransport(), limits=httpx.Limits( max_connections=1000, max_keepalive_connections=100 ), + mounts=sync_proxy_mounts, ), # type: ignore ) self.cache.set_cache( @@ -1651,11 +1719,13 @@ class Router: base_url=api_base, timeout=stream_timeout, max_retries=max_retries, + organization=organization, http_client=httpx.AsyncClient( transport=AsyncCustomHTTPTransport(), limits=httpx.Limits( max_connections=1000, max_keepalive_connections=100 ), + mounts=async_proxy_mounts, ), # type: ignore ) self.cache.set_cache( @@ -1672,11 +1742,13 @@ class Router: base_url=api_base, timeout=stream_timeout, max_retries=max_retries, + organization=organization, http_client=httpx.Client( transport=CustomHTTPTransport(), limits=httpx.Limits( max_connections=1000, max_keepalive_connections=100 ), + mounts=sync_proxy_mounts, ), # type: ignore ) self.cache.set_cache( diff --git a/litellm/tests/conftest.py b/litellm/tests/conftest.py index 6b0df0f9a46..4cd277b31db 100644 --- a/litellm/tests/conftest.py +++ b/litellm/tests/conftest.py @@ -21,10 +21,18 @@ def setup_and_teardown(): import litellm importlib.reload(litellm) + import asyncio + + loop = asyncio.get_event_loop_policy().new_event_loop() + asyncio.set_event_loop(loop) print(litellm) # from litellm import Router, completion, aembedding, acompletion, embedding yield + # Teardown code (executes after the yield point) + loop.close() # Close the loop created earlier + asyncio.set_event_loop(None) # Remove the reference to the loop + def pytest_collection_modifyitems(config, items): # Separate tests in 'test_amazing_proxy_custom_logger.py' and other tests diff --git a/litellm/tests/test_alangfuse.py b/litellm/tests/test_alangfuse.py index d1cac36ef46..c1d8123c7a0 100644 --- a/litellm/tests/test_alangfuse.py +++ b/litellm/tests/test_alangfuse.py @@ -277,7 +277,24 @@ def test_langfuse_logging_custom_generation_name(): print(e) -test_langfuse_logging_custom_generation_name() +# test_langfuse_logging_custom_generation_name() + + +@pytest.mark.skip(reason="beta test - checking langfuse output") +def test_langfuse_logging_embedding(): + try: + litellm.set_verbose = True + litellm.success_callback = ["langfuse"] + response = litellm.embedding( + model="text-embedding-ada-002", + input=["gm", "ishaan"], + ) + print(response) + except litellm.Timeout as e: + pass + except Exception as e: + pytest.fail(f"An exception occurred - {e}") + print(e) @pytest.mark.skip(reason="beta test - checking langfuse output") diff --git a/litellm/tests/test_amazing_s3_logs.py b/litellm/tests/test_amazing_s3_logs.py new file mode 100644 index 00000000000..7b8eb4a47d7 --- /dev/null +++ b/litellm/tests/test_amazing_s3_logs.py @@ -0,0 +1,253 @@ +import sys +import os +import io, asyncio + +# import logging +# logging.basicConfig(level=logging.DEBUG) +sys.path.insert(0, os.path.abspath("../..")) + +from litellm import completion +import litellm + +litellm.num_retries = 3 + +import time, random +import pytest + + +def test_s3_logging(): + # all s3 requests need to be in one test function + # since we are modifying stdout, and pytests runs tests in parallel + # on circle ci - we only test litellm.acompletion() + try: + # redirect stdout to log_file + litellm.cache = litellm.Cache( + type="s3", s3_bucket_name="cache-bucket-litellm", s3_region_name="us-west-2" + ) + + litellm.success_callback = ["s3"] + litellm.s3_callback_params = { + "s3_bucket_name": "litellm-logs", + "s3_aws_secret_access_key": "os.environ/AWS_SECRET_ACCESS_KEY", + "s3_aws_access_key_id": "os.environ/AWS_ACCESS_KEY_ID", + } + litellm.set_verbose = True + + print("Testing async s3 logging") + + expected_keys = [] + + import time + + curr_time = str(time.time()) + + async def _test(): + return await litellm.acompletion( + model="gpt-3.5-turbo", + messages=[{"role": "user", "content": f"This is a test {curr_time}"}], + max_tokens=10, + temperature=0.7, + user="ishaan-2", + ) + + response = asyncio.run(_test()) + print(f"response: {response}") + expected_keys.append(response.id) + + async def _test(): + return await litellm.acompletion( + model="gpt-3.5-turbo", + messages=[{"role": "user", "content": f"This is a test {curr_time}"}], + max_tokens=10, + temperature=0.7, + user="ishaan-2", + ) + + response = asyncio.run(_test()) + expected_keys.append(response.id) + print(f"response: {response}") + time.sleep(5) # wait 5s for logs to land + + import boto3 + + s3 = boto3.client("s3") + bucket_name = "litellm-logs" + # List objects in the bucket + response = s3.list_objects(Bucket=bucket_name) + + # Sort the objects based on the LastModified timestamp + objects = sorted( + response["Contents"], key=lambda x: x["LastModified"], reverse=True + ) + # Get the keys of the most recent objects + most_recent_keys = [obj["Key"] for obj in objects] + print(most_recent_keys) + # for each key, get the part before "-" as the key. Do it safely + cleaned_keys = [] + for key in most_recent_keys: + split_key = key.split("_") + if len(split_key) < 2: + continue + cleaned_keys.append(split_key[1]) + print("\n most recent keys", most_recent_keys) + print("\n cleaned keys", cleaned_keys) + print("\n Expected keys: ", expected_keys) + matches = 0 + for key in expected_keys: + key += ".json" + assert key in cleaned_keys + + if key in cleaned_keys: + matches += 1 + # remove the match key + cleaned_keys.remove(key) + # this asserts we log, the first request + the 2nd cached request + print("we had two matches ! passed ", matches) + assert matches == 2 + try: + # cleanup s3 bucket in test + for key in most_recent_keys: + s3.delete_object(Bucket=bucket_name, Key=key) + except: + # don't let cleanup fail a test + pass + except Exception as e: + pytest.fail(f"An exception occurred - {e}") + finally: + # post, close log file and verify + # Reset stdout to the original value + print("Passed! Testing async s3 logging") + + +# test_s3_logging() + + +def test_s3_logging_async(): + # this tests time added to make s3 logging calls, vs just acompletion calls + try: + litellm.set_verbose = True + # Make 5 calls with an empty success_callback + litellm.success_callback = [] + start_time_empty_callback = asyncio.run(make_async_calls()) + print("done with no callback test") + + print("starting s3 logging load test") + # Make 5 calls with success_callback set to "langfuse" + litellm.success_callback = ["s3"] + litellm.s3_callback_params = { + "s3_bucket_name": "litellm-logs", + "s3_aws_secret_access_key": "os.environ/AWS_SECRET_ACCESS_KEY", + "s3_aws_access_key_id": "os.environ/AWS_ACCESS_KEY_ID", + } + start_time_s3 = asyncio.run(make_async_calls()) + print("done with s3 test") + + # Compare the time for both scenarios + print(f"Time taken with success_callback='s3': {start_time_s3}") + print(f"Time taken with empty success_callback: {start_time_empty_callback}") + + # assert the diff is not more than 1 second + assert abs(start_time_s3 - start_time_empty_callback) < 1 + + except litellm.Timeout as e: + pass + except Exception as e: + pytest.fail(f"An exception occurred - {e}") + + +async def make_async_calls(): + tasks = [] + for _ in range(5): + task = asyncio.create_task( + litellm.acompletion( + model="azure/chatgpt-v-2", + messages=[{"role": "user", "content": "This is a test"}], + max_tokens=5, + temperature=0.7, + timeout=5, + user="langfuse_latency_test_user", + mock_response="It's simple to use and easy to get started", + ) + ) + tasks.append(task) + + # Measure the start time before running the tasks + start_time = asyncio.get_event_loop().time() + + # Wait for all tasks to complete + responses = await asyncio.gather(*tasks) + + # Print the responses when tasks return + for idx, response in enumerate(responses): + print(f"Response from Task {idx + 1}: {response}") + + # Calculate the total time taken + total_time = asyncio.get_event_loop().time() - start_time + + return total_time + + +def test_s3_logging_r2(): + # all s3 requests need to be in one test function + # since we are modifying stdout, and pytests runs tests in parallel + # on circle ci - we only test litellm.acompletion() + try: + # redirect stdout to log_file + # litellm.cache = litellm.Cache( + # type="s3", s3_bucket_name="litellm-r2-bucket", s3_region_name="us-west-2" + # ) + litellm.set_verbose = True + from litellm._logging import verbose_logger + import logging + + verbose_logger.setLevel(level=logging.DEBUG) + + litellm.success_callback = ["s3"] + litellm.s3_callback_params = { + "s3_bucket_name": "litellm-r2-bucket", + "s3_aws_secret_access_key": "os.environ/R2_S3_ACCESS_KEY", + "s3_aws_access_key_id": "os.environ/R2_S3_ACCESS_ID", + "s3_endpoint_url": "os.environ/R2_S3_URL", + "s3_region_name": "os.environ/R2_S3_REGION_NAME", + } + print("Testing async s3 logging") + + expected_keys = [] + + import time + + curr_time = str(time.time()) + + async def _test(): + return await litellm.acompletion( + model="gpt-3.5-turbo", + messages=[{"role": "user", "content": f"This is a test {curr_time}"}], + max_tokens=10, + temperature=0.7, + user="ishaan-2", + ) + + response = asyncio.run(_test()) + print(f"response: {response}") + expected_keys.append(response.id) + + import boto3 + + s3 = boto3.client( + "s3", + endpoint_url=os.getenv("R2_S3_URL"), + region_name=os.getenv("R2_S3_REGION_NAME"), + aws_access_key_id=os.getenv("R2_S3_ACCESS_ID"), + aws_secret_access_key=os.getenv("R2_S3_ACCESS_KEY"), + ) + + bucket_name = "litellm-r2-bucket" + # List objects in the bucket + response = s3.list_objects(Bucket=bucket_name) + + except Exception as e: + pytest.fail(f"An exception occurred - {e}") + finally: + # post, close log file and verify + # Reset stdout to the original value + print("Passed! Testing async s3 logging") diff --git a/litellm/tests/test_amazing_vertex_completion.py b/litellm/tests/test_amazing_vertex_completion.py index 8467e443416..0188d23588c 100644 --- a/litellm/tests/test_amazing_vertex_completion.py +++ b/litellm/tests/test_amazing_vertex_completion.py @@ -95,11 +95,11 @@ def test_vertex_ai(): + litellm.vertex_code_text_models ) litellm.set_verbose = False - litellm.vertex_project = "reliablekeys" + vertex_ai_project = "reliablekeys" + # litellm.vertex_project = "reliablekeys" test_models = random.sample(test_models, 1) - # test_models += litellm.vertex_language_models # always test gemini-pro - test_models = litellm.vertex_language_models # always test gemini-pro + test_models += litellm.vertex_language_models # always test gemini-pro for model in test_models: try: if model in [ @@ -117,6 +117,7 @@ def test_vertex_ai(): model=model, messages=[{"role": "user", "content": "hi"}], temperature=0.7, + vertex_ai_project=vertex_ai_project, ) print("\nModel Response", response) print(response) @@ -275,7 +276,7 @@ def test_gemini_pro_vision(): try: load_vertex_ai_credentials() litellm.set_verbose = True - litellm.num_retries = 0 + litellm.num_retries = 3 resp = litellm.completion( model="vertex_ai/gemini-pro-vision", messages=[ @@ -302,7 +303,10 @@ def test_gemini_pro_vision(): assert prompt_tokens == 263 # the gemini api returns 263 to us except Exception as e: - pytest.fail(f"An exception occurred - {str(e)}") + if "500 Internal error encountered.'" in str(e): + pass + else: + pytest.fail(f"An exception occurred - {str(e)}") # test_gemini_pro_vision() @@ -369,7 +373,7 @@ async def gemini_pro_async_function_calling(): print(f"completion: {completion}") -asyncio.run(gemini_pro_async_function_calling()) +# asyncio.run(gemini_pro_async_function_calling()) # Extra gemini Vision tests for completion + stream, async, async + stream # if we run into issues with gemini, we will also add these to our ci/cd pipeline diff --git a/litellm/tests/test_proxy_startup.py b/litellm/tests/test_aproxy_startup.py similarity index 61% rename from litellm/tests/test_proxy_startup.py rename to litellm/tests/test_aproxy_startup.py index 650e2f8a7a6..024d69b1ffe 100644 --- a/litellm/tests/test_proxy_startup.py +++ b/litellm/tests/test_aproxy_startup.py @@ -33,6 +33,16 @@ def test_proxy_gunicorn_startup_direct_config(): Test both approaches """ try: + from litellm._logging import verbose_proxy_logger, verbose_router_logger + import logging + + # unset set DATABASE_URL in env for this test + # set prisma client to None + setattr(litellm.proxy.proxy_server, "prisma_client", None) + database_url = os.environ.pop("DATABASE_URL", None) + + verbose_proxy_logger.setLevel(level=logging.DEBUG) + verbose_router_logger.setLevel(level=logging.DEBUG) filepath = os.path.dirname(os.path.abspath(__file__)) # test with worker_config = config yaml config_fp = f"{filepath}/test_configs/test_config_no_auth.yaml" @@ -44,10 +54,24 @@ def test_proxy_gunicorn_startup_direct_config(): pass else: pytest.fail(f"An exception occurred - {str(e)}") + finally: + # restore DATABASE_URL after the test + if database_url is not None: + os.environ["DATABASE_URL"] = database_url def test_proxy_gunicorn_startup_config_dict(): try: + from litellm._logging import verbose_proxy_logger, verbose_router_logger + import logging + + verbose_proxy_logger.setLevel(level=logging.DEBUG) + verbose_router_logger.setLevel(level=logging.DEBUG) + # unset set DATABASE_URL in env for this test + # set prisma client to None + setattr(litellm.proxy.proxy_server, "prisma_client", None) + database_url = os.environ.pop("DATABASE_URL", None) + filepath = os.path.dirname(os.path.abspath(__file__)) # test with worker_config = config yaml config_fp = f"{filepath}/test_configs/test_config_no_auth.yaml" @@ -61,6 +85,10 @@ def test_proxy_gunicorn_startup_config_dict(): pass else: pytest.fail(f"An exception occurred - {str(e)}") + finally: + # restore DATABASE_URL after the test + if database_url is not None: + os.environ["DATABASE_URL"] = database_url # test_proxy_gunicorn_startup() diff --git a/litellm/tests/test_bad_params.py b/litellm/tests/test_bad_params.py index 58fe204bd96..9f126a1b8c0 100644 --- a/litellm/tests/test_bad_params.py +++ b/litellm/tests/test_bad_params.py @@ -70,18 +70,16 @@ def test_completion_with_empty_model(): def test_completion_invalid_param_cohere(): try: - response = completion(model="command-nightly", messages=messages, top_p=1) - print(f"response: {response}") + litellm.set_verbose = True + response = completion(model="command-nightly", messages=messages, seed=12) + pytest.fail(f"This should have failed cohere does not support `seed` parameter") except Exception as e: - if "Unsupported parameters passed: top_p" in str(e): + if " cohere does not support parameters: {'seed': 12}" in str(e): pass else: pytest.fail(f"An error occurred {e}") -# test_completion_invalid_param_cohere() - - def test_completion_function_call_cohere(): try: response = completion( diff --git a/litellm/tests/test_caching.py b/litellm/tests/test_caching.py index 72c033abf1e..5887aba12c0 100644 --- a/litellm/tests/test_caching.py +++ b/litellm/tests/test_caching.py @@ -11,10 +11,10 @@ sys.path.insert( ) # Adds the parent directory to the system path import pytest import litellm -from litellm import embedding, completion +from litellm import embedding, completion, aembedding from litellm.caching import Cache import random -import hashlib +import hashlib, asyncio # litellm.set_verbose=True @@ -95,10 +95,7 @@ def test_caching_with_cache_controls(): ) print(f"response1: {response1}") print(f"response2: {response2}") - assert ( - response2["choices"][0]["message"]["content"] - != response1["choices"][0]["message"]["content"] - ) + assert response2["id"] != response1["id"] message = [{"role": "user", "content": f"Hey, how's it going? {uuid.uuid4()}"}] ## TTL = 5 response1 = completion( @@ -109,10 +106,7 @@ def test_caching_with_cache_controls(): ) print(f"response1: {response1}") print(f"response2: {response2}") - assert ( - response2["choices"][0]["message"]["content"] - == response1["choices"][0]["message"]["content"] - ) + assert response2["id"] == response1["id"] except Exception as e: print(f"error occurred: {traceback.format_exc()}") pytest.fail(f"Error occurred: {e}") @@ -127,9 +121,10 @@ def test_caching_with_models_v2(): ] litellm.cache = Cache() print("test2 for caching") + litellm.set_verbose = True response1 = completion(model="gpt-3.5-turbo", messages=messages, caching=True) response2 = completion(model="gpt-3.5-turbo", messages=messages, caching=True) - response3 = completion(model="command-nightly", messages=messages, caching=True) + response3 = completion(model="azure/chatgpt-v-2", messages=messages, caching=True) print(f"response1: {response1}") print(f"response2: {response2}") print(f"response3: {response3}") @@ -261,6 +256,84 @@ def test_embedding_caching_azure(): # test_embedding_caching_azure() +@pytest.mark.asyncio +async def test_embedding_caching_azure_individual_items(): + """ + Tests caching for individual items in an embedding list + + - Cache an item + - call aembedding(..) with the item + 1 unique item + - compare to a 2nd aembedding (...) with 2 unique items + ``` + embedding_1 = ["hey how's it going", "I'm doing well"] + embedding_val_1 = embedding(...) + + embedding_2 = ["hey how's it going", "I'm fine"] + embedding_val_2 = embedding(...) + + assert embedding_val_1[0]["id"] == embedding_val_2[0]["id"] + ``` + """ + litellm.cache = Cache() + common_msg = f"hey how's it going {uuid.uuid4()}" + common_msg_2 = f"hey how's it going {uuid.uuid4()}" + embedding_1 = [common_msg] + embedding_2 = [ + common_msg, + f"I'm fine {uuid.uuid4()}", + ] + + embedding_val_1 = await aembedding( + model="azure/azure-embedding-model", input=embedding_1, caching=True + ) + embedding_val_2 = await aembedding( + model="azure/azure-embedding-model", input=embedding_2, caching=True + ) + print(f"embedding_val_2._hidden_params: {embedding_val_2._hidden_params}") + assert embedding_val_2._hidden_params["cache_hit"] == True + + +@pytest.mark.asyncio +async def test_redis_cache_basic(): + """ + Init redis client + - write to client + - read from client + """ + litellm.set_verbose = False + + random_number = random.randint( + 1, 100000 + ) # add a random number to ensure it's always adding / reading from cache + messages = [ + {"role": "user", "content": f"write a one sentence poem about: {random_number}"} + ] + litellm.cache = Cache( + type="redis", + host=os.environ["REDIS_HOST"], + port=os.environ["REDIS_PORT"], + password=os.environ["REDIS_PASSWORD"], + ) + response1 = completion( + model="gpt-3.5-turbo", + messages=messages, + ) + + cache_key = litellm.cache.get_cache_key( + model="gpt-3.5-turbo", + messages=messages, + ) + print(f"cache_key: {cache_key}") + litellm.cache.add_cache(result=response1, cache_key=cache_key) + print(f"cache key pre async get: {cache_key}") + stored_val = await litellm.cache.async_get_cache( + model="gpt-3.5-turbo", + messages=messages, + ) + print(f"stored_val: {stored_val}") + assert stored_val["id"] == response1.id + + def test_redis_cache_completion(): litellm.set_verbose = False @@ -286,7 +359,7 @@ def test_redis_cache_completion(): response3 = completion( model="gpt-3.5-turbo", messages=messages, caching=True, temperature=0.5 ) - response4 = completion(model="command-nightly", messages=messages, caching=True) + response4 = completion(model="azure/chatgpt-v-2", messages=messages, caching=True) print("\nresponse 1", response1) print("\nresponse 2", response2) @@ -408,7 +481,7 @@ def test_redis_cache_acompletion_stream(): import asyncio try: - litellm.set_verbose = True + litellm.set_verbose = False random_word = generate_random_word() messages = [ { @@ -436,7 +509,6 @@ def test_redis_cache_acompletion_stream(): stream=True, ) async for chunk in response1: - print(chunk) response_1_content += chunk.choices[0].delta.content or "" print(response_1_content) @@ -454,7 +526,6 @@ def test_redis_cache_acompletion_stream(): stream=True, ) async for chunk in response2: - print(chunk) response_2_content += chunk.choices[0].delta.content or "" print(response_2_content) @@ -625,6 +696,58 @@ def test_s3_cache_acompletion_stream_azure(): # test_s3_cache_acompletion_stream_azure() +@pytest.mark.asyncio +async def test_s3_cache_acompletion_azure(): + import asyncio + import logging + import tracemalloc + + tracemalloc.start() + logging.basicConfig(level=logging.DEBUG) + + try: + litellm.set_verbose = True + random_word = generate_random_word() + messages = [ + { + "role": "user", + "content": f"write a one sentence poem about: {random_word}", + } + ] + litellm.cache = Cache( + type="s3", s3_bucket_name="cache-bucket-litellm", s3_region_name="us-west-2" + ) + print("s3 Cache: test for caching, streaming + completion") + + response1 = await litellm.acompletion( + model="azure/chatgpt-v-2", + messages=messages, + max_tokens=40, + temperature=1, + ) + print(response1) + + time.sleep(2) + + response2 = await litellm.acompletion( + model="azure/chatgpt-v-2", + messages=messages, + max_tokens=40, + temperature=1, + ) + + print(response2) + + assert response1.id == response2.id + + litellm.cache = None + litellm.success_callback = [] + litellm._async_success_callback = [] + except Exception as e: + print(e) + raise e + + # test_redis_cache_acompletion_stream_bedrock() # redis cache with custom keys def custom_get_cache_key(*args, **kwargs): @@ -723,8 +846,8 @@ def test_cache_override(): print(f"Embedding 2 response time: {end_time - start_time} seconds") assert ( - end_time - start_time > 0.1 - ) # ensure 2nd response comes in over 0.1s. This should not be cached. + end_time - start_time > 0.05 + ) # ensure 2nd response comes in over 0.05s. This should not be cached. # test_cache_override() @@ -917,100 +1040,101 @@ def test_cache_context_managers(): # test_cache_context_managers() -# test_custom_redis_cache_params() -# def test_redis_cache_with_ttl(): -# cache = Cache(type="redis", host=os.environ['REDIS_HOST'], port=os.environ['REDIS_PORT'], password=os.environ['REDIS_PASSWORD']) -# sample_model_response_object_str = """{ -# "choices": [ -# { -# "finish_reason": "stop", -# "index": 0, -# "message": { -# "role": "assistant", -# "content": "I'm doing well, thank you for asking. I am Claude, an AI assistant created by Anthropic." -# } -# } -# ], -# "created": 1691429984.3852863, -# "model": "claude-instant-1", -# "usage": { -# "prompt_tokens": 18, -# "completion_tokens": 23, -# "total_tokens": 41 -# } -# }""" -# sample_model_response_object = { -# "choices": [ -# { -# "finish_reason": "stop", -# "index": 0, -# "message": { -# "role": "assistant", -# "content": "I'm doing well, thank you for asking. I am Claude, an AI assistant created by Anthropic." -# } -# } -# ], -# "created": 1691429984.3852863, -# "model": "claude-instant-1", -# "usage": { -# "prompt_tokens": 18, -# "completion_tokens": 23, -# "total_tokens": 41 -# } -# } -# cache.add_cache(cache_key="test_key", result=sample_model_response_object_str, ttl=1) -# cached_value = cache.get_cache(cache_key="test_key") -# print(f"cached-value: {cached_value}") -# assert cached_value['choices'][0]['message']['content'] == sample_model_response_object['choices'][0]['message']['content'] -# time.sleep(2) -# assert cache.get_cache(cache_key="test_key") is None +@pytest.mark.skip(reason="beta test - new redis semantic cache") +def test_redis_semantic_cache_completion(): + litellm.set_verbose = True + import logging -# # test_redis_cache_with_ttl() + logging.basicConfig(level=logging.DEBUG) -# def test_in_memory_cache_with_ttl(): -# cache = Cache(type="local") -# sample_model_response_object_str = """{ -# "choices": [ -# { -# "finish_reason": "stop", -# "index": 0, -# "message": { -# "role": "assistant", -# "content": "I'm doing well, thank you for asking. I am Claude, an AI assistant created by Anthropic." -# } -# } -# ], -# "created": 1691429984.3852863, -# "model": "claude-instant-1", -# "usage": { -# "prompt_tokens": 18, -# "completion_tokens": 23, -# "total_tokens": 41 -# } -# }""" -# sample_model_response_object = { -# "choices": [ -# { -# "finish_reason": "stop", -# "index": 0, -# "message": { -# "role": "assistant", -# "content": "I'm doing well, thank you for asking. I am Claude, an AI assistant created by Anthropic." -# } -# } -# ], -# "created": 1691429984.3852863, -# "model": "claude-instant-1", -# "usage": { -# "prompt_tokens": 18, -# "completion_tokens": 23, -# "total_tokens": 41 -# } -# } -# cache.add_cache(cache_key="test_key", result=sample_model_response_object_str, ttl=1) -# cached_value = cache.get_cache(cache_key="test_key") -# assert cached_value['choices'][0]['message']['content'] == sample_model_response_object['choices'][0]['message']['content'] -# time.sleep(2) -# assert cache.get_cache(cache_key="test_key") is None -# # test_in_memory_cache_with_ttl() + random_number = random.randint( + 1, 100000 + ) # add a random number to ensure it's always adding /reading from cache + + print("testing semantic caching") + litellm.cache = Cache( + type="redis-semantic", + host=os.environ["REDIS_HOST"], + port=os.environ["REDIS_PORT"], + password=os.environ["REDIS_PASSWORD"], + similarity_threshold=0.8, + redis_semantic_cache_embedding_model="text-embedding-ada-002", + ) + response1 = completion( + model="gpt-3.5-turbo", + messages=[ + { + "role": "user", + "content": f"write a one sentence poem about: {random_number}", + } + ], + max_tokens=20, + ) + print(f"response1: {response1}") + + random_number = random.randint(1, 100000) + + response2 = completion( + model="gpt-3.5-turbo", + messages=[ + { + "role": "user", + "content": f"write a one sentence poem about: {random_number}", + } + ], + max_tokens=20, + ) + print(f"response2: {response1}") + assert response1.id == response2.id + + +# test_redis_cache_completion() + + +@pytest.mark.skip(reason="beta test - new redis semantic cache") +@pytest.mark.asyncio +async def test_redis_semantic_cache_acompletion(): + litellm.set_verbose = True + import logging + + logging.basicConfig(level=logging.DEBUG) + + random_number = random.randint( + 1, 100000 + ) # add a random number to ensure it's always adding / reading from cache + + print("testing semantic caching") + litellm.cache = Cache( + type="redis-semantic", + host=os.environ["REDIS_HOST"], + port=os.environ["REDIS_PORT"], + password=os.environ["REDIS_PASSWORD"], + similarity_threshold=0.8, + redis_semantic_cache_use_async=True, + ) + response1 = await litellm.acompletion( + model="gpt-3.5-turbo", + messages=[ + { + "role": "user", + "content": f"write a one sentence poem about: {random_number}", + } + ], + max_tokens=5, + ) + print(f"response1: {response1}") + + random_number = random.randint(1, 100000) + response2 = await litellm.acompletion( + model="gpt-3.5-turbo", + messages=[ + { + "role": "user", + "content": f"write a one sentence poem about: {random_number}", + } + ], + max_tokens=5, + ) + print(f"response2: {response2}") + assert response1.id == response2.id diff --git a/litellm/tests/test_completion.py b/litellm/tests/test_completion.py index b2c69804ccc..777100c7433 100644 --- a/litellm/tests/test_completion.py +++ b/litellm/tests/test_completion.py @@ -37,13 +37,15 @@ def test_completion_custom_provider_model_name(): try: litellm.cache = None response = completion( - model="together_ai/mistralai/Mistral-7B-Instruct-v0.1", + model="together_ai/mistralai/Mixtral-8x7B-Instruct-v0.1", messages=messages, logger_fn=logger_fn, ) - # Add any assertions here to check the response + # Add any assertions here to check the,response print(response) print(response["choices"][0]["finish_reason"]) + except litellm.Timeout as e: + pass except Exception as e: pytest.fail(f"Error occurred: {e}") @@ -69,7 +71,7 @@ def test_completion_claude(): messages=messages, request_timeout=10, ) - # Add any assertions here to check the response + # Add any assertions here to check response args print(response) print(response.usage) print(response.usage.completion_tokens) @@ -108,6 +110,32 @@ def test_completion_mistral_api(): # test_completion_mistral_api() +def test_completion_mistral_api_modified_input(): + try: + litellm.set_verbose = True + response = completion( + model="mistral/mistral-tiny", + max_tokens=5, + messages=[ + { + "role": "user", + "content": [{"type": "text", "text": "Hey, how's it going?"}], + } + ], + ) + # Add any assertions here to check the response + print(response) + + cost = litellm.completion_cost(completion_response=response) + print("cost to make mistral completion=", cost) + assert cost > 0.0 + except Exception as e: + if "500" in str(e): + pass + else: + pytest.fail(f"Error occurred: {e}") + + def test_completion_claude2_1(): try: print("claude2.1 test request") @@ -191,6 +219,21 @@ def test_completion_gpt4_turbo(): # test_completion_gpt4_turbo() +def test_completion_gpt4_turbo_0125(): + try: + response = completion( + model="gpt-4-0125-preview", + messages=messages, + max_tokens=10, + ) + print(response) + except openai.RateLimitError: + print("got a rate liimt error") + pass + except Exception as e: + pytest.fail(f"Error occurred: {e}") + + @pytest.mark.skip(reason="this test is flaky") def test_completion_gpt4_vision(): try: @@ -224,7 +267,7 @@ def test_completion_gpt4_vision(): def test_completion_azure_gpt4_vision(): - # azure/gpt-4 vision takes 5seconds to respond + # azure/gpt-4, vision takes 5seconds to respond try: litellm.set_verbose = True response = completion( @@ -264,6 +307,9 @@ def test_completion_azure_gpt4_vision(): except openai.RateLimitError as e: print("got a rate liimt error", e) pass + except openai.APIStatusError as e: + print("got an api status error", e) + pass except Exception as e: pytest.fail(f"Error occurred: {e}") @@ -500,22 +546,22 @@ def hf_test_completion_tgi(): # hf_test_error_logs() -def test_completion_cohere(): # commenting for now as the cohere endpoint is being flaky - try: - litellm.CohereConfig(max_tokens=1000, stop_sequences=["a"]) - response = completion( - model="command-nightly", messages=messages, logger_fn=logger_fn - ) - # Add any assertions here to check the response - print(response) - response_str = response["choices"][0]["message"]["content"] - response_str_2 = response.choices[0].message.content - if type(response_str) != str: - pytest.fail(f"Error occurred: {e}") - if type(response_str_2) != str: - pytest.fail(f"Error occurred: {e}") - except Exception as e: - pytest.fail(f"Error occurred: {e}") +# def test_completion_cohere(): # commenting out,for now as the cohere endpoint is being flaky +# try: +# litellm.CohereConfig(max_tokens=10, stop_sequences=["a"]) +# response = completion( +# model="command-nightly", messages=messages, logger_fn=logger_fn +# ) +# # Add any assertions here to check the response +# print(response) +# response_str = response["choices"][0]["message"]["content"] +# response_str_2 = response.choices[0].message.content +# if type(response_str) != str: +# pytest.fail(f"Error occurred: {e}") +# if type(response_str_2) != str: +# pytest.fail(f"Error occurred: {e}") +# except Exception as e: +# pytest.fail(f"Error occurred: {e}") # test_completion_cohere() @@ -524,13 +570,13 @@ def test_completion_cohere(): # commenting for now as the cohere endpoint is be def test_completion_openai(): try: litellm.set_verbose = True + litellm.drop_params = True print(f"api key: {os.environ['OPENAI_API_KEY']}") litellm.api_key = os.environ["OPENAI_API_KEY"] response = completion( model="gpt-3.5-turbo", - messages=messages, + messages=[{"role": "user", "content": "Hey"}], max_tokens=10, - request_timeout=1, metadata={"hi": "bye"}, ) print("This is the response object\n", response) @@ -551,20 +597,30 @@ def test_completion_openai(): pytest.fail(f"Error occurred: {e}") -# test_completion_openai() - - -def test_completion_text_openai(): +def test_completion_openai_organization(): try: - # litellm.set_verbose = True - response = completion(model="gpt-3.5-turbo-instruct", messages=messages) - print(response["choices"][0]["message"]["content"]) + litellm.set_verbose = True + try: + response = completion( + model="gpt-3.5-turbo", messages=messages, organization="org-ikDc4ex8NB" + ) + pytest.fail("Request should have failed - This organization does not exist") + except Exception as e: + assert "No such organization: org-ikDc4ex8NB" in str(e) + except Exception as e: print(e) pytest.fail(f"Error occurred: {e}") -# test_completion_text_openai() +def test_completion_text_openai(): + try: + # litellm.set_verbose =True + response = completion(model="gpt-3.5-turbo-instruct", messages=messages) + print(response["choices"][0]["message"]["content"]) + except Exception as e: + print(e) + pytest.fail(f"Error occurred: {e}") def custom_callback( @@ -854,7 +910,7 @@ def test_completion_anyscale_with_functions(): def test_completion_azure_key_completion_arg(): - # this tests if we can pass api_key to completion, when it's not in the env + # this tests if we can pass api_key to completion, when it's not in the env. # DO NOT REMOVE THIS TEST. No MATTER WHAT Happens! # If you want to remove it, speak to Ishaan! # Ishaan will be very disappointed if this test is removed -> this is a standard way to pass api_key + the router + proxy use this @@ -1300,6 +1356,8 @@ def test_completion_together_ai_mixtral(): ) except litellm.Timeout as e: pass + except litellm.ServiceUnavailableError as e: + pass except Exception as e: pytest.fail(f"Error occurred: {e}") @@ -1341,7 +1399,7 @@ def test_customprompt_together_ai(): print(litellm.success_callback) print(litellm._async_success_callback) response = completion( - model="together_ai/mistralai/Mistral-7B-Instruct-v0.1", + model="together_ai/mistralai/Mixtral-8x7B-Instruct-v0.1", messages=messages, roles={ "system": { @@ -1465,6 +1523,33 @@ def test_completion_chat_sagemaker_mistral(): # test_completion_chat_sagemaker_mistral() + + +def test_completion_bedrock_titan_null_response(): + try: + response = completion( + model="bedrock/amazon.titan-text-lite-v1", + messages=[ + { + "role": "user", + "content": "Hello!", + }, + { + "role": "assistant", + "content": "Hello! How can I help you?", + }, + { + "role": "user", + "content": "What model are you?", + }, + ], + ) + # Add any assertions here to check the response + pytest.fail(f"Expected to fail") + except Exception as e: + pass + + def test_completion_bedrock_titan(): try: response = completion( @@ -1666,6 +1751,26 @@ def test_completion_anyscale_api(): # test_completion_anyscale_api() +@pytest.mark.skip(reason="flaky test, times out frequently") +def test_completion_cohere(): + try: + # litellm.set_verbose=True + messages = [ + {"role": "system", "content": "You're a good bot"}, + { + "role": "user", + "content": "Hey", + }, + ] + response = completion( + model="command-nightly", + messages=messages, + ) + print(response) + except Exception as e: + pytest.fail(f"Error occurred: {e}") + + def test_azure_cloudflare_api(): litellm.set_verbose = True try: @@ -1693,7 +1798,7 @@ def test_azure_cloudflare_api(): def test_completion_anyscale_2(): try: - # litellm.set_verbose=True + # litellm.set_verbose = True messages = [ {"role": "system", "content": "You're a good bot"}, { @@ -1946,11 +2051,12 @@ def test_completion_palm_stream(): def test_completion_together_ai_stream(): + litellm.set_verbose = True user_message = "Write 1pg about YC & litellm" messages = [{"content": user_message, "role": "user"}] try: response = completion( - model="together_ai/mistralai/Mistral-7B-Instruct-v0.1", + model="together_ai/mistralai/Mixtral-8x7B-Instruct-v0.1", messages=messages, stream=True, max_tokens=5, diff --git a/litellm/tests/test_completion_cost.py b/litellm/tests/test_completion_cost.py index 3543420217d..bb460b76bd9 100644 --- a/litellm/tests/test_completion_cost.py +++ b/litellm/tests/test_completion_cost.py @@ -13,7 +13,7 @@ import pytest def test_get_gpt3_tokens(): max_tokens = get_max_tokens("gpt-3.5-turbo") print(max_tokens) - assert max_tokens == 4097 + assert max_tokens == 4096 # print(results) @@ -124,7 +124,7 @@ def test_cost_azure_gpt_35(): ) -test_cost_azure_gpt_35() +# test_cost_azure_gpt_35() def test_cost_azure_embedding(): @@ -158,3 +158,82 @@ def test_cost_azure_embedding(): # test_cost_azure_embedding() + + +def test_cost_openai_image_gen(): + cost = litellm.completion_cost( + model="dall-e-2", + size="1024-x-1024", + quality="standard", + n=1, + call_type="image_generation", + ) + assert cost == 0.019922944 + + +def test_cost_bedrock_pricing(): + """ + - get pricing specific to region for a model + """ + from litellm import ModelResponse, Choices, Message + from litellm.utils import Usage + + litellm.set_verbose = True + input_tokens = litellm.token_counter( + model="bedrock/anthropic.claude-instant-v1", + messages=[{"role": "user", "content": "Hey, how's it going?"}], + ) + print(f"input_tokens: {input_tokens}") + output_tokens = litellm.token_counter( + model="bedrock/anthropic.claude-instant-v1", + text="It's all going well", + count_response_tokens=True, + ) + print(f"output_tokens: {output_tokens}") + resp = ModelResponse( + id="chatcmpl-e41836bb-bb8b-4df2-8e70-8f3e160155ac", + choices=[ + Choices( + finish_reason=None, + index=0, + message=Message( + content="It's all going well", + role="assistant", + ), + ) + ], + created=1700775391, + model="anthropic.claude-instant-v1", + object="chat.completion", + system_fingerprint=None, + usage=Usage( + prompt_tokens=input_tokens, + completion_tokens=output_tokens, + total_tokens=input_tokens + output_tokens, + ), + ) + resp._hidden_params = { + "custom_llm_provider": "bedrock", + "region_name": "ap-northeast-1", + } + + cost = litellm.completion_cost( + model="anthropic.claude-instant-v1", + completion_response=resp, + messages=[{"role": "user", "content": "Hey, how's it going?"}], + ) + predicted_cost = input_tokens * 0.00000223 + 0.00000755 * output_tokens + assert cost == predicted_cost + + +def test_cost_bedrock_pricing_actual_calls(): + litellm.set_verbose = True + model = "anthropic.claude-instant-v1" + messages = [{"role": "user", "content": "Hey, how's it going?"}] + response = litellm.completion(model=model, messages=messages) + assert response._hidden_params["region_name"] is not None + cost = litellm.completion_cost( + completion_response=response, + messages=[{"role": "user", "content": "Hey, how's it going?"}], + ) + assert cost > 0 diff --git a/litellm/tests/test_configs/custom_auth.py b/litellm/tests/test_configs/custom_auth.py index e4747ee5320..1b6bec43b5e 100644 --- a/litellm/tests/test_configs/custom_auth.py +++ b/litellm/tests/test_configs/custom_auth.py @@ -9,8 +9,14 @@ load_dotenv() async def user_api_key_auth(request: Request, api_key: str) -> UserAPIKeyAuth: try: print(f"api_key: {api_key}") + if api_key == "": + raise Exception( + f"CustomAuth - Malformed API Key passed in. Ensure Key has `Bearer` prefix" + ) if api_key == f"{os.getenv('PROXY_MASTER_KEY')}-1234": return UserAPIKeyAuth(api_key=api_key) raise Exception - except: + except Exception as e: + if len(str(e)) > 0: + raise e raise Exception("Failed custom auth") diff --git a/litellm/tests/test_configs/test_config_no_auth.yaml b/litellm/tests/test_configs/test_config_no_auth.yaml index be85765a869..9d7aff57022 100644 --- a/litellm/tests/test_configs/test_config_no_auth.yaml +++ b/litellm/tests/test_configs/test_config_no_auth.yaml @@ -53,9 +53,9 @@ model_list: api_key: os.environ/AZURE_API_KEY api_version: 2023-07-01-preview model: azure/azure-embedding-model - model_name: azure-embedding-model model_info: - mode: "embedding" + mode: embedding + model_name: azure-embedding-model - litellm_params: model: gpt-3.5-turbo model_info: @@ -80,43 +80,49 @@ model_list: description: this is a test openai model id: 9b1ef341-322c-410a-8992-903987fef439 model_name: test_openai_models -- model_name: amazon-embeddings - litellm_params: - model: "bedrock/amazon.titan-embed-text-v1" +- litellm_params: + model: bedrock/amazon.titan-embed-text-v1 model_info: mode: embedding -- model_name: "GPT-J 6B - Sagemaker Text Embedding (Internal)" - litellm_params: - model: "sagemaker/berri-benchmarking-gpt-j-6b-fp16" + model_name: amazon-embeddings +- litellm_params: + model: sagemaker/berri-benchmarking-gpt-j-6b-fp16 model_info: mode: embedding -- model_name: dall-e-3 - litellm_params: + model_name: GPT-J 6B - Sagemaker Text Embedding (Internal) +- litellm_params: model: dall-e-3 model_info: mode: image_generation -- model_name: dall-e-3 - litellm_params: - model: "azure/dall-e-3-test" - api_version: "2023-12-01-preview" - api_base: "os.environ/AZURE_SWEDEN_API_BASE" - api_key: "os.environ/AZURE_SWEDEN_API_KEY" + model_name: dall-e-3 +- litellm_params: + api_base: os.environ/AZURE_SWEDEN_API_BASE + api_key: os.environ/AZURE_SWEDEN_API_KEY + api_version: 2023-12-01-preview + model: azure/dall-e-3-test model_info: mode: image_generation -- model_name: dall-e-2 - litellm_params: - model: "azure/" - api_version: "2023-06-01-preview" - api_base: "os.environ/AZURE_API_BASE" - api_key: "os.environ/AZURE_API_KEY" + model_name: dall-e-3 +- litellm_params: + api_base: os.environ/AZURE_API_BASE + api_key: os.environ/AZURE_API_KEY + api_version: 2023-06-01-preview + model: azure/ model_info: mode: image_generation -- model_name: text-embedding-ada-002 - litellm_params: + model_name: dall-e-2 +- litellm_params: + api_base: os.environ/AZURE_API_BASE + api_key: os.environ/AZURE_API_KEY + api_version: 2023-07-01-preview model: azure/azure-embedding-model - api_base: "os.environ/AZURE_API_BASE" - api_key: "os.environ/AZURE_API_KEY" - api_version: "2023-07-01-preview" model_info: + base_model: text-embedding-ada-002 mode: embedding - base_model: text-embedding-ada-002 \ No newline at end of file + model_name: text-embedding-ada-002 +- litellm_params: + model: gpt-3.5-turbo + model_info: + description: this is a test openai model + id: 34cb2419-7c63-44ae-a189-53f1d1ce5953 + model_name: test_openai_models \ No newline at end of file diff --git a/litellm/tests/test_custom_callback_input.py b/litellm/tests/test_custom_callback_input.py index 556628d828f..080754ca8bd 100644 --- a/litellm/tests/test_custom_callback_input.py +++ b/litellm/tests/test_custom_callback_input.py @@ -556,6 +556,46 @@ async def test_async_chat_bedrock_stream(): # asyncio.run(test_async_chat_bedrock_stream()) +## Test Sagemaker + Async +@pytest.mark.asyncio +async def test_async_chat_sagemaker_stream(): + try: + customHandler = CompletionCustomHandler() + litellm.callbacks = [customHandler] + response = await litellm.acompletion( + model="sagemaker/berri-benchmarking-Llama-2-70b-chat-hf-4", + messages=[{"role": "user", "content": "Hi 👋 - i'm async sagemaker"}], + ) + # test streaming + response = await litellm.acompletion( + model="sagemaker/berri-benchmarking-Llama-2-70b-chat-hf-4", + messages=[{"role": "user", "content": "Hi 👋 - i'm async sagemaker"}], + stream=True, + ) + print(f"response: {response}") + async for chunk in response: + print(f"chunk: {chunk}") + continue + ## test failure callback + try: + response = await litellm.acompletion( + model="sagemaker/berri-benchmarking-Llama-2-70b-chat-hf-4", + messages=[{"role": "user", "content": "Hi 👋 - i'm async sagemaker"}], + aws_region_name="my-bad-key", + stream=True, + ) + async for chunk in response: + continue + except: + pass + time.sleep(1) + print(f"customHandler.errors: {customHandler.errors}") + assert len(customHandler.errors) == 0 + litellm.callbacks = [] + except Exception as e: + pytest.fail(f"An exception occurred: {str(e)}") + + # Text Completion @@ -684,7 +724,7 @@ async def test_async_embedding_bedrock(): response = await litellm.aembedding( model="bedrock/cohere.embed-multilingual-v3", input=["good morning from litellm"], - aws_region_name="os.environ/AWS_REGION_NAME_2", + aws_region_name="us-east-1", ) await asyncio.sleep(1) print(f"customHandler_success.errors: {customHandler_success.errors}") @@ -717,6 +757,7 @@ async def test_async_embedding_bedrock(): ## Test Azure - completion, embedding @pytest.mark.asyncio async def test_async_completion_azure_caching(): + litellm.set_verbose = True customHandler_caching = CompletionCustomHandler() litellm.cache = Cache( type="redis", @@ -771,6 +812,7 @@ async def test_async_embedding_azure_caching(): ) await asyncio.sleep(1) # success callbacks are done in parallel print(customHandler_caching.states) + print(customHandler_caching.errors) assert len(customHandler_caching.errors) == 0 assert len(customHandler_caching.states) == 4 # pre, post, success, success @@ -778,47 +820,49 @@ async def test_async_embedding_azure_caching(): # Image Generation -# ## Test OpenAI + Sync -# def test_image_generation_openai(): -# try: -# customHandler_success = CompletionCustomHandler() -# customHandler_failure = CompletionCustomHandler() -# litellm.callbacks = [customHandler_success] +## Test OpenAI + Sync +def test_image_generation_openai(): + try: + customHandler_success = CompletionCustomHandler() + customHandler_failure = CompletionCustomHandler() + # litellm.callbacks = [customHandler_success] -# litellm.set_verbose = True + # litellm.set_verbose = True -# response = litellm.image_generation( -# prompt="A cute baby sea otter", model="dall-e-3" -# ) + # response = litellm.image_generation( + # prompt="A cute baby sea otter", model="dall-e-3" + # ) -# print(f"response: {response}") -# assert len(response.data) > 0 + # print(f"response: {response}") + # assert len(response.data) > 0 -# print(f"customHandler_success.errors: {customHandler_success.errors}") -# print(f"customHandler_success.states: {customHandler_success.states}") -# assert len(customHandler_success.errors) == 0 -# assert len(customHandler_success.states) == 3 # pre, post, success -# # test failure callback -# litellm.callbacks = [customHandler_failure] -# try: -# response = litellm.image_generation( -# prompt="A cute baby sea otter", model="dall-e-4" -# ) -# except: -# pass -# print(f"customHandler_failure.errors: {customHandler_failure.errors}") -# print(f"customHandler_failure.states: {customHandler_failure.states}") -# assert len(customHandler_failure.errors) == 0 -# assert len(customHandler_failure.states) == 3 # pre, post, failure -# except litellm.RateLimitError as e: -# pass -# except litellm.ContentPolicyViolationError: -# pass # OpenAI randomly raises these errors - skip when they occur -# except Exception as e: -# pytest.fail(f"An exception occurred - {str(e)}") + # print(f"customHandler_success.errors: {customHandler_success.errors}") + # print(f"customHandler_success.states: {customHandler_success.states}") + # assert len(customHandler_success.errors) == 0 + # assert len(customHandler_success.states) == 3 # pre, post, success + # test failure callback + litellm.callbacks = [customHandler_failure] + try: + response = litellm.image_generation( + prompt="A cute baby sea otter", + model="dall-e-2", + api_key="my-bad-api-key", + ) + except: + pass + print(f"customHandler_failure.errors: {customHandler_failure.errors}") + print(f"customHandler_failure.states: {customHandler_failure.states}") + assert len(customHandler_failure.errors) == 0 + assert len(customHandler_failure.states) == 3 # pre, post, failure + except litellm.RateLimitError as e: + pass + except litellm.ContentPolicyViolationError: + pass # OpenAI randomly raises these errors - skip when they occur + except Exception as e: + pytest.fail(f"An exception occurred - {str(e)}") -# test_image_generation_openai() +test_image_generation_openai() ## Test OpenAI + Async ## Test Azure + Sync diff --git a/litellm/tests/test_custom_callback_router.py b/litellm/tests/test_custom_callback_router.py index ac8b2fa1014..071d4529db7 100644 --- a/litellm/tests/test_custom_callback_router.py +++ b/litellm/tests/test_custom_callback_router.py @@ -256,6 +256,7 @@ class CompletionCustomHandler( async def async_log_success_event(self, kwargs, response_obj, start_time, end_time): try: self.states.append("async_success") + print("in async success, kwargs: ", kwargs) ## START TIME assert isinstance(start_time, datetime) ## END TIME @@ -266,6 +267,38 @@ class CompletionCustomHandler( ) ## KWARGS assert isinstance(kwargs["model"], str) + + # checking we use base_model for azure cost calculation + base_model = litellm.utils._get_base_model_from_metadata( + model_call_details=kwargs + ) + + if ( + kwargs["model"] == "chatgpt-v-2" + and base_model is not None + and kwargs["stream"] != True + ): + # when base_model is set for azure, we should use pricing for the base_model + # this checks response_cost == litellm.cost_per_token(model=base_model) + assert isinstance(kwargs["response_cost"], float) + response_cost = kwargs["response_cost"] + print( + f"response_cost: {response_cost}, for model: {kwargs['model']} and base_model: {base_model}" + ) + prompt_tokens = response_obj.usage.prompt_tokens + completion_tokens = response_obj.usage.completion_tokens + # ensure the pricing is based on the base_model here + prompt_price, completion_price = litellm.cost_per_token( + model=base_model, + prompt_tokens=prompt_tokens, + completion_tokens=completion_tokens, + ) + expected_price = prompt_price + completion_price + print(f"expected price: {expected_price}") + assert ( + response_cost == expected_price + ), f"response_cost: {response_cost} != expected_price: {expected_price}. For model: {kwargs['model']} and base_model: {base_model}. should have used base_model for price" + assert isinstance(kwargs["messages"], list) assert isinstance(kwargs["optional_params"], dict) assert isinstance(kwargs["litellm_params"], dict) @@ -345,6 +378,7 @@ async def test_async_chat_azure(): customHandler_streaming_azure_router = CompletionCustomHandler() customHandler_failure = CompletionCustomHandler() litellm.callbacks = [customHandler_completion_azure_router] + litellm.set_verbose = True model_list = [ { "model_name": "gpt-3.5-turbo", # openai model name @@ -354,6 +388,7 @@ async def test_async_chat_azure(): "api_version": os.getenv("AZURE_API_VERSION"), "api_base": os.getenv("AZURE_API_BASE"), }, + "model_info": {"base_model": "azure/gpt-4-1106-preview"}, "tpm": 240000, "rpm": 1800, }, diff --git a/litellm/tests/test_custom_logger.py b/litellm/tests/test_custom_logger.py index 565df5b25a5..2747d33e9d9 100644 --- a/litellm/tests/test_custom_logger.py +++ b/litellm/tests/test_custom_logger.py @@ -31,6 +31,7 @@ class MyCustomHandler(CustomLogger): self.sync_stream_collected_response = None # type: ignore self.user = None # type: ignore self.data_sent_to_api: dict = {} + self.response_cost = 0 def log_pre_api_call(self, model, messages, kwargs): print(f"Pre-API Call") @@ -47,6 +48,8 @@ class MyCustomHandler(CustomLogger): self.success = True if kwargs.get("stream") == True: self.sync_stream_collected_response = response_obj + print(f"response cost in log_success_event: {kwargs.get('response_cost')}") + self.response_cost = kwargs.get("response_cost", 0) def log_failure_event(self, kwargs, response_obj, start_time, end_time): print(f"On Failure") @@ -64,6 +67,10 @@ class MyCustomHandler(CustomLogger): self.stream_collected_response = response_obj self.async_completion_kwargs = kwargs self.user = kwargs.get("user", None) + print( + f"response cost in log_async_success_event: {kwargs.get('response_cost')}" + ) + self.response_cost = kwargs.get("response_cost", 0) async def async_log_failure_event(self, kwargs, response_obj, start_time, end_time): print(f"On Async Failure") @@ -206,12 +213,12 @@ def test_azure_completion_stream(): # checks if the model response available in the async + stream callbacks is equal to the received response customHandler2 = MyCustomHandler() litellm.callbacks = [customHandler2] - litellm.set_verbose = False + litellm.set_verbose = True messages = [ {"role": "system", "content": "You are a helpful assistant."}, { "role": "user", - "content": "write 1 sentence about litellm being amazing", + "content": f"write 1 sentence about litellm being amazing {time.time()}", }, ] complete_streaming_response = "" @@ -400,6 +407,50 @@ async def test_async_custom_handler_embedding_optional_param_bedrock(): assert "user" not in customHandler_optional_params.data_sent_to_api +@pytest.mark.asyncio +async def test_cost_tracking_with_caching(): + """ + Important Test - This tests if that cost is 0 for cached responses + """ + from litellm import Cache + + litellm.set_verbose = False + litellm.cache = Cache( + type="redis", + host=os.environ["REDIS_HOST"], + port=os.environ["REDIS_PORT"], + password=os.environ["REDIS_PASSWORD"], + ) + customHandler_optional_params = MyCustomHandler() + litellm.callbacks = [customHandler_optional_params] + messages = [ + { + "role": "user", + "content": f"write a one sentence poem about: {time.time()}", + } + ] + response1 = await litellm.acompletion( + model="gpt-3.5-turbo", + messages=messages, + max_tokens=40, + temperature=0.2, + caching=True, + ) + await asyncio.sleep(1) # success callback is async + response_cost = customHandler_optional_params.response_cost + assert response_cost > 0 + response2 = await litellm.acompletion( + model="gpt-3.5-turbo", + messages=messages, + max_tokens=40, + temperature=0.2, + caching=True, + ) + await asyncio.sleep(1) # success callback is async + response_cost_2 = customHandler_optional_params.response_cost + assert response_cost_2 == 0 + + def test_redis_cache_completion_stream(): from litellm import Cache diff --git a/litellm/tests/test_dynamodb_logs.py b/litellm/tests/test_dynamodb_logs.py index a6bedd0cf5d..80a44a78ac6 100644 --- a/litellm/tests/test_dynamodb_logs.py +++ b/litellm/tests/test_dynamodb_logs.py @@ -33,6 +33,7 @@ def pre_request(): import re +@pytest.mark.skip def verify_log_file(log_file_path): with open(log_file_path, "r") as log_file: log_content = log_file.read() @@ -123,7 +124,7 @@ def test_dynamo_logging(): sys.stdout = original_stdout # Close the file log_file.close() - verify_log_file(file_name) + # verify_log_file(file_name) print("Passed! Testing async dynamoDB logging") diff --git a/litellm/tests/test_embedding.py b/litellm/tests/test_embedding.py index 630b41d72d6..4637a79e044 100644 --- a/litellm/tests/test_embedding.py +++ b/litellm/tests/test_embedding.py @@ -57,6 +57,48 @@ def test_openai_embedding(): # test_openai_embedding() +def test_openai_embedding_3(): + try: + litellm.set_verbose = True + response = embedding( + model="text-embedding-3-small", + input=["good morning from litellm", "this is another item"], + metadata={"anything": "good day"}, + dimensions=5, + ) + print(f"response:", response) + litellm_response = dict(response) + litellm_response_keys = set(litellm_response.keys()) + litellm_response_keys.discard("_response_ms") + + print(litellm_response_keys) + print("LiteLLM Response\n") + # print(litellm_response) + + # same request with OpenAI 1.0+ + import openai + + client = openai.OpenAI(api_key=os.environ["OPENAI_API_KEY"]) + response = client.embeddings.create( + model="text-embedding-3-small", + input=["good morning from litellm", "this is another item"], + dimensions=5, + ) + + response = dict(response) + openai_response_keys = set(response.keys()) + print(openai_response_keys) + assert ( + litellm_response_keys == openai_response_keys + ) # ENSURE the Keys in litellm response is exactly what the openai package returns + assert ( + len(litellm_response["data"]) == 2 + ) # expect two embedding responses from litellm_response since input had two + print(openai_response_keys) + except Exception as e: + pytest.fail(f"Error occurred: {e}") + + def test_openai_azure_embedding_simple(): try: litellm.set_verbose = True @@ -186,7 +228,32 @@ def test_cohere_embedding3(): pytest.fail(f"Error occurred: {e}") -test_cohere_embedding3() +# test_cohere_embedding3() + + +def test_vertexai_embedding(): + try: + # litellm.set_verbose=True + response = embedding( + model="textembedding-gecko@001", + input=["good morning from litellm", "this is another item"], + ) + print(f"response:", response) + except Exception as e: + pytest.fail(f"Error occurred: {e}") + + +@pytest.mark.asyncio +async def test_vertexai_aembedding(): + try: + # litellm.set_verbose=True + response = await litellm.aembedding( + model="textembedding-gecko@001", + input=["good morning from litellm", "this is another item"], + ) + print(f"response: {response}") + except Exception as e: + pytest.fail(f"Error occurred: {e}") def test_bedrock_embedding_titan(): @@ -260,6 +327,25 @@ def test_bedrock_embedding_cohere(): # test_bedrock_embedding_cohere() +def test_demo_tokens_as_input_to_embeddings_fails_for_titan(): + litellm.set_verbose = True + + with pytest.raises( + litellm.BadRequestError, + match="BedrockException - Bedrock Embedding API input must be type str | List[str]", + ): + litellm.embedding(model="amazon.titan-embed-text-v1", input=[[1]]) + + with pytest.raises( + litellm.BadRequestError, + match="BedrockException - Bedrock Embedding API input must be type str | List[str]", + ): + litellm.embedding( + model="amazon.titan-embed-text-v1", + input=[1], + ) + + # comment out hf tests - since hf endpoints are unstable def test_hf_embedding(): try: diff --git a/litellm/tests/test_exceptions.py b/litellm/tests/test_exceptions.py index 70e45341ac0..d4a73c86707 100644 --- a/litellm/tests/test_exceptions.py +++ b/litellm/tests/test_exceptions.py @@ -444,6 +444,90 @@ def test_content_policy_violation_error_streaming(): asyncio.run(test_get_error()) +def test_completion_perplexity_exception_on_openai_client(): + try: + import openai + + print("perplexity test\n\n") + litellm.set_verbose = False + ## Test azure call + old_azure_key = os.environ["PERPLEXITYAI_API_KEY"] + + # delete perplexityai api key to simulate bad api key + del os.environ["PERPLEXITYAI_API_KEY"] + + # temporaily delete openai api key + original_openai_key = os.environ["OPENAI_API_KEY"] + del os.environ["OPENAI_API_KEY"] + + response = completion( + model="perplexity/mistral-7b-instruct", + messages=[{"role": "user", "content": "hello"}], + ) + os.environ["PERPLEXITYAI_API_KEY"] = old_azure_key + os.environ["OPENAI_API_KEY"] = original_openai_key + pytest.fail("Request should have failed - bad api key") + except openai.AuthenticationError as e: + os.environ["PERPLEXITYAI_API_KEY"] = old_azure_key + os.environ["OPENAI_API_KEY"] = original_openai_key + print("exception: ", e) + assert ( + "perplexity.perplexityError: The api_key client option must be set either by passing api_key to the client or by setting the PERPLEXITY_API_KEY environment variable" + in str(e) + ) + except Exception as e: + pytest.fail(f"Error occurred: {e}") + + +# test_completion_perplexity_exception_on_openai_client() + + +def test_completion_perplexity_exception(): + try: + import openai + + print("perplexity test\n\n") + litellm.set_verbose = True + ## Test azure call + old_azure_key = os.environ["PERPLEXITYAI_API_KEY"] + os.environ["PERPLEXITYAI_API_KEY"] = "good morning" + response = completion( + model="perplexity/mistral-7b-instruct", + messages=[{"role": "user", "content": "hello"}], + ) + os.environ["PERPLEXITYAI_API_KEY"] = old_azure_key + pytest.fail("Request should have failed - bad api key") + except openai.AuthenticationError as e: + os.environ["PERPLEXITYAI_API_KEY"] = old_azure_key + print("exception: ", e) + assert "PerplexityException" in str(e) + except Exception as e: + pytest.fail(f"Error occurred: {e}") + + +def test_completion_openai_api_key_exception(): + try: + import openai + + print("gpt-3.5 test\n\n") + litellm.set_verbose = True + ## Test azure call + old_azure_key = os.environ["OPENAI_API_KEY"] + os.environ["OPENAI_API_KEY"] = "good morning" + response = completion( + model="gpt-3.5-turbo", + messages=[{"role": "user", "content": "hello"}], + ) + os.environ["OPENAI_API_KEY"] = old_azure_key + pytest.fail("Request should have failed - bad api key") + except openai.AuthenticationError as e: + os.environ["OPENAI_API_KEY"] = old_azure_key + print("exception: ", e) + assert "OpenAIException" in str(e) + except Exception as e: + pytest.fail(f"Error occurred: {e}") + + # tesy_async_acompletion() # # test_invalid_request_error(model="command-nightly") diff --git a/litellm/tests/test_image_generation.py b/litellm/tests/test_image_generation.py index 3c792f80229..59ccaacd8d8 100644 --- a/litellm/tests/test_image_generation.py +++ b/litellm/tests/test_image_generation.py @@ -51,7 +51,10 @@ def test_image_generation_azure(): except litellm.ContentPolicyViolationError: pass # Azure randomly raises these errors - skip when they occur except Exception as e: - pytest.fail(f"An exception occurred - {str(e)}") + if "Your task failed as a result of our safety system." in str(e): + pass + else: + pytest.fail(f"An exception occurred - {str(e)}") # test_image_generation_azure() @@ -74,7 +77,10 @@ def test_image_generation_azure_dall_e_3(): except litellm.ContentPolicyViolationError: pass # OpenAI randomly raises these errors - skip when they occur except Exception as e: - pytest.fail(f"An exception occurred - {str(e)}") + if "Your task failed as a result of our safety system." in str(e): + pass + else: + pytest.fail(f"An exception occurred - {str(e)}") # test_image_generation_azure_dall_e_3() @@ -109,4 +115,47 @@ async def test_async_image_generation_azure(): except litellm.ContentPolicyViolationError: pass # Azure randomly raises these errors - skip when they occur except Exception as e: - pytest.fail(f"An exception occurred - {str(e)}") + if "Your task failed as a result of our safety system." in str(e): + pass + else: + pytest.fail(f"An exception occurred - {str(e)}") + + +def test_image_generation_bedrock(): + try: + litellm.set_verbose = True + response = litellm.image_generation( + prompt="A cute baby sea otter", + model="bedrock/stability.stable-diffusion-xl-v0", + aws_region_name="us-east-1", + ) + print(f"response: {response}") + except litellm.RateLimitError as e: + pass + except litellm.ContentPolicyViolationError: + pass # Azure randomly raises these errors - skip when they occur + except Exception as e: + if "Your task failed as a result of our safety system." in str(e): + pass + else: + pytest.fail(f"An exception occurred - {str(e)}") + + +@pytest.mark.asyncio +async def test_aimage_generation_bedrock_with_optional_params(): + try: + response = await litellm.aimage_generation( + prompt="A cute baby sea otter", + model="bedrock/stability.stable-diffusion-xl-v0", + size="128x128", + ) + print(f"response: {response}") + except litellm.RateLimitError as e: + pass + except litellm.ContentPolicyViolationError: + pass # Azure randomly raises these errors - skip when they occur + except Exception as e: + if "Your task failed as a result of our safety system." in str(e): + pass + else: + pytest.fail(f"An exception occurred - {str(e)}") diff --git a/litellm/tests/test_key_generate_dynamodb.py b/litellm/tests/test_key_generate_dynamodb.py index be55595fadf..573bd944db6 100644 --- a/litellm/tests/test_key_generate_dynamodb.py +++ b/litellm/tests/test_key_generate_dynamodb.py @@ -33,7 +33,7 @@ from litellm.proxy.proxy_server import ( ) from litellm.proxy._types import NewUserRequest, DynamoDBArgs, GenerateKeyRequest -from litellm.proxy.utils import DBClient +from litellm.proxy.utils import DBClient, hash_token from starlette.datastructures import URL @@ -116,6 +116,10 @@ def test_call_with_invalid_key(custom_db_client): def test_call_with_invalid_model(custom_db_client): # 3. Make a call to a key with an invalid model - expect to fail + from litellm._logging import verbose_proxy_logger + import logging + + verbose_proxy_logger.setLevel(logging.DEBUG) setattr(litellm.proxy.proxy_server, "custom_db_client", custom_db_client) setattr(litellm.proxy.proxy_server, "master_key", "sk-1234") try: @@ -209,7 +213,9 @@ def test_call_with_user_over_budget(custom_db_client): print("result from user auth with new key", result) # update spend using track_cost callback, make 2nd request, it should fail - from litellm.proxy.proxy_server import track_cost_callback + from litellm.proxy.proxy_server import ( + _PROXY_track_cost_callback as track_cost_callback, + ) from litellm import ModelResponse, Choices, Message, Usage resp = ModelResponse( @@ -232,7 +238,7 @@ def test_call_with_user_over_budget(custom_db_client): "stream": False, "litellm_params": { "metadata": { - "user_api_key": generated_key, + "user_api_key": hash_token(generated_key), "user_api_key_user_id": user_id, } }, @@ -240,7 +246,7 @@ def test_call_with_user_over_budget(custom_db_client): }, completion_response=resp, ) - + await asyncio.sleep(5) # use generated key to auth in result = await user_api_key_auth(request=request, api_key=bearer_token) print("result from user auth with new key", result) @@ -281,7 +287,9 @@ def test_call_with_user_over_budget_stream(custom_db_client): print("result from user auth with new key", result) # update spend using track_cost callback, make 2nd request, it should fail - from litellm.proxy.proxy_server import track_cost_callback + from litellm.proxy.proxy_server import ( + _PROXY_track_cost_callback as track_cost_callback, + ) from litellm import ModelResponse, Choices, Message, Usage resp = ModelResponse( @@ -305,7 +313,7 @@ def test_call_with_user_over_budget_stream(custom_db_client): "complete_streaming_response": resp, "litellm_params": { "metadata": { - "user_api_key": generated_key, + "user_api_key": hash_token(generated_key), "user_api_key_user_id": user_id, } }, @@ -313,7 +321,7 @@ def test_call_with_user_over_budget_stream(custom_db_client): }, completion_response=ModelResponse(), ) - + await asyncio.sleep(5) # use generated key to auth in result = await user_api_key_auth(request=request, api_key=bearer_token) print("result from user auth with new key", result) @@ -353,7 +361,9 @@ def test_call_with_user_key_budget(custom_db_client): print("result from user auth with new key", result) # update spend using track_cost callback, make 2nd request, it should fail - from litellm.proxy.proxy_server import track_cost_callback + from litellm.proxy.proxy_server import ( + _PROXY_track_cost_callback as track_cost_callback, + ) from litellm import ModelResponse, Choices, Message, Usage resp = ModelResponse( @@ -376,7 +386,7 @@ def test_call_with_user_key_budget(custom_db_client): "stream": False, "litellm_params": { "metadata": { - "user_api_key": generated_key, + "user_api_key": hash_token(generated_key), "user_api_key_user_id": user_id, } }, @@ -384,7 +394,7 @@ def test_call_with_user_key_budget(custom_db_client): }, completion_response=resp, ) - + await asyncio.sleep(5) # use generated key to auth in result = await user_api_key_auth(request=request, api_key=bearer_token) print("result from user auth with new key", result) @@ -425,7 +435,9 @@ def test_call_with_key_over_budget_stream(custom_db_client): print("result from user auth with new key", result) # update spend using track_cost callback, make 2nd request, it should fail - from litellm.proxy.proxy_server import track_cost_callback + from litellm.proxy.proxy_server import ( + _PROXY_track_cost_callback as track_cost_callback, + ) from litellm import ModelResponse, Choices, Message, Usage resp = ModelResponse( @@ -449,7 +461,7 @@ def test_call_with_key_over_budget_stream(custom_db_client): "complete_streaming_response": resp, "litellm_params": { "metadata": { - "user_api_key": generated_key, + "user_api_key": hash_token(generated_key), "user_api_key_user_id": user_id, } }, @@ -457,7 +469,7 @@ def test_call_with_key_over_budget_stream(custom_db_client): }, completion_response=ModelResponse(), ) - + await asyncio.sleep(5) # use generated key to auth in result = await user_api_key_auth(request=request, api_key=bearer_token) print("result from user auth with new key", result) @@ -468,3 +480,37 @@ def test_call_with_key_over_budget_stream(custom_db_client): error_detail = e.message assert "Authentication Error, ExceededTokenBudget:" in error_detail print(vars(e)) + + +def test_dynamo_db_migration(custom_db_client): + # Tests the temporary patch we have in place + setattr(litellm.proxy.proxy_server, "custom_db_client", custom_db_client) + setattr(litellm.proxy.proxy_server, "master_key", "sk-1234") + setattr(litellm.proxy.proxy_server, "user_custom_auth", None) + try: + + async def test(): + request = GenerateKeyRequest(max_budget=1) + key = await generate_key_fn(request) + print(key) + + generated_key = key.key + bearer_token = ( + "Bearer " + generated_key + ) # this works with ishaan's db, it's a never expiring key + + request = Request(scope={"type": "http"}) + request._url = URL(url="/chat/completions") + + async def return_body(): + return b'{"model": "azure-models"}' + + request.body = return_body + + # use generated key to auth in + result = await user_api_key_auth(request=request, api_key=bearer_token) + print("result from user auth with new key", result) + + asyncio.run(test()) + except Exception as e: + pytest.fail(f"An exception occurred - {traceback.format_exc()}") diff --git a/litellm/tests/test_key_generate_prisma.py b/litellm/tests/test_key_generate_prisma.py index c62d41cca8f..89d4f4d3eb6 100644 --- a/litellm/tests/test_key_generate_prisma.py +++ b/litellm/tests/test_key_generate_prisma.py @@ -12,6 +12,8 @@ # 11. Generate a Key, cal key/info, call key/update, call key/info # 12. Make a call with key over budget, expect to fail # 14. Make a streaming chat/completions call with key over budget, expect to fail +# 15. Generate key, when `allow_user_auth`=False - check if `/key/info` returns key_name=null +# 16. Generate key, when `allow_user_auth`=True - check if `/key/info` returns key_name=sk... # function to call to generate key - async def new_user(data: NewUserRequest): @@ -24,7 +26,7 @@ from fastapi import Request from datetime import datetime load_dotenv() -import os, io +import os, io, time # this file is to test litellm/proxy @@ -42,8 +44,13 @@ from litellm.proxy.proxy_server import ( info_key_fn, update_key_fn, generate_key_fn, + generate_key_helper_fn, + spend_user_fn, + spend_key_fn, + view_spend_logs, + user_info, ) -from litellm.proxy.utils import PrismaClient, ProxyLogging +from litellm.proxy.utils import PrismaClient, ProxyLogging, hash_token from litellm._logging import verbose_proxy_logger verbose_proxy_logger.setLevel(level=logging.DEBUG) @@ -52,7 +59,7 @@ from litellm.proxy._types import ( NewUserRequest, GenerateKeyRequest, DynamoDBArgs, - DeleteKeyRequest, + KeyRequest, UpdateKeyRequest, GenerateKeyRequest, ) @@ -80,6 +87,10 @@ def prisma_client(): # Reset litellm.proxy.proxy_server.prisma_client to None litellm.proxy.proxy_server.custom_db_client = None + litellm.proxy.proxy_server.litellm_proxy_budget_name = ( + f"litellm-proxy-budget-{time.time()}" + ) + litellm.proxy.proxy_server.user_custom_key_generate = None return prisma_client @@ -95,13 +106,43 @@ def test_generate_and_call_with_valid_key(prisma_client): async def test(): await litellm.proxy.proxy_server.prisma_client.connect() - request = NewUserRequest() + from litellm.proxy.proxy_server import user_api_key_cache + + request = NewUserRequest(user_role="app_owner") key = await new_user(request) print(key) + user_id = key.user_id + + # check /user/info to verify user_role was set correctly + new_user_info = await user_info(user_id=user_id) + new_user_info = new_user_info["user_info"] + print("new_user_info=", new_user_info) + assert new_user_info.user_role == "app_owner" + assert new_user_info.user_id == user_id generated_key = key.key bearer_token = "Bearer " + generated_key + assert generated_key not in user_api_key_cache.in_memory_cache.cache_dict + assert ( + hash_token(generated_key) + in user_api_key_cache.in_memory_cache.cache_dict + ) + + cached_value = user_api_key_cache.in_memory_cache.cache_dict[ + hash_token(generated_key) + ] + + print("cached value=", cached_value) + print("cached token", cached_value.token) + + value_from_prisma = valid_token = await prisma_client.get_data( + token=generated_key, + ) + print("token from prisma", value_from_prisma) + + assert value_from_prisma.token == cached_value.token + request = Request(scope={"type": "http"}) request._url = URL(url="/chat/completions") @@ -233,7 +274,9 @@ def test_call_with_user_over_budget(prisma_client): print("result from user auth with new key", result) # update spend using track_cost callback, make 2nd request, it should fail - from litellm.proxy.proxy_server import track_cost_callback + from litellm.proxy.proxy_server import ( + _PROXY_track_cost_callback as track_cost_callback, + ) from litellm import ModelResponse, Choices, Message, Usage resp = ModelResponse( @@ -266,7 +309,7 @@ def test_call_with_user_over_budget(prisma_client): start_time=datetime.now(), end_time=datetime.now(), ) - + await asyncio.sleep(5) # use generated key to auth in result = await user_api_key_auth(request=request, api_key=bearer_token) print("result from user auth with new key", result) @@ -279,6 +322,173 @@ def test_call_with_user_over_budget(prisma_client): print(vars(e)) +def test_call_with_end_user_over_budget(prisma_client): + # Test if a user passed to /chat/completions is tracked & fails whe they cross their budget + # we only check this when litellm.max_user_budget is set + import random + + setattr(litellm.proxy.proxy_server, "prisma_client", prisma_client) + setattr(litellm.proxy.proxy_server, "master_key", "sk-1234") + setattr(litellm, "max_user_budget", 0.00001) + try: + + async def test(): + await litellm.proxy.proxy_server.prisma_client.connect() + request = GenerateKeyRequest() # create a key with no budget + key = await new_user(request) + print(key) + + generated_key = key.key + bearer_token = "Bearer " + generated_key + user = f"ishaan {random.randint(0, 10000)}" + request = Request(scope={"type": "http"}) + request._url = URL(url="/chat/completions") + + async def return_body(): + return_string = f'{{"model": "gemini-pro-vision", "user": "{user}"}}' + # return string as bytes + return return_string.encode() + + request.body = return_body + + # update spend using track_cost callback, make 2nd request, it should fail + from litellm.proxy.proxy_server import ( + _PROXY_track_cost_callback as track_cost_callback, + ) + from litellm import ModelResponse, Choices, Message, Usage + + resp = ModelResponse( + id="chatcmpl-e41836bb-bb8b-4df2-8e70-8f3e160155ac", + choices=[ + Choices( + finish_reason=None, + index=0, + message=Message( + content=" Sure! Here is a short poem about the sky:\n\nA canvas of blue, a", + role="assistant", + ), + ) + ], + model="gpt-35-turbo", # azure always has model written like this + usage=Usage(prompt_tokens=210, completion_tokens=200, total_tokens=410), + ) + await track_cost_callback( + kwargs={ + "stream": False, + "litellm_params": { + "metadata": { + "user_api_key": generated_key, + "user_api_key_user_id": user, + }, + "proxy_server_request": { + "user": user, + }, + }, + "response_cost": 10, + }, + completion_response=resp, + start_time=datetime.now(), + end_time=datetime.now(), + ) + await asyncio.sleep(5) + # use generated key to auth in + result = await user_api_key_auth(request=request, api_key=bearer_token) + print("result from user auth with new key", result) + pytest.fail(f"This should have failed!. They key crossed it's budget") + + asyncio.run(test()) + except Exception as e: + error_detail = e.message + assert "Authentication Error, ExceededBudget:" in error_detail + print(vars(e)) + + +def test_call_with_proxy_over_budget(prisma_client): + # 5.1 Make a call with a proxy over budget, expect to fail + setattr(litellm.proxy.proxy_server, "prisma_client", prisma_client) + setattr(litellm.proxy.proxy_server, "master_key", "sk-1234") + litellm_proxy_budget_name = f"litellm-proxy-budget-{time.time()}" + setattr( + litellm.proxy.proxy_server, + "litellm_proxy_budget_name", + litellm_proxy_budget_name, + ) + try: + + async def test(): + await litellm.proxy.proxy_server.prisma_client.connect() + ## CREATE PROXY + USER BUDGET ## + request = NewUserRequest( + max_budget=0.00001, user_id=litellm_proxy_budget_name + ) + await new_user(request) + request = NewUserRequest() + key = await new_user(request) + print(key) + + generated_key = key.key + user_id = key.user_id + bearer_token = "Bearer " + generated_key + + request = Request(scope={"type": "http"}) + request._url = URL(url="/chat/completions") + + # use generated key to auth in + result = await user_api_key_auth(request=request, api_key=bearer_token) + print("result from user auth with new key", result) + + # update spend using track_cost callback, make 2nd request, it should fail + from litellm.proxy.proxy_server import ( + _PROXY_track_cost_callback as track_cost_callback, + ) + from litellm import ModelResponse, Choices, Message, Usage + + resp = ModelResponse( + id="chatcmpl-e41836bb-bb8b-4df2-8e70-8f3e160155ac", + choices=[ + Choices( + finish_reason=None, + index=0, + message=Message( + content=" Sure! Here is a short poem about the sky:\n\nA canvas of blue, a", + role="assistant", + ), + ) + ], + model="gpt-35-turbo", # azure always has model written like this + usage=Usage(prompt_tokens=210, completion_tokens=200, total_tokens=410), + ) + await track_cost_callback( + kwargs={ + "stream": False, + "litellm_params": { + "metadata": { + "user_api_key": generated_key, + "user_api_key_user_id": user_id, + } + }, + "response_cost": 0.00002, + }, + completion_response=resp, + start_time=datetime.now(), + end_time=datetime.now(), + ) + await asyncio.sleep(5) + # use generated key to auth in + result = await user_api_key_auth(request=request, api_key=bearer_token) + print("result from user auth with new key", result) + pytest.fail(f"This should have failed!. They key crossed it's budget") + + asyncio.run(test()) + except Exception as e: + if hasattr(e, "message"): + error_detail = e.message + else: + error_detail = traceback.format_exc() + assert "Authentication Error, ExceededBudget:" in error_detail + print(vars(e)) + + def test_call_with_user_over_budget_stream(prisma_client): # 6. Make a call with a key over budget, expect to fail setattr(litellm.proxy.proxy_server, "prisma_client", prisma_client) @@ -308,7 +518,9 @@ def test_call_with_user_over_budget_stream(prisma_client): print("result from user auth with new key", result) # update spend using track_cost callback, make 2nd request, it should fail - from litellm.proxy.proxy_server import track_cost_callback + from litellm.proxy.proxy_server import ( + _PROXY_track_cost_callback as track_cost_callback, + ) from litellm import ModelResponse, Choices, Message, Usage resp = ModelResponse( @@ -342,7 +554,96 @@ def test_call_with_user_over_budget_stream(prisma_client): start_time=datetime.now(), end_time=datetime.now(), ) + await asyncio.sleep(5) + # use generated key to auth in + result = await user_api_key_auth(request=request, api_key=bearer_token) + print("result from user auth with new key", result) + pytest.fail(f"This should have failed!. They key crossed it's budget") + asyncio.run(test()) + except Exception as e: + error_detail = e.message + assert "Authentication Error, ExceededBudget:" in error_detail + print(vars(e)) + + +def test_call_with_proxy_over_budget_stream(prisma_client): + # 6.1 Make a call with a global proxy over budget, expect to fail + setattr(litellm.proxy.proxy_server, "prisma_client", prisma_client) + setattr(litellm.proxy.proxy_server, "master_key", "sk-1234") + litellm_proxy_budget_name = f"litellm-proxy-budget-{time.time()}" + setattr( + litellm.proxy.proxy_server, + "litellm_proxy_budget_name", + litellm_proxy_budget_name, + ) + from litellm._logging import verbose_proxy_logger + import logging + + litellm.set_verbose = True + verbose_proxy_logger.setLevel(logging.DEBUG) + try: + + async def test(): + await litellm.proxy.proxy_server.prisma_client.connect() + ## CREATE PROXY + USER BUDGET ## + request = NewUserRequest( + max_budget=0.00001, user_id=litellm_proxy_budget_name + ) + await new_user(request) + request = NewUserRequest() + key = await new_user(request) + print(key) + + generated_key = key.key + user_id = key.user_id + bearer_token = "Bearer " + generated_key + + request = Request(scope={"type": "http"}) + request._url = URL(url="/chat/completions") + + # use generated key to auth in + result = await user_api_key_auth(request=request, api_key=bearer_token) + print("result from user auth with new key", result) + + # update spend using track_cost callback, make 2nd request, it should fail + from litellm.proxy.proxy_server import ( + _PROXY_track_cost_callback as track_cost_callback, + ) + from litellm import ModelResponse, Choices, Message, Usage + + resp = ModelResponse( + id="chatcmpl-e41836bb-bb8b-4df2-8e70-8f3e160155ac", + choices=[ + Choices( + finish_reason=None, + index=0, + message=Message( + content=" Sure! Here is a short poem about the sky:\n\nA canvas of blue, a", + role="assistant", + ), + ) + ], + model="gpt-35-turbo", # azure always has model written like this + usage=Usage(prompt_tokens=210, completion_tokens=200, total_tokens=410), + ) + await track_cost_callback( + kwargs={ + "stream": True, + "complete_streaming_response": resp, + "litellm_params": { + "metadata": { + "user_api_key": generated_key, + "user_api_key_user_id": user_id, + } + }, + "response_cost": 0.00002, + }, + completion_response=ModelResponse(), + start_time=datetime.now(), + end_time=datetime.now(), + ) + await asyncio.sleep(5) # use generated key to auth in result = await user_api_key_auth(request=request, api_key=bearer_token) print("result from user auth with new key", result) @@ -430,6 +731,8 @@ def test_delete_key(prisma_client): async def test(): await litellm.proxy.proxy_server.prisma_client.connect() + from litellm.proxy.proxy_server import user_api_key_cache + request = NewUserRequest() key = await new_user(request) print(key) @@ -437,13 +740,19 @@ def test_delete_key(prisma_client): generated_key = key.key bearer_token = "Bearer " + generated_key - delete_key_request = DeleteKeyRequest(keys=[generated_key]) + delete_key_request = KeyRequest(keys=[generated_key]) # delete the key result_delete_key = await delete_key_fn(data=delete_key_request) print("result from delete key", result_delete_key) assert result_delete_key == {"deleted_keys": [generated_key]} + assert generated_key not in user_api_key_cache.in_memory_cache.cache_dict + assert ( + hash_token(generated_key) + not in user_api_key_cache.in_memory_cache.cache_dict + ) + asyncio.run(test()) except Exception as e: pytest.fail(f"An exception occurred - {str(e)}") @@ -460,6 +769,8 @@ def test_delete_key_auth(prisma_client): async def test(): await litellm.proxy.proxy_server.prisma_client.connect() + from litellm.proxy.proxy_server import user_api_key_cache + request = NewUserRequest() key = await new_user(request) print(key) @@ -467,7 +778,7 @@ def test_delete_key_auth(prisma_client): generated_key = key.key bearer_token = "Bearer " + generated_key - delete_key_request = DeleteKeyRequest(keys=[generated_key]) + delete_key_request = KeyRequest(keys=[generated_key]) # delete the key result_delete_key = await delete_key_fn(data=delete_key_request) @@ -478,6 +789,12 @@ def test_delete_key_auth(prisma_client): request = Request(scope={"type": "http"}, receive=None) request._url = URL(url="/chat/completions") + assert generated_key not in user_api_key_cache.in_memory_cache.cache_dict + assert ( + hash_token(generated_key) + not in user_api_key_cache.in_memory_cache.cache_dict + ) + # use generated key to auth in result = await user_api_key_auth(request=request, api_key=bearer_token) print("got result", result) @@ -522,7 +839,7 @@ def test_generate_and_call_key_info(prisma_client): } # cleanup - delete key - delete_key_request = DeleteKeyRequest(keys=[generated_key]) + delete_key_request = KeyRequest(keys=[generated_key]) # delete the key await delete_key_fn(data=delete_key_request) @@ -591,7 +908,7 @@ def test_generate_and_update_key(prisma_client): assert result["info"]["models"] == ["ada", "babbage", "curie", "davinci"] # cleanup - delete key - delete_key_request = DeleteKeyRequest(keys=[generated_key]) + delete_key_request = KeyRequest(keys=[generated_key]) # delete the key await delete_key_fn(data=delete_key_request) @@ -711,11 +1028,19 @@ def test_call_with_key_over_budget(prisma_client): print("result from user auth with new key", result) # update spend using track_cost callback, make 2nd request, it should fail - from litellm.proxy.proxy_server import track_cost_callback + from litellm.proxy.proxy_server import ( + _PROXY_track_cost_callback as track_cost_callback, + ) from litellm import ModelResponse, Choices, Message, Usage + from litellm.caching import Cache + + litellm.cache = Cache() + import time + + request_id = f"chatcmpl-e41836bb-bb8b-4df2-8e70-8f3e160155ac{time.time()}" resp = ModelResponse( - id="chatcmpl-e41836bb-bb8b-4df2-8e70-8f3e160155ac", + id=request_id, choices=[ Choices( finish_reason=None, @@ -731,10 +1056,11 @@ def test_call_with_key_over_budget(prisma_client): ) await track_cost_callback( kwargs={ + "model": "chatgpt-v-2", "stream": False, "litellm_params": { "metadata": { - "user_api_key": generated_key, + "user_api_key": hash_token(generated_key), "user_api_key_user_id": user_id, } }, @@ -744,6 +1070,22 @@ def test_call_with_key_over_budget(prisma_client): start_time=datetime.now(), end_time=datetime.now(), ) + await asyncio.sleep(10) + # test spend_log was written and we can read it + spend_logs = await view_spend_logs(request_id=request_id) + + print("read spend logs", spend_logs) + assert len(spend_logs) == 1 + + spend_log = spend_logs[0] + + assert spend_log.request_id == request_id + assert spend_log.spend == float("2e-05") + assert spend_log.model == "chatgpt-v-2" + assert ( + spend_log.cache_key + == "a61ae14fe4a8b8014a61e6ae01a100c8bc6770ac37c293242afed954bc69207d" + ) # use generated key to auth in result = await user_api_key_auth(request=request, api_key=bearer_token) @@ -752,12 +1094,87 @@ def test_call_with_key_over_budget(prisma_client): asyncio.run(test()) except Exception as e: + # print(f"Error - {str(e)}") + traceback.print_exc() error_detail = e.message assert "Authentication Error, ExceededTokenBudget:" in error_detail print(vars(e)) -def test_call_with_key_over_budget_stream(prisma_client): +@pytest.mark.asyncio() +async def test_call_with_key_never_over_budget(prisma_client): + # Make a call with a key with budget=None, it should never fail + setattr(litellm.proxy.proxy_server, "prisma_client", prisma_client) + setattr(litellm.proxy.proxy_server, "master_key", "sk-1234") + try: + await litellm.proxy.proxy_server.prisma_client.connect() + request = GenerateKeyRequest(max_budget=None) + key = await generate_key_fn(request) + print(key) + + generated_key = key.key + user_id = key.user_id + bearer_token = "Bearer " + generated_key + + request = Request(scope={"type": "http"}) + request._url = URL(url="/chat/completions") + + # use generated key to auth in + result = await user_api_key_auth(request=request, api_key=bearer_token) + print("result from user auth with new key", result) + + # update spend using track_cost callback, make 2nd request, it should fail + from litellm.proxy.proxy_server import ( + _PROXY_track_cost_callback as track_cost_callback, + ) + from litellm import ModelResponse, Choices, Message, Usage + import time + + request_id = f"chatcmpl-e41836bb-bb8b-4df2-8e70-8f3e160155ac{time.time()}" + + resp = ModelResponse( + id=request_id, + choices=[ + Choices( + finish_reason=None, + index=0, + message=Message( + content=" Sure! Here is a short poem about the sky:\n\nA canvas of blue, a", + role="assistant", + ), + ) + ], + model="gpt-35-turbo", # azure always has model written like this + usage=Usage( + prompt_tokens=210000, completion_tokens=200000, total_tokens=41000 + ), + ) + await track_cost_callback( + kwargs={ + "model": "chatgpt-v-2", + "stream": False, + "litellm_params": { + "metadata": { + "user_api_key": hash_token(generated_key), + "user_api_key_user_id": user_id, + } + }, + "response_cost": 200000, + }, + completion_response=resp, + start_time=datetime.now(), + end_time=datetime.now(), + ) + await asyncio.sleep(5) + # use generated key to auth in + result = await user_api_key_auth(request=request, api_key=bearer_token) + print("result from user auth with new key", result) + except Exception as e: + pytest.fail(f"This should have not failed!. They key uses max_budget=None. {e}") + + +@pytest.mark.asyncio() +async def test_call_with_key_over_budget_stream(prisma_client): # 14. Make a call with a key over budget, expect to fail setattr(litellm.proxy.proxy_server, "prisma_client", prisma_client) setattr(litellm.proxy.proxy_server, "master_key", "sk-1234") @@ -767,66 +1184,345 @@ def test_call_with_key_over_budget_stream(prisma_client): litellm.set_verbose = True verbose_proxy_logger.setLevel(logging.DEBUG) try: + await litellm.proxy.proxy_server.prisma_client.connect() + request = GenerateKeyRequest(max_budget=0.00001) + key = await generate_key_fn(request) + print(key) - async def test(): - await litellm.proxy.proxy_server.prisma_client.connect() - request = GenerateKeyRequest(max_budget=0.00001) - key = await generate_key_fn(request) - print(key) + generated_key = key.key + user_id = key.user_id + bearer_token = "Bearer " + generated_key - generated_key = key.key - user_id = key.user_id - bearer_token = "Bearer " + generated_key + request = Request(scope={"type": "http"}) + request._url = URL(url="/chat/completions") - request = Request(scope={"type": "http"}) - request._url = URL(url="/chat/completions") + # use generated key to auth in + result = await user_api_key_auth(request=request, api_key=bearer_token) + print("result from user auth with new key", result) - # use generated key to auth in - result = await user_api_key_auth(request=request, api_key=bearer_token) - print("result from user auth with new key", result) + # update spend using track_cost callback, make 2nd request, it should fail + from litellm.proxy.proxy_server import ( + _PROXY_track_cost_callback as track_cost_callback, + ) + from litellm import ModelResponse, Choices, Message, Usage + import time - # update spend using track_cost callback, make 2nd request, it should fail - from litellm.proxy.proxy_server import track_cost_callback - from litellm import ModelResponse, Choices, Message, Usage - - resp = ModelResponse( - id="chatcmpl-e41836bb-bb8b-4df2-8e70-8f3e160155ac", - choices=[ - Choices( - finish_reason=None, - index=0, - message=Message( - content=" Sure! Here is a short poem about the sky:\n\nA canvas of blue, a", - role="assistant", - ), - ) - ], - model="gpt-35-turbo", # azure always has model written like this - usage=Usage(prompt_tokens=210, completion_tokens=200, total_tokens=410), - ) - await track_cost_callback( - kwargs={ - "stream": True, - "complete_streaming_response": resp, - "litellm_params": { - "metadata": { - "user_api_key": generated_key, - "user_api_key_user_id": user_id, - } - }, - "response_cost": 0.00002, + request_id = f"chatcmpl-e41836bb-bb8b-4df2-8e70-8f3e160155ac{time.time()}" + resp = ModelResponse( + id=request_id, + choices=[ + Choices( + finish_reason=None, + index=0, + message=Message( + content=" Sure! Here is a short poem about the sky:\n\nA canvas of blue, a", + role="assistant", + ), + ) + ], + model="gpt-35-turbo", # azure always has model written like this + usage=Usage(prompt_tokens=210, completion_tokens=200, total_tokens=410), + ) + await track_cost_callback( + kwargs={ + "call_type": "acompletion", + "model": "sagemaker-chatgpt-v-2", + "stream": True, + "complete_streaming_response": resp, + "litellm_params": { + "metadata": { + "user_api_key": hash_token(generated_key), + "user_api_key_user_id": user_id, + } }, - completion_response=ModelResponse(), - start_time=datetime.now(), - end_time=datetime.now(), - ) - - # use generated key to auth in - result = await user_api_key_auth(request=request, api_key=bearer_token) - print("result from user auth with new key", result) - pytest.fail(f"This should have failed!. They key crossed it's budget") + "response_cost": 0.00005, + }, + completion_response=resp, + start_time=datetime.now(), + end_time=datetime.now(), + ) + await asyncio.sleep(5) + # use generated key to auth in + result = await user_api_key_auth(request=request, api_key=bearer_token) + print("result from user auth with new key", result) + pytest.fail(f"This should have failed!. They key crossed it's budget") except Exception as e: + print("Got Exception", e) error_detail = e.message assert "Authentication Error, ExceededTokenBudget:" in error_detail print(vars(e)) + + +@pytest.mark.asyncio() +async def test_view_spend_per_user(prisma_client): + setattr(litellm.proxy.proxy_server, "prisma_client", prisma_client) + setattr(litellm.proxy.proxy_server, "master_key", "sk-1234") + await litellm.proxy.proxy_server.prisma_client.connect() + try: + user_by_spend = await spend_user_fn(user_id=None) + assert type(user_by_spend) == list + assert len(user_by_spend) > 0 + first_user = user_by_spend[0] + + print("\nfirst_user=", first_user) + assert first_user.spend > 0 + except Exception as e: + print("Got Exception", e) + pytest.fail(f"Got exception {e}") + + +@pytest.mark.asyncio() +async def test_view_spend_per_key(prisma_client): + setattr(litellm.proxy.proxy_server, "prisma_client", prisma_client) + setattr(litellm.proxy.proxy_server, "master_key", "sk-1234") + await litellm.proxy.proxy_server.prisma_client.connect() + try: + key_by_spend = await spend_key_fn() + assert type(key_by_spend) == list + assert len(key_by_spend) > 0 + first_key = key_by_spend[0] + + print("\nfirst_key=", first_key) + assert first_key.spend > 0 + except Exception as e: + print("Got Exception", e) + pytest.fail(f"Got exception {e}") + + +@pytest.mark.asyncio() +async def test_key_name_null(prisma_client): + """ + - create key + - get key info + - assert key_name is null + """ + setattr(litellm.proxy.proxy_server, "prisma_client", prisma_client) + setattr(litellm.proxy.proxy_server, "master_key", "sk-1234") + setattr(litellm.proxy.proxy_server, "general_settings", {"allow_user_auth": False}) + await litellm.proxy.proxy_server.prisma_client.connect() + try: + request = GenerateKeyRequest() + key = await generate_key_fn(request) + generated_key = key.key + result = await info_key_fn(key=generated_key) + print("result from info_key_fn", result) + assert result["info"]["key_name"] is None + except Exception as e: + print("Got Exception", e) + pytest.fail(f"Got exception {e}") + + +@pytest.mark.asyncio() +async def test_key_name_set(prisma_client): + """ + - create key + - get key info + - assert key_name is not null + """ + setattr(litellm.proxy.proxy_server, "prisma_client", prisma_client) + setattr(litellm.proxy.proxy_server, "master_key", "sk-1234") + setattr(litellm.proxy.proxy_server, "general_settings", {"allow_user_auth": True}) + await litellm.proxy.proxy_server.prisma_client.connect() + try: + request = GenerateKeyRequest() + key = await generate_key_fn(request) + generated_key = key.key + result = await info_key_fn(key=generated_key) + print("result from info_key_fn", result) + assert isinstance(result["info"]["key_name"], str) + except Exception as e: + print("Got Exception", e) + pytest.fail(f"Got exception {e}") + + +@pytest.mark.asyncio() +async def test_default_key_params(prisma_client): + """ + - create key + - get key info + - assert key_name is not null + """ + setattr(litellm.proxy.proxy_server, "prisma_client", prisma_client) + setattr(litellm.proxy.proxy_server, "master_key", "sk-1234") + setattr(litellm.proxy.proxy_server, "general_settings", {"allow_user_auth": True}) + litellm.default_key_generate_params = {"max_budget": 0.000122} + await litellm.proxy.proxy_server.prisma_client.connect() + try: + request = GenerateKeyRequest() + key = await generate_key_fn(request) + generated_key = key.key + result = await info_key_fn(key=generated_key) + print("result from info_key_fn", result) + assert result["info"]["max_budget"] == 0.000122 + except Exception as e: + print("Got Exception", e) + pytest.fail(f"Got exception {e}") + + +@pytest.mark.asyncio() +async def test_upperbound_key_params(prisma_client): + """ + - create key + - get key info + - assert key_name is not null + """ + setattr(litellm.proxy.proxy_server, "prisma_client", prisma_client) + setattr(litellm.proxy.proxy_server, "master_key", "sk-1234") + litellm.upperbound_key_generate_params = { + "max_budget": 0.001, + "budget_duration": "1m", + } + await litellm.proxy.proxy_server.prisma_client.connect() + try: + request = GenerateKeyRequest( + max_budget=200000, + budget_duration="30d", + ) + key = await generate_key_fn(request) + generated_key = key.key + + result = await info_key_fn(key=generated_key) + key_info = result["info"] + # assert it used the upper bound for max_budget, and budget_duration + assert key_info["max_budget"] == 0.001 + assert key_info["budget_duration"] == "1m" + + print(result) + except Exception as e: + print("Got Exception", e) + pytest.fail(f"Got exception {e}") + + +def test_get_bearer_token(): + from litellm.proxy.proxy_server import _get_bearer_token + + # Test valid Bearer token + api_key = "Bearer valid_token" + result = _get_bearer_token(api_key) + assert result == "valid_token", f"Expected 'valid_token', got '{result}'" + + # Test empty API key + api_key = "" + result = _get_bearer_token(api_key) + assert result == "", f"Expected '', got '{result}'" + + # Test API key without Bearer prefix + api_key = "invalid_token" + result = _get_bearer_token(api_key) + assert result == "", f"Expected '', got '{result}'" + + # Test API key with Bearer prefix in lowercase + api_key = "bearer valid_token" + result = _get_bearer_token(api_key) + assert result == "", f"Expected '', got '{result}'" + + # Test API key with Bearer prefix and extra spaces + api_key = " Bearer valid_token " + result = _get_bearer_token(api_key) + assert result == "", f"Expected '', got '{result}'" + + # Test API key with Bearer prefix and no token + api_key = "Bearer sk-1234" + result = _get_bearer_token(api_key) + assert result == "sk-1234", f"Expected 'valid_token', got '{result}'" + + +@pytest.mark.asyncio +async def test_user_api_key_auth(prisma_client): + from litellm.proxy.proxy_server import ProxyException + + setattr(litellm.proxy.proxy_server, "prisma_client", prisma_client) + setattr(litellm.proxy.proxy_server, "master_key", "sk-1234") + setattr(litellm.proxy.proxy_server, "general_settings", {"allow_user_auth": True}) + await litellm.proxy.proxy_server.prisma_client.connect() + + request = Request(scope={"type": "http"}) + request._url = URL(url="/chat/completions") + # Test case: No API Key passed in + try: + await user_api_key_auth(request, api_key=None) + pytest.fail(f"This should have failed!. IT's an invalid key") + except ProxyException as exc: + print(exc.message) + assert exc.message == "Authentication Error, No api key passed in." + + # Test case: Malformed API Key (missing 'Bearer ' prefix) + try: + await user_api_key_auth(request, api_key="my_token") + pytest.fail(f"This should have failed!. IT's an invalid key") + except ProxyException as exc: + print(exc.message) + assert ( + exc.message + == "Authentication Error, Malformed API Key passed in. Ensure Key has `Bearer ` prefix. Passed in: my_token" + ) + + # Test case: User passes empty string API Key + try: + await user_api_key_auth(request, api_key="") + pytest.fail(f"This should have failed!. IT's an invalid key") + except ProxyException as exc: + print(exc.message) + assert ( + exc.message + == "Authentication Error, Malformed API Key passed in. Ensure Key has `Bearer ` prefix. Passed in: " + ) + + +@pytest.mark.asyncio +async def test_user_api_key_auth_without_master_key(prisma_client): + # if master key is not set, expect all calls to go through + try: + from litellm.proxy.proxy_server import ProxyException + + setattr(litellm.proxy.proxy_server, "prisma_client", prisma_client) + setattr(litellm.proxy.proxy_server, "master_key", None) + setattr( + litellm.proxy.proxy_server, "general_settings", {"allow_user_auth": True} + ) + await litellm.proxy.proxy_server.prisma_client.connect() + + request = Request(scope={"type": "http"}) + request._url = URL(url="/chat/completions") + # Test case: No API Key passed in + + await user_api_key_auth(request, api_key=None) + await user_api_key_auth(request, api_key="my_token") + await user_api_key_auth(request, api_key="") + await user_api_key_auth(request, api_key="Bearer " + "1234") + except Exception as e: + print("Got Exception", e) + pytest.fail(f"Got exception {e}") + + +@pytest.mark.asyncio +async def test_key_with_no_permissions(prisma_client): + """ + - create key + - get key info + - assert key_name is null + """ + setattr(litellm.proxy.proxy_server, "prisma_client", prisma_client) + setattr(litellm.proxy.proxy_server, "master_key", "sk-1234") + setattr(litellm.proxy.proxy_server, "general_settings", {"allow_user_auth": False}) + await litellm.proxy.proxy_server.prisma_client.connect() + try: + response = await generate_key_helper_fn( + **{"duration": "1hr", "key_max_budget": 0, "models": [], "aliases": {}, "config": {}, "spend": 0, "user_id": "ishaan", "team_id": "litellm-dashboard"} # type: ignore + ) + + print(response) + key = response["token"] + + # make a /chat/completions call -> it should fail + request = Request(scope={"type": "http"}) + request._url = URL(url="/chat/completions") + + # use generated key to auth in + result = await user_api_key_auth(request=request, api_key="Bearer " + key) + print("result from user auth with new key", result) + pytest.fail(f"This should have failed!. IT's an invalid key") + except Exception as e: + print("Got Exception", e) + print(e.message) diff --git a/litellm/tests/test_load_test_router_s3.py b/litellm/tests/test_load_test_router_s3.py new file mode 100644 index 00000000000..ed3df5f5d1a --- /dev/null +++ b/litellm/tests/test_load_test_router_s3.py @@ -0,0 +1,94 @@ +# import sys, os +# import traceback +# from dotenv import load_dotenv +# import copy + +# load_dotenv() +# sys.path.insert( +# 0, os.path.abspath("../..") +# ) # Adds the parent directory to the system path +# import asyncio +# from litellm import Router, Timeout +# import time +# from litellm.caching import Cache +# import litellm + +# litellm.cache = Cache( +# type="s3", s3_bucket_name="cache-bucket-litellm", s3_region_name="us-west-2" +# ) + +# ### Test calling router with s3 Cache + + +# async def call_acompletion(semaphore, router: Router, input_data): +# async with semaphore: +# try: +# # Use asyncio.wait_for to set a timeout for the task +# response = await router.acompletion(**input_data) +# # Handle the response as needed +# print(response) +# return response +# except Timeout: +# print(f"Task timed out: {input_data}") +# return None # You may choose to return something else or raise an exception + + +# async def main(): +# # Initialize the Router +# model_list = [ +# { +# "model_name": "gpt-3.5-turbo", +# "litellm_params": { +# "model": "gpt-3.5-turbo", +# "api_key": os.getenv("OPENAI_API_KEY"), +# }, +# }, +# { +# "model_name": "gpt-3.5-turbo", +# "litellm_params": { +# "model": "azure/chatgpt-v-2", +# "api_key": os.getenv("AZURE_API_KEY"), +# "api_base": os.getenv("AZURE_API_BASE"), +# "api_version": os.getenv("AZURE_API_VERSION"), +# }, +# }, +# ] +# router = Router(model_list=model_list, num_retries=3, timeout=10) + +# # Create a semaphore with a capacity of 100 +# semaphore = asyncio.Semaphore(100) + +# # List to hold all task references +# tasks = [] +# start_time_all_tasks = time.time() +# # Launch 1000 tasks +# for _ in range(500): +# task = asyncio.create_task( +# call_acompletion( +# semaphore, +# router, +# { +# "model": "gpt-3.5-turbo", +# "messages": [{"role": "user", "content": "Hey, how's it going?"}], +# }, +# ) +# ) +# tasks.append(task) + +# # Wait for all tasks to complete +# responses = await asyncio.gather(*tasks) +# # Process responses as needed +# # Record the end time for all tasks +# end_time_all_tasks = time.time() +# # Calculate the total time for all tasks +# total_time_all_tasks = end_time_all_tasks - start_time_all_tasks +# print(f"Total time for all tasks: {total_time_all_tasks} seconds") + +# # Calculate the average time per response +# average_time_per_response = total_time_all_tasks / len(responses) +# print(f"Average time per response: {average_time_per_response} seconds") +# print(f"NUMBER OF COMPLETED TASKS: {len(responses)}") + + +# # Run the main function +# asyncio.run(main()) diff --git a/litellm/tests/test_loadtest_router.py b/litellm/tests/test_loadtest_router.py index fc3a7c5ad4b..a12a45b514f 100644 --- a/litellm/tests/test_loadtest_router.py +++ b/litellm/tests/test_loadtest_router.py @@ -9,6 +9,7 @@ # ) # Adds the parent directory to the system path # import asyncio # from litellm import Router, Timeout +# import time # async def call_acompletion(semaphore, router: Router, input_data): @@ -17,6 +18,7 @@ # # Use asyncio.wait_for to set a timeout for the task # response = await router.acompletion(**input_data) # # Handle the response as needed +# print(response) # return response # except Timeout: # print(f"Task timed out: {input_data}") @@ -42,15 +44,6 @@ # "api_version": os.getenv("AZURE_API_VERSION"), # }, # }, -# { -# "model_name": "gpt-3.5-turbo", -# "litellm_params": { -# "model": "azure/chatgpt-functioncalling", -# "api_key": os.getenv("AZURE_API_KEY"), -# "api_base": os.getenv("AZURE_API_BASE"), -# "api_version": os.getenv("AZURE_API_VERSION"), -# }, -# }, # ] # router = Router(model_list=model_list, num_retries=3, timeout=10) @@ -59,9 +52,9 @@ # # List to hold all task references # tasks = [] - +# start_time_all_tasks = time.time() # # Launch 1000 tasks -# for _ in range(1000): +# for _ in range(500): # task = asyncio.create_task( # call_acompletion( # semaphore, @@ -77,6 +70,15 @@ # # Wait for all tasks to complete # responses = await asyncio.gather(*tasks) # # Process responses as needed +# # Record the end time for all tasks +# end_time_all_tasks = time.time() +# # Calculate the total time for all tasks +# total_time_all_tasks = end_time_all_tasks - start_time_all_tasks +# print(f"Total time for all tasks: {total_time_all_tasks} seconds") + +# # Calculate the average time per response +# average_time_per_response = total_time_all_tasks / len(responses) +# print(f"Average time per response: {average_time_per_response} seconds") # print(f"NUMBER OF COMPLETED TASKS: {len(responses)}") diff --git a/litellm/tests/test_model_max_token_adjust.py b/litellm/tests/test_model_max_token_adjust.py new file mode 100644 index 00000000000..b4d48b5e28e --- /dev/null +++ b/litellm/tests/test_model_max_token_adjust.py @@ -0,0 +1,28 @@ +# What this tests? +## Tests if max tokens get adjusted, if over limit + +import sys, os, time +import traceback, asyncio +import pytest + +sys.path.insert( + 0, os.path.abspath("../..") +) # Adds the parent directory to the system path +import litellm +from litellm import completion + + +def test_completion_sagemaker(): + litellm.set_verbose = True + litellm.drop_params = True + response = completion( + model="sagemaker/berri-benchmarking-Llama-2-70b-chat-hf-4", + messages=[{"content": "Hello, how are you?", "role": "user"}], + temperature=0.2, + max_tokens=80000, + hf_model_name="meta-llama/Llama-2-70b-chat-hf", + ) + print(f"response: {response}") + + +# test_completion_sagemaker() diff --git a/litellm/tests/test_multiple_deployments.py b/litellm/tests/test_multiple_deployments.py index 0a79cb51832..1c34cc57451 100644 --- a/litellm/tests/test_multiple_deployments.py +++ b/litellm/tests/test_multiple_deployments.py @@ -25,7 +25,7 @@ model_list = [ { "model_name": "mistral-7b-instruct", "litellm_params": { # params for litellm completion/embedding call - "model": "together_ai/mistralai/Mistral-7B-Instruct-v0.1", + "model": "together_ai/mistralai/Mixtral-8x7B-Instruct-v0.1", "api_key": os.getenv("TOGETHERAI_API_KEY"), }, }, diff --git a/litellm/tests/test_parallel_request_limiter.py b/litellm/tests/test_parallel_request_limiter.py index 384044c9c6e..17d79c36c9b 100644 --- a/litellm/tests/test_parallel_request_limiter.py +++ b/litellm/tests/test_parallel_request_limiter.py @@ -18,7 +18,9 @@ from litellm import Router from litellm.proxy.utils import ProxyLogging from litellm.proxy._types import UserAPIKeyAuth from litellm.caching import DualCache -from litellm.proxy.hooks.parallel_request_limiter import MaxParallelRequestsHandler +from litellm.proxy.hooks.parallel_request_limiter import ( + _PROXY_MaxParallelRequestsHandler as MaxParallelRequestsHandler, +) from datetime import datetime ## On Request received @@ -290,6 +292,7 @@ async def test_normal_router_call(): model="azure-model", messages=[{"role": "user", "content": "Hey, how's it going?"}], metadata={"user_api_key": _api_key}, + mock_response="hello", ) await asyncio.sleep(1) # success is done in a separate thread print(f"response: {response}") @@ -304,6 +307,10 @@ async def test_normal_router_call(): @pytest.mark.asyncio async def test_normal_router_tpm_limit(): + from litellm._logging import verbose_proxy_logger + import logging + + verbose_proxy_logger.setLevel(level=logging.DEBUG) model_list = [ { "model_name": "azure-model", @@ -351,6 +358,7 @@ async def test_normal_router_tpm_limit(): current_minute = datetime.now().strftime("%M") precise_minute = f"{current_date}-{current_hour}-{current_minute}" request_count_api_key = f"{_api_key}::{precise_minute}::request_count" + print("Test: Checking current_requests for precise_minute=", precise_minute) assert ( parallel_request_handler.user_api_key_cache.get_cache( @@ -364,20 +372,21 @@ async def test_normal_router_tpm_limit(): model="azure-model", messages=[{"role": "user", "content": "Write me a paragraph on the moon"}], metadata={"user_api_key": _api_key}, + mock_response="hello", ) await asyncio.sleep(1) # success is done in a separate thread print(f"response: {response}") try: - await parallel_request_handler.async_pre_call_hook( - user_api_key_dict=user_api_key_dict, - cache=local_cache, - data={}, - call_type="", + assert ( + parallel_request_handler.user_api_key_cache.get_cache( + key=request_count_api_key + )["current_tpm"] + > 0 ) - pytest.fail(f"Expected call to fail") except Exception as e: + print("Exception on test_normal_router_tpm_limit", e) assert e.status_code == 429 @@ -442,6 +451,7 @@ async def test_streaming_router_call(): messages=[{"role": "user", "content": "Hey, how's it going?"}], stream=True, metadata={"user_api_key": _api_key}, + mock_response="hello", ) async for chunk in response: continue @@ -456,6 +466,7 @@ async def test_streaming_router_call(): @pytest.mark.asyncio async def test_streaming_router_tpm_limit(): + litellm.set_verbose = True model_list = [ { "model_name": "azure-model", @@ -517,22 +528,18 @@ async def test_streaming_router_tpm_limit(): messages=[{"role": "user", "content": "Write me a paragraph on the moon"}], stream=True, metadata={"user_api_key": _api_key}, + mock_response="hello", ) async for chunk in response: continue - await asyncio.sleep(1) # success is done in a separate thread + await asyncio.sleep(5) # success is done in a separate thread - try: - await parallel_request_handler.async_pre_call_hook( - user_api_key_dict=user_api_key_dict, - cache=local_cache, - data={}, - call_type="", - ) - - pytest.fail(f"Expected call to fail") - except Exception as e: - assert e.status_code == 429 + assert ( + parallel_request_handler.user_api_key_cache.get_cache( + key=request_count_api_key + )["current_tpm"] + > 0 + ) @pytest.mark.asyncio diff --git a/litellm/tests/test_proxy_custom_auth.py b/litellm/tests/test_proxy_custom_auth.py index b6b833e173e..55ab456245a 100644 --- a/litellm/tests/test_proxy_custom_auth.py +++ b/litellm/tests/test_proxy_custom_auth.py @@ -65,3 +65,30 @@ def test_custom_auth(client): assert e.code == 401 assert e.message == "Authentication Error, Failed custom auth" pass + + +def test_custom_auth_bearer(client): + try: + # Your test data + test_data = { + "model": "openai-model", + "messages": [ + {"role": "user", "content": "hi"}, + ], + "max_tokens": 10, + } + # Your bearer token + token = os.getenv("PROXY_MASTER_KEY") + + headers = {"Authorization": f"WITHOUT BEAR Er {token}"} + response = client.post("/chat/completions", json=test_data, headers=headers) + pytest.fail("LiteLLM Proxy test failed. This request should have been rejected") + except Exception as e: + print(vars(e)) + print("got an exception") + assert e.code == 401 + assert ( + e.message + == "Authentication Error, CustomAuth - Malformed API Key passed in. Ensure Key has `Bearer` prefix" + ) + pass diff --git a/litellm/tests/test_proxy_exception_mapping.py b/litellm/tests/test_proxy_exception_mapping.py index cab26f319ed..a2c7952586c 100644 --- a/litellm/tests/test_proxy_exception_mapping.py +++ b/litellm/tests/test_proxy_exception_mapping.py @@ -139,7 +139,7 @@ def test_exception_openai_bad_model(client): response=response ) print("Type of exception=", type(openai_exception)) - assert isinstance(openai_exception, openai.NotFoundError) + assert isinstance(openai_exception, openai.BadRequestError) except Exception as e: pytest.fail(f"LiteLLM Proxy test failed. Exception {str(e)}") @@ -160,7 +160,6 @@ def test_chat_completion_exception_any_model(client): response = client.post("/chat/completions", json=test_data) json_response = response.json() - print("keys in json response", json_response.keys()) assert json_response.keys() == {"error"} # make an openai client to call _make_status_error_from_response diff --git a/litellm/tests/test_proxy_pass_user_config.py b/litellm/tests/test_proxy_pass_user_config.py index 30fa1eeb119..12def1160f4 100644 --- a/litellm/tests/test_proxy_pass_user_config.py +++ b/litellm/tests/test_proxy_pass_user_config.py @@ -32,7 +32,7 @@ from litellm.proxy.proxy_server import ( ) # Replace with the actual module where your FastAPI router is defined # Your bearer token -token = "" +token = "sk-1234" headers = {"Authorization": f"Bearer {token}"} diff --git a/litellm/tests/test_proxy_server.py b/litellm/tests/test_proxy_server.py index 972c4a583af..70fef0e064e 100644 --- a/litellm/tests/test_proxy_server.py +++ b/litellm/tests/test_proxy_server.py @@ -31,7 +31,7 @@ from litellm.proxy.proxy_server import ( ) # Replace with the actual module where your FastAPI router is defined # Your bearer token -token = "" +token = "sk-1234" headers = {"Authorization": f"Bearer {token}"} @@ -225,9 +225,6 @@ def test_health(client_no_auth): try: response = client_no_auth.get("/health") assert response.status_code == 200 - result = response.json() - print("\n response from health:", result) - assert result["unhealthy_count"] == 0 except Exception as e: pytest.fail(f"LiteLLM Proxy test failed. Exception - {str(e)}") diff --git a/litellm/tests/test_proxy_server_caching.py b/litellm/tests/test_proxy_server_caching.py index a1935bd05ba..a9cf3504e43 100644 --- a/litellm/tests/test_proxy_server_caching.py +++ b/litellm/tests/test_proxy_server_caching.py @@ -33,7 +33,7 @@ from litellm.proxy.proxy_server import ( ) # Replace with the actual module where your FastAPI router is defined # Your bearer token -token = "" +token = "sk-1234" headers = {"Authorization": f"Bearer {token}"} diff --git a/litellm/tests/test_router_init.py b/litellm/tests/test_router_init.py index ec15cdd6e21..5fa1420538e 100644 --- a/litellm/tests/test_router_init.py +++ b/litellm/tests/test_router_init.py @@ -387,3 +387,56 @@ def test_router_init_gpt_4_vision_enhancements(): print("passed") except Exception as e: pytest.fail(f"Error occurred: {e}") + + +def test_openai_with_organization(): + try: + print("Testing OpenAI with organization") + model_list = [ + { + "model_name": "openai-bad-org", + "litellm_params": { + "model": "gpt-3.5-turbo", + "organization": "org-ikDc4ex8NB", + }, + }, + { + "model_name": "openai-good-org", + "litellm_params": {"model": "gpt-3.5-turbo"}, + }, + ] + + router = Router(model_list=model_list) + + print(router.model_list) + print(router.model_list[0]) + + openai_client = router._get_client( + deployment=router.model_list[0], + kwargs={"input": ["hello"], "model": "openai-bad-org"}, + ) + print(vars(openai_client)) + + assert openai_client.organization == "org-ikDc4ex8NB" + + # bad org raises error + + try: + response = router.completion( + model="openai-bad-org", + messages=[{"role": "user", "content": "this is a test"}], + ) + pytest.fail("Request should have failed - This organization does not exist") + except Exception as e: + print("Got exception: " + str(e)) + assert "No such organization: org-ikDc4ex8NB" in str(e) + + # good org works + response = router.completion( + model="openai-good-org", + messages=[{"role": "user", "content": "this is a test"}], + max_tokens=5, + ) + + except Exception as e: + pytest.fail(f"Error occurred: {e}") diff --git a/litellm/tests/test_router_timeout.py b/litellm/tests/test_router_timeout.py new file mode 100644 index 00000000000..b22683c41e1 --- /dev/null +++ b/litellm/tests/test_router_timeout.py @@ -0,0 +1,131 @@ +#### What this tests #### +# This tests if the router timeout error handling during fallbacks + +import sys, os, time +import traceback, asyncio +import pytest + +sys.path.insert( + 0, os.path.abspath("../..") +) # Adds the parent directory to the system path + + +import os + +import litellm +from litellm import Router +from dotenv import load_dotenv + +load_dotenv() + + +def test_router_timeouts(): + # Model list for OpenAI and Anthropic models + model_list = [ + { + "model_name": "openai-gpt-4", + "litellm_params": { + "model": "azure/chatgpt-v-2", + "api_key": "os.environ/AZURE_API_KEY", + "api_base": "os.environ/AZURE_API_BASE", + "api_version": "os.environ/AZURE_API_VERSION", + }, + "tpm": 80000, + }, + { + "model_name": "anthropic-claude-instant-1.2", + "litellm_params": { + "model": "claude-instant-1", + "api_key": "os.environ/ANTHROPIC_API_KEY", + }, + "tpm": 20000, + }, + ] + + fallbacks_list = [ + {"openai-gpt-4": ["anthropic-claude-instant-1.2"]}, + ] + + # Configure router + router = Router( + model_list=model_list, + fallbacks=fallbacks_list, + routing_strategy="usage-based-routing", + debug_level="INFO", + set_verbose=True, + redis_host=os.getenv("REDIS_HOST"), + redis_password=os.getenv("REDIS_PASSWORD"), + redis_port=int(os.getenv("REDIS_PORT")), + timeout=10, + ) + + print("***** TPM SETTINGS *****") + for model_object in model_list: + print(f"{model_object['model_name']}: {model_object['tpm']} TPM") + + # Sample list of questions + questions_list = [ + {"content": "Tell me a very long joke.", "modality": "voice"}, + ] + + total_tokens_used = 0 + + # Process each question + for question in questions_list: + messages = [{"content": question["content"], "role": "user"}] + + prompt_tokens = litellm.token_counter(text=question["content"], model="gpt-4") + print("prompt_tokens = ", prompt_tokens) + + response = router.completion( + model="openai-gpt-4", messages=messages, timeout=5, num_retries=0 + ) + + total_tokens_used += response.usage.total_tokens + + print("Response:", response) + print("********** TOKENS USED SO FAR = ", total_tokens_used) + + +@pytest.mark.asyncio +async def test_router_timeouts_bedrock(): + import openai + + # Model list for OpenAI and Anthropic models + model_list = [ + { + "model_name": "bedrock", + "litellm_params": { + "model": "bedrock/anthropic.claude-instant-v1", + "timeout": 0.001, + }, + "tpm": 80000, + }, + ] + + # Configure router + router = Router( + model_list=model_list, + routing_strategy="usage-based-routing", + debug_level="DEBUG", + set_verbose=True, + ) + + litellm.set_verbose = True + try: + response = await router.acompletion( + model="bedrock", + messages=[{"role": "user", "content": "hello, who are u"}], + ) + print(response) + pytest.fail("Did not raise error `openai.APITimeoutError`") + except openai.APITimeoutError as e: + print( + "Passed: Raised correct exception. Got openai.APITimeoutError\nGood Job", e + ) + print(type(e)) + pass + except Exception as e: + pytest.fail( + f"Did not raise error `openai.APITimeoutError`. Instead raised error type: {type(e)}, Error: {e}" + ) diff --git a/litellm/tests/test_rules.py b/litellm/tests/test_rules.py index 0c1b573b8e1..7e7a984a919 100644 --- a/litellm/tests/test_rules.py +++ b/litellm/tests/test_rules.py @@ -58,6 +58,18 @@ def my_post_call_rule(input: str): return {"decision": True} +def my_post_call_rule_2(input: str): + input = input.lower() + print(f"input: {input}") + print(f"INSIDE MY POST CALL RULE, len(input) - {len(input)}") + if len(input) < 200 and len(input) > 0: + return { + "decision": False, + "message": "This violates LiteLLM Proxy Rules. Response too short", + } + return {"decision": True} + + # test_pre_call_rule() # Test 2: Post-call rule # commenting out of ci/cd since llm's have variable output which was causing our pipeline to fail erratically. @@ -94,3 +106,24 @@ def test_post_call_rule(): # test_post_call_rule() + + +def test_post_call_rule_streaming(): + try: + litellm.pre_call_rules = [] + litellm.post_call_rules = [my_post_call_rule_2] + ### completion + response = completion( + model="gpt-3.5-turbo", + messages=[{"role": "user", "content": "say sorry"}], + max_tokens=2, + stream=True, + ) + for chunk in response: + print(f"chunk: {chunk}") + pytest.fail(f"Completion call should have been failed. ") + except Exception as e: + print("Got exception", e) + print(type(e)) + print(vars(e)) + assert e.message == "This violates LiteLLM Proxy Rules. Response too short" diff --git a/litellm/tests/test_s3_logs.py b/litellm/tests/test_s3_logs.py deleted file mode 100644 index a5347fb084d..00000000000 --- a/litellm/tests/test_s3_logs.py +++ /dev/null @@ -1,118 +0,0 @@ -import sys -import os -import io, asyncio - -# import logging -# logging.basicConfig(level=logging.DEBUG) -sys.path.insert(0, os.path.abspath("../..")) - -from litellm import completion -import litellm - -litellm.num_retries = 3 - -import time, random -import pytest - - -def test_s3_logging(): - # all s3 requests need to be in one test function - # since we are modifying stdout, and pytests runs tests in parallel - # on circle ci - we only test litellm.acompletion() - try: - # redirect stdout to log_file - litellm.cache = litellm.Cache( - type="s3", s3_bucket_name="cache-bucket-litellm", s3_region_name="us-west-2" - ) - - litellm.success_callback = ["s3"] - litellm.s3_callback_params = { - "s3_bucket_name": "litellm-logs", - "s3_aws_secret_access_key": "os.environ/AWS_SECRET_ACCESS_KEY", - "s3_aws_access_key_id": "os.environ/AWS_ACCESS_KEY_ID", - } - litellm.set_verbose = True - - print("Testing async s3 logging") - - expected_keys = [] - - import time - - curr_time = str(time.time()) - - async def _test(): - return await litellm.acompletion( - model="gpt-3.5-turbo", - messages=[{"role": "user", "content": f"This is a test {curr_time}"}], - max_tokens=10, - temperature=0.7, - user="ishaan-2", - ) - - response = asyncio.run(_test()) - print(f"response: {response}") - expected_keys.append(response.id) - - async def _test(): - return await litellm.acompletion( - model="gpt-3.5-turbo", - messages=[{"role": "user", "content": f"This is a test {curr_time}"}], - max_tokens=10, - temperature=0.7, - user="ishaan-2", - ) - - response = asyncio.run(_test()) - expected_keys.append(response.id) - print(f"response: {response}") - - import boto3 - - s3 = boto3.client("s3") - bucket_name = "litellm-logs" - # List objects in the bucket - response = s3.list_objects(Bucket=bucket_name) - - # Sort the objects based on the LastModified timestamp - objects = sorted( - response["Contents"], key=lambda x: x["LastModified"], reverse=True - ) - # Get the keys of the most recent objects - most_recent_keys = [obj["Key"] for obj in objects] - print(most_recent_keys) - # for each key, get the part before "-" as the key. Do it safely - cleaned_keys = [] - for key in most_recent_keys: - split_key = key.split("-time=") - cleaned_keys.append(split_key[0]) - print("\n most recent keys", most_recent_keys) - print("\n cleaned keys", cleaned_keys) - print("\n Expected keys: ", expected_keys) - matches = 0 - for key in expected_keys: - assert key in cleaned_keys - - if key in cleaned_keys: - matches += 1 - # remove the match key - cleaned_keys.remove(key) - # this asserts we log, the first request + the 2nd cached request - print("we had two matches ! passed ", matches) - assert matches == 2 - try: - # cleanup s3 bucket in test - for key in most_recent_keys: - s3.delete_object(Bucket=bucket_name, Key=key) - except: - # don't let cleanup fail a test - pass - except Exception as e: - pytest.fail(f"An exception occurred - {e}") - finally: - # post, close log file and verify - # Reset stdout to the original value - print("Passed! Testing async s3 logging") - - -test_s3_logging() diff --git a/litellm/tests/test_streaming.py b/litellm/tests/test_streaming.py index 14b1a721030..28a9f9902e9 100644 --- a/litellm/tests/test_streaming.py +++ b/litellm/tests/test_streaming.py @@ -92,6 +92,7 @@ def validate_second_format(chunk): for choice in chunk["choices"]: assert isinstance(choice["index"], int), "'index' should be an integer." + assert "role" not in choice["delta"], "'role' should be a string." # openai v1.0.0 returns content as None assert (choice["finish_reason"] is None) or isinstance( choice["finish_reason"], str @@ -464,6 +465,7 @@ def test_completion_mistral_api_stream(): def test_completion_deep_infra_stream(): # deep infra currently includes role in the 2nd chunk # waiting for them to make a fix on this + litellm.set_verbose = True try: messages = [ {"role": "system", "content": "You are a helpful assistant."}, @@ -847,9 +849,13 @@ def test_sagemaker_weird_response(): logging_obj=logging_obj, ) complete_response = "" - for chunk in response: - print(chunk) - complete_response += chunk["choices"][0]["delta"]["content"] + for idx, chunk in enumerate(response): + # print + chunk, finished = streaming_format_tests(idx, chunk) + has_finish_reason = finished + complete_response += chunk + if finished: + break assert len(complete_response) > 0 except Exception as e: pytest.fail(f"An exception occurred - {str(e)}") @@ -872,41 +878,53 @@ async def test_sagemaker_streaming_async(): ) # Add any assertions here to check the response + print(response) complete_response = "" + has_finish_reason = False + # Add any assertions here to check the response + idx = 0 async for chunk in response: - complete_response += chunk.choices[0].delta.content or "" - print(f"complete_response: {complete_response}") - assert len(complete_response) > 0 + # print + chunk, finished = streaming_format_tests(idx, chunk) + has_finish_reason = finished + complete_response += chunk + if finished: + break + idx += 1 + if has_finish_reason is False: + raise Exception("finish reason not set for last chunk") + if complete_response.strip() == "": + raise Exception("Empty response received") + print(f"completion_response: {complete_response}") except Exception as e: pytest.fail(f"An exception occurred - {str(e)}") -# def test_completion_sagemaker_stream(): -# try: -# response = completion( -# model="sagemaker/jumpstart-dft-meta-textgeneration-llama-2-7b", -# messages=messages, -# temperature=0.2, -# max_tokens=80, -# stream=True, -# ) -# complete_response = "" -# has_finish_reason = False -# # Add any assertions here to check the response -# for idx, chunk in enumerate(response): -# chunk, finished = streaming_format_tests(idx, chunk) -# has_finish_reason = finished -# if finished: -# break -# complete_response += chunk -# if has_finish_reason is False: -# raise Exception("finish reason not set for last chunk") -# if complete_response.strip() == "": -# raise Exception("Empty response received") -# except InvalidRequestError as e: -# pass -# except Exception as e: -# pytest.fail(f"Error occurred: {e}") +def test_completion_sagemaker_stream(): + try: + response = completion( + model="sagemaker/berri-benchmarking-Llama-2-70b-chat-hf-4", + messages=messages, + temperature=0.2, + max_tokens=80, + stream=True, + ) + complete_response = "" + has_finish_reason = False + # Add any assertions here to check the response + for idx, chunk in enumerate(response): + chunk, finished = streaming_format_tests(idx, chunk) + has_finish_reason = finished + if finished: + break + complete_response += chunk + if has_finish_reason is False: + raise Exception("finish reason not set for last chunk") + if complete_response.strip() == "": + raise Exception("Empty response received") + except Exception as e: + pytest.fail(f"Error occurred: {e}") + # test_completion_sagemaker_stream() diff --git a/litellm/tests/test_team_config.py b/litellm/tests/test_team_config.py new file mode 100644 index 00000000000..8a5f8c8407f --- /dev/null +++ b/litellm/tests/test_team_config.py @@ -0,0 +1,36 @@ +# #### What this tests #### +# # This tests if setting team_config actually works +# import sys, os +# import traceback +# import pytest + +# sys.path.insert( +# 0, os.path.abspath("../..") +# ) # Adds the parent directory to the system path +# import litellm +# from litellm.proxy.proxy_server import ProxyConfig + + +# @pytest.mark.asyncio +# async def test_team_config(): +# litellm.default_team_settings = [ +# { +# "team_id": "my-special-team", +# "success_callback": ["langfuse"], +# "langfuse_public_key": "os.environ/LANGFUSE_PUB_KEY_2", +# "langfuse_secret": "os.environ/LANGFUSE_PRIVATE_KEY_2", +# } +# ] +# proxyconfig = ProxyConfig() + +# team_config = await proxyconfig.load_team_config(team_id="my-special-team") +# assert len(team_config) > 0 + +# data = { +# "model": "gpt-3.5-turbo", +# "messages": [{"role": "user", "content": "Hey, how's it going?"}], +# } +# team_config.pop("team_id") +# response = litellm.completion(**{**data, **team_config}) + +# print(f"response: {response}") diff --git a/litellm/tests/test_timeout.py b/litellm/tests/test_timeout.py index 1902e1a36ca..8c92607c02c 100644 --- a/litellm/tests/test_timeout.py +++ b/litellm/tests/test_timeout.py @@ -37,6 +37,28 @@ def test_timeout(): # test_timeout() +def test_bedrock_timeout(): + # this Will Raise a timeout + litellm.set_verbose = True + try: + response = litellm.completion( + model="bedrock/anthropic.claude-instant-v1", + timeout=0.01, + messages=[{"role": "user", "content": "hello, write a 20 pg essay"}], + ) + pytest.fail("Did not raise error `openai.APITimeoutError`") + except openai.APITimeoutError as e: + print( + "Passed: Raised correct exception. Got openai.APITimeoutError\nGood Job", e + ) + print(type(e)) + pass + except Exception as e: + pytest.fail( + f"Did not raise error `openai.APITimeoutError`. Instead raised error type: {type(e)}, Error: {e}" + ) + + def test_hanging_request_azure(): litellm.set_verbose = True import asyncio diff --git a/litellm/utils.py b/litellm/utils.py index 03d38ff35a2..e238b84d777 100644 --- a/litellm/utils.py +++ b/litellm/utils.py @@ -10,6 +10,7 @@ import sys, re, binascii, struct import litellm import dotenv, json, traceback, threading, base64, ast + import subprocess, os import litellm, openai import itertools @@ -54,6 +55,7 @@ from .integrations.litedebugger import LiteDebugger from .proxy._types import KeyManagementSystem from openai import OpenAIError as OriginalError from openai._models import BaseModel as OpenAIObject +from .caching import S3Cache, RedisSemanticCache from .exceptions import ( AuthenticationError, BadRequestError, @@ -167,6 +169,8 @@ def map_finish_reason( return "stop" elif finish_reason == "SAFETY": # vertex ai return "content_filter" + elif finish_reason == "STOP": # vertex ai + return "stop" return finish_reason @@ -232,7 +236,8 @@ class Delta(OpenAIObject): def __init__(self, content=None, role=None, **params): super(Delta, self).__init__(**params) self.content = content - self.role = role + if role is not None: + self.role = role def __contains__(self, key): # Define custom behavior for the 'in' operator @@ -713,6 +718,7 @@ class ImageResponse(OpenAIObject): ############################################################ def print_verbose(print_statement): try: + verbose_logger.debug(print_statement) if litellm.set_verbose: print(print_statement) # noqa except: @@ -747,6 +753,10 @@ class Logging: start_time, litellm_call_id, function_id, + dynamic_success_callbacks=None, + dynamic_async_success_callbacks=None, + langfuse_public_key=None, + langfuse_secret=None, ): if call_type not in [item.value for item in CallTypes]: allowed_values = ", ".join([item.value for item in CallTypes]) @@ -767,6 +777,17 @@ class Logging: self.streaming_chunks = [] # for generating complete stream response self.sync_streaming_chunks = [] # for generating complete stream response self.model_call_details = {} + self.dynamic_input_callbacks = [] # [TODO] callbacks set for just that call + self.dynamic_failure_callbacks = [] # [TODO] callbacks set for just that call + self.dynamic_success_callbacks = ( + dynamic_success_callbacks # callbacks set for just that call + ) + self.dynamic_async_success_callbacks = ( + dynamic_async_success_callbacks # callbacks set for just that call + ) + ## DYNAMIC LANGFUSE KEYS ## + self.langfuse_public_key = langfuse_public_key + self.langfuse_secret = langfuse_secret def update_environment_variables( self, model, user, optional_params, litellm_params, **additional_params @@ -786,6 +807,7 @@ class Logging: "stream": self.stream, "user": user, "call_type": str(self.call_type), + "litellm_call_id": self.litellm_call_id, **self.optional_params, **additional_params, } @@ -844,6 +866,11 @@ class Logging: curl_command += additional_args.get("request_str", None) elif api_base == "": curl_command = self.model_call_details + + # only print verbose if verbose logger is not set + if verbose_logger.level == 0: + # this means verbose logger was not switched on - user is in litellm.set_verbose=True + print_verbose(f"\033[92m{curl_command}\033[0m\n") verbose_logger.info(f"\033[92m{curl_command}\033[0m\n") if self.logger_fn and callable(self.logger_fn): try: @@ -870,7 +897,8 @@ class Logging: ) # Input Integration Logging -> If you want to log the fact that an attempt to call the model was made - for callback in litellm.input_callback: + callbacks = litellm.input_callback + self.dynamic_input_callbacks + for callback in callbacks: try: if callback == "supabase": print_verbose("reaches supabase for logging!") @@ -943,43 +971,6 @@ class Logging: if capture_exception: # log this error to sentry for debugging capture_exception(e) - async def async_pre_call( - self, result=None, start_time=None, end_time=None, **kwargs - ): - """ - Â Implementing async callbacks, to handle asyncio event loop issues when custom integrations need to use async functions. - """ - start_time, end_time, result = self._success_handler_helper_fn( - start_time=start_time, end_time=end_time, result=result - ) - print_verbose(f"Async input callbacks: {litellm._async_input_callback}") - for callback in litellm._async_input_callback: - try: - if isinstance(callback, CustomLogger): # custom logger class - print_verbose(f"Async input callbacks: CustomLogger") - asyncio.create_task( - callback.async_log_input_event( - model=self.model, - messages=self.messages, - kwargs=self.model_call_details, - ) - ) - if callable(callback): # custom logger functions - print_verbose(f"Async success callbacks: async_log_event") - asyncio.create_task( - customLogger.async_log_input_event( - model=self.model, - messages=self.messages, - kwargs=self.model_call_details, - print_verbose=print_verbose, - callback_func=callback, - ) - ) - except: - print_verbose( - f"LiteLLM.LoggingError: [Non-Blocking] Exception occurred while success logging {traceback.format_exc()}" - ) - def post_call( self, original_response, input=None, api_key=None, additional_args={} ): @@ -995,12 +986,9 @@ class Logging: self.model_call_details["log_event_type"] = "post_api_call" # User Logging -> if you pass in a custom logging function - verbose_logger.debug( + print_verbose( f"RAW RESPONSE:\n{self.model_call_details.get('original_response', self.model_call_details)}\n\n" ) - verbose_logger.debug( - f"Logging Details Post-API Call: LiteLLM Params: {self.model_call_details}" - ) if self.logger_fn and callable(self.logger_fn): try: self.logger_fn( @@ -1012,7 +1000,9 @@ class Logging: ) # Input Integration Logging -> If you want to log the fact that an attempt to call the model was made - for callback in litellm.input_callback: + + callbacks = litellm.input_callback + self.dynamic_input_callbacks + for callback in callbacks: try: if callback == "lite_debugger": print_verbose("reaches litedebugger for post-call logging!") @@ -1072,13 +1062,39 @@ class Logging: and ( isinstance(result, ModelResponse) or isinstance(result, EmbeddingResponse) + or isinstance(result, ImageResponse) ) and self.stream != True ): # handle streaming separately try: - self.model_call_details["response_cost"] = litellm.completion_cost( - completion_response=result, - ) + if self.model_call_details.get("cache_hit", False) == True: + self.model_call_details["response_cost"] = 0.0 + else: + result._hidden_params["optional_params"] = self.optional_params + if ( + self.call_type == CallTypes.aimage_generation.value + or self.call_type == CallTypes.image_generation.value + ): + self.model_call_details[ + "response_cost" + ] = litellm.completion_cost( + completion_response=result, + model=self.model, + call_type=self.call_type, + ) + else: + # check if base_model set on azure + base_model = _get_base_model_from_metadata( + model_call_details=self.model_call_details + ) + # base_model defaults to None if not set on model_info + self.model_call_details[ + "response_cost" + ] = litellm.completion_cost( + completion_response=result, + call_type=self.call_type, + model=base_model, + ) verbose_logger.debug( f"Model={self.model}; cost={self.model_call_details['response_cost']}" ) @@ -1090,7 +1106,12 @@ class Logging: else: # streaming chunks + image gen. self.model_call_details["response_cost"] = None - if litellm.max_budget and self.stream: + if ( + litellm.max_budget + and self.stream + and result is not None + and "content" in result + ): time_diff = (end_time - start_time).total_seconds() float_diff = float(time_diff) litellm._current_cost += litellm.completion_cost( @@ -1107,7 +1128,7 @@ class Logging: def success_handler( self, result=None, start_time=None, end_time=None, cache_hit=None, **kwargs ): - verbose_logger.debug(f"Logging Details LiteLLM-Success Call") + verbose_logger.debug(f"Logging Details LiteLLM-Success Call: {cache_hit}") start_time, end_time, result = self._success_handler_helper_fn( start_time=start_time, end_time=end_time, @@ -1145,9 +1166,20 @@ class Logging: "complete_streaming_response" ] = complete_streaming_response try: - self.model_call_details["response_cost"] = litellm.completion_cost( - completion_response=complete_streaming_response, - ) + if self.model_call_details.get("cache_hit", False) == True: + self.model_call_details["response_cost"] = 0.0 + else: + # check if base_model set on azure + base_model = _get_base_model_from_metadata( + model_call_details=self.model_call_details + ) + # base_model defaults to None if not set on model_info + self.model_call_details[ + "response_cost" + ] = litellm.completion_cost( + completion_response=complete_streaming_response, + model=base_model, + ) verbose_logger.debug( f"Model={self.model}; cost={self.model_call_details['response_cost']}" ) @@ -1156,8 +1188,21 @@ class Logging: f"Model={self.model} not found in completion cost map." ) self.model_call_details["response_cost"] = None + if self.dynamic_success_callbacks is not None and isinstance( + self.dynamic_success_callbacks, list + ): + callbacks = self.dynamic_success_callbacks + ## keep the internal functions ## + for callback in litellm.success_callback: + if ( + isinstance(callback, CustomLogger) + and "_PROXY_" in callback.__class__.__name__ + ): + callbacks.append(callback) + else: + callbacks = litellm.success_callback - for callback in litellm.success_callback: + for callback in callbacks: try: if callback == "lite_debugger": print_verbose("reaches lite_debugger for logging!") @@ -1227,7 +1272,9 @@ class Logging: if "complete_streaming_response" not in kwargs: break else: - print_verbose("reaches langfuse for streaming logging!") + print_verbose( + "reaches langsmith for streaming logging!" + ) result = kwargs["complete_streaming_response"] langsmithLogger.log_event( kwargs=self.model_call_details, @@ -1266,7 +1313,7 @@ class Logging: if callback == "helicone": print_verbose("reaches helicone for logging!") model = self.model - messages = kwargs["messages"] + messages = kwargs["input"] heliconeLogger.log_success( model=model, messages=messages, @@ -1277,7 +1324,7 @@ class Logging: ) if callback == "langfuse": global langFuseLogger - verbose_logger.debug("reaches langfuse for logging!") + verbose_logger.debug("reaches langfuse for success logging!") kwargs = {} for k, v in self.model_call_details.items(): if ( @@ -1294,8 +1341,14 @@ class Logging: else: print_verbose("reaches langfuse for streaming logging!") result = kwargs["complete_streaming_response"] - if langFuseLogger is None: - langFuseLogger = LangFuseLogger() + if langFuseLogger is None or ( + self.langfuse_public_key != langFuseLogger.public_key + and self.langfuse_secret != langFuseLogger.secret_key + ): + langFuseLogger = LangFuseLogger( + langfuse_public_key=self.langfuse_public_key, + langfuse_secret=self.langfuse_secret, + ) langFuseLogger.log_event( kwargs=kwargs, response_obj=result, @@ -1333,7 +1386,37 @@ class Logging: end_time=end_time, print_verbose=print_verbose, ) - elif ( + if callback == "s3": + global s3Logger + if s3Logger is None: + s3Logger = S3Logger() + if self.stream: + if "complete_streaming_response" in self.model_call_details: + print_verbose( + "S3Logger Logger: Got Stream Event - Completed Stream Response" + ) + s3Logger.log_event( + kwargs=self.model_call_details, + response_obj=self.model_call_details[ + "complete_streaming_response" + ], + start_time=start_time, + end_time=end_time, + print_verbose=print_verbose, + ) + else: + print_verbose( + "S3Logger Logger: Got Stream Event - No complete stream response as yet" + ) + else: + s3Logger.log_event( + kwargs=self.model_call_details, + response_obj=result, + start_time=start_time, + end_time=end_time, + print_verbose=print_verbose, + ) + if ( isinstance(callback, CustomLogger) and self.model_call_details.get("litellm_params", {}).get( "acompletion", False @@ -1344,9 +1427,6 @@ class Logging: ) == False ): # custom logger class - verbose_logger.info( - f"success callbacks: Running SYNC Custom Logger Class" - ) if self.stream and complete_streaming_response is None: callback.log_stream_event( kwargs=self.model_call_details, @@ -1368,7 +1448,7 @@ class Logging: start_time=start_time, end_time=end_time, ) - elif ( + if ( callable(callback) == True and self.model_call_details.get("litellm_params", {}).get( "acompletion", False @@ -1412,7 +1492,6 @@ class Logging: """ Implementing async callbacks, to handle asyncio event loop issues when custom integrations need to use async functions. """ - print_verbose(f"Async success callbacks: {litellm._async_success_callback}") start_time, end_time, result = self._success_handler_helper_fn( start_time=start_time, end_time=end_time, result=result, cache_hit=cache_hit ) @@ -1421,7 +1500,7 @@ class Logging: if self.stream: if result.choices[0].finish_reason is not None: # if it's the last chunk self.streaming_chunks.append(result) - # print_verbose(f"final set of received chunks: {self.streaming_chunks}") + # verbose_logger.debug(f"final set of received chunks: {self.streaming_chunks}") try: complete_streaming_response = litellm.stream_chunk_builder( self.streaming_chunks, @@ -1430,21 +1509,32 @@ class Logging: end_time=end_time, ) except Exception as e: - print_verbose( + verbose_logger.debug( f"Error occurred building stream chunk: {traceback.format_exc()}" ) complete_streaming_response = None else: self.streaming_chunks.append(result) if complete_streaming_response is not None: - print_verbose("Async success callbacks: Got a complete streaming response") + verbose_logger.debug( + "Async success callbacks: Got a complete streaming response" + ) self.model_call_details[ "complete_streaming_response" ] = complete_streaming_response try: - self.model_call_details["response_cost"] = litellm.completion_cost( - completion_response=complete_streaming_response, - ) + if self.model_call_details.get("cache_hit", False) == True: + self.model_call_details["response_cost"] = 0.0 + else: + # check if base_model set on azure + base_model = _get_base_model_from_metadata( + model_call_details=self.model_call_details + ) + # base_model defaults to None if not set on model_info + self.model_call_details["response_cost"] = litellm.completion_cost( + completion_response=complete_streaming_response, + model=base_model, + ) verbose_logger.debug( f"Model={self.model}; cost={self.model_call_details['response_cost']}" ) @@ -1454,7 +1544,23 @@ class Logging: ) self.model_call_details["response_cost"] = None - for callback in litellm._async_success_callback: + if self.dynamic_async_success_callbacks is not None and isinstance( + self.dynamic_async_success_callbacks, list + ): + callbacks = self.dynamic_async_success_callbacks + ## keep the internal functions ## + for callback in litellm._async_success_callback: + callback_name = "" + if isinstance(callback, CustomLogger): + callback_name = callback.__class__.__name__ + if callable(callback): + callback_name = callback.__name__ + if "_PROXY_" in callback_name: + callbacks.append(callback) + else: + callbacks = litellm._async_success_callback + verbose_logger.debug(f"Async success callbacks: {callbacks}") + for callback in callbacks: try: if callback == "cache" and litellm.cache is not None: # set_cache once complete streaming response is built @@ -1474,7 +1580,7 @@ class Logging: # only add to cache once we have a complete streaming response litellm.cache.add_cache(result, **kwargs) if isinstance(callback, CustomLogger): # custom logger class - print_verbose(f"Async success callbacks: CustomLogger") + print_verbose(f"Async success callbacks: {callback}") if self.stream: if "complete_streaming_response" in self.model_call_details: await callback.async_log_success_event( @@ -1500,6 +1606,7 @@ class Logging: end_time=end_time, ) if callable(callback): # custom logger functions + print_verbose(f"Making async function logging call") if self.stream: if "complete_streaming_response" in self.model_call_details: await customLogger.async_log_event( @@ -1551,64 +1658,6 @@ class Logging: end_time=end_time, print_verbose=print_verbose, ) - if callback == "s3": - global s3Logger - if s3Logger is None: - s3Logger = S3Logger() - if self.stream: - if "complete_streaming_response" in self.model_call_details: - print_verbose( - "S3Logger Logger: Got Stream Event - Completed Stream Response" - ) - await s3Logger._async_log_event( - kwargs=self.model_call_details, - response_obj=self.model_call_details[ - "complete_streaming_response" - ], - start_time=start_time, - end_time=end_time, - print_verbose=print_verbose, - ) - else: - print_verbose( - "S3Logger Logger: Got Stream Event - No complete stream response as yet" - ) - else: - await s3Logger._async_log_event( - kwargs=self.model_call_details, - response_obj=result, - start_time=start_time, - end_time=end_time, - print_verbose=print_verbose, - ) - if callback == "langfuse": - global langFuseLogger - print_verbose("reaches Async langfuse for logging!") - kwargs = {} - for k, v in self.model_call_details.items(): - if ( - k != "original_response" - ): # copy.deepcopy raises errors as this could be a coroutine - kwargs[k] = v - # this only logs streaming once, complete_streaming_response exists i.e when stream ends - if self.stream: - if "complete_streaming_response" not in kwargs: - return - else: - print_verbose( - "reaches Async langfuse for streaming logging!" - ) - result = kwargs["complete_streaming_response"] - if langFuseLogger is None: - langFuseLogger = LangFuseLogger() - await langFuseLogger._async_log_event( - kwargs=kwargs, - response_obj=result, - start_time=start_time, - end_time=end_time, - user_id=kwargs.get("user", None), - print_verbose=print_verbose, - ) except: print_verbose( f"LiteLLM.LoggingError: [Non-Blocking] Exception occurred while success logging {traceback.format_exc()}" @@ -1733,9 +1782,37 @@ class Logging: response_obj=result, kwargs=self.model_call_details, ) + elif callback == "langfuse": + global langFuseLogger + verbose_logger.debug("reaches langfuse for logging!") + kwargs = {} + for k, v in self.model_call_details.items(): + if ( + k != "original_response" + ): # copy.deepcopy raises errors as this could be a coroutine + kwargs[k] = v + # this only logs streaming once, complete_streaming_response exists i.e when stream ends + if langFuseLogger is None or ( + self.langfuse_public_key != langFuseLogger.public_key + and self.langfuse_secret != langFuseLogger.secret_key + ): + langFuseLogger = LangFuseLogger( + langfuse_public_key=self.langfuse_public_key, + langfuse_secret=self.langfuse_secret, + ) + langFuseLogger.log_event( + start_time=start_time, + end_time=end_time, + response_obj=None, + user_id=kwargs.get("user", None), + print_verbose=print_verbose, + status_message=str(exception), + level="ERROR", + kwargs=self.model_call_details, + ) except Exception as e: print_verbose( - f"LiteLLM.LoggingError: [Non-Blocking] Exception occurred while failure logging with integrations {traceback.format_exc()}" + f"LiteLLM.LoggingError: [Non-Blocking] Exception occurred while failure logging with integrations {str(e)}" ) print_verbose( f"LiteLLM.Logging: is sentry capture exception initialized {capture_exception}" @@ -1936,11 +2013,6 @@ def client(original_function): # we only support async dynamo db logging for acompletion/aembedding since that's used on proxy litellm._async_success_callback.append(callback) removed_async_items.append(index) - elif callback == "s3": - # s3 is an async callback, it's used for the proxy and needs to be async - # we only support async s3 logging for acompletion/aembedding since that's used on proxy - litellm._async_success_callback.append(callback) - removed_async_items.append(index) # Pop the async items from success_callback in reverse order to avoid index issues for index in reversed(removed_async_items): @@ -1956,6 +2028,31 @@ def client(original_function): # Pop the async items from failure_callback in reverse order to avoid index issues for index in reversed(removed_async_items): litellm.failure_callback.pop(index) + ### DYNAMIC CALLBACKS ### + dynamic_success_callbacks = None + dynamic_async_success_callbacks = None + if kwargs.get("success_callback", None) is not None and isinstance( + kwargs["success_callback"], list + ): + removed_async_items = [] + for index, callback in enumerate(kwargs["success_callback"]): + if ( + inspect.iscoroutinefunction(callback) + or callback == "dynamodb" + or callback == "s3" + ): + if dynamic_async_success_callbacks is not None and isinstance( + dynamic_async_success_callbacks, list + ): + dynamic_async_success_callbacks.append(callback) + else: + dynamic_async_success_callbacks = [callback] + removed_async_items.append(index) + # Pop the async items from success_callback in reverse order to avoid index issues + for index in reversed(removed_async_items): + kwargs["success_callback"].pop(index) + dynamic_success_callbacks = kwargs.pop("success_callback") + if add_breadcrumb: add_breadcrumb( category="litellm.llm_call", @@ -2017,17 +2114,22 @@ def client(original_function): function_id=function_id, call_type=call_type, start_time=start_time, + dynamic_success_callbacks=dynamic_success_callbacks, + dynamic_async_success_callbacks=dynamic_async_success_callbacks, + langfuse_public_key=kwargs.pop("langfuse_public_key", None), + langfuse_secret=kwargs.pop("langfuse_secret", None), ) ## check if metadata is passed in + litellm_params = {} if "metadata" in kwargs: - litellm_params = {"metadata": kwargs["metadata"]} - logging_obj.update_environment_variables( - model=model, - user="", - optional_params={}, - litellm_params=litellm_params, - ) - return logging_obj + litellm_params["metadata"] = kwargs["metadata"] + logging_obj.update_environment_variables( + model=model, + user="", + optional_params={}, + litellm_params=litellm_params, + ) + return logging_obj, kwargs except Exception as e: import logging @@ -2082,13 +2184,13 @@ def client(original_function): logging_obj = kwargs.get("litellm_logging_obj", None) # only set litellm_call_id if its not in kwargs + call_type = original_function.__name__ if "litellm_call_id" not in kwargs: kwargs["litellm_call_id"] = str(uuid.uuid4()) try: model = args[0] if len(args) > 0 else kwargs["model"] except: model = None - call_type = original_function.__name__ if ( call_type != CallTypes.image_generation.value and call_type != CallTypes.text_completion.value @@ -2097,7 +2199,7 @@ def client(original_function): try: if logging_obj is None: - logging_obj = function_setup(start_time, *args, **kwargs) + logging_obj, kwargs = function_setup(start_time, *args, **kwargs) kwargs["litellm_logging_obj"] = logging_obj # CHECK FOR 'os.environ/' in kwargs @@ -2128,12 +2230,21 @@ def client(original_function): ) # if caching is false or cache["no-cache"]==True, don't run this if ( - (kwargs.get("caching", None) is None and litellm.cache is not None) - or kwargs.get("caching", False) == True - or ( - kwargs.get("cache", None) is not None - and kwargs.get("cache", {}).get("no-cache", False) != True + ( + ( + kwargs.get("caching", None) is None + and kwargs.get("cache", None) is None + and litellm.cache is not None + ) + or kwargs.get("caching", False) == True + or ( + kwargs.get("cache", None) is not None + and kwargs.get("cache", {}).get("no-cache", False) != True + ) ) + and kwargs.get("aembedding", False) != True + and kwargs.get("acompletion", False) != True + and kwargs.get("aimg_generation", False) != True ): # allow users to control returning cached responses from the completion function # checking cache print_verbose(f"INSIDE CHECKING CACHE") @@ -2160,7 +2271,7 @@ def client(original_function): if call_type == CallTypes.completion.value and isinstance( cached_result, dict ): - return convert_to_model_response_object( + cached_result = convert_to_model_response_object( response_object=cached_result, model_response_object=ModelResponse(), stream=kwargs.get("stream", False), @@ -2168,17 +2279,104 @@ def client(original_function): elif call_type == CallTypes.embedding.value and isinstance( cached_result, dict ): - return convert_to_model_response_object( + cached_result = convert_to_model_response_object( response_object=cached_result, response_type="embedding", ) - else: - return cached_result + + # LOG SUCCESS + cache_hit = True + end_time = datetime.datetime.now() + ( + model, + custom_llm_provider, + dynamic_api_key, + api_base, + ) = litellm.get_llm_provider( + model=model, + custom_llm_provider=kwargs.get( + "custom_llm_provider", None + ), + api_base=kwargs.get("api_base", None), + api_key=kwargs.get("api_key", None), + ) + print_verbose( + f"Async Wrapper: Completed Call, calling async_success_handler: {logging_obj.async_success_handler}" + ) + logging_obj.update_environment_variables( + model=model, + user=kwargs.get("user", None), + optional_params={}, + litellm_params={ + "logger_fn": kwargs.get("logger_fn", None), + "acompletion": False, + "metadata": kwargs.get("metadata", {}), + "model_info": kwargs.get("model_info", {}), + "proxy_server_request": kwargs.get( + "proxy_server_request", None + ), + "preset_cache_key": kwargs.get( + "preset_cache_key", None + ), + "stream_response": kwargs.get( + "stream_response", {} + ), + }, + input=kwargs.get("messages", ""), + api_key=kwargs.get("api_key", None), + original_response=str(cached_result), + additional_args=None, + stream=kwargs.get("stream", False), + ) + threading.Thread( + target=logging_obj.success_handler, + args=(cached_result, start_time, end_time, cache_hit), + ).start() + return cached_result + + # CHECK MAX TOKENS + if ( + kwargs.get("max_tokens", None) is not None + and model is not None + and litellm.drop_params + == True # user is okay with params being modified + and ( + call_type == CallTypes.acompletion.value + or call_type == CallTypes.completion.value + ) + ): + try: + base_model = model + if kwargs.get("hf_model_name", None) is not None: + base_model = f"huggingface/{kwargs.get('hf_model_name')}" + max_output_tokens = ( + get_max_tokens(model=base_model) or 4096 + ) # assume min context window is 4k tokens + user_max_tokens = kwargs.get("max_tokens") + ## Scenario 1: User limit + prompt > model limit + messages = None + if len(args) > 1: + messages = args[1] + elif kwargs.get("messages", None): + messages = kwargs["messages"] + input_tokens = token_counter(model=base_model, messages=messages) + input_tokens += max( + 0.1 * input_tokens, 10 + ) # give at least a 10 token buffer. token counting can be imprecise. + if input_tokens > max_output_tokens: + pass # allow call to fail normally + elif user_max_tokens + input_tokens > max_output_tokens: + user_max_tokens = max_output_tokens - input_tokens + print_verbose(f"user_max_tokens: {user_max_tokens}") + kwargs["max_tokens"] = int( + round(user_max_tokens) + ) # make sure max tokens is always an int + except Exception as e: + print_verbose(f"Error while checking max token limit: {str(e)}") # MODEL CALL result = original_function(*args, **kwargs) end_time = datetime.datetime.now() if "stream" in kwargs and kwargs["stream"] == True: - # TODO: Add to cache for streaming if ( "complete_response" in kwargs and kwargs["complete_response"] == True @@ -2206,7 +2404,7 @@ def client(original_function): litellm.cache is not None and str(original_function.__name__) in litellm.cache.supported_call_types - ): + ) and (kwargs.get("cache", {}).get("no-store", False) != True): litellm.cache.add_cache(result, *args, **kwargs) # LOG SUCCESS - handle streaming success logging in the _next_ object, remove `handle_success` once it's deprecated @@ -2237,7 +2435,12 @@ def client(original_function): ) if num_retries: - if isinstance(e, openai.APIError) or isinstance(e, openai.Timeout): + if ( + isinstance(e, openai.APIError) + or isinstance(e, openai.Timeout) + or isinstance(openai.APIConnectionError) + ): + print_verbose(f"RETRY TRIGGERED!") kwargs["num_retries"] = num_retries return litellm.completion_with_retries(*args, **kwargs) elif ( @@ -2277,6 +2480,7 @@ def client(original_function): result = None logging_obj = kwargs.get("litellm_logging_obj", None) # only set litellm_call_id if its not in kwargs + call_type = original_function.__name__ if "litellm_call_id" not in kwargs: kwargs["litellm_call_id"] = str(uuid.uuid4()) try: @@ -2290,7 +2494,7 @@ def client(original_function): try: if logging_obj is None: - logging_obj = function_setup(start_time, *args, **kwargs) + logging_obj, kwargs = function_setup(start_time, *args, **kwargs) kwargs["litellm_logging_obj"] = logging_obj # [OPTIONAL] CHECK BUDGET @@ -2307,8 +2511,14 @@ def client(original_function): f"kwargs[caching]: {kwargs.get('caching', False)}; litellm.cache: {litellm.cache}" ) # if caching is false, don't run this + final_embedding_cached_response = None + if ( - (kwargs.get("caching", None) is None and litellm.cache is not None) + ( + kwargs.get("caching", None) is None + and kwargs.get("cache", None) is None + and litellm.cache is not None + ) or kwargs.get("caching", False) == True or ( kwargs.get("cache", None) is not None @@ -2323,8 +2533,44 @@ def client(original_function): in litellm.cache.supported_call_types ): print_verbose(f"Checking Cache") - cached_result = litellm.cache.get_cache(*args, **kwargs) - if cached_result != None: + if call_type == CallTypes.aembedding.value and isinstance( + kwargs["input"], list + ): + tasks = [] + for idx, i in enumerate(kwargs["input"]): + preset_cache_key = litellm.cache.get_cache_key( + *args, **{**kwargs, "input": i} + ) + tasks.append( + litellm.cache.async_get_cache( + cache_key=preset_cache_key + ) + ) + cached_result = await asyncio.gather(*tasks) + ## check if cached result is None ## + if cached_result is not None and isinstance( + cached_result, list + ): + if len(cached_result) == 1 and cached_result[0] is None: + cached_result = None + elif isinstance(litellm.cache.cache, RedisSemanticCache): + preset_cache_key = litellm.cache.get_cache_key(*args, **kwargs) + kwargs[ + "preset_cache_key" + ] = preset_cache_key # for streaming calls, we need to pass the preset_cache_key + cached_result = await litellm.cache.async_get_cache( + *args, **kwargs + ) + else: + preset_cache_key = litellm.cache.get_cache_key(*args, **kwargs) + kwargs[ + "preset_cache_key" + ] = preset_cache_key # for streaming calls, we need to pass the preset_cache_key + cached_result = litellm.cache.get_cache(*args, **kwargs) + + if cached_result is not None and not isinstance( + cached_result, list + ): print_verbose(f"Cache Hit!") call_type = original_function.__name__ if call_type == CallTypes.acompletion.value and isinstance( @@ -2397,6 +2643,103 @@ def client(original_function): args=(cached_result, start_time, end_time, cache_hit), ).start() return cached_result + elif ( + call_type == CallTypes.aembedding.value + and cached_result is not None + and isinstance(cached_result, list) + and litellm.cache is not None + and not isinstance( + litellm.cache.cache, S3Cache + ) # s3 doesn't support bulk writing. Exclude. + ): + remaining_list = [] + non_null_list = [] + for idx, cr in enumerate(cached_result): + if cr is None: + remaining_list.append(kwargs["input"][idx]) + else: + non_null_list.append((idx, cr)) + original_kwargs_input = kwargs["input"] + kwargs["input"] = remaining_list + if len(non_null_list) > 0: + print_verbose( + f"EMBEDDING CACHE HIT! - {len(non_null_list)}" + ) + final_embedding_cached_response = EmbeddingResponse( + model=kwargs.get("model"), + data=[None] * len(original_kwargs_input), + ) + final_embedding_cached_response._hidden_params[ + "cache_hit" + ] = True + + for val in non_null_list: + idx, cr = val # (idx, cr) tuple + if cr is not None: + final_embedding_cached_response.data[idx] = cr + if len(remaining_list) == 0: + # LOG SUCCESS + cache_hit = True + end_time = datetime.datetime.now() + ( + model, + custom_llm_provider, + dynamic_api_key, + api_base, + ) = litellm.get_llm_provider( + model=model, + custom_llm_provider=kwargs.get( + "custom_llm_provider", None + ), + api_base=kwargs.get("api_base", None), + api_key=kwargs.get("api_key", None), + ) + print_verbose( + f"Async Wrapper: Completed Call, calling async_success_handler: {logging_obj.async_success_handler}" + ) + logging_obj.update_environment_variables( + model=model, + user=kwargs.get("user", None), + optional_params={}, + litellm_params={ + "logger_fn": kwargs.get("logger_fn", None), + "acompletion": True, + "metadata": kwargs.get("metadata", {}), + "model_info": kwargs.get("model_info", {}), + "proxy_server_request": kwargs.get( + "proxy_server_request", None + ), + "preset_cache_key": kwargs.get( + "preset_cache_key", None + ), + "stream_response": kwargs.get( + "stream_response", {} + ), + }, + input=kwargs.get("messages", ""), + api_key=kwargs.get("api_key", None), + original_response=str(final_embedding_cached_response), + additional_args=None, + stream=kwargs.get("stream", False), + ) + asyncio.create_task( + logging_obj.async_success_handler( + final_embedding_cached_response, + start_time, + end_time, + cache_hit, + ) + ) + threading.Thread( + target=logging_obj.success_handler, + args=( + final_embedding_cached_response, + start_time, + end_time, + cache_hit, + ), + ).start() + return final_embedding_cached_response # MODEL CALL result = await original_function(*args, **kwargs) end_time = datetime.datetime.now() @@ -2419,19 +2762,44 @@ def client(original_function): # [OPTIONAL] ADD TO CACHE if ( - litellm.cache is not None - and str(original_function.__name__) - in litellm.cache.supported_call_types + (litellm.cache is not None) + and ( + str(original_function.__name__) + in litellm.cache.supported_call_types + ) + and (kwargs.get("cache", {}).get("no-store", False) != True) ): if isinstance(result, litellm.ModelResponse) or isinstance( result, litellm.EmbeddingResponse ): - asyncio.create_task( - litellm.cache._async_add_cache(result.json(), *args, **kwargs) - ) + if ( + isinstance(result, EmbeddingResponse) + and isinstance(kwargs["input"], list) + and litellm.cache is not None + and not isinstance( + litellm.cache.cache, S3Cache + ) # s3 doesn't support bulk writing. Exclude. + ): + asyncio.create_task( + litellm.cache.async_add_cache_pipeline( + result, *args, **kwargs + ) + ) + elif isinstance(litellm.cache.cache, S3Cache): + threading.Thread( + target=litellm.cache.add_cache, + args=(result,) + args, + kwargs=kwargs, + ).start() + else: + asyncio.create_task( + litellm.cache.async_add_cache( + result.json(), *args, **kwargs + ) + ) else: asyncio.create_task( - litellm.cache._async_add_cache(result, *args, **kwargs) + litellm.cache.async_add_cache(result, *args, **kwargs) ) # LOG SUCCESS - handle streaming success logging in the _next_ object print_verbose( @@ -2455,6 +2823,27 @@ def client(original_function): result._response_ms = ( end_time - start_time ).total_seconds() * 1000 # return response latency in ms like openai + + if ( + isinstance(result, EmbeddingResponse) + and final_embedding_cached_response is not None + ): + idx = 0 + final_data_list = [] + for item in final_embedding_cached_response.data: + if item is None: + final_data_list.append(result.data[idx]) + idx += 1 + else: + final_data_list.append(item) + + final_embedding_cached_response.data = final_data_list + final_embedding_cached_response._hidden_params["cache_hit"] = True + final_embedding_cached_response._response_ms = ( + end_time - start_time + ).total_seconds() * 1000 + return final_embedding_cached_response + return result except Exception as e: traceback_exception = traceback.format_exc() @@ -2686,6 +3075,8 @@ def openai_token_counter( # This is the case where we need to count tokens for a streamed response. We should NOT add +3 tokens per message in this branch num_tokens = len(encoding.encode(text, disallowed_special=())) return num_tokens + elif text is not None: + num_tokens = len(encoding.encode(text, disallowed_special=())) num_tokens += 3 # every reply is primed with <|start|>assistant<|message|> return num_tokens @@ -2872,8 +3263,13 @@ def token_counter( print_verbose( f"Token Counter - using generic token counter, for model={model}" ) - enc = tokenizer_json["tokenizer"].encode(text) - num_tokens = len(enc) + num_tokens = openai_token_counter( + text=text, # type: ignore + model="gpt-3.5-turbo", + messages=messages, + is_tool_call=is_tool_call, + count_response_tokens=count_response_tokens, + ) else: num_tokens = len(encoding.encode(text)) # type: ignore return num_tokens @@ -2885,6 +3281,7 @@ def cost_per_token( completion_tokens=0, response_time_ms=None, custom_llm_provider=None, + region_name=None, ): """ Calculates the cost per token for a given model, prompt tokens, and completion tokens. @@ -2901,16 +3298,24 @@ def cost_per_token( prompt_tokens_cost_usd_dollar = 0 completion_tokens_cost_usd_dollar = 0 model_cost_ref = litellm.model_cost + model_with_provider = model if custom_llm_provider is not None: model_with_provider = custom_llm_provider + "/" + model - else: - model_with_provider = model + if region_name is not None: + model_with_provider_and_region = ( + f"{custom_llm_provider}/{region_name}/{model}" + ) + if ( + model_with_provider_and_region in model_cost_ref + ): # use region based pricing, if it's available + model_with_provider = model_with_provider_and_region + if model_with_provider in model_cost_ref: + model = model_with_provider # see this https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models - verbose_logger.debug(f"Looking up model={model} in model_cost_map") - + print_verbose(f"Looking up model={model} in model_cost_map") if model in model_cost_ref: - verbose_logger.debug(f"Success: model={model} in model_cost_map") - verbose_logger.debug( + print_verbose(f"Success: model={model} in model_cost_map") + print_verbose( f"prompt_tokens={prompt_tokens}; completion_tokens={completion_tokens}" ) if ( @@ -2928,7 +3333,7 @@ def cost_per_token( model_cost_ref[model].get("input_cost_per_second", None) is not None and response_time_ms is not None ): - verbose_logger.debug( + print_verbose( f"For model={model} - input_cost_per_second: {model_cost_ref[model].get('input_cost_per_second')}; response time: {response_time_ms}" ) ## COST PER SECOND ## @@ -2936,30 +3341,12 @@ def cost_per_token( model_cost_ref[model]["input_cost_per_second"] * response_time_ms / 1000 ) completion_tokens_cost_usd_dollar = 0.0 - verbose_logger.debug( + print_verbose( f"Returned custom cost for model={model} - prompt_tokens_cost_usd_dollar: {prompt_tokens_cost_usd_dollar}, completion_tokens_cost_usd_dollar: {completion_tokens_cost_usd_dollar}" ) return prompt_tokens_cost_usd_dollar, completion_tokens_cost_usd_dollar - elif model_with_provider in model_cost_ref: - verbose_logger.debug( - f"Looking up model={model_with_provider} in model_cost_map" - ) - verbose_logger.debug( - f"applying cost={model_cost_ref[model_with_provider]['input_cost_per_token']} for prompt_tokens={prompt_tokens}" - ) - prompt_tokens_cost_usd_dollar = ( - model_cost_ref[model_with_provider]["input_cost_per_token"] * prompt_tokens - ) - verbose_logger.debug( - f"applying cost={model_cost_ref[model_with_provider]['output_cost_per_token']} for completion_tokens={completion_tokens}" - ) - completion_tokens_cost_usd_dollar = ( - model_cost_ref[model_with_provider]["output_cost_per_token"] - * completion_tokens - ) - return prompt_tokens_cost_usd_dollar, completion_tokens_cost_usd_dollar elif "ft:gpt-3.5-turbo" in model: - verbose_logger.debug(f"Cost Tracking: {model} is an OpenAI FinteTuned LLM") + print_verbose(f"Cost Tracking: {model} is an OpenAI FinteTuned LLM") # fuzzy match ft:gpt-3.5-turbo:abcd-id-cool-litellm prompt_tokens_cost_usd_dollar = ( model_cost_ref["ft:gpt-3.5-turbo"]["input_cost_per_token"] * prompt_tokens @@ -3016,7 +3403,24 @@ def completion_cost( prompt="", messages: List = [], completion="", - total_time=0.0, # used for replicate + total_time=0.0, # used for replicate, sagemaker + call_type: Literal[ + "completion", + "acompletion", + "embedding", + "aembedding", + "atext_completion", + "text_completion", + "image_generation", + "aimage_generation", + ] = "completion", + ### REGION ### + custom_llm_provider=None, + region_name=None, # used for bedrock pricing + ### IMAGE GEN ### + size=None, + quality=None, + n=None, # number of images ): """ Calculate the cost of a given completion call fot GPT-3.5-turbo, llama2, any litellm supported llm. @@ -3061,12 +3465,26 @@ def completion_cost( model = ( model or completion_response["model"] ) # check if user passed an override for model, if it's none check completion_response['model'] - if completion_response is not None and hasattr( - completion_response, "_hidden_params" - ): + if hasattr(completion_response, "_hidden_params"): custom_llm_provider = completion_response._hidden_params.get( "custom_llm_provider", "" ) + region_name = completion_response._hidden_params.get( + "region_name", region_name + ) + size = completion_response._hidden_params.get( + "optional_params", {} + ).get( + "size", "1024-x-1024" + ) # openai default + quality = completion_response._hidden_params.get( + "optional_params", {} + ).get( + "quality", "standard" + ) # openai default + n = completion_response._hidden_params.get("optional_params", {}).get( + "n", 1 + ) # openai default else: if len(messages) > 0: prompt_tokens = token_counter(model=model, messages=messages) @@ -3078,8 +3496,46 @@ def completion_cost( f"Model is None and does not exist in passed completion_response. Passed completion_response={completion_response}, model={model}" ) + if ( + call_type == CallTypes.image_generation.value + or call_type == CallTypes.aimage_generation.value + ): + ### IMAGE GENERATION COST CALCULATION ### + image_gen_model_name = f"{size}/{model}" + image_gen_model_name_with_quality = image_gen_model_name + if quality is not None: + image_gen_model_name_with_quality = f"{quality}/{image_gen_model_name}" + size = size.split("-x-") + height = int(size[0]) + width = int(size[1]) + verbose_logger.debug(f"image_gen_model_name: {image_gen_model_name}") + verbose_logger.debug( + f"image_gen_model_name_with_quality: {image_gen_model_name_with_quality}" + ) + if image_gen_model_name in litellm.model_cost: + return ( + litellm.model_cost[image_gen_model_name]["input_cost_per_pixel"] + * height + * width + * n + ) + elif image_gen_model_name_with_quality in litellm.model_cost: + return ( + litellm.model_cost[image_gen_model_name_with_quality][ + "input_cost_per_pixel" + ] + * height + * width + * n + ) + else: + raise Exception(f"Model={model} not found in completion cost model map") # Calculate cost based on prompt_tokens, completion_tokens - if "togethercomputer" in model or "together_ai" in model: + if ( + "togethercomputer" in model + or "together_ai" in model + or custom_llm_provider == "together_ai" + ): # together ai prices based on size of llm # get_model_params_and_category takes a model name and returns the category of LLM size it is in model_prices_and_context_window.json model = get_model_params_and_category(model) @@ -3096,8 +3552,13 @@ def completion_cost( completion_tokens=completion_tokens, custom_llm_provider=custom_llm_provider, response_time_ms=total_time, + region_name=region_name, ) - return prompt_tokens_cost_usd_dollar + completion_tokens_cost_usd_dollar + _final_cost = prompt_tokens_cost_usd_dollar + completion_tokens_cost_usd_dollar + print_verbose( + f"final cost: {_final_cost}; prompt_tokens_cost_usd_dollar: {prompt_tokens_cost_usd_dollar}; completion_tokens_cost_usd_dollar: {completion_tokens_cost_usd_dollar}" + ) + return _final_cost except Exception as e: raise e @@ -3244,27 +3705,50 @@ def get_optional_params_image_gen( for k, v in passed_params.items() if (k in default_params and v != default_params[k]) } - ## raise exception if non-default value passed for non-openai/azure embedding calls - if custom_llm_provider != "openai" and custom_llm_provider != "azure": - if len(non_default_params.keys()) > 0: - if litellm.drop_params is True: # drop the unsupported non-default values - keys = list(non_default_params.keys()) - for k in keys: - non_default_params.pop(k, None) - return non_default_params - raise UnsupportedParamsError( - status_code=500, - message=f"Setting user/encoding format is not supported by {custom_llm_provider}. To drop it from the call, set `litellm.drop_params = True`.", - ) + optional_params = {} - final_params = {**non_default_params, **kwargs} - return final_params + ## raise exception if non-default value passed for non-openai/azure embedding calls + def _check_valid_arg(supported_params): + if len(non_default_params.keys()) > 0: + keys = list(non_default_params.keys()) + for k in keys: + if ( + litellm.drop_params is True and k not in supported_params + ): # drop the unsupported non-default values + non_default_params.pop(k, None) + elif k not in supported_params: + raise UnsupportedParamsError( + status_code=500, + message=f"Setting user/encoding format is not supported by {custom_llm_provider}. To drop it from the call, set `litellm.drop_params = True`.", + ) + return non_default_params + + if ( + custom_llm_provider == "openai" + or custom_llm_provider == "azure" + or custom_llm_provider in litellm.openai_compatible_providers + ): + optional_params = non_default_params + elif custom_llm_provider == "bedrock": + supported_params = ["size"] + _check_valid_arg(supported_params=supported_params) + if size is not None: + width, height = size.split("x") + optional_params["width"] = int(width) + optional_params["height"] = int(height) + + for k in passed_params.keys(): + if k not in default_params.keys(): + optional_params[k] = passed_params[k] + return optional_params def get_optional_params_embeddings( # 2 optional params + model=None, user=None, encoding_format=None, + dimensions=None, custom_llm_provider="", **kwargs, ): @@ -3275,7 +3759,7 @@ def get_optional_params_embeddings( for k, v in special_params.items(): passed_params[k] = v - default_params = {"user": None, "encoding_format": None} + default_params = {"user": None, "encoding_format": None, "dimensions": None} non_default_params = { k: v @@ -3283,6 +3767,19 @@ def get_optional_params_embeddings( if (k in default_params and v != default_params[k]) } ## raise exception if non-default value passed for non-openai/azure embedding calls + if custom_llm_provider == "openai": + # 'dimensions` is only supported in `text-embedding-3` and later models + + if ( + model is not None + and "text-embedding-3" not in model + and "dimensions" in non_default_params.keys() + ): + raise UnsupportedParamsError( + status_code=500, + message=f"Setting dimensions is not supported for OpenAI `text-embedding-3` and later models. To drop it from the call, set `litellm.drop_params = True`.", + ) + if ( custom_llm_provider != "openai" and custom_llm_provider != "azure" @@ -3337,6 +3834,10 @@ def get_optional_params( custom_llm_provider != "bedrock" and custom_llm_provider != "sagemaker" ): # allow dynamically setting boto3 init logic continue + elif ( + k.startswith("vertex_") and custom_llm_provider != "vertex_ai" + ): # allow dynamically setting vertex ai init logic + continue passed_params[k] = v default_params = { "functions": None, @@ -3384,6 +3885,8 @@ def get_optional_params( and custom_llm_provider != "text-completion-openai" and custom_llm_provider != "azure" and custom_llm_provider != "vertex_ai" + and custom_llm_provider != "anyscale" + and custom_llm_provider != "together_ai" ): if custom_llm_provider == "ollama" or custom_llm_provider == "ollama_chat": # ollama actually supports json output @@ -3402,11 +3905,6 @@ def get_optional_params( optional_params[ "functions_unsupported_model" ] = non_default_params.pop("functions") - elif ( - custom_llm_provider == "anyscale" - and model == "mistralai/Mistral-7B-Instruct-v0.1" - ): # anyscale just supports function calling with mistral - pass elif ( litellm.add_function_to_prompt ): # if user opts to add it to prompt instead @@ -3619,11 +4117,13 @@ def get_optional_params( "top_p", "stop", "frequency_penalty", + "tools", + "tool_choice", ] _check_valid_arg(supported_params=supported_params) if stream: - optional_params["stream_tokens"] = stream + optional_params["stream"] = stream if temperature is not None: optional_params["temperature"] = temperature if top_p is not None: @@ -3636,6 +4136,10 @@ def get_optional_params( ] = frequency_penalty # https://docs.together.ai/reference/inference if stop is not None: optional_params["stop"] = stop + if tools is not None: + optional_params["tools"] = tools + if tool_choice is not None: + optional_params["tool_choice"] = tool_choice elif custom_llm_provider == "ai21": ## check if unsupported param passed in supported_params = [ @@ -3878,7 +4382,7 @@ def get_optional_params( if frequency_penalty is not None: optional_params["repeat_penalty"] = frequency_penalty if stop is not None: - optional_params["stop_sequences"] = stop + optional_params["stop"] = stop elif custom_llm_provider == "ollama_chat": supported_params = [ "max_tokens", @@ -3901,7 +4405,7 @@ def get_optional_params( if frequency_penalty is not None: optional_params["repeat_penalty"] = frequency_penalty if stop is not None: - optional_params["stop_sequences"] = stop + optional_params["stop"] = stop elif custom_llm_provider == "nlp_cloud": supported_params = [ "max_tokens", @@ -4257,6 +4761,14 @@ def get_llm_provider( # voyage is openai compatible, we just need to set this to custom_openai and have the api_base be https://api.voyageai.com/v1 api_base = "https://api.voyageai.com/v1" dynamic_api_key = get_secret("VOYAGE_API_KEY") + elif custom_llm_provider == "together_ai": + api_base = "https://api.together.xyz/v1" + dynamic_api_key = ( + get_secret("TOGETHER_API_KEY") + or get_secret("TOGETHER_AI_API_KEY") + or get_secret("TOGETHERAI_API_KEY") + or get_secret("TOGETHER_AI_TOKEN") + ) return model, custom_llm_provider, dynamic_api_key, api_base elif model.split("/", 1)[0] in litellm.provider_list: custom_llm_provider = model.split("/", 1)[0] @@ -4318,6 +4830,7 @@ def get_llm_provider( or model in litellm.vertex_text_models or model in litellm.vertex_code_text_models or model in litellm.vertex_language_models + or model in litellm.vertex_embedding_models ): custom_llm_provider = "vertex_ai" ## ai21 @@ -4425,7 +4938,7 @@ def get_api_key(llm_provider: str, dynamic_api_key: Optional[str]): def get_max_tokens(model: str): """ - Get the maximum number of tokens allowed for a given model. + Get the maximum number of output tokens allowed for a given model. Parameters: model (str): The name of the model. @@ -4444,7 +4957,6 @@ def get_max_tokens(model: str): def _get_max_position_embeddings(model_name): # Construct the URL for the config.json file config_url = f"https://huggingface.co/{model_name}/raw/main/config.json" - try: # Make the HTTP request to get the raw JSON file response = requests.get(config_url) @@ -4452,10 +4964,8 @@ def get_max_tokens(model: str): # Parse the JSON response config_json = response.json() - # Extract and return the max_position_embeddings max_position_embeddings = config_json.get("max_position_embeddings") - if max_position_embeddings is not None: return max_position_embeddings else: @@ -4465,7 +4975,10 @@ def get_max_tokens(model: str): try: if model in litellm.model_cost: - return litellm.model_cost[model]["max_tokens"] + if "max_output_tokens" in litellm.model_cost[model]: + return litellm.model_cost[model]["max_output_tokens"] + elif "max_tokens" in litellm.model_cost[model]: + return litellm.model_cost[model]["max_tokens"] model, custom_llm_provider, _, _ = get_llm_provider(model=model) if custom_llm_provider == "huggingface": max_tokens = _get_max_position_embeddings(model_name=model) @@ -5776,14 +6289,29 @@ def exception_type( or custom_llm_provider == "custom_openai" or custom_llm_provider in litellm.openai_compatible_providers ): + # custom_llm_provider is openai, make it OpenAI + message = original_exception.message + if message is not None and isinstance(message, str): + message = message.replace("OPENAI", custom_llm_provider.upper()) + message = message.replace("openai", custom_llm_provider) + message = message.replace("OpenAI", custom_llm_provider) + if custom_llm_provider == "openai": + exception_provider = "OpenAI" + "Exception" + else: + exception_provider = ( + custom_llm_provider[0].upper() + + custom_llm_provider[1:] + + "Exception" + ) + if ( "This model's maximum context length is" in error_str or "Request too large" in error_str ): exception_mapping_worked = True raise ContextWindowExceededError( - message=f"OpenAIException - {original_exception.message}", - llm_provider="openai", + message=f"{exception_provider} - {message}", + llm_provider=custom_llm_provider, model=model, response=original_exception.response, ) @@ -5793,8 +6321,8 @@ def exception_type( ): exception_mapping_worked = True raise NotFoundError( - message=f"OpenAIException - {original_exception.message}", - llm_provider="openai", + message=f"{exception_provider} - {message}", + llm_provider=custom_llm_provider, model=model, response=original_exception.response, ) @@ -5804,8 +6332,8 @@ def exception_type( ): exception_mapping_worked = True raise ContentPolicyViolationError( - message=f"OpenAIException - {original_exception.message}", - llm_provider="openai", + message=f"{exception_provider} - {message}", + llm_provider=custom_llm_provider, model=model, response=original_exception.response, ) @@ -5815,8 +6343,19 @@ def exception_type( ): exception_mapping_worked = True raise BadRequestError( - message=f"OpenAIException - {original_exception.message}", - llm_provider="openai", + message=f"{exception_provider} - {message}", + llm_provider=custom_llm_provider, + model=model, + response=original_exception.response, + ) + elif ( + "The api_key client option must be set either by passing api_key to the client or by setting the OPENAI_API_KEY environment variable" + in error_str + ): + exception_mapping_worked = True + raise AuthenticationError( + message=f"{exception_provider} - {message}", + llm_provider=custom_llm_provider, model=model, response=original_exception.response, ) @@ -5825,63 +6364,63 @@ def exception_type( if original_exception.status_code == 401: exception_mapping_worked = True raise AuthenticationError( - message=f"OpenAIException - {original_exception.message}", - llm_provider="openai", + message=f"{exception_provider} - {message}", + llm_provider=custom_llm_provider, model=model, response=original_exception.response, ) elif original_exception.status_code == 404: exception_mapping_worked = True raise NotFoundError( - message=f"OpenAIException - {original_exception.message}", + message=f"{exception_provider} - {message}", model=model, - llm_provider="openai", + llm_provider=custom_llm_provider, response=original_exception.response, ) elif original_exception.status_code == 408: exception_mapping_worked = True raise Timeout( - message=f"OpenAIException - {original_exception.message}", + message=f"{exception_provider} - {message}", model=model, - llm_provider="openai", + llm_provider=custom_llm_provider, ) elif original_exception.status_code == 422: exception_mapping_worked = True raise BadRequestError( - message=f"OpenAIException - {original_exception.message}", + message=f"{exception_provider} - {message}", model=model, - llm_provider="openai", + llm_provider=custom_llm_provider, response=original_exception.response, ) elif original_exception.status_code == 429: exception_mapping_worked = True raise RateLimitError( - message=f"OpenAIException - {original_exception.message}", + message=f"{exception_provider} - {message}", model=model, - llm_provider="openai", + llm_provider=custom_llm_provider, response=original_exception.response, ) elif original_exception.status_code == 503: exception_mapping_worked = True raise ServiceUnavailableError( - message=f"OpenAIException - {original_exception.message}", + message=f"{exception_provider} - {message}", model=model, - llm_provider="openai", + llm_provider=custom_llm_provider, response=original_exception.response, ) elif original_exception.status_code == 504: # gateway timeout error exception_mapping_worked = True raise Timeout( - message=f"OpenAIException - {original_exception.message}", + message=f"{exception_provider} - {message}", model=model, - llm_provider="openai", + llm_provider=custom_llm_provider, ) else: exception_mapping_worked = True raise APIError( status_code=original_exception.status_code, - message=f"OpenAIException - {original_exception.message}", - llm_provider="openai", + message=f"{exception_provider} - {message}", + llm_provider=custom_llm_provider, model=model, request=original_exception.request, ) @@ -6108,6 +6647,13 @@ def exception_type( llm_provider="bedrock", response=original_exception.response, ) + if "Connect timeout on endpoint URL" in error_str: + exception_mapping_worked = True + raise Timeout( + message=f"BedrockException: Timeout Error - {error_str}", + model=model, + llm_provider="bedrock", + ) if hasattr(original_exception, "status_code"): if original_exception.status_code == 500: exception_mapping_worked = True @@ -6115,7 +6661,12 @@ def exception_type( message=f"BedrockException - {original_exception.message}", llm_provider="bedrock", model=model, - response=original_exception.response, + response=httpx.Response( + status_code=500, + request=httpx.Request( + method="POST", url="https://api.openai.com/v1/" + ), + ), ) elif original_exception.status_code == 401: exception_mapping_worked = True @@ -6198,7 +6749,30 @@ def exception_type( message=f"VertexAIException - {error_str}", model=model, llm_provider="vertex_ai", - response=original_exception.response, + response=httpx.Response( + status_code=429, + request=httpx.Request( + method="POST", + url=" https://cloud.google.com/vertex-ai/", + ), + ), + ) + elif ( + "429 Quota exceeded" in error_str + or "IndexError: list index out of range" + ): + exception_mapping_worked = True + raise RateLimitError( + message=f"VertexAIException - {error_str}", + model=model, + llm_provider="vertex_ai", + response=httpx.Response( + status_code=429, + request=httpx.Request( + method="POST", + url=" https://cloud.google.com/vertex-ai/", + ), + ), ) if hasattr(original_exception, "status_code"): if original_exception.status_code == 400: @@ -6813,6 +7387,17 @@ def exception_type( model=model, response=original_exception.response, ) + elif ( + "The api_key client option must be set either by passing api_key to the client or by setting" + in error_str + ): + exception_mapping_worked = True + raise AuthenticationError( + message=f"{exception_provider} - {original_exception.message}", + llm_provider=custom_llm_provider, + model=model, + response=original_exception.response, + ) elif hasattr(original_exception, "status_code"): exception_mapping_worked = True if original_exception.status_code == 401: @@ -6847,6 +7432,21 @@ def exception_type( llm_provider="azure", response=original_exception.response, ) + elif original_exception.status_code == 503: + exception_mapping_worked = True + raise ServiceUnavailableError( + message=f"AzureException - {original_exception.message}", + model=model, + llm_provider="azure", + response=original_exception.response, + ) + elif original_exception.status_code == 504: # gateway timeout error + exception_mapping_worked = True + raise Timeout( + message=f"AzureException - {original_exception.message}", + model=model, + llm_provider="azure", + ) else: exception_mapping_worked = True raise APIError( @@ -6870,7 +7470,7 @@ def exception_type( ): # deal with edge-case invalid request error bug in openai-python sdk exception_mapping_worked = True raise BadRequestError( - message=f"OpenAIException: This can happen due to missing AZURE_API_VERSION: {str(original_exception)}", + message=f"{exception_provider}: This can happen due to missing AZURE_API_VERSION: {str(original_exception)}", model=model, llm_provider=custom_llm_provider, response=original_exception.response, @@ -7092,6 +7692,7 @@ class CustomStreamWrapper: self.special_tokens = ["<|assistant|>", "<|system|>", "<|user|>", "", ""] self.holding_chunk = "" self.complete_response = "" + self.response_uptil_now = "" _model_info = ( self.logging_obj.model_call_details.get("litellm_params", {}).get( "model_info", {} @@ -7102,6 +7703,8 @@ class CustomStreamWrapper: "model_id": (_model_info.get("id", None)) } # returned as x-litellm-model-id response header in proxy self.response_id = None + self.logging_loop = None + self.rules = Rules() def __iter__(self): return self @@ -7416,7 +8019,10 @@ class CustomStreamWrapper: logprobs = None original_chunk = None # this is used for function/tool calling if len(str_line.choices) > 0: - if str_line.choices[0].delta.content is not None: + if ( + str_line.choices[0].delta is not None + and str_line.choices[0].delta.content is not None + ): text = str_line.choices[0].delta.content else: # function/tool calling chunk - when content is None. in this case we just return the original chunk from openai original_chunk = str_line @@ -7672,6 +8278,27 @@ class CustomStreamWrapper: } return "" + def handle_sagemaker_stream(self, chunk): + if "data: [DONE]" in chunk: + text = "" + is_finished = True + finish_reason = "stop" + return { + "text": text, + "is_finished": is_finished, + "finish_reason": finish_reason, + } + elif isinstance(chunk, dict): + if chunk["is_finished"] == True: + finish_reason = "stop" + else: + finish_reason = "" + return { + "text": chunk["text"], + "is_finished": chunk["is_finished"], + "finish_reason": finish_reason, + } + def chunk_creator(self, chunk): model_response = ModelResponse(stream=True, model=self.model) if self.response_id is not None: @@ -7679,6 +8306,7 @@ class CustomStreamWrapper: else: self.response_id = model_response.id model_response._hidden_params["custom_llm_provider"] = self.custom_llm_provider + model_response._hidden_params["created_at"] = time.time() model_response.choices = [StreamingChoices()] model_response.choices[0].finish_reason = None response_obj = {} @@ -7764,13 +8392,20 @@ class CustomStreamWrapper: completion_obj["content"] = chunk.text elif self.custom_llm_provider and (self.custom_llm_provider == "vertex_ai"): try: - # print(chunk) - if hasattr(chunk, "text"): - # vertexAI chunks return - # MultiCandidateTextGenerationResponse(text=' ```python\n# This Python code says "Hi" 100 times.\n\n# Create', _prediction_response=Prediction(predictions=[{'candidates': [{'content': ' ```python\n# This Python code says "Hi" 100 times.\n\n# Create', 'author': '1'}], 'citationMetadata': [{'citations': None}], 'safetyAttributes': [{'blocked': False, 'scores': None, 'categories': None}]}], deployed_model_id='', model_version_id=None, model_resource_name=None, explanations=None), is_blocked=False, safety_attributes={}, candidates=[ ```python - # This Python code says "Hi" 100 times. - # Create]) - completion_obj["content"] = chunk.text + if hasattr(chunk, "candidates") == True: + try: + completion_obj["content"] = chunk.text + if hasattr(chunk.candidates[0], "finish_reason"): + model_response.choices[ + 0 + ].finish_reason = map_finish_reason( + chunk.candidates[0].finish_reason.name + ) + except: + if chunk.candidates[0].finish_reason.name == "SAFETY": + raise Exception( + f"The response was blocked by VertexAI. {str(chunk)}" + ) else: completion_obj["content"] = str(chunk) except StopIteration as e: @@ -7797,8 +8432,14 @@ class CustomStreamWrapper: ] self.sent_last_chunk = True elif self.custom_llm_provider == "sagemaker": - print_verbose(f"ENTERS SAGEMAKER STREAMING for chunk {chunk}") - completion_obj["content"] = chunk + verbose_logger.debug(f"ENTERS SAGEMAKER STREAMING for chunk {chunk}") + response_obj = self.handle_sagemaker_stream(chunk) + completion_obj["content"] = response_obj["text"] + if response_obj["is_finished"]: + model_response.choices[0].finish_reason = response_obj[ + "finish_reason" + ] + self.sent_last_chunk = True elif self.custom_llm_provider == "petals": if len(self.completion_stream) == 0: if self.sent_last_chunk: @@ -7899,6 +8540,7 @@ class CustomStreamWrapper: if len(original_chunk.choices) > 0: try: delta = dict(original_chunk.choices[0].delta) + print_verbose(f"original delta: {delta}") model_response.choices[0].delta = Delta(**delta) except Exception as e: model_response.choices[0].delta = Delta() @@ -7907,9 +8549,21 @@ class CustomStreamWrapper: model_response.system_fingerprint = ( original_chunk.system_fingerprint ) + print_verbose(f"self.sent_first_chunk: {self.sent_first_chunk}") if self.sent_first_chunk == False: model_response.choices[0].delta["role"] = "assistant" self.sent_first_chunk = True + elif self.sent_first_chunk == True and hasattr( + model_response.choices[0].delta, "role" + ): + _initial_delta = model_response.choices[ + 0 + ].delta.model_dump() + _initial_delta.pop("role", None) + model_response.choices[0].delta = Delta(**_initial_delta) + print_verbose( + f"model_response.choices[0].delta: {model_response.choices[0].delta}" + ) else: ## else completion_obj["content"] = model_response_str @@ -7974,6 +8628,27 @@ class CustomStreamWrapper: original_exception=e, ) + def set_logging_event_loop(self, loop): + self.logging_loop = loop + + async def your_async_function(self): + # Your asynchronous code here + return "Your asynchronous code is running" + + def run_success_logging_in_thread(self, processed_chunk): + # Create an event loop for the new thread + ## ASYNC LOGGING + if self.logging_loop is not None: + future = asyncio.run_coroutine_threadsafe( + self.logging_obj.async_success_handler(processed_chunk), + loop=self.logging_loop, + ) + result = future.result() + else: + asyncio.run(self.logging_obj.async_success_handler(processed_chunk)) + ## SYNC LOGGING + self.logging_obj.success_handler(processed_chunk) + ## needs to handle the empty string case (even starting chunk can be an empty string) def __next__(self): try: @@ -7986,14 +8661,20 @@ class CustomStreamWrapper: chunk = next(self.completion_stream) if chunk is not None and chunk != b"": print_verbose(f"PROCESSED CHUNK PRE CHUNK CREATOR: {chunk}") - response = self.chunk_creator(chunk=chunk) + response: Optional[ModelResponse] = self.chunk_creator(chunk=chunk) print_verbose(f"PROCESSED CHUNK POST CHUNK CREATOR: {response}") if response is None: continue ## LOGGING threading.Thread( - target=self.logging_obj.success_handler, args=(response,) + target=self.run_success_logging_in_thread, args=(response,) ).start() # log response + self.response_uptil_now += ( + response.choices[0].delta.get("content", "") or "" + ) + self.rules.post_call_rules( + input=self.response_uptil_now, model=self.model + ) # RETURN RESULT return response except StopIteration: @@ -8018,7 +8699,6 @@ class CustomStreamWrapper: or self.custom_llm_provider == "ollama_chat" or self.custom_llm_provider == "vertex_ai" ): - print_verbose(f"INSIDE ASYNC STREAMING!!!") print_verbose( f"value of async completion stream: {self.completion_stream}" ) @@ -8030,7 +8710,9 @@ class CustomStreamWrapper: # chunk_creator() does logging/stream chunk building. We need to let it know its being called in_async_func, so we don't double add chunks. # __anext__ also calls async_success_handler, which does logging print_verbose(f"PROCESSED ASYNC CHUNK PRE CHUNK CREATOR: {chunk}") - processed_chunk = self.chunk_creator(chunk=chunk) + processed_chunk: Optional[ModelResponse] = self.chunk_creator( + chunk=chunk + ) print_verbose( f"PROCESSED ASYNC CHUNK POST CHUNK CREATOR: {processed_chunk}" ) @@ -8045,17 +8727,52 @@ class CustomStreamWrapper: processed_chunk, ) ) + self.response_uptil_now += ( + processed_chunk.choices[0].delta.get("content", "") or "" + ) + self.rules.post_call_rules( + input=self.response_uptil_now, model=self.model + ) return processed_chunk raise StopAsyncIteration else: # temporary patch for non-aiohttp async calls # example - boto3 bedrock llms - processed_chunk = next(self) - asyncio.create_task( - self.logging_obj.async_success_handler( - processed_chunk, - ) - ) - return processed_chunk + while True: + if isinstance(self.completion_stream, str) or isinstance( + self.completion_stream, bytes + ): + chunk = self.completion_stream + else: + chunk = next(self.completion_stream) + if chunk is not None and chunk != b"": + print_verbose(f"PROCESSED CHUNK PRE CHUNK CREATOR: {chunk}") + processed_chunk: Optional[ModelResponse] = self.chunk_creator( + chunk=chunk + ) + print_verbose( + f"PROCESSED CHUNK POST CHUNK CREATOR: {processed_chunk}" + ) + if processed_chunk is None: + continue + ## LOGGING + threading.Thread( + target=self.logging_obj.success_handler, + args=(processed_chunk,), + ).start() # log processed_chunk + asyncio.create_task( + self.logging_obj.async_success_handler( + processed_chunk, + ) + ) + + self.response_uptil_now += ( + processed_chunk.choices[0].delta.get("content", "") or "" + ) + self.rules.post_call_rules( + input=self.response_uptil_now, model=self.model + ) + # RETURN RESULT + return processed_chunk except StopAsyncIteration: raise except StopIteration: @@ -8136,6 +8853,14 @@ def mock_completion_streaming_obj(model_response, mock_response, model): yield model_response +async def async_mock_completion_streaming_obj(model_response, mock_response, model): + for i in range(0, len(mock_response), 3): + completion_obj = Delta(role="assistant", content=mock_response) + model_response.choices[0].delta = completion_obj + model_response.choices[0].finish_reason = "stop" + yield model_response + + ########## Reading Config File ############################ def read_config_args(config_path) -> dict: try: @@ -8558,3 +9283,31 @@ def print_args_passed_to_litellm(original_function, args, kwargs): except: # This should always be non blocking pass + + +def get_logging_id(start_time, response_obj): + try: + response_id = ( + "time-" + start_time.strftime("%H-%M-%S-%f") + "_" + response_obj.get("id") + ) + return response_id + except: + return None + + +def _get_base_model_from_metadata(model_call_details=None): + if model_call_details is None: + return None + litellm_params = model_call_details.get("litellm_params", {}) + + if litellm_params is not None: + metadata = litellm_params.get("metadata", {}) + + if metadata is not None: + model_info = metadata.get("model_info", {}) + + if model_info is not None: + base_model = model_info.get("base_model", None) + if base_model is not None: + return base_model + return None diff --git a/model_prices_and_context_window.json b/model_prices_and_context_window.json index 7e5f6699093..e44f46ff84a 100644 --- a/model_prices_and_context_window.json +++ b/model_prices_and_context_window.json @@ -8,6 +8,15 @@ "litellm_provider": "openai", "mode": "chat" }, + "gpt-4-turbo-preview": { + "max_tokens": 8192, + "max_input_tokens": 8192, + "max_output_tokens": 4096, + "input_cost_per_token": 0.00001, + "output_cost_per_token": 0.00003, + "litellm_provider": "openai", + "mode": "chat" + }, "gpt-4-0314": { "max_tokens": 8192, "max_input_tokens": 8192, @@ -62,6 +71,15 @@ "litellm_provider": "openai", "mode": "chat" }, + "gpt-4-0125-preview": { + "max_tokens": 128000, + "max_input_tokens": 128000, + "max_output_tokens": 4096, + "input_cost_per_token": 0.00001, + "output_cost_per_token": 0.00003, + "litellm_provider": "openai", + "mode": "chat" + }, "gpt-4-vision-preview": { "max_tokens": 128000, "max_input_tokens": 128000, @@ -116,6 +134,15 @@ "litellm_provider": "openai", "mode": "chat" }, + "gpt-3.5-turbo-0125": { + "max_tokens": 16385, + "max_input_tokens": 16385, + "max_output_tokens": 4096, + "input_cost_per_token": 0.0000005, + "output_cost_per_token": 0.0000015, + "litellm_provider": "openai", + "mode": "chat" + }, "gpt-3.5-turbo-16k": { "max_tokens": 16385, "max_input_tokens": 16385, @@ -138,11 +165,25 @@ "max_tokens": 4097, "max_input_tokens": 4097, "max_output_tokens": 4096, - "input_cost_per_token": 0.000012, - "output_cost_per_token": 0.000016, + "input_cost_per_token": 0.000003, + "output_cost_per_token": 0.000006, "litellm_provider": "openai", "mode": "chat" }, + "text-embedding-3-large": { + "max_tokens": 8191, + "input_cost_per_token": 0.00000013, + "output_cost_per_token": 0.000000, + "litellm_provider": "openai", + "mode": "embedding" + }, + "text-embedding-3-small": { + "max_tokens": 8191, + "input_cost_per_token": 0.00000002, + "output_cost_per_token": 0.000000, + "litellm_provider": "openai", + "mode": "embedding" + }, "text-embedding-ada-002": { "max_tokens": 8191, "input_cost_per_token": 0.0000001, @@ -211,6 +252,15 @@ "output_cost_per_pixel": 0.0, "litellm_provider": "openai" }, + "azure/gpt-4-0125-preview": { + "max_tokens": 128000, + "max_input_tokens": 128000, + "max_output_tokens": 4096, + "input_cost_per_token": 0.00001, + "output_cost_per_token": 0.00003, + "litellm_provider": "azure", + "mode": "chat" + }, "azure/gpt-4-1106-preview": { "max_tokens": 128000, "max_input_tokens": 128000, @@ -580,6 +630,51 @@ "litellm_provider": "vertex_ai-vision-models", "mode": "chat" }, + "textembedding-gecko": { + "max_tokens": 3072, + "max_input_tokens": 3072, + "output_vector_size": 768, + "input_cost_per_token": 0.00000000625, + "output_cost_per_token": 0, + "litellm_provider": "vertex_ai-embedding-models", + "mode": "embedding" + }, + "textembedding-gecko-multilingual": { + "max_tokens": 3072, + "max_input_tokens": 3072, + "output_vector_size": 768, + "input_cost_per_token": 0.00000000625, + "output_cost_per_token": 0, + "litellm_provider": "vertex_ai-embedding-models", + "mode": "embedding" + }, + "textembedding-gecko-multilingual@001": { + "max_tokens": 3072, + "max_input_tokens": 3072, + "output_vector_size": 768, + "input_cost_per_token": 0.00000000625, + "output_cost_per_token": 0, + "litellm_provider": "vertex_ai-embedding-models", + "mode": "embedding" + }, + "textembedding-gecko@001": { + "max_tokens": 3072, + "max_input_tokens": 3072, + "output_vector_size": 768, + "input_cost_per_token": 0.00000000625, + "output_cost_per_token": 0, + "litellm_provider": "vertex_ai-embedding-models", + "mode": "embedding" + }, + "textembedding-gecko@003": { + "max_tokens": 3072, + "max_input_tokens": 3072, + "output_vector_size": 768, + "input_cost_per_token": 0.00000000625, + "output_cost_per_token": 0, + "litellm_provider": "vertex_ai-embedding-models", + "mode": "embedding" + }, "palm/chat-bison": { "max_tokens": 4096, "input_cost_per_token": 0.000000125, @@ -1400,6 +1495,48 @@ "litellm_provider": "bedrock", "mode": "chat" }, + "512-x-512/50-steps/stability.stable-diffusion-xl-v0": { + "max_tokens": 77, + "max_input_tokens": 77, + "output_cost_per_image": 0.018, + "litellm_provider": "bedrock", + "mode": "image_generation" + }, + "512-x-512/max-steps/stability.stable-diffusion-xl-v0": { + "max_tokens": 77, + "max_input_tokens": 77, + "output_cost_per_image": 0.036, + "litellm_provider": "bedrock", + "mode": "image_generation" + }, + "max-x-max/50-steps/stability.stable-diffusion-xl-v0": { + "max_tokens": 77, + "max_input_tokens": 77, + "output_cost_per_image": 0.036, + "litellm_provider": "bedrock", + "mode": "image_generation" + }, + "max-x-max/max-steps/stability.stable-diffusion-xl-v0": { + "max_tokens": 77, + "max_input_tokens": 77, + "output_cost_per_image": 0.072, + "litellm_provider": "bedrock", + "mode": "image_generation" + }, + "1024-x-1024/50-steps/stability.stable-diffusion-xl-v1": { + "max_tokens": 77, + "max_input_tokens": 77, + "output_cost_per_image": 0.04, + "litellm_provider": "bedrock", + "mode": "image_generation" + }, + "1024-x-1024/max-steps/stability.stable-diffusion-xl-v1": { + "max_tokens": 77, + "max_input_tokens": 77, + "output_cost_per_image": 0.08, + "litellm_provider": "bedrock", + "mode": "image_generation" + }, "sagemaker/meta-textgeneration-llama-2-7b": { "max_tokens": 4096, "input_cost_per_token": 0.000, @@ -1650,62 +1787,71 @@ "litellm_provider": "deepinfra", "mode": "chat" }, - "perplexity/pplx-7b-chat": { + "perplexity/codellama-34b-instruct": { + "max_tokens": 16384, + "input_cost_per_token": 0.00000035, + "output_cost_per_token": 0.00000140, + "litellm_provider": "perplexity", + "mode": "chat" + }, + "perplexity/codellama-70b-instruct": { + "max_tokens": 16384, + "input_cost_per_token": 0.00000070, + "output_cost_per_token": 0.00000280, + "litellm_provider": "perplexity", + "mode": "chat" + }, + "perplexity/pplx-7b-chat": { "max_tokens": 8192, - "input_cost_per_token": 0.0000000, - "output_cost_per_token": 0.000000, + "input_cost_per_token": 0.00000007, + "output_cost_per_token": 0.00000028, "litellm_provider": "perplexity", "mode": "chat" - }, - "perplexity/pplx-70b-chat": { + }, + "perplexity/pplx-70b-chat": { + "max_tokens": 4096, + "input_cost_per_token": 0.00000070, + "output_cost_per_token": 0.00000280, + "litellm_provider": "perplexity", + "mode": "chat" + }, + "perplexity/pplx-7b-online": { "max_tokens": 4096, "input_cost_per_token": 0.0000000, - "output_cost_per_token": 0.000000, + "output_cost_per_token": 0.00000028, + "input_cost_per_request": 0.005, "litellm_provider": "perplexity", "mode": "chat" - }, - "perplexity/pplx-7b-online": { + }, + "perplexity/pplx-70b-online": { "max_tokens": 4096, "input_cost_per_token": 0.0000000, - "output_cost_per_token": 0.0005, + "output_cost_per_token": 0.00000280, + "input_cost_per_request": 0.005, "litellm_provider": "perplexity", "mode": "chat" - }, - "perplexity/pplx-70b-online": { + }, + "perplexity/llama-2-70b-chat": { "max_tokens": 4096, - "input_cost_per_token": 0.0000000, - "output_cost_per_token": 0.0005, + "input_cost_per_token": 0.00000070, + "output_cost_per_token": 0.00000280, "litellm_provider": "perplexity", "mode": "chat" - }, - "perplexity/llama-2-13b-chat": { + }, + "perplexity/mistral-7b-instruct": { "max_tokens": 4096, - "input_cost_per_token": 0.0000000, - "output_cost_per_token": 0.000000, + "input_cost_per_token": 0.00000007, + "output_cost_per_token": 0.00000028, "litellm_provider": "perplexity", "mode": "chat" - }, - "perplexity/llama-2-70b-chat": { - "max_tokens": 4096, - "input_cost_per_token": 0.0000000, - "output_cost_per_token": 0.000000, - "litellm_provider": "perplexity", - "mode": "chat" - }, - "perplexity/mistral-7b-instruct": { - "max_tokens": 4096, - "input_cost_per_token": 0.0000000, - "output_cost_per_token": 0.000000, - "litellm_provider": "perplexity", - "mode": "chat" - }, - "perplexity/replit-code-v1.5-3b": { - "max_tokens": 4096, - "input_cost_per_token": 0.0000000, - "output_cost_per_token": 0.000000, - "litellm_provider": "perplexity", - "mode": "chat" - }, + }, + "perplexity/mixtral-8x7b-instruct": { + "max_tokens": 4096, + "input_cost_per_token": 0.00000007, + "output_cost_per_token": 0.00000028, + "litellm_provider": "perplexity", + "mode": "chat" + }, "anyscale/mistralai/Mistral-7B-Instruct-v0.1": { "max_tokens": 16384, "input_cost_per_token": 0.00000015, diff --git a/poetry.lock b/poetry.lock index 7e58f02bc86..7622aae748d 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2,87 +2,87 @@ [[package]] name = "aiohttp" -version = "3.9.1" +version = "3.9.3" description = "Async http client/server framework (asyncio)" optional = false python-versions = ">=3.8" files = [ - {file = "aiohttp-3.9.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e1f80197f8b0b846a8d5cf7b7ec6084493950d0882cc5537fb7b96a69e3c8590"}, - {file = "aiohttp-3.9.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c72444d17777865734aa1a4d167794c34b63e5883abb90356a0364a28904e6c0"}, - {file = "aiohttp-3.9.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9b05d5cbe9dafcdc733262c3a99ccf63d2f7ce02543620d2bd8db4d4f7a22f83"}, - {file = "aiohttp-3.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c4fa235d534b3547184831c624c0b7c1e262cd1de847d95085ec94c16fddcd5"}, - {file = "aiohttp-3.9.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:289ba9ae8e88d0ba16062ecf02dd730b34186ea3b1e7489046fc338bdc3361c4"}, - {file = "aiohttp-3.9.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bff7e2811814fa2271be95ab6e84c9436d027a0e59665de60edf44e529a42c1f"}, - {file = "aiohttp-3.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81b77f868814346662c96ab36b875d7814ebf82340d3284a31681085c051320f"}, - {file = "aiohttp-3.9.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3b9c7426923bb7bd66d409da46c41e3fb40f5caf679da624439b9eba92043fa6"}, - {file = "aiohttp-3.9.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:8d44e7bf06b0c0a70a20f9100af9fcfd7f6d9d3913e37754c12d424179b4e48f"}, - {file = "aiohttp-3.9.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:22698f01ff5653fe66d16ffb7658f582a0ac084d7da1323e39fd9eab326a1f26"}, - {file = "aiohttp-3.9.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:ca7ca5abfbfe8d39e653870fbe8d7710be7a857f8a8386fc9de1aae2e02ce7e4"}, - {file = "aiohttp-3.9.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:8d7f98fde213f74561be1d6d3fa353656197f75d4edfbb3d94c9eb9b0fc47f5d"}, - {file = "aiohttp-3.9.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5216b6082c624b55cfe79af5d538e499cd5f5b976820eac31951fb4325974501"}, - {file = "aiohttp-3.9.1-cp310-cp310-win32.whl", hash = "sha256:0e7ba7ff228c0d9a2cd66194e90f2bca6e0abca810b786901a569c0de082f489"}, - {file = "aiohttp-3.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:c7e939f1ae428a86e4abbb9a7c4732bf4706048818dfd979e5e2839ce0159f23"}, - {file = "aiohttp-3.9.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:df9cf74b9bc03d586fc53ba470828d7b77ce51b0582d1d0b5b2fb673c0baa32d"}, - {file = "aiohttp-3.9.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ecca113f19d5e74048c001934045a2b9368d77b0b17691d905af18bd1c21275e"}, - {file = "aiohttp-3.9.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8cef8710fb849d97c533f259103f09bac167a008d7131d7b2b0e3a33269185c0"}, - {file = "aiohttp-3.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bea94403a21eb94c93386d559bce297381609153e418a3ffc7d6bf772f59cc35"}, - {file = "aiohttp-3.9.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91c742ca59045dce7ba76cab6e223e41d2c70d79e82c284a96411f8645e2afff"}, - {file = "aiohttp-3.9.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6c93b7c2e52061f0925c3382d5cb8980e40f91c989563d3d32ca280069fd6a87"}, - {file = "aiohttp-3.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee2527134f95e106cc1653e9ac78846f3a2ec1004cf20ef4e02038035a74544d"}, - {file = "aiohttp-3.9.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11ff168d752cb41e8492817e10fb4f85828f6a0142b9726a30c27c35a1835f01"}, - {file = "aiohttp-3.9.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b8c3a67eb87394386847d188996920f33b01b32155f0a94f36ca0e0c635bf3e3"}, - {file = "aiohttp-3.9.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c7b5d5d64e2a14e35a9240b33b89389e0035e6de8dbb7ffa50d10d8b65c57449"}, - {file = "aiohttp-3.9.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:69985d50a2b6f709412d944ffb2e97d0be154ea90600b7a921f95a87d6f108a2"}, - {file = "aiohttp-3.9.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:c9110c06eaaac7e1f5562caf481f18ccf8f6fdf4c3323feab28a93d34cc646bd"}, - {file = "aiohttp-3.9.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d737e69d193dac7296365a6dcb73bbbf53bb760ab25a3727716bbd42022e8d7a"}, - {file = "aiohttp-3.9.1-cp311-cp311-win32.whl", hash = "sha256:4ee8caa925aebc1e64e98432d78ea8de67b2272252b0a931d2ac3bd876ad5544"}, - {file = "aiohttp-3.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:a34086c5cc285be878622e0a6ab897a986a6e8bf5b67ecb377015f06ed316587"}, - {file = "aiohttp-3.9.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f800164276eec54e0af5c99feb9494c295118fc10a11b997bbb1348ba1a52065"}, - {file = "aiohttp-3.9.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:500f1c59906cd142d452074f3811614be04819a38ae2b3239a48b82649c08821"}, - {file = "aiohttp-3.9.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0b0a6a36ed7e164c6df1e18ee47afbd1990ce47cb428739d6c99aaabfaf1b3af"}, - {file = "aiohttp-3.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69da0f3ed3496808e8cbc5123a866c41c12c15baaaead96d256477edf168eb57"}, - {file = "aiohttp-3.9.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:176df045597e674fa950bf5ae536be85699e04cea68fa3a616cf75e413737eb5"}, - {file = "aiohttp-3.9.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b796b44111f0cab6bbf66214186e44734b5baab949cb5fb56154142a92989aeb"}, - {file = "aiohttp-3.9.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f27fdaadce22f2ef950fc10dcdf8048407c3b42b73779e48a4e76b3c35bca26c"}, - {file = "aiohttp-3.9.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bcb6532b9814ea7c5a6a3299747c49de30e84472fa72821b07f5a9818bce0f66"}, - {file = "aiohttp-3.9.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:54631fb69a6e44b2ba522f7c22a6fb2667a02fd97d636048478db2fd8c4e98fe"}, - {file = "aiohttp-3.9.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:4b4c452d0190c5a820d3f5c0f3cd8a28ace48c54053e24da9d6041bf81113183"}, - {file = "aiohttp-3.9.1-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:cae4c0c2ca800c793cae07ef3d40794625471040a87e1ba392039639ad61ab5b"}, - {file = "aiohttp-3.9.1-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:565760d6812b8d78d416c3c7cfdf5362fbe0d0d25b82fed75d0d29e18d7fc30f"}, - {file = "aiohttp-3.9.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:54311eb54f3a0c45efb9ed0d0a8f43d1bc6060d773f6973efd90037a51cd0a3f"}, - {file = "aiohttp-3.9.1-cp312-cp312-win32.whl", hash = "sha256:85c3e3c9cb1d480e0b9a64c658cd66b3cfb8e721636ab8b0e746e2d79a7a9eed"}, - {file = "aiohttp-3.9.1-cp312-cp312-win_amd64.whl", hash = "sha256:11cb254e397a82efb1805d12561e80124928e04e9c4483587ce7390b3866d213"}, - {file = "aiohttp-3.9.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:8a22a34bc594d9d24621091d1b91511001a7eea91d6652ea495ce06e27381f70"}, - {file = "aiohttp-3.9.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:598db66eaf2e04aa0c8900a63b0101fdc5e6b8a7ddd805c56d86efb54eb66672"}, - {file = "aiohttp-3.9.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2c9376e2b09895c8ca8b95362283365eb5c03bdc8428ade80a864160605715f1"}, - {file = "aiohttp-3.9.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41473de252e1797c2d2293804e389a6d6986ef37cbb4a25208de537ae32141dd"}, - {file = "aiohttp-3.9.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9c5857612c9813796960c00767645cb5da815af16dafb32d70c72a8390bbf690"}, - {file = "aiohttp-3.9.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ffcd828e37dc219a72c9012ec44ad2e7e3066bec6ff3aaa19e7d435dbf4032ca"}, - {file = "aiohttp-3.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:219a16763dc0294842188ac8a12262b5671817042b35d45e44fd0a697d8c8361"}, - {file = "aiohttp-3.9.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f694dc8a6a3112059258a725a4ebe9acac5fe62f11c77ac4dcf896edfa78ca28"}, - {file = "aiohttp-3.9.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:bcc0ea8d5b74a41b621ad4a13d96c36079c81628ccc0b30cfb1603e3dfa3a014"}, - {file = "aiohttp-3.9.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:90ec72d231169b4b8d6085be13023ece8fa9b1bb495e4398d847e25218e0f431"}, - {file = "aiohttp-3.9.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:cf2a0ac0615842b849f40c4d7f304986a242f1e68286dbf3bd7a835e4f83acfd"}, - {file = "aiohttp-3.9.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:0e49b08eafa4f5707ecfb321ab9592717a319e37938e301d462f79b4e860c32a"}, - {file = "aiohttp-3.9.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2c59e0076ea31c08553e868cec02d22191c086f00b44610f8ab7363a11a5d9d8"}, - {file = "aiohttp-3.9.1-cp38-cp38-win32.whl", hash = "sha256:4831df72b053b1eed31eb00a2e1aff6896fb4485301d4ccb208cac264b648db4"}, - {file = "aiohttp-3.9.1-cp38-cp38-win_amd64.whl", hash = "sha256:3135713c5562731ee18f58d3ad1bf41e1d8883eb68b363f2ffde5b2ea4b84cc7"}, - {file = "aiohttp-3.9.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:cfeadf42840c1e870dc2042a232a8748e75a36b52d78968cda6736de55582766"}, - {file = "aiohttp-3.9.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:70907533db712f7aa791effb38efa96f044ce3d4e850e2d7691abd759f4f0ae0"}, - {file = "aiohttp-3.9.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cdefe289681507187e375a5064c7599f52c40343a8701761c802c1853a504558"}, - {file = "aiohttp-3.9.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7481f581251bb5558ba9f635db70908819caa221fc79ee52a7f58392778c636"}, - {file = "aiohttp-3.9.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:49f0c1b3c2842556e5de35f122fc0f0b721334ceb6e78c3719693364d4af8499"}, - {file = "aiohttp-3.9.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0d406b01a9f5a7e232d1b0d161b40c05275ffbcbd772dc18c1d5a570961a1ca4"}, - {file = "aiohttp-3.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d8e4450e7fe24d86e86b23cc209e0023177b6d59502e33807b732d2deb6975f"}, - {file = "aiohttp-3.9.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3c0266cd6f005e99f3f51e583012de2778e65af6b73860038b968a0a8888487a"}, - {file = "aiohttp-3.9.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab221850108a4a063c5b8a70f00dd7a1975e5a1713f87f4ab26a46e5feac5a0e"}, - {file = "aiohttp-3.9.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:c88a15f272a0ad3d7773cf3a37cc7b7d077cbfc8e331675cf1346e849d97a4e5"}, - {file = "aiohttp-3.9.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:237533179d9747080bcaad4d02083ce295c0d2eab3e9e8ce103411a4312991a0"}, - {file = "aiohttp-3.9.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:02ab6006ec3c3463b528374c4cdce86434e7b89ad355e7bf29e2f16b46c7dd6f"}, - {file = "aiohttp-3.9.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04fa38875e53eb7e354ece1607b1d2fdee2d175ea4e4d745f6ec9f751fe20c7c"}, - {file = "aiohttp-3.9.1-cp39-cp39-win32.whl", hash = "sha256:82eefaf1a996060602f3cc1112d93ba8b201dbf5d8fd9611227de2003dddb3b7"}, - {file = "aiohttp-3.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:9b05d33ff8e6b269e30a7957bd3244ffbce2a7a35a81b81c382629b80af1a8bf"}, - {file = "aiohttp-3.9.1.tar.gz", hash = "sha256:8fc49a87ac269d4529da45871e2ffb6874e87779c3d0e2ccd813c0899221239d"}, + {file = "aiohttp-3.9.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:939677b61f9d72a4fa2a042a5eee2a99a24001a67c13da113b2e30396567db54"}, + {file = "aiohttp-3.9.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1f5cd333fcf7590a18334c90f8c9147c837a6ec8a178e88d90a9b96ea03194cc"}, + {file = "aiohttp-3.9.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:82e6aa28dd46374f72093eda8bcd142f7771ee1eb9d1e223ff0fa7177a96b4a5"}, + {file = "aiohttp-3.9.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f56455b0c2c7cc3b0c584815264461d07b177f903a04481dfc33e08a89f0c26b"}, + {file = "aiohttp-3.9.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bca77a198bb6e69795ef2f09a5f4c12758487f83f33d63acde5f0d4919815768"}, + {file = "aiohttp-3.9.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e083c285857b78ee21a96ba1eb1b5339733c3563f72980728ca2b08b53826ca5"}, + {file = "aiohttp-3.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab40e6251c3873d86ea9b30a1ac6d7478c09277b32e14745d0d3c6e76e3c7e29"}, + {file = "aiohttp-3.9.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:df822ee7feaaeffb99c1a9e5e608800bd8eda6e5f18f5cfb0dc7eeb2eaa6bbec"}, + {file = "aiohttp-3.9.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:acef0899fea7492145d2bbaaaec7b345c87753168589cc7faf0afec9afe9b747"}, + {file = "aiohttp-3.9.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:cd73265a9e5ea618014802ab01babf1940cecb90c9762d8b9e7d2cc1e1969ec6"}, + {file = "aiohttp-3.9.3-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:a78ed8a53a1221393d9637c01870248a6f4ea5b214a59a92a36f18151739452c"}, + {file = "aiohttp-3.9.3-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:6b0e029353361f1746bac2e4cc19b32f972ec03f0f943b390c4ab3371840aabf"}, + {file = "aiohttp-3.9.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7cf5c9458e1e90e3c390c2639f1017a0379a99a94fdfad3a1fd966a2874bba52"}, + {file = "aiohttp-3.9.3-cp310-cp310-win32.whl", hash = "sha256:3e59c23c52765951b69ec45ddbbc9403a8761ee6f57253250c6e1536cacc758b"}, + {file = "aiohttp-3.9.3-cp310-cp310-win_amd64.whl", hash = "sha256:055ce4f74b82551678291473f66dc9fb9048a50d8324278751926ff0ae7715e5"}, + {file = "aiohttp-3.9.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6b88f9386ff1ad91ace19d2a1c0225896e28815ee09fc6a8932fded8cda97c3d"}, + {file = "aiohttp-3.9.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c46956ed82961e31557b6857a5ca153c67e5476972e5f7190015018760938da2"}, + {file = "aiohttp-3.9.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:07b837ef0d2f252f96009e9b8435ec1fef68ef8b1461933253d318748ec1acdc"}, + {file = "aiohttp-3.9.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad46e6f620574b3b4801c68255492e0159d1712271cc99d8bdf35f2043ec266"}, + {file = "aiohttp-3.9.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ed3e046ea7b14938112ccd53d91c1539af3e6679b222f9469981e3dac7ba1ce"}, + {file = "aiohttp-3.9.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:039df344b45ae0b34ac885ab5b53940b174530d4dd8a14ed8b0e2155b9dddccb"}, + {file = "aiohttp-3.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7943c414d3a8d9235f5f15c22ace69787c140c80b718dcd57caaade95f7cd93b"}, + {file = "aiohttp-3.9.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84871a243359bb42c12728f04d181a389718710129b36b6aad0fc4655a7647d4"}, + {file = "aiohttp-3.9.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:5eafe2c065df5401ba06821b9a054d9cb2848867f3c59801b5d07a0be3a380ae"}, + {file = "aiohttp-3.9.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:9d3c9b50f19704552f23b4eaea1fc082fdd82c63429a6506446cbd8737823da3"}, + {file = "aiohttp-3.9.3-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:f033d80bc6283092613882dfe40419c6a6a1527e04fc69350e87a9df02bbc283"}, + {file = "aiohttp-3.9.3-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:2c895a656dd7e061b2fd6bb77d971cc38f2afc277229ce7dd3552de8313a483e"}, + {file = "aiohttp-3.9.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1f5a71d25cd8106eab05f8704cd9167b6e5187bcdf8f090a66c6d88b634802b4"}, + {file = "aiohttp-3.9.3-cp311-cp311-win32.whl", hash = "sha256:50fca156d718f8ced687a373f9e140c1bb765ca16e3d6f4fe116e3df7c05b2c5"}, + {file = "aiohttp-3.9.3-cp311-cp311-win_amd64.whl", hash = "sha256:5fe9ce6c09668063b8447f85d43b8d1c4e5d3d7e92c63173e6180b2ac5d46dd8"}, + {file = "aiohttp-3.9.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:38a19bc3b686ad55804ae931012f78f7a534cce165d089a2059f658f6c91fa60"}, + {file = "aiohttp-3.9.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:770d015888c2a598b377bd2f663adfd947d78c0124cfe7b959e1ef39f5b13869"}, + {file = "aiohttp-3.9.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ee43080e75fc92bf36219926c8e6de497f9b247301bbf88c5c7593d931426679"}, + {file = "aiohttp-3.9.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52df73f14ed99cee84865b95a3d9e044f226320a87af208f068ecc33e0c35b96"}, + {file = "aiohttp-3.9.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dc9b311743a78043b26ffaeeb9715dc360335e5517832f5a8e339f8a43581e4d"}, + {file = "aiohttp-3.9.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b955ed993491f1a5da7f92e98d5dad3c1e14dc175f74517c4e610b1f2456fb11"}, + {file = "aiohttp-3.9.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:504b6981675ace64c28bf4a05a508af5cde526e36492c98916127f5a02354d53"}, + {file = "aiohttp-3.9.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a6fe5571784af92b6bc2fda8d1925cccdf24642d49546d3144948a6a1ed58ca5"}, + {file = "aiohttp-3.9.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ba39e9c8627edc56544c8628cc180d88605df3892beeb2b94c9bc857774848ca"}, + {file = "aiohttp-3.9.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:e5e46b578c0e9db71d04c4b506a2121c0cb371dd89af17a0586ff6769d4c58c1"}, + {file = "aiohttp-3.9.3-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:938a9653e1e0c592053f815f7028e41a3062e902095e5a7dc84617c87267ebd5"}, + {file = "aiohttp-3.9.3-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:c3452ea726c76e92f3b9fae4b34a151981a9ec0a4847a627c43d71a15ac32aa6"}, + {file = "aiohttp-3.9.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ff30218887e62209942f91ac1be902cc80cddb86bf00fbc6783b7a43b2bea26f"}, + {file = "aiohttp-3.9.3-cp312-cp312-win32.whl", hash = "sha256:38f307b41e0bea3294a9a2a87833191e4bcf89bb0365e83a8be3a58b31fb7f38"}, + {file = "aiohttp-3.9.3-cp312-cp312-win_amd64.whl", hash = "sha256:b791a3143681a520c0a17e26ae7465f1b6f99461a28019d1a2f425236e6eedb5"}, + {file = "aiohttp-3.9.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:0ed621426d961df79aa3b963ac7af0d40392956ffa9be022024cd16297b30c8c"}, + {file = "aiohttp-3.9.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7f46acd6a194287b7e41e87957bfe2ad1ad88318d447caf5b090012f2c5bb528"}, + {file = "aiohttp-3.9.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:feeb18a801aacb098220e2c3eea59a512362eb408d4afd0c242044c33ad6d542"}, + {file = "aiohttp-3.9.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f734e38fd8666f53da904c52a23ce517f1b07722118d750405af7e4123933511"}, + {file = "aiohttp-3.9.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b40670ec7e2156d8e57f70aec34a7216407848dfe6c693ef131ddf6e76feb672"}, + {file = "aiohttp-3.9.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fdd215b7b7fd4a53994f238d0f46b7ba4ac4c0adb12452beee724ddd0743ae5d"}, + {file = "aiohttp-3.9.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:017a21b0df49039c8f46ca0971b3a7fdc1f56741ab1240cb90ca408049766168"}, + {file = "aiohttp-3.9.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e99abf0bba688259a496f966211c49a514e65afa9b3073a1fcee08856e04425b"}, + {file = "aiohttp-3.9.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:648056db9a9fa565d3fa851880f99f45e3f9a771dd3ff3bb0c048ea83fb28194"}, + {file = "aiohttp-3.9.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8aacb477dc26797ee089721536a292a664846489c49d3ef9725f992449eda5a8"}, + {file = "aiohttp-3.9.3-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:522a11c934ea660ff8953eda090dcd2154d367dec1ae3c540aff9f8a5c109ab4"}, + {file = "aiohttp-3.9.3-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:5bce0dc147ca85caa5d33debc4f4d65e8e8b5c97c7f9f660f215fa74fc49a321"}, + {file = "aiohttp-3.9.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:4b4af9f25b49a7be47c0972139e59ec0e8285c371049df1a63b6ca81fdd216a2"}, + {file = "aiohttp-3.9.3-cp38-cp38-win32.whl", hash = "sha256:298abd678033b8571995650ccee753d9458dfa0377be4dba91e4491da3f2be63"}, + {file = "aiohttp-3.9.3-cp38-cp38-win_amd64.whl", hash = "sha256:69361bfdca5468c0488d7017b9b1e5ce769d40b46a9f4a2eed26b78619e9396c"}, + {file = "aiohttp-3.9.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:0fa43c32d1643f518491d9d3a730f85f5bbaedcbd7fbcae27435bb8b7a061b29"}, + {file = "aiohttp-3.9.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:835a55b7ca49468aaaac0b217092dfdff370e6c215c9224c52f30daaa735c1c1"}, + {file = "aiohttp-3.9.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:06a9b2c8837d9a94fae16c6223acc14b4dfdff216ab9b7202e07a9a09541168f"}, + {file = "aiohttp-3.9.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abf151955990d23f84205286938796c55ff11bbfb4ccfada8c9c83ae6b3c89a3"}, + {file = "aiohttp-3.9.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59c26c95975f26e662ca78fdf543d4eeaef70e533a672b4113dd888bd2423caa"}, + {file = "aiohttp-3.9.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f95511dd5d0e05fd9728bac4096319f80615aaef4acbecb35a990afebe953b0e"}, + {file = "aiohttp-3.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:595f105710293e76b9dc09f52e0dd896bd064a79346234b521f6b968ffdd8e58"}, + {file = "aiohttp-3.9.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7c8b816c2b5af5c8a436df44ca08258fc1a13b449393a91484225fcb7545533"}, + {file = "aiohttp-3.9.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f1088fa100bf46e7b398ffd9904f4808a0612e1d966b4aa43baa535d1b6341eb"}, + {file = "aiohttp-3.9.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f59dfe57bb1ec82ac0698ebfcdb7bcd0e99c255bd637ff613760d5f33e7c81b3"}, + {file = "aiohttp-3.9.3-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:361a1026c9dd4aba0109e4040e2aecf9884f5cfe1b1b1bd3d09419c205e2e53d"}, + {file = "aiohttp-3.9.3-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:363afe77cfcbe3a36353d8ea133e904b108feea505aa4792dad6585a8192c55a"}, + {file = "aiohttp-3.9.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8e2c45c208c62e955e8256949eb225bd8b66a4c9b6865729a786f2aa79b72e9d"}, + {file = "aiohttp-3.9.3-cp39-cp39-win32.whl", hash = "sha256:f7217af2e14da0856e082e96ff637f14ae45c10a5714b63c77f26d8884cf1051"}, + {file = "aiohttp-3.9.3-cp39-cp39-win_amd64.whl", hash = "sha256:27468897f628c627230dba07ec65dc8d0db566923c48f29e084ce382119802bc"}, + {file = "aiohttp-3.9.3.tar.gz", hash = "sha256:90842933e5d1ff760fae6caca4b2b3edba53ba8f4b71e95dacf2818a2aca06f7"}, ] [package.dependencies] @@ -229,13 +229,13 @@ tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "p [[package]] name = "backoff" -version = "1.11.1" +version = "2.2.1" description = "Function decoration for backoff and retry" optional = true -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +python-versions = ">=3.7,<4.0" files = [ - {file = "backoff-1.11.1-py2.py3-none-any.whl", hash = "sha256:61928f8fa48d52e4faa81875eecf308eccfb1016b018bb6bd21e05b5d90a96c5"}, - {file = "backoff-1.11.1.tar.gz", hash = "sha256:ccb962a2378418c667b3c979b504fdeb7d9e0d29c0579e3b13b86467177728cb"}, + {file = "backoff-2.2.1-py3-none-any.whl", hash = "sha256:63579f9a0628e06278f7e47b7d7d5b6ce20dc65c5e96a6f3ca99a6adca0396e8"}, + {file = "backoff-2.2.1.tar.gz", hash = "sha256:03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba"}, ] [[package]] @@ -336,13 +336,13 @@ files = [ [[package]] name = "certifi" -version = "2023.11.17" +version = "2024.2.2" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2023.11.17-py3-none-any.whl", hash = "sha256:e036ab49d5b79556f99cfc2d9320b34cfbe5be05c5871b51de9329f0603b0474"}, - {file = "certifi-2023.11.17.tar.gz", hash = "sha256:9b469f3a900bf28dc19b8cfbf8019bf47f7fdd1a65a1d4ffb98fc14166beb4d1"}, + {file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"}, + {file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"}, ] [[package]] @@ -480,6 +480,41 @@ files = [ {file = "distro-1.9.0.tar.gz", hash = "sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed"}, ] +[[package]] +name = "dnspython" +version = "2.5.0" +description = "DNS toolkit" +optional = true +python-versions = ">=3.8" +files = [ + {file = "dnspython-2.5.0-py3-none-any.whl", hash = "sha256:6facdf76b73c742ccf2d07add296f178e629da60be23ce4b0a9c927b1e02c3a6"}, + {file = "dnspython-2.5.0.tar.gz", hash = "sha256:a0034815a59ba9ae888946be7ccca8f7c157b286f8455b379c692efb51022a15"}, +] + +[package.extras] +dev = ["black (>=23.1.0)", "coverage (>=7.0)", "flake8 (>=5.0.3)", "mypy (>=1.0.1)", "pylint (>=2.7)", "pytest (>=6.2.5)", "pytest-cov (>=3.0.0)", "sphinx (>=7.0.0)", "twine (>=4.0.0)", "wheel (>=0.41.0)"] +dnssec = ["cryptography (>=41)"] +doh = ["h2 (>=4.1.0)", "httpcore (>=0.17.3)", "httpx (>=0.25.1)"] +doq = ["aioquic (>=0.9.20)"] +idna = ["idna (>=2.1)"] +trio = ["trio (>=0.14)"] +wmi = ["wmi (>=1.5.1)"] + +[[package]] +name = "email-validator" +version = "2.1.0.post1" +description = "A robust email address syntax and deliverability validation library." +optional = true +python-versions = ">=3.8" +files = [ + {file = "email_validator-2.1.0.post1-py3-none-any.whl", hash = "sha256:c973053efbeddfef924dc0bd93f6e77a1ea7ee0fce935aea7103c7a3d6d2d637"}, + {file = "email_validator-2.1.0.post1.tar.gz", hash = "sha256:a4b0bd1cf55f073b924258d19321b1f3aa74b4b5a71a42c305575dba920e1a44"}, +] + +[package.dependencies] +dnspython = ">=2.0.0" +idna = ">=2.0.0" + [[package]] name = "exceptiongroup" version = "1.2.0" @@ -514,6 +549,23 @@ typing-extensions = ">=4.8.0" [package.extras] all = ["email-validator (>=2.0.0)", "httpx (>=0.23.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=2.11.2)", "orjson (>=3.2.1)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.5)", "pyyaml (>=5.3.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0)", "uvicorn[standard] (>=0.12.0)"] +[[package]] +name = "fastapi-sso" +version = "0.10.0" +description = "FastAPI plugin to enable SSO to most common providers (such as Facebook login, Google login and login via Microsoft Office 365 Account)" +optional = true +python-versions = ">=3.8,<4.0" +files = [ + {file = "fastapi_sso-0.10.0-py3-none-any.whl", hash = "sha256:579bbcf84157f394a9b30a45dbca74e623cd432054c6f63c55996a775711388e"}, + {file = "fastapi_sso-0.10.0.tar.gz", hash = "sha256:8029c2c58abd861268edc3710ac45827699789bae062a5be52bbbb7a6918c637"}, +] + +[package.dependencies] +fastapi = ">=0.80" +httpx = ">=0.23.0" +oauthlib = ">=3.1.0" +pydantic = {version = ">=1.8.0", extras = ["email"]} + [[package]] name = "filelock" version = "3.13.1" @@ -634,13 +686,13 @@ files = [ [[package]] name = "fsspec" -version = "2023.12.2" +version = "2024.2.0" description = "File-system specification" optional = false python-versions = ">=3.8" files = [ - {file = "fsspec-2023.12.2-py3-none-any.whl", hash = "sha256:d800d87f72189a745fa3d6b033b9dc4a34ad069f60ca60b943a63599f5501960"}, - {file = "fsspec-2023.12.2.tar.gz", hash = "sha256:8548d39e8810b59c38014934f6b31e57f40c1b20f911f4cc2b85389c7e9bf0cb"}, + {file = "fsspec-2024.2.0-py3-none-any.whl", hash = "sha256:817f969556fa5916bc682e02ca2045f96ff7f586d45110fcb76022063ad2c7d8"}, + {file = "fsspec-2024.2.0.tar.gz", hash = "sha256:b6ad1a679f760dda52b1168c859d01b7b80648ea6f7f7c7f5a8a91dc3f3ecb84"}, ] [package.extras] @@ -658,7 +710,7 @@ github = ["requests"] gs = ["gcsfs"] gui = ["panel"] hdfs = ["pyarrow (>=1)"] -http = ["aiohttp (!=4.0.0a0,!=4.0.0a1)", "requests"] +http = ["aiohttp (!=4.0.0a0,!=4.0.0a1)"] libarchive = ["libarchive-c"] oci = ["ocifs"] s3 = ["s3fs"] @@ -776,13 +828,13 @@ socks = ["socksio (==1.*)"] [[package]] name = "huggingface-hub" -version = "0.20.2" +version = "0.20.3" description = "Client library to download and publish models, datasets and other repos on the huggingface.co hub" optional = false python-versions = ">=3.8.0" files = [ - {file = "huggingface_hub-0.20.2-py3-none-any.whl", hash = "sha256:53752eda2239d30a470c307a61cf9adcf136bc77b0a734338c7d04941af560d8"}, - {file = "huggingface_hub-0.20.2.tar.gz", hash = "sha256:215c5fceff631030c7a3d19ba7b588921c908b3f21eef31d160ebc245b200ff6"}, + {file = "huggingface_hub-0.20.3-py3-none-any.whl", hash = "sha256:d988ae4f00d3e307b0c80c6a05ca6dbb7edba8bba3079f74cda7d9c2e562a7b6"}, + {file = "huggingface_hub-0.20.3.tar.gz", hash = "sha256:94e7f8e074475fbc67d6a71957b678e1b4a74ff1b64a644fd6cbb83da962d05d"}, ] [package.dependencies] @@ -884,13 +936,13 @@ i18n = ["Babel (>=2.7)"] [[package]] name = "jsonschema" -version = "4.21.0" +version = "4.21.1" description = "An implementation of JSON Schema validation for Python" optional = true python-versions = ">=3.8" files = [ - {file = "jsonschema-4.21.0-py3-none-any.whl", hash = "sha256:70a09719d375c0a2874571b363c8a24be7df8071b80c9aa76bc4551e7297c63c"}, - {file = "jsonschema-4.21.0.tar.gz", hash = "sha256:3ba18e27f7491ea4a1b22edce00fb820eec968d397feb3f9cb61d5894bb38167"}, + {file = "jsonschema-4.21.1-py3-none-any.whl", hash = "sha256:7996507afae316306f9e2290407761157c6f78002dcf7419acb99822143d1c6f"}, + {file = "jsonschema-4.21.1.tar.gz", hash = "sha256:85727c00279f5fa6bedbe6238d2aa6403bedd8b4864ab11207d07df3cc1b2ee5"}, ] [package.dependencies] @@ -946,61 +998,71 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] [[package]] name = "markupsafe" -version = "2.1.3" +version = "2.1.5" description = "Safely add untrusted strings to HTML/XML markup." optional = false python-versions = ">=3.7" files = [ - {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-win32.whl", hash = "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-win_amd64.whl", hash = "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-win32.whl", hash = "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-win_amd64.whl", hash = "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-win32.whl", hash = "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba"}, - {file = "MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"}, + {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, ] [[package]] @@ -1027,85 +1089,101 @@ files = [ [[package]] name = "multidict" -version = "6.0.4" +version = "6.0.5" description = "multidict implementation" optional = false python-versions = ">=3.7" files = [ - {file = "multidict-6.0.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b1a97283e0c85772d613878028fec909f003993e1007eafa715b24b377cb9b8"}, - {file = "multidict-6.0.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:eeb6dcc05e911516ae3d1f207d4b0520d07f54484c49dfc294d6e7d63b734171"}, - {file = "multidict-6.0.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d6d635d5209b82a3492508cf5b365f3446afb65ae7ebd755e70e18f287b0adf7"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c048099e4c9e9d615545e2001d3d8a4380bd403e1a0578734e0d31703d1b0c0b"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea20853c6dbbb53ed34cb4d080382169b6f4554d394015f1bef35e881bf83547"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16d232d4e5396c2efbbf4f6d4df89bfa905eb0d4dc5b3549d872ab898451f569"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36c63aaa167f6c6b04ef2c85704e93af16c11d20de1d133e39de6a0e84582a93"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:64bdf1086b6043bf519869678f5f2757f473dee970d7abf6da91ec00acb9cb98"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:43644e38f42e3af682690876cff722d301ac585c5b9e1eacc013b7a3f7b696a0"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7582a1d1030e15422262de9f58711774e02fa80df0d1578995c76214f6954988"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:ddff9c4e225a63a5afab9dd15590432c22e8057e1a9a13d28ed128ecf047bbdc"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:ee2a1ece51b9b9e7752e742cfb661d2a29e7bcdba2d27e66e28a99f1890e4fa0"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a2e4369eb3d47d2034032a26c7a80fcb21a2cb22e1173d761a162f11e562caa5"}, - {file = "multidict-6.0.4-cp310-cp310-win32.whl", hash = "sha256:574b7eae1ab267e5f8285f0fe881f17efe4b98c39a40858247720935b893bba8"}, - {file = "multidict-6.0.4-cp310-cp310-win_amd64.whl", hash = "sha256:4dcbb0906e38440fa3e325df2359ac6cb043df8e58c965bb45f4e406ecb162cc"}, - {file = "multidict-6.0.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0dfad7a5a1e39c53ed00d2dd0c2e36aed4650936dc18fd9a1826a5ae1cad6f03"}, - {file = "multidict-6.0.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:64da238a09d6039e3bd39bb3aee9c21a5e34f28bfa5aa22518581f910ff94af3"}, - {file = "multidict-6.0.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ff959bee35038c4624250473988b24f846cbeb2c6639de3602c073f10410ceba"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01a3a55bd90018c9c080fbb0b9f4891db37d148a0a18722b42f94694f8b6d4c9"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c5cb09abb18c1ea940fb99360ea0396f34d46566f157122c92dfa069d3e0e982"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:666daae833559deb2d609afa4490b85830ab0dfca811a98b70a205621a6109fe"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11bdf3f5e1518b24530b8241529d2050014c884cf18b6fc69c0c2b30ca248710"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7d18748f2d30f94f498e852c67d61261c643b349b9d2a581131725595c45ec6c"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:458f37be2d9e4c95e2d8866a851663cbc76e865b78395090786f6cd9b3bbf4f4"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:b1a2eeedcead3a41694130495593a559a668f382eee0727352b9a41e1c45759a"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7d6ae9d593ef8641544d6263c7fa6408cc90370c8cb2bbb65f8d43e5b0351d9c"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5979b5632c3e3534e42ca6ff856bb24b2e3071b37861c2c727ce220d80eee9ed"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:dcfe792765fab89c365123c81046ad4103fcabbc4f56d1c1997e6715e8015461"}, - {file = "multidict-6.0.4-cp311-cp311-win32.whl", hash = "sha256:3601a3cece3819534b11d4efc1eb76047488fddd0c85a3948099d5da4d504636"}, - {file = "multidict-6.0.4-cp311-cp311-win_amd64.whl", hash = "sha256:81a4f0b34bd92df3da93315c6a59034df95866014ac08535fc819f043bfd51f0"}, - {file = "multidict-6.0.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:67040058f37a2a51ed8ea8f6b0e6ee5bd78ca67f169ce6122f3e2ec80dfe9b78"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:853888594621e6604c978ce2a0444a1e6e70c8d253ab65ba11657659dcc9100f"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:39ff62e7d0f26c248b15e364517a72932a611a9b75f35b45be078d81bdb86603"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:af048912e045a2dc732847d33821a9d84ba553f5c5f028adbd364dd4765092ac"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1e8b901e607795ec06c9e42530788c45ac21ef3aaa11dbd0c69de543bfb79a9"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62501642008a8b9871ddfccbf83e4222cf8ac0d5aeedf73da36153ef2ec222d2"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:99b76c052e9f1bc0721f7541e5e8c05db3941eb9ebe7b8553c625ef88d6eefde"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:509eac6cf09c794aa27bcacfd4d62c885cce62bef7b2c3e8b2e49d365b5003fe"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:21a12c4eb6ddc9952c415f24eef97e3e55ba3af61f67c7bc388dcdec1404a067"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:5cad9430ab3e2e4fa4a2ef4450f548768400a2ac635841bc2a56a2052cdbeb87"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ab55edc2e84460694295f401215f4a58597f8f7c9466faec545093045476327d"}, - {file = "multidict-6.0.4-cp37-cp37m-win32.whl", hash = "sha256:5a4dcf02b908c3b8b17a45fb0f15b695bf117a67b76b7ad18b73cf8e92608775"}, - {file = "multidict-6.0.4-cp37-cp37m-win_amd64.whl", hash = "sha256:6ed5f161328b7df384d71b07317f4d8656434e34591f20552c7bcef27b0ab88e"}, - {file = "multidict-6.0.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5fc1b16f586f049820c5c5b17bb4ee7583092fa0d1c4e28b5239181ff9532e0c"}, - {file = "multidict-6.0.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1502e24330eb681bdaa3eb70d6358e818e8e8f908a22a1851dfd4e15bc2f8161"}, - {file = "multidict-6.0.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b692f419760c0e65d060959df05f2a531945af31fda0c8a3b3195d4efd06de11"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45e1ecb0379bfaab5eef059f50115b54571acfbe422a14f668fc8c27ba410e7e"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ddd3915998d93fbcd2566ddf9cf62cdb35c9e093075f862935573d265cf8f65d"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:59d43b61c59d82f2effb39a93c48b845efe23a3852d201ed2d24ba830d0b4cf2"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc8e1d0c705233c5dd0c5e6460fbad7827d5d36f310a0fadfd45cc3029762258"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6aa0418fcc838522256761b3415822626f866758ee0bc6632c9486b179d0b52"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6748717bb10339c4760c1e63da040f5f29f5ed6e59d76daee30305894069a660"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:4d1a3d7ef5e96b1c9e92f973e43aa5e5b96c659c9bc3124acbbd81b0b9c8a951"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4372381634485bec7e46718edc71528024fcdc6f835baefe517b34a33c731d60"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:fc35cb4676846ef752816d5be2193a1e8367b4c1397b74a565a9d0389c433a1d"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:4b9d9e4e2b37daddb5c23ea33a3417901fa7c7b3dee2d855f63ee67a0b21e5b1"}, - {file = "multidict-6.0.4-cp38-cp38-win32.whl", hash = "sha256:e41b7e2b59679edfa309e8db64fdf22399eec4b0b24694e1b2104fb789207779"}, - {file = "multidict-6.0.4-cp38-cp38-win_amd64.whl", hash = "sha256:d6c254ba6e45d8e72739281ebc46ea5eb5f101234f3ce171f0e9f5cc86991480"}, - {file = "multidict-6.0.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:16ab77bbeb596e14212e7bab8429f24c1579234a3a462105cda4a66904998664"}, - {file = "multidict-6.0.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc779e9e6f7fda81b3f9aa58e3a6091d49ad528b11ed19f6621408806204ad35"}, - {file = "multidict-6.0.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4ceef517eca3e03c1cceb22030a3e39cb399ac86bff4e426d4fc6ae49052cc60"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:281af09f488903fde97923c7744bb001a9b23b039a909460d0f14edc7bf59706"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:52f2dffc8acaba9a2f27174c41c9e57f60b907bb9f096b36b1a1f3be71c6284d"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b41156839806aecb3641f3208c0dafd3ac7775b9c4c422d82ee2a45c34ba81ca"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5e3fc56f88cc98ef8139255cf8cd63eb2c586531e43310ff859d6bb3a6b51f1"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8316a77808c501004802f9beebde51c9f857054a0c871bd6da8280e718444449"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f70b98cd94886b49d91170ef23ec5c0e8ebb6f242d734ed7ed677b24d50c82cf"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bf6774e60d67a9efe02b3616fee22441d86fab4c6d335f9d2051d19d90a40063"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:e69924bfcdda39b722ef4d9aa762b2dd38e4632b3641b1d9a57ca9cd18f2f83a"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:6b181d8c23da913d4ff585afd1155a0e1194c0b50c54fcfe286f70cdaf2b7176"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:52509b5be062d9eafc8170e53026fbc54cf3b32759a23d07fd935fb04fc22d95"}, - {file = "multidict-6.0.4-cp39-cp39-win32.whl", hash = "sha256:27c523fbfbdfd19c6867af7346332b62b586eed663887392cff78d614f9ec313"}, - {file = "multidict-6.0.4-cp39-cp39-win_amd64.whl", hash = "sha256:33029f5734336aa0d4c0384525da0387ef89148dc7191aae00ca5fb23d7aafc2"}, - {file = "multidict-6.0.4.tar.gz", hash = "sha256:3666906492efb76453c0e7b97f2cf459b0682e7402c0489a95484965dbc1da49"}, + {file = "multidict-6.0.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:228b644ae063c10e7f324ab1ab6b548bdf6f8b47f3ec234fef1093bc2735e5f9"}, + {file = "multidict-6.0.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:896ebdcf62683551312c30e20614305f53125750803b614e9e6ce74a96232604"}, + {file = "multidict-6.0.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:411bf8515f3be9813d06004cac41ccf7d1cd46dfe233705933dd163b60e37600"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d147090048129ce3c453f0292e7697d333db95e52616b3793922945804a433c"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:215ed703caf15f578dca76ee6f6b21b7603791ae090fbf1ef9d865571039ade5"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c6390cf87ff6234643428991b7359b5f59cc15155695deb4eda5c777d2b880f"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fd81c4ebdb4f214161be351eb5bcf385426bf023041da2fd9e60681f3cebae"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3cc2ad10255f903656017363cd59436f2111443a76f996584d1077e43ee51182"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6939c95381e003f54cd4c5516740faba40cf5ad3eeff460c3ad1d3e0ea2549bf"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:220dd781e3f7af2c2c1053da9fa96d9cf3072ca58f057f4c5adaaa1cab8fc442"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:766c8f7511df26d9f11cd3a8be623e59cca73d44643abab3f8c8c07620524e4a"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:fe5d7785250541f7f5019ab9cba2c71169dc7d74d0f45253f8313f436458a4ef"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c1c1496e73051918fcd4f58ff2e0f2f3066d1c76a0c6aeffd9b45d53243702cc"}, + {file = "multidict-6.0.5-cp310-cp310-win32.whl", hash = "sha256:7afcdd1fc07befad18ec4523a782cde4e93e0a2bf71239894b8d61ee578c1319"}, + {file = "multidict-6.0.5-cp310-cp310-win_amd64.whl", hash = "sha256:99f60d34c048c5c2fabc766108c103612344c46e35d4ed9ae0673d33c8fb26e8"}, + {file = "multidict-6.0.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f285e862d2f153a70586579c15c44656f888806ed0e5b56b64489afe4a2dbfba"}, + {file = "multidict-6.0.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:53689bb4e102200a4fafa9de9c7c3c212ab40a7ab2c8e474491914d2305f187e"}, + {file = "multidict-6.0.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:612d1156111ae11d14afaf3a0669ebf6c170dbb735e510a7438ffe2369a847fd"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7be7047bd08accdb7487737631d25735c9a04327911de89ff1b26b81745bd4e3"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de170c7b4fe6859beb8926e84f7d7d6c693dfe8e27372ce3b76f01c46e489fcf"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:04bde7a7b3de05732a4eb39c94574db1ec99abb56162d6c520ad26f83267de29"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85f67aed7bb647f93e7520633d8f51d3cbc6ab96957c71272b286b2f30dc70ed"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425bf820055005bfc8aa9a0b99ccb52cc2f4070153e34b701acc98d201693733"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d3eb1ceec286eba8220c26f3b0096cf189aea7057b6e7b7a2e60ed36b373b77f"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7901c05ead4b3fb75113fb1dd33eb1253c6d3ee37ce93305acd9d38e0b5f21a4"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:e0e79d91e71b9867c73323a3444724d496c037e578a0e1755ae159ba14f4f3d1"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:29bfeb0dff5cb5fdab2023a7a9947b3b4af63e9c47cae2a10ad58394b517fddc"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e030047e85cbcedbfc073f71836d62dd5dadfbe7531cae27789ff66bc551bd5e"}, + {file = "multidict-6.0.5-cp311-cp311-win32.whl", hash = "sha256:2f4848aa3baa109e6ab81fe2006c77ed4d3cd1e0ac2c1fbddb7b1277c168788c"}, + {file = "multidict-6.0.5-cp311-cp311-win_amd64.whl", hash = "sha256:2faa5ae9376faba05f630d7e5e6be05be22913782b927b19d12b8145968a85ea"}, + {file = "multidict-6.0.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:51d035609b86722963404f711db441cf7134f1889107fb171a970c9701f92e1e"}, + {file = "multidict-6.0.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cbebcd5bcaf1eaf302617c114aa67569dd3f090dd0ce8ba9e35e9985b41ac35b"}, + {file = "multidict-6.0.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2ffc42c922dbfddb4a4c3b438eb056828719f07608af27d163191cb3e3aa6cc5"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ceb3b7e6a0135e092de86110c5a74e46bda4bd4fbfeeb3a3bcec79c0f861e450"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:79660376075cfd4b2c80f295528aa6beb2058fd289f4c9252f986751a4cd0496"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e4428b29611e989719874670fd152b6625500ad6c686d464e99f5aaeeaca175a"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d84a5c3a5f7ce6db1f999fb9438f686bc2e09d38143f2d93d8406ed2dd6b9226"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:76c0de87358b192de7ea9649beb392f107dcad9ad27276324c24c91774ca5271"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:79a6d2ba910adb2cbafc95dad936f8b9386e77c84c35bc0add315b856d7c3abb"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:92d16a3e275e38293623ebf639c471d3e03bb20b8ebb845237e0d3664914caef"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:fb616be3538599e797a2017cccca78e354c767165e8858ab5116813146041a24"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:14c2976aa9038c2629efa2c148022ed5eb4cb939e15ec7aace7ca932f48f9ba6"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:435a0984199d81ca178b9ae2c26ec3d49692d20ee29bc4c11a2a8d4514c67eda"}, + {file = "multidict-6.0.5-cp312-cp312-win32.whl", hash = "sha256:9fe7b0653ba3d9d65cbe7698cca585bf0f8c83dbbcc710db9c90f478e175f2d5"}, + {file = "multidict-6.0.5-cp312-cp312-win_amd64.whl", hash = "sha256:01265f5e40f5a17f8241d52656ed27192be03bfa8764d88e8220141d1e4b3556"}, + {file = "multidict-6.0.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:19fe01cea168585ba0f678cad6f58133db2aa14eccaf22f88e4a6dccadfad8b3"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bf7a982604375a8d49b6cc1b781c1747f243d91b81035a9b43a2126c04766f5"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:107c0cdefe028703fb5dafe640a409cb146d44a6ae201e55b35a4af8e95457dd"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:403c0911cd5d5791605808b942c88a8155c2592e05332d2bf78f18697a5fa15e"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aeaf541ddbad8311a87dd695ed9642401131ea39ad7bc8cf3ef3967fd093b626"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e4972624066095e52b569e02b5ca97dbd7a7ddd4294bf4e7247d52635630dd83"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d946b0a9eb8aaa590df1fe082cee553ceab173e6cb5b03239716338629c50c7a"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b55358304d7a73d7bdf5de62494aaf70bd33015831ffd98bc498b433dfe5b10c"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:a3145cb08d8625b2d3fee1b2d596a8766352979c9bffe5d7833e0503d0f0b5e5"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:d65f25da8e248202bd47445cec78e0025c0fe7582b23ec69c3b27a640dd7a8e3"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:c9bf56195c6bbd293340ea82eafd0071cb3d450c703d2c93afb89f93b8386ccc"}, + {file = "multidict-6.0.5-cp37-cp37m-win32.whl", hash = "sha256:69db76c09796b313331bb7048229e3bee7928eb62bab5e071e9f7fcc4879caee"}, + {file = "multidict-6.0.5-cp37-cp37m-win_amd64.whl", hash = "sha256:fce28b3c8a81b6b36dfac9feb1de115bab619b3c13905b419ec71d03a3fc1423"}, + {file = "multidict-6.0.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:76f067f5121dcecf0d63a67f29080b26c43c71a98b10c701b0677e4a065fbd54"}, + {file = "multidict-6.0.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b82cc8ace10ab5bd93235dfaab2021c70637005e1ac787031f4d1da63d493c1d"}, + {file = "multidict-6.0.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5cb241881eefd96b46f89b1a056187ea8e9ba14ab88ba632e68d7a2ecb7aadf7"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8e94e6912639a02ce173341ff62cc1201232ab86b8a8fcc05572741a5dc7d93"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:09a892e4a9fb47331da06948690ae38eaa2426de97b4ccbfafbdcbe5c8f37ff8"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55205d03e8a598cfc688c71ca8ea5f66447164efff8869517f175ea632c7cb7b"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:37b15024f864916b4951adb95d3a80c9431299080341ab9544ed148091b53f50"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2a1dee728b52b33eebff5072817176c172050d44d67befd681609b4746e1c2e"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:edd08e6f2f1a390bf137080507e44ccc086353c8e98c657e666c017718561b89"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:60d698e8179a42ec85172d12f50b1668254628425a6bd611aba022257cac1386"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:3d25f19500588cbc47dc19081d78131c32637c25804df8414463ec908631e453"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:4cc0ef8b962ac7a5e62b9e826bd0cd5040e7d401bc45a6835910ed699037a461"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:eca2e9d0cc5a889850e9bbd68e98314ada174ff6ccd1129500103df7a94a7a44"}, + {file = "multidict-6.0.5-cp38-cp38-win32.whl", hash = "sha256:4a6a4f196f08c58c59e0b8ef8ec441d12aee4125a7d4f4fef000ccb22f8d7241"}, + {file = "multidict-6.0.5-cp38-cp38-win_amd64.whl", hash = "sha256:0275e35209c27a3f7951e1ce7aaf93ce0d163b28948444bec61dd7badc6d3f8c"}, + {file = "multidict-6.0.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e7be68734bd8c9a513f2b0cfd508802d6609da068f40dc57d4e3494cefc92929"}, + {file = "multidict-6.0.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1d9ea7a7e779d7a3561aade7d596649fbecfa5c08a7674b11b423783217933f9"}, + {file = "multidict-6.0.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ea1456df2a27c73ce51120fa2f519f1bea2f4a03a917f4a43c8707cf4cbbae1a"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf590b134eb70629e350691ecca88eac3e3b8b3c86992042fb82e3cb1830d5e1"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5c0631926c4f58e9a5ccce555ad7747d9a9f8b10619621f22f9635f069f6233e"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dce1c6912ab9ff5f179eaf6efe7365c1f425ed690b03341911bf4939ef2f3046"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0868d64af83169e4d4152ec612637a543f7a336e4a307b119e98042e852ad9c"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:141b43360bfd3bdd75f15ed811850763555a251e38b2405967f8e25fb43f7d40"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7df704ca8cf4a073334e0427ae2345323613e4df18cc224f647f251e5e75a527"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6214c5a5571802c33f80e6c84713b2c79e024995b9c5897f794b43e714daeec9"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:cd6c8fca38178e12c00418de737aef1261576bd1b6e8c6134d3e729a4e858b38"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:e02021f87a5b6932fa6ce916ca004c4d441509d33bbdbeca70d05dff5e9d2479"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ebd8d160f91a764652d3e51ce0d2956b38efe37c9231cd82cfc0bed2e40b581c"}, + {file = "multidict-6.0.5-cp39-cp39-win32.whl", hash = "sha256:04da1bb8c8dbadf2a18a452639771951c662c5ad03aefe4884775454be322c9b"}, + {file = "multidict-6.0.5-cp39-cp39-win_amd64.whl", hash = "sha256:d6f6d4f185481c9669b9447bf9d9cf3b95a0e9df9d169bbc17e363b7d5487755"}, + {file = "multidict-6.0.5-py3-none-any.whl", hash = "sha256:0d63c74e3d7ab26de115c49bffc92cc77ed23395303d496eae515d4204a625e7"}, + {file = "multidict-6.0.5.tar.gz", hash = "sha256:f7e301075edaf50500f0b341543c41194d8df3ae5caf4702f2095f3ca73dd8da"}, ] [[package]] @@ -1156,15 +1234,31 @@ files = [ {file = "numpy-1.24.4.tar.gz", hash = "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463"}, ] +[[package]] +name = "oauthlib" +version = "3.2.2" +description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic" +optional = true +python-versions = ">=3.6" +files = [ + {file = "oauthlib-3.2.2-py3-none-any.whl", hash = "sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca"}, + {file = "oauthlib-3.2.2.tar.gz", hash = "sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918"}, +] + +[package.extras] +rsa = ["cryptography (>=3.0.0)"] +signals = ["blinker (>=1.4.0)"] +signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"] + [[package]] name = "openai" -version = "1.8.0" +version = "1.12.0" description = "The official Python library for the openai API" optional = false python-versions = ">=3.7.1" files = [ - {file = "openai-1.8.0-py3-none-any.whl", hash = "sha256:0f8f53805826103fdd8adaf379ad3ec23f9d867e698cbc14caf34b778d150175"}, - {file = "openai-1.8.0.tar.gz", hash = "sha256:93366be27802f517e89328801913d2a5ede45e3b86fdcab420385b8a1b88c767"}, + {file = "openai-1.12.0-py3-none-any.whl", hash = "sha256:a54002c814e05222e413664f651b5916714e4700d041d5cf5724d3ae1a3e3481"}, + {file = "openai-1.12.0.tar.gz", hash = "sha256:99c5d257d09ea6533d689d1cc77caa0ac679fa21efef8893d8b0832a86877f1b"}, ] [package.dependencies] @@ -1181,61 +1275,61 @@ datalib = ["numpy (>=1)", "pandas (>=1.2.3)", "pandas-stubs (>=1.1.0.11)"] [[package]] name = "orjson" -version = "3.9.10" +version = "3.9.13" description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" optional = true python-versions = ">=3.8" files = [ - {file = "orjson-3.9.10-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:c18a4da2f50050a03d1da5317388ef84a16013302a5281d6f64e4a3f406aabc4"}, - {file = "orjson-3.9.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5148bab4d71f58948c7c39d12b14a9005b6ab35a0bdf317a8ade9a9e4d9d0bd5"}, - {file = "orjson-3.9.10-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4cf7837c3b11a2dfb589f8530b3cff2bd0307ace4c301e8997e95c7468c1378e"}, - {file = "orjson-3.9.10-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c62b6fa2961a1dcc51ebe88771be5319a93fd89bd247c9ddf732bc250507bc2b"}, - {file = "orjson-3.9.10-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:deeb3922a7a804755bbe6b5be9b312e746137a03600f488290318936c1a2d4dc"}, - {file = "orjson-3.9.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1234dc92d011d3554d929b6cf058ac4a24d188d97be5e04355f1b9223e98bbe9"}, - {file = "orjson-3.9.10-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:06ad5543217e0e46fd7ab7ea45d506c76f878b87b1b4e369006bdb01acc05a83"}, - {file = "orjson-3.9.10-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4fd72fab7bddce46c6826994ce1e7de145ae1e9e106ebb8eb9ce1393ca01444d"}, - {file = "orjson-3.9.10-cp310-none-win32.whl", hash = "sha256:b5b7d4a44cc0e6ff98da5d56cde794385bdd212a86563ac321ca64d7f80c80d1"}, - {file = "orjson-3.9.10-cp310-none-win_amd64.whl", hash = "sha256:61804231099214e2f84998316f3238c4c2c4aaec302df12b21a64d72e2a135c7"}, - {file = "orjson-3.9.10-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:cff7570d492bcf4b64cc862a6e2fb77edd5e5748ad715f487628f102815165e9"}, - {file = "orjson-3.9.10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed8bc367f725dfc5cabeed1ae079d00369900231fbb5a5280cf0736c30e2adf7"}, - {file = "orjson-3.9.10-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c812312847867b6335cfb264772f2a7e85b3b502d3a6b0586aa35e1858528ab1"}, - {file = "orjson-3.9.10-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9edd2856611e5050004f4722922b7b1cd6268da34102667bd49d2a2b18bafb81"}, - {file = "orjson-3.9.10-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:674eb520f02422546c40401f4efaf8207b5e29e420c17051cddf6c02783ff5ca"}, - {file = "orjson-3.9.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d0dc4310da8b5f6415949bd5ef937e60aeb0eb6b16f95041b5e43e6200821fb"}, - {file = "orjson-3.9.10-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e99c625b8c95d7741fe057585176b1b8783d46ed4b8932cf98ee145c4facf499"}, - {file = "orjson-3.9.10-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ec6f18f96b47299c11203edfbdc34e1b69085070d9a3d1f302810cc23ad36bf3"}, - {file = "orjson-3.9.10-cp311-none-win32.whl", hash = "sha256:ce0a29c28dfb8eccd0f16219360530bc3cfdf6bf70ca384dacd36e6c650ef8e8"}, - {file = "orjson-3.9.10-cp311-none-win_amd64.whl", hash = "sha256:cf80b550092cc480a0cbd0750e8189247ff45457e5a023305f7ef1bcec811616"}, - {file = "orjson-3.9.10-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:602a8001bdf60e1a7d544be29c82560a7b49319a0b31d62586548835bbe2c862"}, - {file = "orjson-3.9.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f295efcd47b6124b01255d1491f9e46f17ef40d3d7eabf7364099e463fb45f0f"}, - {file = "orjson-3.9.10-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:92af0d00091e744587221e79f68d617b432425a7e59328ca4c496f774a356071"}, - {file = "orjson-3.9.10-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c5a02360e73e7208a872bf65a7554c9f15df5fe063dc047f79738998b0506a14"}, - {file = "orjson-3.9.10-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:858379cbb08d84fe7583231077d9a36a1a20eb72f8c9076a45df8b083724ad1d"}, - {file = "orjson-3.9.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666c6fdcaac1f13eb982b649e1c311c08d7097cbda24f32612dae43648d8db8d"}, - {file = "orjson-3.9.10-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3fb205ab52a2e30354640780ce4587157a9563a68c9beaf52153e1cea9aa0921"}, - {file = "orjson-3.9.10-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:7ec960b1b942ee3c69323b8721df2a3ce28ff40e7ca47873ae35bfafeb4555ca"}, - {file = "orjson-3.9.10-cp312-none-win_amd64.whl", hash = "sha256:3e892621434392199efb54e69edfff9f699f6cc36dd9553c5bf796058b14b20d"}, - {file = "orjson-3.9.10-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:8b9ba0ccd5a7f4219e67fbbe25e6b4a46ceef783c42af7dbc1da548eb28b6531"}, - {file = "orjson-3.9.10-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e2ecd1d349e62e3960695214f40939bbfdcaeaaa62ccc638f8e651cf0970e5f"}, - {file = "orjson-3.9.10-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7f433be3b3f4c66016d5a20e5b4444ef833a1f802ced13a2d852c637f69729c1"}, - {file = "orjson-3.9.10-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4689270c35d4bb3102e103ac43c3f0b76b169760aff8bcf2d401a3e0e58cdb7f"}, - {file = "orjson-3.9.10-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4bd176f528a8151a6efc5359b853ba3cc0e82d4cd1fab9c1300c5d957dc8f48c"}, - {file = "orjson-3.9.10-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a2ce5ea4f71681623f04e2b7dadede3c7435dfb5e5e2d1d0ec25b35530e277b"}, - {file = "orjson-3.9.10-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:49f8ad582da6e8d2cf663c4ba5bf9f83cc052570a3a767487fec6af839b0e777"}, - {file = "orjson-3.9.10-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2a11b4b1a8415f105d989876a19b173f6cdc89ca13855ccc67c18efbd7cbd1f8"}, - {file = "orjson-3.9.10-cp38-none-win32.whl", hash = "sha256:a353bf1f565ed27ba71a419b2cd3db9d6151da426b61b289b6ba1422a702e643"}, - {file = "orjson-3.9.10-cp38-none-win_amd64.whl", hash = "sha256:e28a50b5be854e18d54f75ef1bb13e1abf4bc650ab9d635e4258c58e71eb6ad5"}, - {file = "orjson-3.9.10-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:ee5926746232f627a3be1cc175b2cfad24d0170d520361f4ce3fa2fd83f09e1d"}, - {file = "orjson-3.9.10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a73160e823151f33cdc05fe2cea557c5ef12fdf276ce29bb4f1c571c8368a60"}, - {file = "orjson-3.9.10-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c338ed69ad0b8f8f8920c13f529889fe0771abbb46550013e3c3d01e5174deef"}, - {file = "orjson-3.9.10-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5869e8e130e99687d9e4be835116c4ebd83ca92e52e55810962446d841aba8de"}, - {file = "orjson-3.9.10-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d2c1e559d96a7f94a4f581e2a32d6d610df5840881a8cba8f25e446f4d792df3"}, - {file = "orjson-3.9.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81a3a3a72c9811b56adf8bcc829b010163bb2fc308877e50e9910c9357e78521"}, - {file = "orjson-3.9.10-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7f8fb7f5ecf4f6355683ac6881fd64b5bb2b8a60e3ccde6ff799e48791d8f864"}, - {file = "orjson-3.9.10-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c943b35ecdf7123b2d81d225397efddf0bce2e81db2f3ae633ead38e85cd5ade"}, - {file = "orjson-3.9.10-cp39-none-win32.whl", hash = "sha256:fb0b361d73f6b8eeceba47cd37070b5e6c9de5beaeaa63a1cb35c7e1a73ef088"}, - {file = "orjson-3.9.10-cp39-none-win_amd64.whl", hash = "sha256:b90f340cb6397ec7a854157fac03f0c82b744abdd1c0941a024c3c29d1340aff"}, - {file = "orjson-3.9.10.tar.gz", hash = "sha256:9ebbdbd6a046c304b1845e96fbcc5559cd296b4dfd3ad2509e33c4d9ce07d6a1"}, + {file = "orjson-3.9.13-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:fa6b67f8bef277c2a4aadd548d58796854e7d760964126c3209b19bccc6a74f1"}, + {file = "orjson-3.9.13-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b812417199eeb169c25f67815cfb66fd8de7ff098bf57d065e8c1943a7ba5c8f"}, + {file = "orjson-3.9.13-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7ccd5bd222e5041069ad9d9868ab59e6dbc53ecde8d8c82b919954fbba43b46b"}, + {file = "orjson-3.9.13-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eaaf80957c38e9d3f796f355a80fad945e72cd745e6b64c210e635b7043b673e"}, + {file = "orjson-3.9.13-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:60da7316131185d0110a1848e9ad15311e6c8938ee0b5be8cbd7261e1d80ee8f"}, + {file = "orjson-3.9.13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5b98cd948372f0eb219bc309dee4633db1278687161e3280d9e693b6076951d2"}, + {file = "orjson-3.9.13-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3869d65561f10071d3e7f35ae58fd377056f67d7aaed5222f318390c3ad30339"}, + {file = "orjson-3.9.13-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:43fd6036b16bb6742d03dae62f7bdf8214d06dea47e4353cde7e2bd1358d186f"}, + {file = "orjson-3.9.13-cp310-none-win32.whl", hash = "sha256:0d3ba9d88e20765335260d7b25547d7c571eee2b698200f97afa7d8c7cd668fc"}, + {file = "orjson-3.9.13-cp310-none-win_amd64.whl", hash = "sha256:6e47153db080f5e87e8ba638f1a8b18995eede6b0abb93964d58cf11bcea362f"}, + {file = "orjson-3.9.13-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:4584e8eb727bc431baaf1bf97e35a1d8a0109c924ec847395673dfd5f4ef6d6f"}, + {file = "orjson-3.9.13-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f37f0cdd026ef777a4336e599d8194c8357fc14760c2a5ddcfdf1965d45504b"}, + {file = "orjson-3.9.13-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d714595d81efab11b42bccd119977d94b25d12d3a806851ff6bfd286a4bce960"}, + {file = "orjson-3.9.13-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9171e8e1a1f221953e38e84ae0abffe8759002fd8968106ee379febbb5358b33"}, + {file = "orjson-3.9.13-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1ab9dbdec3f13f3ea6f937564ce21651844cfbf2725099f2f490426acf683c23"}, + {file = "orjson-3.9.13-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:811ac076855e33e931549340288e0761873baf29276ad00f221709933c644330"}, + {file = "orjson-3.9.13-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:860d0f5b42d0c0afd73fa4177709f6e1b966ba691fcd72175affa902052a81d6"}, + {file = "orjson-3.9.13-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:838b898e8c1f26eb6b8d81b180981273f6f5110c76c22c384979aca854194f1b"}, + {file = "orjson-3.9.13-cp311-none-win32.whl", hash = "sha256:d3222db9df629ef3c3673124f2e05fb72bc4a320c117e953fec0d69dde82e36d"}, + {file = "orjson-3.9.13-cp311-none-win_amd64.whl", hash = "sha256:978117122ca4cc59b28af5322253017f6c5fc03dbdda78c7f4b94ae984c8dd43"}, + {file = "orjson-3.9.13-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:031df1026c7ea8303332d78711f180231e3ae8b564271fb748a03926587c5546"}, + {file = "orjson-3.9.13-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0fd9a2101d04e85086ea6198786a3f016e45475f800712e6833e14bf9ce2832f"}, + {file = "orjson-3.9.13-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:446d9ad04204e79229ae19502daeea56479e55cbc32634655d886f5a39e91b44"}, + {file = "orjson-3.9.13-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b57c0954a9fdd2b05b9cec0f5a12a0bdce5bf021a5b3b09323041613972481ab"}, + {file = "orjson-3.9.13-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:266e55c83f81248f63cc93d11c5e3a53df49a5d2598fa9e9db5f99837a802d5d"}, + {file = "orjson-3.9.13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31372ba3a9fe8ad118e7d22fba46bbc18e89039e3bfa89db7bc8c18ee722dca8"}, + {file = "orjson-3.9.13-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e3b0c4da61f39899561e08e571f54472a09fa71717d9797928af558175ae5243"}, + {file = "orjson-3.9.13-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2cc03a35bfc71c8ebf96ce49b82c2a7be6af4b3cd3ac34166fdb42ac510bbfff"}, + {file = "orjson-3.9.13-cp312-none-win_amd64.whl", hash = "sha256:49b7e3fe861cb246361825d1a238f2584ed8ea21e714bf6bb17cebb86772e61c"}, + {file = "orjson-3.9.13-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:62e9a99879c4d5a04926ac2518a992134bfa00d546ea5a4cae4b9be454d35a22"}, + {file = "orjson-3.9.13-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d92a3e835a5100f1d5b566fff79217eab92223ca31900dba733902a182a35ab0"}, + {file = "orjson-3.9.13-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:23f21faf072ed3b60b5954686f98157e073f6a8068eaa58dbde83e87212eda84"}, + {file = "orjson-3.9.13-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:828c502bb261588f7de897e06cb23c4b122997cb039d2014cb78e7dabe92ef0c"}, + {file = "orjson-3.9.13-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16946d095212a3dec552572c5d9bca7afa40f3116ad49695a397be07d529f1fa"}, + {file = "orjson-3.9.13-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3deadd8dc0e9ff844b5b656fa30a48dbee1c3b332d8278302dd9637f6b09f627"}, + {file = "orjson-3.9.13-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:9b1b5adc5adf596c59dca57156b71ad301d73956f5bab4039b0e34dbf50b9fa0"}, + {file = "orjson-3.9.13-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:ddc089315d030c54f0f03fb38286e2667c05009a78d659f108a8efcfbdf2e585"}, + {file = "orjson-3.9.13-cp38-none-win32.whl", hash = "sha256:ae77275a28667d9c82d4522b681504642055efa0368d73108511647c6499b31c"}, + {file = "orjson-3.9.13-cp38-none-win_amd64.whl", hash = "sha256:730385fdb99a21fce9bb84bb7fcbda72c88626facd74956bda712834b480729d"}, + {file = "orjson-3.9.13-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:7e8e4a571d958910272af8d53a9cbe6599f9f5fd496a1bc51211183bb2072cbd"}, + {file = "orjson-3.9.13-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cfad553a36548262e7da0f3a7464270e13900b898800fb571a5d4b298c3f8356"}, + {file = "orjson-3.9.13-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0d691c44604941945b00e0a13b19a7d9c1a19511abadf0080f373e98fdeb6b31"}, + {file = "orjson-3.9.13-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a8c83718346de08d68b3cb1105c5d91e5fc39885d8610fdda16613d4e3941459"}, + {file = "orjson-3.9.13-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:63ef57a53bfc2091a7cd50a640d9ae866bd7d92a5225a1bab6baa60ef62583f2"}, + {file = "orjson-3.9.13-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9156b96afa38db71344522f5517077eaedf62fcd2c9148392ff93d801128809c"}, + {file = "orjson-3.9.13-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31fb66b41fb2c4c817d9610f0bc7d31345728d7b5295ac78b63603407432a2b2"}, + {file = "orjson-3.9.13-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:8a730bf07feacb0863974e67b206b7c503a62199de1cece2eb0d4c233ec29c11"}, + {file = "orjson-3.9.13-cp39-none-win32.whl", hash = "sha256:5ef58869f3399acbbe013518d8b374ee9558659eef14bca0984f67cb1fbd3c37"}, + {file = "orjson-3.9.13-cp39-none-win_amd64.whl", hash = "sha256:9bcf56efdb83244cde070e82a69c0f03c47c235f0a5cb6c81d9da23af7fbaae4"}, + {file = "orjson-3.9.13.tar.gz", hash = "sha256:fc6bc65b0cf524ee042e0bc2912b9206ef242edfba7426cf95763e4af01f527a"}, ] [[package]] @@ -1286,8 +1380,8 @@ files = [ [package.dependencies] numpy = [ {version = ">=1.20.3", markers = "python_version < \"3.10\""}, - {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, + {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, ] python-dateutil = ">=2.8.2" pytz = ">=2020.1" @@ -1425,28 +1519,28 @@ files = [ [[package]] name = "platformdirs" -version = "4.1.0" +version = "4.2.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." optional = false python-versions = ">=3.8" files = [ - {file = "platformdirs-4.1.0-py3-none-any.whl", hash = "sha256:11c8f37bcca40db96d8144522d925583bdb7a31f7b0e37e3ed4318400a8e2380"}, - {file = "platformdirs-4.1.0.tar.gz", hash = "sha256:906d548203468492d432bcb294d4bc2fff751bf84971fbb2c10918cc206ee420"}, + {file = "platformdirs-4.2.0-py3-none-any.whl", hash = "sha256:0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068"}, + {file = "platformdirs-4.2.0.tar.gz", hash = "sha256:ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768"}, ] [package.extras] -docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.1)", "sphinx-autodoc-typehints (>=1.24)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)"] +docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] [[package]] name = "pluggy" -version = "1.3.0" +version = "1.4.0" description = "plugin and hook calling mechanisms for python" optional = false python-versions = ">=3.8" files = [ - {file = "pluggy-1.3.0-py3-none-any.whl", hash = "sha256:d89c696a773f8bd377d18e5ecda92b7a3793cbe66c87060a6fb58c7b6e1061f7"}, - {file = "pluggy-1.3.0.tar.gz", hash = "sha256:cf61ae8f126ac6f7c451172cf30e3e43d3ca77615509771b3a984a0730651e12"}, + {file = "pluggy-1.4.0-py3-none-any.whl", hash = "sha256:7db9f7b503d67d1c5b95f59773ebb58a8c1c288129a88665838012cfb07b8981"}, + {file = "pluggy-1.4.0.tar.gz", hash = "sha256:8c85c2876142a764e5b7548e7d9a0e0ddb46f5185161049a79b7e974454223be"}, ] [package.extras] @@ -1475,51 +1569,51 @@ files = [ [[package]] name = "pyarrow" -version = "14.0.2" +version = "15.0.0" description = "Python library for Apache Arrow" optional = true python-versions = ">=3.8" files = [ - {file = "pyarrow-14.0.2-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:ba9fe808596c5dbd08b3aeffe901e5f81095baaa28e7d5118e01354c64f22807"}, - {file = "pyarrow-14.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:22a768987a16bb46220cef490c56c671993fbee8fd0475febac0b3e16b00a10e"}, - {file = "pyarrow-14.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2dbba05e98f247f17e64303eb876f4a80fcd32f73c7e9ad975a83834d81f3fda"}, - {file = "pyarrow-14.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a898d134d00b1eca04998e9d286e19653f9d0fcb99587310cd10270907452a6b"}, - {file = "pyarrow-14.0.2-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:87e879323f256cb04267bb365add7208f302df942eb943c93a9dfeb8f44840b1"}, - {file = "pyarrow-14.0.2-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:76fc257559404ea5f1306ea9a3ff0541bf996ff3f7b9209fc517b5e83811fa8e"}, - {file = "pyarrow-14.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:b0c4a18e00f3a32398a7f31da47fefcd7a927545b396e1f15d0c85c2f2c778cd"}, - {file = "pyarrow-14.0.2-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:87482af32e5a0c0cce2d12eb3c039dd1d853bd905b04f3f953f147c7a196915b"}, - {file = "pyarrow-14.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:059bd8f12a70519e46cd64e1ba40e97eae55e0cbe1695edd95384653d7626b23"}, - {file = "pyarrow-14.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f16111f9ab27e60b391c5f6d197510e3ad6654e73857b4e394861fc79c37200"}, - {file = "pyarrow-14.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06ff1264fe4448e8d02073f5ce45a9f934c0f3db0a04460d0b01ff28befc3696"}, - {file = "pyarrow-14.0.2-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:6dd4f4b472ccf4042f1eab77e6c8bce574543f54d2135c7e396f413046397d5a"}, - {file = "pyarrow-14.0.2-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:32356bfb58b36059773f49e4e214996888eeea3a08893e7dbde44753799b2a02"}, - {file = "pyarrow-14.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:52809ee69d4dbf2241c0e4366d949ba035cbcf48409bf404f071f624ed313a2b"}, - {file = "pyarrow-14.0.2-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:c87824a5ac52be210d32906c715f4ed7053d0180c1060ae3ff9b7e560f53f944"}, - {file = "pyarrow-14.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a25eb2421a58e861f6ca91f43339d215476f4fe159eca603c55950c14f378cc5"}, - {file = "pyarrow-14.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c1da70d668af5620b8ba0a23f229030a4cd6c5f24a616a146f30d2386fec422"}, - {file = "pyarrow-14.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2cc61593c8e66194c7cdfae594503e91b926a228fba40b5cf25cc593563bcd07"}, - {file = "pyarrow-14.0.2-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:78ea56f62fb7c0ae8ecb9afdd7893e3a7dbeb0b04106f5c08dbb23f9c0157591"}, - {file = "pyarrow-14.0.2-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:37c233ddbce0c67a76c0985612fef27c0c92aef9413cf5aa56952f359fcb7379"}, - {file = "pyarrow-14.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:e4b123ad0f6add92de898214d404e488167b87b5dd86e9a434126bc2b7a5578d"}, - {file = "pyarrow-14.0.2-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:e354fba8490de258be7687f341bc04aba181fc8aa1f71e4584f9890d9cb2dec2"}, - {file = "pyarrow-14.0.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:20e003a23a13da963f43e2b432483fdd8c38dc8882cd145f09f21792e1cf22a1"}, - {file = "pyarrow-14.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc0de7575e841f1595ac07e5bc631084fd06ca8b03c0f2ecece733d23cd5102a"}, - {file = "pyarrow-14.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66e986dc859712acb0bd45601229021f3ffcdfc49044b64c6d071aaf4fa49e98"}, - {file = "pyarrow-14.0.2-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:f7d029f20ef56673a9730766023459ece397a05001f4e4d13805111d7c2108c0"}, - {file = "pyarrow-14.0.2-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:209bac546942b0d8edc8debda248364f7f668e4aad4741bae58e67d40e5fcf75"}, - {file = "pyarrow-14.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:1e6987c5274fb87d66bb36816afb6f65707546b3c45c44c28e3c4133c010a881"}, - {file = "pyarrow-14.0.2-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:a01d0052d2a294a5f56cc1862933014e696aa08cc7b620e8c0cce5a5d362e976"}, - {file = "pyarrow-14.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a51fee3a7db4d37f8cda3ea96f32530620d43b0489d169b285d774da48ca9785"}, - {file = "pyarrow-14.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:64df2bf1ef2ef14cee531e2dfe03dd924017650ffaa6f9513d7a1bb291e59c15"}, - {file = "pyarrow-14.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c0fa3bfdb0305ffe09810f9d3e2e50a2787e3a07063001dcd7adae0cee3601a"}, - {file = "pyarrow-14.0.2-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:c65bf4fd06584f058420238bc47a316e80dda01ec0dfb3044594128a6c2db794"}, - {file = "pyarrow-14.0.2-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:63ac901baec9369d6aae1cbe6cca11178fb018a8d45068aaf5bb54f94804a866"}, - {file = "pyarrow-14.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:75ee0efe7a87a687ae303d63037d08a48ef9ea0127064df18267252cfe2e9541"}, - {file = "pyarrow-14.0.2.tar.gz", hash = "sha256:36cef6ba12b499d864d1def3e990f97949e0b79400d08b7cf74504ffbd3eb025"}, + {file = "pyarrow-15.0.0-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:0a524532fd6dd482edaa563b686d754c70417c2f72742a8c990b322d4c03a15d"}, + {file = "pyarrow-15.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:60a6bdb314affa9c2e0d5dddf3d9cbb9ef4a8dddaa68669975287d47ece67642"}, + {file = "pyarrow-15.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:66958fd1771a4d4b754cd385835e66a3ef6b12611e001d4e5edfcef5f30391e2"}, + {file = "pyarrow-15.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f500956a49aadd907eaa21d4fff75f73954605eaa41f61cb94fb008cf2e00c6"}, + {file = "pyarrow-15.0.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:6f87d9c4f09e049c2cade559643424da84c43a35068f2a1c4653dc5b1408a929"}, + {file = "pyarrow-15.0.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:85239b9f93278e130d86c0e6bb455dcb66fc3fd891398b9d45ace8799a871a1e"}, + {file = "pyarrow-15.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:5b8d43e31ca16aa6e12402fcb1e14352d0d809de70edd185c7650fe80e0769e3"}, + {file = "pyarrow-15.0.0-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:fa7cd198280dbd0c988df525e50e35b5d16873e2cdae2aaaa6363cdb64e3eec5"}, + {file = "pyarrow-15.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8780b1a29d3c8b21ba6b191305a2a607de2e30dab399776ff0aa09131e266340"}, + {file = "pyarrow-15.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fe0ec198ccc680f6c92723fadcb97b74f07c45ff3fdec9dd765deb04955ccf19"}, + {file = "pyarrow-15.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:036a7209c235588c2f07477fe75c07e6caced9b7b61bb897c8d4e52c4b5f9555"}, + {file = "pyarrow-15.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:2bd8a0e5296797faf9a3294e9fa2dc67aa7f10ae2207920dbebb785c77e9dbe5"}, + {file = "pyarrow-15.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:e8ebed6053dbe76883a822d4e8da36860f479d55a762bd9e70d8494aed87113e"}, + {file = "pyarrow-15.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:17d53a9d1b2b5bd7d5e4cd84d018e2a45bc9baaa68f7e6e3ebed45649900ba99"}, + {file = "pyarrow-15.0.0-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:9950a9c9df24090d3d558b43b97753b8f5867fb8e521f29876aa021c52fda351"}, + {file = "pyarrow-15.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:003d680b5e422d0204e7287bb3fa775b332b3fce2996aa69e9adea23f5c8f970"}, + {file = "pyarrow-15.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f75fce89dad10c95f4bf590b765e3ae98bcc5ba9f6ce75adb828a334e26a3d40"}, + {file = "pyarrow-15.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ca9cb0039923bec49b4fe23803807e4ef39576a2bec59c32b11296464623dc2"}, + {file = "pyarrow-15.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:9ed5a78ed29d171d0acc26a305a4b7f83c122d54ff5270810ac23c75813585e4"}, + {file = "pyarrow-15.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:6eda9e117f0402dfcd3cd6ec9bfee89ac5071c48fc83a84f3075b60efa96747f"}, + {file = "pyarrow-15.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:9a3a6180c0e8f2727e6f1b1c87c72d3254cac909e609f35f22532e4115461177"}, + {file = "pyarrow-15.0.0-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:19a8918045993349b207de72d4576af0191beef03ea655d8bdb13762f0cd6eac"}, + {file = "pyarrow-15.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:d0ec076b32bacb6666e8813a22e6e5a7ef1314c8069d4ff345efa6246bc38593"}, + {file = "pyarrow-15.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5db1769e5d0a77eb92344c7382d6543bea1164cca3704f84aa44e26c67e320fb"}, + {file = "pyarrow-15.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e2617e3bf9df2a00020dd1c1c6dce5cc343d979efe10bc401c0632b0eef6ef5b"}, + {file = "pyarrow-15.0.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:d31c1d45060180131caf10f0f698e3a782db333a422038bf7fe01dace18b3a31"}, + {file = "pyarrow-15.0.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:c8c287d1d479de8269398b34282e206844abb3208224dbdd7166d580804674b7"}, + {file = "pyarrow-15.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:07eb7f07dc9ecbb8dace0f58f009d3a29ee58682fcdc91337dfeb51ea618a75b"}, + {file = "pyarrow-15.0.0-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:47af7036f64fce990bb8a5948c04722e4e3ea3e13b1007ef52dfe0aa8f23cf7f"}, + {file = "pyarrow-15.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:93768ccfff85cf044c418bfeeafce9a8bb0cee091bd8fd19011aff91e58de540"}, + {file = "pyarrow-15.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f6ee87fd6892700960d90abb7b17a72a5abb3b64ee0fe8db6c782bcc2d0dc0b4"}, + {file = "pyarrow-15.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:001fca027738c5f6be0b7a3159cc7ba16a5c52486db18160909a0831b063c4e4"}, + {file = "pyarrow-15.0.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:d1c48648f64aec09accf44140dccb92f4f94394b8d79976c426a5b79b11d4fa7"}, + {file = "pyarrow-15.0.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:972a0141be402bb18e3201448c8ae62958c9c7923dfaa3b3d4530c835ac81aed"}, + {file = "pyarrow-15.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:f01fc5cf49081426429127aa2d427d9d98e1cb94a32cb961d583a70b7c4504e6"}, + {file = "pyarrow-15.0.0.tar.gz", hash = "sha256:876858f549d540898f927eba4ef77cd549ad8d24baa3207cf1b72e5788b50e83"}, ] [package.dependencies] -numpy = ">=1.16.6" +numpy = ">=1.16.6,<2" [[package]] name = "pycodestyle" @@ -1534,18 +1628,19 @@ files = [ [[package]] name = "pydantic" -version = "2.5.3" +version = "2.6.1" description = "Data validation using Python type hints" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pydantic-2.5.3-py3-none-any.whl", hash = "sha256:d0caf5954bee831b6bfe7e338c32b9e30c85dfe080c843680783ac2b631673b4"}, - {file = "pydantic-2.5.3.tar.gz", hash = "sha256:b3ef57c62535b0941697cce638c08900d87fcb67e29cfa99e8a68f747f393f7a"}, + {file = "pydantic-2.6.1-py3-none-any.whl", hash = "sha256:0b6a909df3192245cb736509a92ff69e4fef76116feffec68e93a567347bae6f"}, + {file = "pydantic-2.6.1.tar.gz", hash = "sha256:4fd5c182a2488dc63e6d32737ff19937888001e2a6d86e94b3f233104a5d1fa9"}, ] [package.dependencies] annotated-types = ">=0.4.0" -pydantic-core = "2.14.6" +email-validator = {version = ">=2.0.0", optional = true, markers = "extra == \"email\""} +pydantic-core = "2.16.2" typing-extensions = ">=4.6.1" [package.extras] @@ -1553,116 +1648,90 @@ email = ["email-validator (>=2.0.0)"] [[package]] name = "pydantic-core" -version = "2.14.6" +version = "2.16.2" description = "" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pydantic_core-2.14.6-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:72f9a942d739f09cd42fffe5dc759928217649f070056f03c70df14f5770acf9"}, - {file = "pydantic_core-2.14.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6a31d98c0d69776c2576dda4b77b8e0c69ad08e8b539c25c7d0ca0dc19a50d6c"}, - {file = "pydantic_core-2.14.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5aa90562bc079c6c290f0512b21768967f9968e4cfea84ea4ff5af5d917016e4"}, - {file = "pydantic_core-2.14.6-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:370ffecb5316ed23b667d99ce4debe53ea664b99cc37bfa2af47bc769056d534"}, - {file = "pydantic_core-2.14.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f85f3843bdb1fe80e8c206fe6eed7a1caeae897e496542cee499c374a85c6e08"}, - {file = "pydantic_core-2.14.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9862bf828112e19685b76ca499b379338fd4c5c269d897e218b2ae8fcb80139d"}, - {file = "pydantic_core-2.14.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:036137b5ad0cb0004c75b579445a1efccd072387a36c7f217bb8efd1afbe5245"}, - {file = "pydantic_core-2.14.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:92879bce89f91f4b2416eba4429c7b5ca22c45ef4a499c39f0c5c69257522c7c"}, - {file = "pydantic_core-2.14.6-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0c08de15d50fa190d577e8591f0329a643eeaed696d7771760295998aca6bc66"}, - {file = "pydantic_core-2.14.6-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:36099c69f6b14fc2c49d7996cbf4f87ec4f0e66d1c74aa05228583225a07b590"}, - {file = "pydantic_core-2.14.6-cp310-none-win32.whl", hash = "sha256:7be719e4d2ae6c314f72844ba9d69e38dff342bc360379f7c8537c48e23034b7"}, - {file = "pydantic_core-2.14.6-cp310-none-win_amd64.whl", hash = "sha256:36fa402dcdc8ea7f1b0ddcf0df4254cc6b2e08f8cd80e7010d4c4ae6e86b2a87"}, - {file = "pydantic_core-2.14.6-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:dea7fcd62915fb150cdc373212141a30037e11b761fbced340e9db3379b892d4"}, - {file = "pydantic_core-2.14.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ffff855100bc066ff2cd3aa4a60bc9534661816b110f0243e59503ec2df38421"}, - {file = "pydantic_core-2.14.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b027c86c66b8627eb90e57aee1f526df77dc6d8b354ec498be9a757d513b92b"}, - {file = "pydantic_core-2.14.6-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:00b1087dabcee0b0ffd104f9f53d7d3eaddfaa314cdd6726143af6bc713aa27e"}, - {file = "pydantic_core-2.14.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:75ec284328b60a4e91010c1acade0c30584f28a1f345bc8f72fe8b9e46ec6a96"}, - {file = "pydantic_core-2.14.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7e1f4744eea1501404b20b0ac059ff7e3f96a97d3e3f48ce27a139e053bb370b"}, - {file = "pydantic_core-2.14.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b2602177668f89b38b9f84b7b3435d0a72511ddef45dc14446811759b82235a1"}, - {file = "pydantic_core-2.14.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6c8edaea3089bf908dd27da8f5d9e395c5b4dc092dbcce9b65e7156099b4b937"}, - {file = "pydantic_core-2.14.6-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:478e9e7b360dfec451daafe286998d4a1eeaecf6d69c427b834ae771cad4b622"}, - {file = "pydantic_core-2.14.6-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b6ca36c12a5120bad343eef193cc0122928c5c7466121da7c20f41160ba00ba2"}, - {file = "pydantic_core-2.14.6-cp311-none-win32.whl", hash = "sha256:2b8719037e570639e6b665a4050add43134d80b687288ba3ade18b22bbb29dd2"}, - {file = "pydantic_core-2.14.6-cp311-none-win_amd64.whl", hash = "sha256:78ee52ecc088c61cce32b2d30a826f929e1708f7b9247dc3b921aec367dc1b23"}, - {file = "pydantic_core-2.14.6-cp311-none-win_arm64.whl", hash = "sha256:a19b794f8fe6569472ff77602437ec4430f9b2b9ec7a1105cfd2232f9ba355e6"}, - {file = "pydantic_core-2.14.6-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:667aa2eac9cd0700af1ddb38b7b1ef246d8cf94c85637cbb03d7757ca4c3fdec"}, - {file = "pydantic_core-2.14.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:cdee837710ef6b56ebd20245b83799fce40b265b3b406e51e8ccc5b85b9099b7"}, - {file = "pydantic_core-2.14.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c5bcf3414367e29f83fd66f7de64509a8fd2368b1edf4351e862910727d3e51"}, - {file = "pydantic_core-2.14.6-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:26a92ae76f75d1915806b77cf459811e772d8f71fd1e4339c99750f0e7f6324f"}, - {file = "pydantic_core-2.14.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a983cca5ed1dd9a35e9e42ebf9f278d344603bfcb174ff99a5815f953925140a"}, - {file = "pydantic_core-2.14.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cb92f9061657287eded380d7dc455bbf115430b3aa4741bdc662d02977e7d0af"}, - {file = "pydantic_core-2.14.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4ace1e220b078c8e48e82c081e35002038657e4b37d403ce940fa679e57113b"}, - {file = "pydantic_core-2.14.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ef633add81832f4b56d3b4c9408b43d530dfca29e68fb1b797dcb861a2c734cd"}, - {file = "pydantic_core-2.14.6-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7e90d6cc4aad2cc1f5e16ed56e46cebf4877c62403a311af20459c15da76fd91"}, - {file = "pydantic_core-2.14.6-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e8a5ac97ea521d7bde7621d86c30e86b798cdecd985723c4ed737a2aa9e77d0c"}, - {file = "pydantic_core-2.14.6-cp312-none-win32.whl", hash = "sha256:f27207e8ca3e5e021e2402ba942e5b4c629718e665c81b8b306f3c8b1ddbb786"}, - {file = "pydantic_core-2.14.6-cp312-none-win_amd64.whl", hash = "sha256:b3e5fe4538001bb82e2295b8d2a39356a84694c97cb73a566dc36328b9f83b40"}, - {file = "pydantic_core-2.14.6-cp312-none-win_arm64.whl", hash = "sha256:64634ccf9d671c6be242a664a33c4acf12882670b09b3f163cd00a24cffbd74e"}, - {file = "pydantic_core-2.14.6-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:24368e31be2c88bd69340fbfe741b405302993242ccb476c5c3ff48aeee1afe0"}, - {file = "pydantic_core-2.14.6-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:e33b0834f1cf779aa839975f9d8755a7c2420510c0fa1e9fa0497de77cd35d2c"}, - {file = "pydantic_core-2.14.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6af4b3f52cc65f8a0bc8b1cd9676f8c21ef3e9132f21fed250f6958bd7223bed"}, - {file = "pydantic_core-2.14.6-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d15687d7d7f40333bd8266f3814c591c2e2cd263fa2116e314f60d82086e353a"}, - {file = "pydantic_core-2.14.6-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:095b707bb287bfd534044166ab767bec70a9bba3175dcdc3371782175c14e43c"}, - {file = "pydantic_core-2.14.6-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:94fc0e6621e07d1e91c44e016cc0b189b48db053061cc22d6298a611de8071bb"}, - {file = "pydantic_core-2.14.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ce830e480f6774608dedfd4a90c42aac4a7af0a711f1b52f807130c2e434c06"}, - {file = "pydantic_core-2.14.6-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a306cdd2ad3a7d795d8e617a58c3a2ed0f76c8496fb7621b6cd514eb1532cae8"}, - {file = "pydantic_core-2.14.6-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:2f5fa187bde8524b1e37ba894db13aadd64faa884657473b03a019f625cee9a8"}, - {file = "pydantic_core-2.14.6-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:438027a975cc213a47c5d70672e0d29776082155cfae540c4e225716586be75e"}, - {file = "pydantic_core-2.14.6-cp37-none-win32.whl", hash = "sha256:f96ae96a060a8072ceff4cfde89d261837b4294a4f28b84a28765470d502ccc6"}, - {file = "pydantic_core-2.14.6-cp37-none-win_amd64.whl", hash = "sha256:e646c0e282e960345314f42f2cea5e0b5f56938c093541ea6dbf11aec2862391"}, - {file = "pydantic_core-2.14.6-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:db453f2da3f59a348f514cfbfeb042393b68720787bbef2b4c6068ea362c8149"}, - {file = "pydantic_core-2.14.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3860c62057acd95cc84044e758e47b18dcd8871a328ebc8ccdefd18b0d26a21b"}, - {file = "pydantic_core-2.14.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:36026d8f99c58d7044413e1b819a67ca0e0b8ebe0f25e775e6c3d1fabb3c38fb"}, - {file = "pydantic_core-2.14.6-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8ed1af8692bd8d2a29d702f1a2e6065416d76897d726e45a1775b1444f5928a7"}, - {file = "pydantic_core-2.14.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:314ccc4264ce7d854941231cf71b592e30d8d368a71e50197c905874feacc8a8"}, - {file = "pydantic_core-2.14.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:982487f8931067a32e72d40ab6b47b1628a9c5d344be7f1a4e668fb462d2da42"}, - {file = "pydantic_core-2.14.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2dbe357bc4ddda078f79d2a36fc1dd0494a7f2fad83a0a684465b6f24b46fe80"}, - {file = "pydantic_core-2.14.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2f6ffc6701a0eb28648c845f4945a194dc7ab3c651f535b81793251e1185ac3d"}, - {file = "pydantic_core-2.14.6-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:7f5025db12fc6de7bc1104d826d5aee1d172f9ba6ca936bf6474c2148ac336c1"}, - {file = "pydantic_core-2.14.6-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:dab03ed811ed1c71d700ed08bde8431cf429bbe59e423394f0f4055f1ca0ea60"}, - {file = "pydantic_core-2.14.6-cp38-none-win32.whl", hash = "sha256:dfcbebdb3c4b6f739a91769aea5ed615023f3c88cb70df812849aef634c25fbe"}, - {file = "pydantic_core-2.14.6-cp38-none-win_amd64.whl", hash = "sha256:99b14dbea2fdb563d8b5a57c9badfcd72083f6006caf8e126b491519c7d64ca8"}, - {file = "pydantic_core-2.14.6-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:4ce8299b481bcb68e5c82002b96e411796b844d72b3e92a3fbedfe8e19813eab"}, - {file = "pydantic_core-2.14.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b9a9d92f10772d2a181b5ca339dee066ab7d1c9a34ae2421b2a52556e719756f"}, - {file = "pydantic_core-2.14.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fd9e98b408384989ea4ab60206b8e100d8687da18b5c813c11e92fd8212a98e0"}, - {file = "pydantic_core-2.14.6-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4f86f1f318e56f5cbb282fe61eb84767aee743ebe32c7c0834690ebea50c0a6b"}, - {file = "pydantic_core-2.14.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:86ce5fcfc3accf3a07a729779d0b86c5d0309a4764c897d86c11089be61da160"}, - {file = "pydantic_core-2.14.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3dcf1978be02153c6a31692d4fbcc2a3f1db9da36039ead23173bc256ee3b91b"}, - {file = "pydantic_core-2.14.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eedf97be7bc3dbc8addcef4142f4b4164066df0c6f36397ae4aaed3eb187d8ab"}, - {file = "pydantic_core-2.14.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d5f916acf8afbcab6bacbb376ba7dc61f845367901ecd5e328fc4d4aef2fcab0"}, - {file = "pydantic_core-2.14.6-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:8a14c192c1d724c3acbfb3f10a958c55a2638391319ce8078cb36c02283959b9"}, - {file = "pydantic_core-2.14.6-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0348b1dc6b76041516e8a854ff95b21c55f5a411c3297d2ca52f5528e49d8411"}, - {file = "pydantic_core-2.14.6-cp39-none-win32.whl", hash = "sha256:de2a0645a923ba57c5527497daf8ec5df69c6eadf869e9cd46e86349146e5975"}, - {file = "pydantic_core-2.14.6-cp39-none-win_amd64.whl", hash = "sha256:aca48506a9c20f68ee61c87f2008f81f8ee99f8d7f0104bff3c47e2d148f89d9"}, - {file = "pydantic_core-2.14.6-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:d5c28525c19f5bb1e09511669bb57353d22b94cf8b65f3a8d141c389a55dec95"}, - {file = "pydantic_core-2.14.6-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:78d0768ee59baa3de0f4adac9e3748b4b1fffc52143caebddfd5ea2961595277"}, - {file = "pydantic_core-2.14.6-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b93785eadaef932e4fe9c6e12ba67beb1b3f1e5495631419c784ab87e975670"}, - {file = "pydantic_core-2.14.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a874f21f87c485310944b2b2734cd6d318765bcbb7515eead33af9641816506e"}, - {file = "pydantic_core-2.14.6-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b89f4477d915ea43b4ceea6756f63f0288941b6443a2b28c69004fe07fde0d0d"}, - {file = "pydantic_core-2.14.6-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:172de779e2a153d36ee690dbc49c6db568d7b33b18dc56b69a7514aecbcf380d"}, - {file = "pydantic_core-2.14.6-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:dfcebb950aa7e667ec226a442722134539e77c575f6cfaa423f24371bb8d2e94"}, - {file = "pydantic_core-2.14.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:55a23dcd98c858c0db44fc5c04fc7ed81c4b4d33c653a7c45ddaebf6563a2f66"}, - {file = "pydantic_core-2.14.6-pp37-pypy37_pp73-macosx_10_7_x86_64.whl", hash = "sha256:4241204e4b36ab5ae466ecec5c4c16527a054c69f99bba20f6f75232a6a534e2"}, - {file = "pydantic_core-2.14.6-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e574de99d735b3fc8364cba9912c2bec2da78775eba95cbb225ef7dda6acea24"}, - {file = "pydantic_core-2.14.6-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1302a54f87b5cd8528e4d6d1bf2133b6aa7c6122ff8e9dc5220fbc1e07bffebd"}, - {file = "pydantic_core-2.14.6-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f8e81e4b55930e5ffab4a68db1af431629cf2e4066dbdbfef65348b8ab804ea8"}, - {file = "pydantic_core-2.14.6-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:c99462ffc538717b3e60151dfaf91125f637e801f5ab008f81c402f1dff0cd0f"}, - {file = "pydantic_core-2.14.6-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:e4cf2d5829f6963a5483ec01578ee76d329eb5caf330ecd05b3edd697e7d768a"}, - {file = "pydantic_core-2.14.6-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:cf10b7d58ae4a1f07fccbf4a0a956d705356fea05fb4c70608bb6fa81d103cda"}, - {file = "pydantic_core-2.14.6-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:399ac0891c284fa8eb998bcfa323f2234858f5d2efca3950ae58c8f88830f145"}, - {file = "pydantic_core-2.14.6-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c6a5c79b28003543db3ba67d1df336f253a87d3112dac3a51b94f7d48e4c0e1"}, - {file = "pydantic_core-2.14.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:599c87d79cab2a6a2a9df4aefe0455e61e7d2aeede2f8577c1b7c0aec643ee8e"}, - {file = "pydantic_core-2.14.6-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:43e166ad47ba900f2542a80d83f9fc65fe99eb63ceec4debec160ae729824052"}, - {file = "pydantic_core-2.14.6-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:3a0b5db001b98e1c649dd55afa928e75aa4087e587b9524a4992316fa23c9fba"}, - {file = "pydantic_core-2.14.6-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:747265448cb57a9f37572a488a57d873fd96bf51e5bb7edb52cfb37124516da4"}, - {file = "pydantic_core-2.14.6-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:7ebe3416785f65c28f4f9441e916bfc8a54179c8dea73c23023f7086fa601c5d"}, - {file = "pydantic_core-2.14.6-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:86c963186ca5e50d5c8287b1d1c9d3f8f024cbe343d048c5bd282aec2d8641f2"}, - {file = "pydantic_core-2.14.6-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:e0641b506486f0b4cd1500a2a65740243e8670a2549bb02bc4556a83af84ae03"}, - {file = "pydantic_core-2.14.6-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71d72ca5eaaa8d38c8df16b7deb1a2da4f650c41b58bb142f3fb75d5ad4a611f"}, - {file = "pydantic_core-2.14.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:27e524624eace5c59af499cd97dc18bb201dc6a7a2da24bfc66ef151c69a5f2a"}, - {file = "pydantic_core-2.14.6-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a3dde6cac75e0b0902778978d3b1646ca9f438654395a362cb21d9ad34b24acf"}, - {file = "pydantic_core-2.14.6-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:00646784f6cd993b1e1c0e7b0fdcbccc375d539db95555477771c27555e3c556"}, - {file = "pydantic_core-2.14.6-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:23598acb8ccaa3d1d875ef3b35cb6376535095e9405d91a3d57a8c7db5d29341"}, - {file = "pydantic_core-2.14.6-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7f41533d7e3cf9520065f610b41ac1c76bc2161415955fbcead4981b22c7611e"}, - {file = "pydantic_core-2.14.6.tar.gz", hash = "sha256:1fd0c1d395372843fba13a51c28e3bb9d59bd7aebfeb17358ffaaa1e4dbbe948"}, + {file = "pydantic_core-2.16.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:3fab4e75b8c525a4776e7630b9ee48aea50107fea6ca9f593c98da3f4d11bf7c"}, + {file = "pydantic_core-2.16.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8bde5b48c65b8e807409e6f20baee5d2cd880e0fad00b1a811ebc43e39a00ab2"}, + {file = "pydantic_core-2.16.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2924b89b16420712e9bb8192396026a8fbd6d8726224f918353ac19c4c043d2a"}, + {file = "pydantic_core-2.16.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:16aa02e7a0f539098e215fc193c8926c897175d64c7926d00a36188917717a05"}, + {file = "pydantic_core-2.16.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:936a787f83db1f2115ee829dd615c4f684ee48ac4de5779ab4300994d8af325b"}, + {file = "pydantic_core-2.16.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:459d6be6134ce3b38e0ef76f8a672924460c455d45f1ad8fdade36796df1ddc8"}, + {file = "pydantic_core-2.16.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f9ee4febb249c591d07b2d4dd36ebcad0ccd128962aaa1801508320896575ef"}, + {file = "pydantic_core-2.16.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:40a0bd0bed96dae5712dab2aba7d334a6c67cbcac2ddfca7dbcc4a8176445990"}, + {file = "pydantic_core-2.16.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:870dbfa94de9b8866b37b867a2cb37a60c401d9deb4a9ea392abf11a1f98037b"}, + {file = "pydantic_core-2.16.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:308974fdf98046db28440eb3377abba274808bf66262e042c412eb2adf852731"}, + {file = "pydantic_core-2.16.2-cp310-none-win32.whl", hash = "sha256:a477932664d9611d7a0816cc3c0eb1f8856f8a42435488280dfbf4395e141485"}, + {file = "pydantic_core-2.16.2-cp310-none-win_amd64.whl", hash = "sha256:8f9142a6ed83d90c94a3efd7af8873bf7cefed2d3d44387bf848888482e2d25f"}, + {file = "pydantic_core-2.16.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:406fac1d09edc613020ce9cf3f2ccf1a1b2f57ab00552b4c18e3d5276c67eb11"}, + {file = "pydantic_core-2.16.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ce232a6170dd6532096cadbf6185271e4e8c70fc9217ebe105923ac105da9978"}, + {file = "pydantic_core-2.16.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a90fec23b4b05a09ad988e7a4f4e081711a90eb2a55b9c984d8b74597599180f"}, + {file = "pydantic_core-2.16.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8aafeedb6597a163a9c9727d8a8bd363a93277701b7bfd2749fbefee2396469e"}, + {file = "pydantic_core-2.16.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9957433c3a1b67bdd4c63717eaf174ebb749510d5ea612cd4e83f2d9142f3fc8"}, + {file = "pydantic_core-2.16.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b0d7a9165167269758145756db43a133608a531b1e5bb6a626b9ee24bc38a8f7"}, + {file = "pydantic_core-2.16.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dffaf740fe2e147fedcb6b561353a16243e654f7fe8e701b1b9db148242e1272"}, + {file = "pydantic_core-2.16.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f8ed79883b4328b7f0bd142733d99c8e6b22703e908ec63d930b06be3a0e7113"}, + {file = "pydantic_core-2.16.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:cf903310a34e14651c9de056fcc12ce090560864d5a2bb0174b971685684e1d8"}, + {file = "pydantic_core-2.16.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:46b0d5520dbcafea9a8645a8164658777686c5c524d381d983317d29687cce97"}, + {file = "pydantic_core-2.16.2-cp311-none-win32.whl", hash = "sha256:70651ff6e663428cea902dac297066d5c6e5423fda345a4ca62430575364d62b"}, + {file = "pydantic_core-2.16.2-cp311-none-win_amd64.whl", hash = "sha256:98dc6f4f2095fc7ad277782a7c2c88296badcad92316b5a6e530930b1d475ebc"}, + {file = "pydantic_core-2.16.2-cp311-none-win_arm64.whl", hash = "sha256:ef6113cd31411eaf9b39fc5a8848e71c72656fd418882488598758b2c8c6dfa0"}, + {file = "pydantic_core-2.16.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:88646cae28eb1dd5cd1e09605680c2b043b64d7481cdad7f5003ebef401a3039"}, + {file = "pydantic_core-2.16.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7b883af50eaa6bb3299780651e5be921e88050ccf00e3e583b1e92020333304b"}, + {file = "pydantic_core-2.16.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bf26c2e2ea59d32807081ad51968133af3025c4ba5753e6a794683d2c91bf6e"}, + {file = "pydantic_core-2.16.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:99af961d72ac731aae2a1b55ccbdae0733d816f8bfb97b41909e143de735f522"}, + {file = "pydantic_core-2.16.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:02906e7306cb8c5901a1feb61f9ab5e5c690dbbeaa04d84c1b9ae2a01ebe9379"}, + {file = "pydantic_core-2.16.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5362d099c244a2d2f9659fb3c9db7c735f0004765bbe06b99be69fbd87c3f15"}, + {file = "pydantic_core-2.16.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ac426704840877a285d03a445e162eb258924f014e2f074e209d9b4ff7bf380"}, + {file = "pydantic_core-2.16.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b94cbda27267423411c928208e89adddf2ea5dd5f74b9528513f0358bba019cb"}, + {file = "pydantic_core-2.16.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:6db58c22ac6c81aeac33912fb1af0e930bc9774166cdd56eade913d5f2fff35e"}, + {file = "pydantic_core-2.16.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:396fdf88b1b503c9c59c84a08b6833ec0c3b5ad1a83230252a9e17b7dfb4cffc"}, + {file = "pydantic_core-2.16.2-cp312-none-win32.whl", hash = "sha256:7c31669e0c8cc68400ef0c730c3a1e11317ba76b892deeefaf52dcb41d56ed5d"}, + {file = "pydantic_core-2.16.2-cp312-none-win_amd64.whl", hash = "sha256:a3b7352b48fbc8b446b75f3069124e87f599d25afb8baa96a550256c031bb890"}, + {file = "pydantic_core-2.16.2-cp312-none-win_arm64.whl", hash = "sha256:a9e523474998fb33f7c1a4d55f5504c908d57add624599e095c20fa575b8d943"}, + {file = "pydantic_core-2.16.2-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:ae34418b6b389d601b31153b84dce480351a352e0bb763684a1b993d6be30f17"}, + {file = "pydantic_core-2.16.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:732bd062c9e5d9582a30e8751461c1917dd1ccbdd6cafb032f02c86b20d2e7ec"}, + {file = "pydantic_core-2.16.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4b52776a2e3230f4854907a1e0946eec04d41b1fc64069ee774876bbe0eab55"}, + {file = "pydantic_core-2.16.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ef551c053692b1e39e3f7950ce2296536728871110e7d75c4e7753fb30ca87f4"}, + {file = "pydantic_core-2.16.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ebb892ed8599b23fa8f1799e13a12c87a97a6c9d0f497525ce9858564c4575a4"}, + {file = "pydantic_core-2.16.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aa6c8c582036275997a733427b88031a32ffa5dfc3124dc25a730658c47a572f"}, + {file = "pydantic_core-2.16.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4ba0884a91f1aecce75202473ab138724aa4fb26d7707f2e1fa6c3e68c84fbf"}, + {file = "pydantic_core-2.16.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7924e54f7ce5d253d6160090ddc6df25ed2feea25bfb3339b424a9dd591688bc"}, + {file = "pydantic_core-2.16.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:69a7b96b59322a81c2203be537957313b07dd333105b73db0b69212c7d867b4b"}, + {file = "pydantic_core-2.16.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:7e6231aa5bdacda78e96ad7b07d0c312f34ba35d717115f4b4bff6cb87224f0f"}, + {file = "pydantic_core-2.16.2-cp38-none-win32.whl", hash = "sha256:41dac3b9fce187a25c6253ec79a3f9e2a7e761eb08690e90415069ea4a68ff7a"}, + {file = "pydantic_core-2.16.2-cp38-none-win_amd64.whl", hash = "sha256:f685dbc1fdadb1dcd5b5e51e0a378d4685a891b2ddaf8e2bba89bd3a7144e44a"}, + {file = "pydantic_core-2.16.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:55749f745ebf154c0d63d46c8c58594d8894b161928aa41adbb0709c1fe78b77"}, + {file = "pydantic_core-2.16.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b30b0dd58a4509c3bd7eefddf6338565c4905406aee0c6e4a5293841411a1286"}, + {file = "pydantic_core-2.16.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18de31781cdc7e7b28678df7c2d7882f9692ad060bc6ee3c94eb15a5d733f8f7"}, + {file = "pydantic_core-2.16.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5864b0242f74b9dd0b78fd39db1768bc3f00d1ffc14e596fd3e3f2ce43436a33"}, + {file = "pydantic_core-2.16.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8f9186ca45aee030dc8234118b9c0784ad91a0bb27fc4e7d9d6608a5e3d386c"}, + {file = "pydantic_core-2.16.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cc6f6c9be0ab6da37bc77c2dda5f14b1d532d5dbef00311ee6e13357a418e646"}, + {file = "pydantic_core-2.16.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa057095f621dad24a1e906747179a69780ef45cc8f69e97463692adbcdae878"}, + {file = "pydantic_core-2.16.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6ad84731a26bcfb299f9eab56c7932d46f9cad51c52768cace09e92a19e4cf55"}, + {file = "pydantic_core-2.16.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:3b052c753c4babf2d1edc034c97851f867c87d6f3ea63a12e2700f159f5c41c3"}, + {file = "pydantic_core-2.16.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e0f686549e32ccdb02ae6f25eee40cc33900910085de6aa3790effd391ae10c2"}, + {file = "pydantic_core-2.16.2-cp39-none-win32.whl", hash = "sha256:7afb844041e707ac9ad9acad2188a90bffce2c770e6dc2318be0c9916aef1469"}, + {file = "pydantic_core-2.16.2-cp39-none-win_amd64.whl", hash = "sha256:9da90d393a8227d717c19f5397688a38635afec89f2e2d7af0df037f3249c39a"}, + {file = "pydantic_core-2.16.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5f60f920691a620b03082692c378661947d09415743e437a7478c309eb0e4f82"}, + {file = "pydantic_core-2.16.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:47924039e785a04d4a4fa49455e51b4eb3422d6eaacfde9fc9abf8fdef164e8a"}, + {file = "pydantic_core-2.16.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e6294e76b0380bb7a61eb8a39273c40b20beb35e8c87ee101062834ced19c545"}, + {file = "pydantic_core-2.16.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe56851c3f1d6f5384b3051c536cc81b3a93a73faf931f404fef95217cf1e10d"}, + {file = "pydantic_core-2.16.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9d776d30cde7e541b8180103c3f294ef7c1862fd45d81738d156d00551005784"}, + {file = "pydantic_core-2.16.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:72f7919af5de5ecfaf1eba47bf9a5d8aa089a3340277276e5636d16ee97614d7"}, + {file = "pydantic_core-2.16.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:4bfcbde6e06c56b30668a0c872d75a7ef3025dc3c1823a13cf29a0e9b33f67e8"}, + {file = "pydantic_core-2.16.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ff7c97eb7a29aba230389a2661edf2e9e06ce616c7e35aa764879b6894a44b25"}, + {file = "pydantic_core-2.16.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:9b5f13857da99325dcabe1cc4e9e6a3d7b2e2c726248ba5dd4be3e8e4a0b6d0e"}, + {file = "pydantic_core-2.16.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:a7e41e3ada4cca5f22b478c08e973c930e5e6c7ba3588fb8e35f2398cdcc1545"}, + {file = "pydantic_core-2.16.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:60eb8ceaa40a41540b9acae6ae7c1f0a67d233c40dc4359c256ad2ad85bdf5e5"}, + {file = "pydantic_core-2.16.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7beec26729d496a12fd23cf8da9944ee338c8b8a17035a560b585c36fe81af20"}, + {file = "pydantic_core-2.16.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:22c5f022799f3cd6741e24f0443ead92ef42be93ffda0d29b2597208c94c3753"}, + {file = "pydantic_core-2.16.2-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:eca58e319f4fd6df004762419612122b2c7e7d95ffafc37e890252f869f3fb2a"}, + {file = "pydantic_core-2.16.2-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:ed957db4c33bc99895f3a1672eca7e80e8cda8bd1e29a80536b4ec2153fa9804"}, + {file = "pydantic_core-2.16.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:459c0d338cc55d099798618f714b21b7ece17eb1a87879f2da20a3ff4c7628e2"}, + {file = "pydantic_core-2.16.2.tar.gz", hash = "sha256:0ba503850d8b8dcc18391f10de896ae51d37fe5fe43dbfb6a35c5c5cad271a06"}, ] [package.dependencies] @@ -1713,6 +1782,23 @@ files = [ plugins = ["importlib-metadata"] windows-terminal = ["colorama (>=0.4.6)"] +[[package]] +name = "pyjwt" +version = "2.8.0" +description = "JSON Web Token implementation in Python" +optional = true +python-versions = ">=3.7" +files = [ + {file = "PyJWT-2.8.0-py3-none-any.whl", hash = "sha256:59127c392cc44c2da5bb3192169a91f429924e17aff6534d70fdc02ab3e04320"}, + {file = "PyJWT-2.8.0.tar.gz", hash = "sha256:57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de"}, +] + +[package.extras] +crypto = ["cryptography (>=3.4.0)"] +dev = ["coverage[toml] (==5.0.4)", "cryptography (>=3.4.0)", "pre-commit", "pytest (>=6.0.0,<7.0.0)", "sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "zope.interface"] +docs = ["sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "zope.interface"] +tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] + [[package]] name = "pytest" version = "7.4.4" @@ -1751,27 +1837,41 @@ six = ">=1.5" [[package]] name = "python-dotenv" -version = "1.0.0" +version = "1.0.1" description = "Read key-value pairs from a .env file and set them as environment variables" optional = false python-versions = ">=3.8" files = [ - {file = "python-dotenv-1.0.0.tar.gz", hash = "sha256:a8df96034aae6d2d50a4ebe8216326c61c3eb64836776504fcca410e5937a3ba"}, - {file = "python_dotenv-1.0.0-py3-none-any.whl", hash = "sha256:f5971a9226b701070a4bf2c38c89e5a3f0d64de8debda981d1db98583009122a"}, + {file = "python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca"}, + {file = "python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a"}, ] [package.extras] cli = ["click (>=5.0)"] +[[package]] +name = "python-multipart" +version = "0.0.6" +description = "A streaming multipart parser for Python" +optional = true +python-versions = ">=3.7" +files = [ + {file = "python_multipart-0.0.6-py3-none-any.whl", hash = "sha256:ee698bab5ef148b0a760751c261902cd096e57e10558e11aca17646b74ee1c18"}, + {file = "python_multipart-0.0.6.tar.gz", hash = "sha256:e9925a80bb668529f1b67c7fdb0a5dacdd7cbfc6fb0bff3ea443fe22bdd62132"}, +] + +[package.extras] +dev = ["atomicwrites (==1.2.1)", "attrs (==19.2.0)", "coverage (==6.5.0)", "hatch", "invoke (==1.7.3)", "more-itertools (==4.3.0)", "pbr (==4.3.0)", "pluggy (==1.0.0)", "py (==1.11.0)", "pytest (==7.2.0)", "pytest-cov (==4.0.0)", "pytest-timeout (==2.1.0)", "pyyaml (==5.1)"] + [[package]] name = "pytz" -version = "2023.3.post1" +version = "2024.1" description = "World timezone definitions, modern and historical" optional = true python-versions = "*" files = [ - {file = "pytz-2023.3.post1-py2.py3-none-any.whl", hash = "sha256:ce42d816b81b68506614c11e8937d3aa9e41007ceb50bfdcb0749b921bf646c7"}, - {file = "pytz-2023.3.post1.tar.gz", hash = "sha256:7b4fddbeb94a1eba4b557da24f19fdf9db575192544270a9101d8509f9f43d7b"}, + {file = "pytz-2024.1-py2.py3-none-any.whl", hash = "sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"}, + {file = "pytz-2024.1.tar.gz", hash = "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812"}, ] [[package]] @@ -1799,6 +1899,7 @@ files = [ {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, + {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"}, {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, @@ -1853,13 +1954,13 @@ ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==20.0.1)", "requests (>=2.26.0)" [[package]] name = "referencing" -version = "0.32.1" +version = "0.33.0" description = "JSON Referencing + Python" optional = true python-versions = ">=3.8" files = [ - {file = "referencing-0.32.1-py3-none-any.whl", hash = "sha256:7e4dc12271d8e15612bfe35792f5ea1c40970dadf8624602e33db2758f7ee554"}, - {file = "referencing-0.32.1.tar.gz", hash = "sha256:3c57da0513e9563eb7e203ebe9bb3a1b509b042016433bd1e45a2853466c3dd3"}, + {file = "referencing-0.33.0-py3-none-any.whl", hash = "sha256:39240f2ecc770258f28b642dd47fd74bc8b02484de54e1882b74b35ebd779bd5"}, + {file = "referencing-0.33.0.tar.gz", hash = "sha256:c775fedf74bc0f9189c2a3be1c12fd03e8c23f4d371dce795df44e06c5b412f7"}, ] [package.dependencies] @@ -2184,13 +2285,13 @@ full = ["httpx (>=0.22.0)", "itsdangerous", "jinja2", "python-multipart", "pyyam [[package]] name = "streamlit" -version = "1.30.0" +version = "1.31.0" description = "A faster way to build and share data apps" optional = true python-versions = ">=3.8, !=3.9.7" files = [ - {file = "streamlit-1.30.0-py2.py3-none-any.whl", hash = "sha256:536494a4edfe9b66ed70c437176cfd6c7e36b1d99d0587b0be64245fa89c241b"}, - {file = "streamlit-1.30.0.tar.gz", hash = "sha256:90333915d9df8ce3b06de31b8a5bbab51e8cf0982dc6c32da9d6b1f2b4a9fa78"}, + {file = "streamlit-1.31.0-py2.py3-none-any.whl", hash = "sha256:4d95c4f5d6881f7adebaec14997fa7024bb38853412d1bba9588074d585563f9"}, + {file = "streamlit-1.31.0.tar.gz", hash = "sha256:40d71944e30394612481f80a8bc09e7de40d33b7a472989807467a5299e342ca"}, ] [package.dependencies] @@ -2205,7 +2306,7 @@ packaging = ">=16.8,<24" pandas = ">=1.3.0,<3" pillow = ">=7.1.0,<11" protobuf = ">=3.20,<5" -pyarrow = ">=6.0" +pyarrow = ">=7.0" pydeck = ">=0.8.0b4,<1" python-dateutil = ">=2.7.3,<3" requests = ">=2.27,<3" @@ -2237,47 +2338,47 @@ doc = ["reno", "sphinx", "tornado (>=4.5)"] [[package]] name = "tiktoken" -version = "0.5.2" +version = "0.6.0" description = "tiktoken is a fast BPE tokeniser for use with OpenAI's models" optional = false python-versions = ">=3.8" files = [ - {file = "tiktoken-0.5.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8c4e654282ef05ec1bd06ead22141a9a1687991cef2c6a81bdd1284301abc71d"}, - {file = "tiktoken-0.5.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7b3134aa24319f42c27718c6967f3c1916a38a715a0fa73d33717ba121231307"}, - {file = "tiktoken-0.5.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6092e6e77730929c8c6a51bb0d7cfdf1b72b63c4d033d6258d1f2ee81052e9e5"}, - {file = "tiktoken-0.5.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72ad8ae2a747622efae75837abba59be6c15a8f31b4ac3c6156bc56ec7a8e631"}, - {file = "tiktoken-0.5.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:51cba7c8711afa0b885445f0637f0fcc366740798c40b981f08c5f984e02c9d1"}, - {file = "tiktoken-0.5.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:3d8c7d2c9313f8e92e987d585ee2ba0f7c40a0de84f4805b093b634f792124f5"}, - {file = "tiktoken-0.5.2-cp310-cp310-win_amd64.whl", hash = "sha256:692eca18c5fd8d1e0dde767f895c17686faaa102f37640e884eecb6854e7cca7"}, - {file = "tiktoken-0.5.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:138d173abbf1ec75863ad68ca289d4da30caa3245f3c8d4bfb274c4d629a2f77"}, - {file = "tiktoken-0.5.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7388fdd684690973fdc450b47dfd24d7f0cbe658f58a576169baef5ae4658607"}, - {file = "tiktoken-0.5.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a114391790113bcff670c70c24e166a841f7ea8f47ee2fe0e71e08b49d0bf2d4"}, - {file = "tiktoken-0.5.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca96f001e69f6859dd52926d950cfcc610480e920e576183497ab954e645e6ac"}, - {file = "tiktoken-0.5.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:15fed1dd88e30dfadcdd8e53a8927f04e1f6f81ad08a5ca824858a593ab476c7"}, - {file = "tiktoken-0.5.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:93f8e692db5756f7ea8cb0cfca34638316dcf0841fb8469de8ed7f6a015ba0b0"}, - {file = "tiktoken-0.5.2-cp311-cp311-win_amd64.whl", hash = "sha256:bcae1c4c92df2ffc4fe9f475bf8148dbb0ee2404743168bbeb9dcc4b79dc1fdd"}, - {file = "tiktoken-0.5.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b76a1e17d4eb4357d00f0622d9a48ffbb23401dcf36f9716d9bd9c8e79d421aa"}, - {file = "tiktoken-0.5.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:01d8b171bb5df4035580bc26d4f5339a6fd58d06f069091899d4a798ea279d3e"}, - {file = "tiktoken-0.5.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42adf7d4fb1ed8de6e0ff2e794a6a15005f056a0d83d22d1d6755a39bffd9e7f"}, - {file = "tiktoken-0.5.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c3f894dbe0adb44609f3d532b8ea10820d61fdcb288b325a458dfc60fefb7db"}, - {file = "tiktoken-0.5.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:58ccfddb4e62f0df974e8f7e34a667981d9bb553a811256e617731bf1d007d19"}, - {file = "tiktoken-0.5.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58902a8bad2de4268c2a701f1c844d22bfa3cbcc485b10e8e3e28a050179330b"}, - {file = "tiktoken-0.5.2-cp312-cp312-win_amd64.whl", hash = "sha256:5e39257826d0647fcac403d8fa0a474b30d02ec8ffc012cfaf13083e9b5e82c5"}, - {file = "tiktoken-0.5.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8bde3b0fbf09a23072d39c1ede0e0821f759b4fa254a5f00078909158e90ae1f"}, - {file = "tiktoken-0.5.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2ddee082dcf1231ccf3a591d234935e6acf3e82ee28521fe99af9630bc8d2a60"}, - {file = "tiktoken-0.5.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35c057a6a4e777b5966a7540481a75a31429fc1cb4c9da87b71c8b75b5143037"}, - {file = "tiktoken-0.5.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c4a049b87e28f1dc60509f8eb7790bc8d11f9a70d99b9dd18dfdd81a084ffe6"}, - {file = "tiktoken-0.5.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5bf5ce759089f4f6521ea6ed89d8f988f7b396e9f4afb503b945f5c949c6bec2"}, - {file = "tiktoken-0.5.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:0c964f554af1a96884e01188f480dad3fc224c4bbcf7af75d4b74c4b74ae0125"}, - {file = "tiktoken-0.5.2-cp38-cp38-win_amd64.whl", hash = "sha256:368dd5726d2e8788e47ea04f32e20f72a2012a8a67af5b0b003d1e059f1d30a3"}, - {file = "tiktoken-0.5.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a2deef9115b8cd55536c0a02c0203512f8deb2447f41585e6d929a0b878a0dd2"}, - {file = "tiktoken-0.5.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2ed7d380195affbf886e2f8b92b14edfe13f4768ff5fc8de315adba5b773815e"}, - {file = "tiktoken-0.5.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c76fce01309c8140ffe15eb34ded2bb94789614b7d1d09e206838fc173776a18"}, - {file = "tiktoken-0.5.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60a5654d6a2e2d152637dd9a880b4482267dfc8a86ccf3ab1cec31a8c76bfae8"}, - {file = "tiktoken-0.5.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:41d4d3228e051b779245a8ddd21d4336f8975563e92375662f42d05a19bdff41"}, - {file = "tiktoken-0.5.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a5c1cdec2c92fcde8c17a50814b525ae6a88e8e5b02030dc120b76e11db93f13"}, - {file = "tiktoken-0.5.2-cp39-cp39-win_amd64.whl", hash = "sha256:84ddb36faedb448a50b246e13d1b6ee3437f60b7169b723a4b2abad75e914f3e"}, - {file = "tiktoken-0.5.2.tar.gz", hash = "sha256:f54c581f134a8ea96ce2023ab221d4d4d81ab614efa0b2fbce926387deb56c80"}, + {file = "tiktoken-0.6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:277de84ccd8fa12730a6b4067456e5cf72fef6300bea61d506c09e45658d41ac"}, + {file = "tiktoken-0.6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9c44433f658064463650d61387623735641dcc4b6c999ca30bc0f8ba3fccaf5c"}, + {file = "tiktoken-0.6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afb9a2a866ae6eef1995ab656744287a5ac95acc7e0491c33fad54d053288ad3"}, + {file = "tiktoken-0.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c62c05b3109fefca26fedb2820452a050074ad8e5ad9803f4652977778177d9f"}, + {file = "tiktoken-0.6.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0ef917fad0bccda07bfbad835525bbed5f3ab97a8a3e66526e48cdc3e7beacf7"}, + {file = "tiktoken-0.6.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e095131ab6092d0769a2fda85aa260c7c383072daec599ba9d8b149d2a3f4d8b"}, + {file = "tiktoken-0.6.0-cp310-cp310-win_amd64.whl", hash = "sha256:05b344c61779f815038292a19a0c6eb7098b63c8f865ff205abb9ea1b656030e"}, + {file = "tiktoken-0.6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cefb9870fb55dca9e450e54dbf61f904aab9180ff6fe568b61f4db9564e78871"}, + {file = "tiktoken-0.6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:702950d33d8cabc039845674107d2e6dcabbbb0990ef350f640661368df481bb"}, + {file = "tiktoken-0.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8d49d076058f23254f2aff9af603863c5c5f9ab095bc896bceed04f8f0b013a"}, + {file = "tiktoken-0.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:430bc4e650a2d23a789dc2cdca3b9e5e7eb3cd3935168d97d43518cbb1f9a911"}, + {file = "tiktoken-0.6.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:293cb8669757301a3019a12d6770bd55bec38a4d3ee9978ddbe599d68976aca7"}, + {file = "tiktoken-0.6.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:7bd1a288b7903aadc054b0e16ea78e3171f70b670e7372432298c686ebf9dd47"}, + {file = "tiktoken-0.6.0-cp311-cp311-win_amd64.whl", hash = "sha256:ac76e000183e3b749634968a45c7169b351e99936ef46f0d2353cd0d46c3118d"}, + {file = "tiktoken-0.6.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:17cc8a4a3245ab7d935c83a2db6bb71619099d7284b884f4b2aea4c74f2f83e3"}, + {file = "tiktoken-0.6.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:284aebcccffe1bba0d6571651317df6a5b376ff6cfed5aeb800c55df44c78177"}, + {file = "tiktoken-0.6.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0c1a3a5d33846f8cd9dd3b7897c1d45722f48625a587f8e6f3d3e85080559be8"}, + {file = "tiktoken-0.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6318b2bb2337f38ee954fd5efa82632c6e5ced1d52a671370fa4b2eff1355e91"}, + {file = "tiktoken-0.6.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1f5f0f2ed67ba16373f9a6013b68da298096b27cd4e1cf276d2d3868b5c7efd1"}, + {file = "tiktoken-0.6.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:75af4c0b16609c2ad02581f3cdcd1fb698c7565091370bf6c0cf8624ffaba6dc"}, + {file = "tiktoken-0.6.0-cp312-cp312-win_amd64.whl", hash = "sha256:45577faf9a9d383b8fd683e313cf6df88b6076c034f0a16da243bb1c139340c3"}, + {file = "tiktoken-0.6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7c1492ab90c21ca4d11cef3a236ee31a3e279bb21b3fc5b0e2210588c4209e68"}, + {file = "tiktoken-0.6.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e2b380c5b7751272015400b26144a2bab4066ebb8daae9c3cd2a92c3b508fe5a"}, + {file = "tiktoken-0.6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c9f497598b9f58c99cbc0eb764b4a92272c14d5203fc713dd650b896a03a50ad"}, + {file = "tiktoken-0.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e65e8bd6f3f279d80f1e1fbd5f588f036b9a5fa27690b7f0cc07021f1dfa0839"}, + {file = "tiktoken-0.6.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5f1495450a54e564d236769d25bfefbf77727e232d7a8a378f97acddee08c1ae"}, + {file = "tiktoken-0.6.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6c4e4857d99f6fb4670e928250835b21b68c59250520a1941618b5b4194e20c3"}, + {file = "tiktoken-0.6.0-cp38-cp38-win_amd64.whl", hash = "sha256:168d718f07a39b013032741867e789971346df8e89983fe3c0ef3fbd5a0b1cb9"}, + {file = "tiktoken-0.6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:47fdcfe11bd55376785a6aea8ad1db967db7f66ea81aed5c43fad497521819a4"}, + {file = "tiktoken-0.6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fb7d2ccbf1a7784810aff6b80b4012fb42c6fc37eaa68cb3b553801a5cc2d1fc"}, + {file = "tiktoken-0.6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ccb7a111ee76af5d876a729a347f8747d5ad548e1487eeea90eaf58894b3138"}, + {file = "tiktoken-0.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b2048e1086b48e3c8c6e2ceeac866561374cd57a84622fa49a6b245ffecb7744"}, + {file = "tiktoken-0.6.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:07f229a5eb250b6403a61200199cecf0aac4aa23c3ecc1c11c1ca002cbb8f159"}, + {file = "tiktoken-0.6.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:432aa3be8436177b0db5a2b3e7cc28fd6c693f783b2f8722539ba16a867d0c6a"}, + {file = "tiktoken-0.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:8bfe8a19c8b5c40d121ee7938cd9c6a278e5b97dc035fd61714b4f0399d2f7a1"}, + {file = "tiktoken-0.6.0.tar.gz", hash = "sha256:ace62a4ede83c75b0374a2ddfa4b76903cf483e9cb06247f566be3bf14e6beed"}, ] [package.dependencies] @@ -2289,109 +2390,121 @@ blobfile = ["blobfile (>=2)"] [[package]] name = "tokenizers" -version = "0.15.0" +version = "0.15.2" description = "" optional = false python-versions = ">=3.7" files = [ - {file = "tokenizers-0.15.0-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:cd3cd0299aaa312cd2988957598f80becd04d5a07338741eca076057a2b37d6e"}, - {file = "tokenizers-0.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8a922c492c721744ee175f15b91704be2d305569d25f0547c77cd6c9f210f9dc"}, - {file = "tokenizers-0.15.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:331dd786d02fc38698f835fff61c99480f98b73ce75a4c65bd110c9af5e4609a"}, - {file = "tokenizers-0.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88dd0961c437d413ab027f8b115350c121d49902cfbadf08bb8f634b15fa1814"}, - {file = "tokenizers-0.15.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6fdcc55339df7761cd52e1fbe8185d3b3963bc9e3f3545faa6c84f9e8818259a"}, - {file = "tokenizers-0.15.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1480b0051d8ab5408e8e4db2dc832f7082ea24aa0722c427bde2418c6f3bd07"}, - {file = "tokenizers-0.15.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9855e6c258918f9cf62792d4f6ddfa6c56dccd8c8118640f867f6393ecaf8bd7"}, - {file = "tokenizers-0.15.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de9529fe75efcd54ba8d516aa725e1851df9199f0669b665c55e90df08f5af86"}, - {file = "tokenizers-0.15.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:8edcc90a36eab0705fe9121d6c77c6e42eeef25c7399864fd57dfb27173060bf"}, - {file = "tokenizers-0.15.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ae17884aafb3e94f34fb7cfedc29054f5f54e142475ebf8a265a4e388fee3f8b"}, - {file = "tokenizers-0.15.0-cp310-none-win32.whl", hash = "sha256:9a3241acdc9b44cff6e95c4a55b9be943ef3658f8edb3686034d353734adba05"}, - {file = "tokenizers-0.15.0-cp310-none-win_amd64.whl", hash = "sha256:4b31807cb393d6ea31926b307911c89a1209d5e27629aa79553d1599c8ffdefe"}, - {file = "tokenizers-0.15.0-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:af7e9be8c05d30bb137b9fd20f9d99354816599e5fd3d58a4b1e28ba3b36171f"}, - {file = "tokenizers-0.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c3d7343fa562ea29661783344a2d83662db0d3d17a6fa6a403cac8e512d2d9fd"}, - {file = "tokenizers-0.15.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:32371008788aeeb0309a9244809a23e4c0259625e6b74a103700f6421373f395"}, - {file = "tokenizers-0.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca9db64c7c9954fbae698884c5bb089764edc549731e5f9b7fa1dd4e4d78d77f"}, - {file = "tokenizers-0.15.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:dbed5944c31195514669cf6381a0d8d47f164943000d10f93d6d02f0d45c25e0"}, - {file = "tokenizers-0.15.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aab16c4a26d351d63e965b0c792f5da7227a37b69a6dc6d922ff70aa595b1b0c"}, - {file = "tokenizers-0.15.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3c2b60b12fdd310bf85ce5d7d3f823456b9b65eed30f5438dd7761879c495983"}, - {file = "tokenizers-0.15.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0344d6602740e44054a9e5bbe9775a5e149c4dddaff15959bb07dcce95a5a859"}, - {file = "tokenizers-0.15.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:4525f6997d81d9b6d9140088f4f5131f6627e4c960c2c87d0695ae7304233fc3"}, - {file = "tokenizers-0.15.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:65975094fef8cc68919644936764efd2ce98cf1bacbe8db2687155d2b0625bee"}, - {file = "tokenizers-0.15.0-cp311-none-win32.whl", hash = "sha256:ff5d2159c5d93015f5a4542aac6c315506df31853123aa39042672031768c301"}, - {file = "tokenizers-0.15.0-cp311-none-win_amd64.whl", hash = "sha256:2dd681b53cf615e60a31a115a3fda3980e543d25ca183797f797a6c3600788a3"}, - {file = "tokenizers-0.15.0-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:c9cce6ee149a3d703f86877bc2a6d997e34874b2d5a2d7839e36b2273f31d3d9"}, - {file = "tokenizers-0.15.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a0a94bc3370e6f1cc8a07a8ae867ce13b7c1b4291432a773931a61f256d44ea"}, - {file = "tokenizers-0.15.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:309cfcccfc7e502cb1f1de2c9c1c94680082a65bfd3a912d5a5b2c90c677eb60"}, - {file = "tokenizers-0.15.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8413e994dd7d875ab13009127fc85633916c71213917daf64962bafd488f15dc"}, - {file = "tokenizers-0.15.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d0ebf9430f901dbdc3dcb06b493ff24a3644c9f88c08e6a1d6d0ae2228b9b818"}, - {file = "tokenizers-0.15.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:10361e9c7864b22dd791ec5126327f6c9292fb1d23481d4895780688d5e298ac"}, - {file = "tokenizers-0.15.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:babe42635b8a604c594bdc56d205755f73414fce17ba8479d142a963a6c25cbc"}, - {file = "tokenizers-0.15.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3768829861e964c7a4556f5f23307fce6a23872c2ebf030eb9822dbbbf7e9b2a"}, - {file = "tokenizers-0.15.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9c91588a630adc88065e1c03ac6831e3e2112558869b9ebcb2b8afd8a14c944d"}, - {file = "tokenizers-0.15.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:77606994e793ca54ecf3a3619adc8a906a28ca223d9354b38df41cb8766a0ed6"}, - {file = "tokenizers-0.15.0-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:6fe143939f3b596681922b2df12a591a5b010e7dcfbee2202482cd0c1c2f2459"}, - {file = "tokenizers-0.15.0-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:b7bee0f1795e3e3561e9a557061b1539e5255b8221e3f928f58100282407e090"}, - {file = "tokenizers-0.15.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5d37e7f4439b4c46192ab4f2ff38ab815e4420f153caa13dec9272ef14403d34"}, - {file = "tokenizers-0.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:caadf255cf7f951b38d10097836d1f3bcff4aeaaffadfdf748bab780bf5bff95"}, - {file = "tokenizers-0.15.0-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:05accb9162bf711a941b1460b743d62fec61c160daf25e53c5eea52c74d77814"}, - {file = "tokenizers-0.15.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:26a2ef890740127cb115ee5260878f4a677e36a12831795fd7e85887c53b430b"}, - {file = "tokenizers-0.15.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e54c5f26df14913620046b33e822cb3bcd091a332a55230c0e63cc77135e2169"}, - {file = "tokenizers-0.15.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:669b8ed653a578bcff919566631156f5da3aab84c66f3c0b11a6281e8b4731c7"}, - {file = "tokenizers-0.15.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:0ea480d943297df26f06f508dab6e012b07f42bf3dffdd36e70799368a5f5229"}, - {file = "tokenizers-0.15.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:bc80a0a565ebfc7cd89de7dd581da8c2b3238addfca6280572d27d763f135f2f"}, - {file = "tokenizers-0.15.0-cp37-none-win32.whl", hash = "sha256:cdd945e678bbdf4517d5d8de66578a5030aeefecdb46f5320b034de9cad8d4dd"}, - {file = "tokenizers-0.15.0-cp37-none-win_amd64.whl", hash = "sha256:1ab96ab7dc706e002c32b2ea211a94c1c04b4f4de48354728c3a6e22401af322"}, - {file = "tokenizers-0.15.0-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:f21c9eb71c9a671e2a42f18b456a3d118e50c7f0fc4dd9fa8f4eb727fea529bf"}, - {file = "tokenizers-0.15.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2a5f4543a35889679fc3052086e69e81880b2a5a28ff2a52c5a604be94b77a3f"}, - {file = "tokenizers-0.15.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f8aa81afec893e952bd39692b2d9ef60575ed8c86fce1fd876a06d2e73e82dca"}, - {file = "tokenizers-0.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1574a5a4af22c3def93fe8fe4adcc90a39bf5797ed01686a4c46d1c3bc677d2f"}, - {file = "tokenizers-0.15.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7c7982fd0ec9e9122d03b209dac48cebfea3de0479335100ef379a9a959b9a5a"}, - {file = "tokenizers-0.15.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f8d16b647032df2ce2c1f9097236e046ea9fedd969b25637b9d5d734d78aa53b"}, - {file = "tokenizers-0.15.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b3cdf29e6f9653da330515dc8fa414be5a93aae79e57f8acc50d4028dd843edf"}, - {file = "tokenizers-0.15.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7286f3df10de840867372e3e64b99ef58c677210e3ceb653cd0e740a5c53fe78"}, - {file = "tokenizers-0.15.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:aabc83028baa5a36ce7a94e7659250f0309c47fa4a639e5c2c38e6d5ea0de564"}, - {file = "tokenizers-0.15.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:72f78b0e0e276b1fc14a672fa73f3acca034ba8db4e782124a2996734a9ba9cf"}, - {file = "tokenizers-0.15.0-cp38-none-win32.whl", hash = "sha256:9680b0ecc26e7e42f16680c1aa62e924d58d1c2dd992707081cc10a374896ea2"}, - {file = "tokenizers-0.15.0-cp38-none-win_amd64.whl", hash = "sha256:f17cbd88dab695911cbdd385a5a7e3709cc61dff982351f5d1b5939f074a2466"}, - {file = "tokenizers-0.15.0-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:3661862df7382c5eb23ac4fbf7c75e69b02dc4f5784e4c5a734db406b5b24596"}, - {file = "tokenizers-0.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c3045d191dad49647f5a5039738ecf1c77087945c7a295f7bcf051c37067e883"}, - {file = "tokenizers-0.15.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:a9fcaad9ab0801f14457d7c820d9f246b5ab590c407fc6b073819b1573097aa7"}, - {file = "tokenizers-0.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a79f17027f24fe9485701c8dbb269b9c713954ec3bdc1e7075a66086c0c0cd3c"}, - {file = "tokenizers-0.15.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:01a3aa332abc4bee7640563949fcfedca4de8f52691b3b70f2fc6ca71bfc0f4e"}, - {file = "tokenizers-0.15.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05b83896a893cdfedad8785250daa3ba9f0504848323471524d4783d7291661e"}, - {file = "tokenizers-0.15.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cbbf2489fcf25d809731ba2744ff278dd07d9eb3f8b7482726bd6cae607073a4"}, - {file = "tokenizers-0.15.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab806ad521a5e9de38078b7add97589c313915f6f5fec6b2f9f289d14d607bd6"}, - {file = "tokenizers-0.15.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4a522612d5c88a41563e3463226af64e2fa00629f65cdcc501d1995dd25d23f5"}, - {file = "tokenizers-0.15.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e58a38c4e6075810bdfb861d9c005236a72a152ebc7005941cc90d1bbf16aca9"}, - {file = "tokenizers-0.15.0-cp39-none-win32.whl", hash = "sha256:b8034f1041fd2bd2b84ff9f4dc4ae2e1c3b71606820a9cd5c562ebd291a396d1"}, - {file = "tokenizers-0.15.0-cp39-none-win_amd64.whl", hash = "sha256:edde9aa964145d528d0e0dbf14f244b8a85ebf276fb76869bc02e2530fa37a96"}, - {file = "tokenizers-0.15.0-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:309445d10d442b7521b98083dc9f0b5df14eca69dbbfebeb98d781ee2cef5d30"}, - {file = "tokenizers-0.15.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d3125a6499226d4d48efc54f7498886b94c418e93a205b673bc59364eecf0804"}, - {file = "tokenizers-0.15.0-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:ed56ddf0d54877bb9c6d885177db79b41576e61b5ef6defeb579dcb803c04ad5"}, - {file = "tokenizers-0.15.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3b22cd714706cc5b18992a232b023f736e539495f5cc61d2d28d176e55046f6c"}, - {file = "tokenizers-0.15.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fac2719b1e9bc8e8e7f6599b99d0a8e24f33d023eb8ef644c0366a596f0aa926"}, - {file = "tokenizers-0.15.0-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:85ddae17570ec7e5bfaf51ffa78d044f444a8693e1316e1087ee6150596897ee"}, - {file = "tokenizers-0.15.0-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:76f1bed992e396bf6f83e3df97b64ff47885e45e8365f8983afed8556a0bc51f"}, - {file = "tokenizers-0.15.0-pp37-pypy37_pp73-macosx_10_7_x86_64.whl", hash = "sha256:3bb0f4df6dce41a1c7482087b60d18c372ef4463cb99aa8195100fcd41e0fd64"}, - {file = "tokenizers-0.15.0-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:22c27672c27a059a5f39ff4e49feed8c7f2e1525577c8a7e3978bd428eb5869d"}, - {file = "tokenizers-0.15.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78104f5d035c9991f92831fc0efe9e64a05d4032194f2a69f67aaa05a4d75bbb"}, - {file = "tokenizers-0.15.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a40b73dc19d82c3e3ffb40abdaacca8fbc95eeb26c66b7f9f860aebc07a73998"}, - {file = "tokenizers-0.15.0-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d801d1368188c74552cd779b1286e67cb9fd96f4c57a9f9a2a09b6def9e1ab37"}, - {file = "tokenizers-0.15.0-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:82641ffb13a4da1293fcc9f437d457647e60ed0385a9216cd135953778b3f0a1"}, - {file = "tokenizers-0.15.0-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:160f9d1810f2c18fffa94aa98bf17632f6bd2dabc67fcb01a698ca80c37d52ee"}, - {file = "tokenizers-0.15.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:8d7d6eea831ed435fdeeb9bcd26476226401d7309d115a710c65da4088841948"}, - {file = "tokenizers-0.15.0-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f6456bec6c557d63d8ec0023758c32f589e1889ed03c055702e84ce275488bed"}, - {file = "tokenizers-0.15.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1eef39a502fad3bf104b9e1906b4fb0cee20e44e755e51df9a98f8922c3bf6d4"}, - {file = "tokenizers-0.15.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1e4664c5b797e093c19b794bbecc19d2367e782b4a577d8b7c1821db5dc150d"}, - {file = "tokenizers-0.15.0-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:ca003fb5f3995ff5cf676db6681b8ea5d54d3b30bea36af1120e78ee1a4a4cdf"}, - {file = "tokenizers-0.15.0-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:7f17363141eb0c53752c89e10650b85ef059a52765d0802ba9613dbd2d21d425"}, - {file = "tokenizers-0.15.0-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:8a765db05581c7d7e1280170f2888cda351760d196cc059c37ea96f121125799"}, - {file = "tokenizers-0.15.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:2a0dd641a72604486cd7302dd8f87a12c8a9b45e1755e47d2682733f097c1af5"}, - {file = "tokenizers-0.15.0-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0a1a3c973e4dc97797fc19e9f11546c95278ffc55c4492acb742f69e035490bc"}, - {file = "tokenizers-0.15.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4fab75642aae4e604e729d6f78e0addb9d7e7d49e28c8f4d16b24da278e5263"}, - {file = "tokenizers-0.15.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65f80be77f6327a86d8fd35a4467adcfe6174c159b4ab52a1a8dd4c6f2d7d9e1"}, - {file = "tokenizers-0.15.0-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:a8da7533dbe66b88afd430c56a2f2ce1fd82e2681868f857da38eeb3191d7498"}, - {file = "tokenizers-0.15.0-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:fa8eb4584fc6cbe6a84d7a7864be3ed28e23e9fd2146aa8ef1814d579df91958"}, - {file = "tokenizers-0.15.0.tar.gz", hash = "sha256:10c7e6e7b4cabd757da59e93f5f8d1126291d16f8b54f28510825ef56a3e5d0e"}, + {file = "tokenizers-0.15.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:52f6130c9cbf70544287575a985bf44ae1bda2da7e8c24e97716080593638012"}, + {file = "tokenizers-0.15.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:054c1cc9c6d68f7ffa4e810b3d5131e0ba511b6e4be34157aa08ee54c2f8d9ee"}, + {file = "tokenizers-0.15.2-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:a9b9b070fdad06e347563b88c278995735292ded1132f8657084989a4c84a6d5"}, + {file = "tokenizers-0.15.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ea621a7eef4b70e1f7a4e84dd989ae3f0eeb50fc8690254eacc08acb623e82f1"}, + {file = "tokenizers-0.15.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:cf7fd9a5141634fa3aa8d6b7be362e6ae1b4cda60da81388fa533e0b552c98fd"}, + {file = "tokenizers-0.15.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44f2a832cd0825295f7179eaf173381dc45230f9227ec4b44378322d900447c9"}, + {file = "tokenizers-0.15.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8b9ec69247a23747669ec4b0ca10f8e3dfb3545d550258129bd62291aabe8605"}, + {file = "tokenizers-0.15.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40b6a4c78da863ff26dbd5ad9a8ecc33d8a8d97b535172601cf00aee9d7ce9ce"}, + {file = "tokenizers-0.15.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:5ab2a4d21dcf76af60e05af8063138849eb1d6553a0d059f6534357bce8ba364"}, + {file = "tokenizers-0.15.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a47acfac7e511f6bbfcf2d3fb8c26979c780a91e06fb5b9a43831b2c0153d024"}, + {file = "tokenizers-0.15.2-cp310-none-win32.whl", hash = "sha256:064ff87bb6acdbd693666de9a4b692add41308a2c0ec0770d6385737117215f2"}, + {file = "tokenizers-0.15.2-cp310-none-win_amd64.whl", hash = "sha256:3b919afe4df7eb6ac7cafd2bd14fb507d3f408db7a68c43117f579c984a73843"}, + {file = "tokenizers-0.15.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:89cd1cb93e4b12ff39bb2d626ad77e35209de9309a71e4d3d4672667b4b256e7"}, + {file = "tokenizers-0.15.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:cfed5c64e5be23d7ee0f0e98081a25c2a46b0b77ce99a4f0605b1ec43dd481fa"}, + {file = "tokenizers-0.15.2-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:a907d76dcfda37023ba203ab4ceeb21bc5683436ebefbd895a0841fd52f6f6f2"}, + {file = "tokenizers-0.15.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20ea60479de6fc7b8ae756b4b097572372d7e4032e2521c1bbf3d90c90a99ff0"}, + {file = "tokenizers-0.15.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:48e2b9335be2bc0171df9281385c2ed06a15f5cf121c44094338306ab7b33f2c"}, + {file = "tokenizers-0.15.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:112a1dd436d2cc06e6ffdc0b06d55ac019a35a63afd26475205cb4b1bf0bfbff"}, + {file = "tokenizers-0.15.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4620cca5c2817177ee8706f860364cc3a8845bc1e291aaf661fb899e5d1c45b0"}, + {file = "tokenizers-0.15.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ccd73a82751c523b3fc31ff8194702e4af4db21dc20e55b30ecc2079c5d43cb7"}, + {file = "tokenizers-0.15.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:107089f135b4ae7817affe6264f8c7a5c5b4fd9a90f9439ed495f54fcea56fb4"}, + {file = "tokenizers-0.15.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0ff110ecc57b7aa4a594396525a3451ad70988e517237fe91c540997c4e50e29"}, + {file = "tokenizers-0.15.2-cp311-none-win32.whl", hash = "sha256:6d76f00f5c32da36c61f41c58346a4fa7f0a61be02f4301fd30ad59834977cc3"}, + {file = "tokenizers-0.15.2-cp311-none-win_amd64.whl", hash = "sha256:cc90102ed17271cf0a1262babe5939e0134b3890345d11a19c3145184b706055"}, + {file = "tokenizers-0.15.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:f86593c18d2e6248e72fb91c77d413a815153b8ea4e31f7cd443bdf28e467670"}, + {file = "tokenizers-0.15.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0774bccc6608eca23eb9d620196687c8b2360624619623cf4ba9dc9bd53e8b51"}, + {file = "tokenizers-0.15.2-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:d0222c5b7c9b26c0b4822a82f6a7011de0a9d3060e1da176f66274b70f846b98"}, + {file = "tokenizers-0.15.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3835738be1de66624fff2f4f6f6684775da4e9c00bde053be7564cbf3545cc66"}, + {file = "tokenizers-0.15.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0143e7d9dcd811855c1ce1ab9bf5d96d29bf5e528fd6c7824d0465741e8c10fd"}, + {file = "tokenizers-0.15.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db35825f6d54215f6b6009a7ff3eedee0848c99a6271c870d2826fbbedf31a38"}, + {file = "tokenizers-0.15.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3f5e64b0389a2be47091d8cc53c87859783b837ea1a06edd9d8e04004df55a5c"}, + {file = "tokenizers-0.15.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e0480c452217edd35eca56fafe2029fb4d368b7c0475f8dfa3c5c9c400a7456"}, + {file = "tokenizers-0.15.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:a33ab881c8fe70474980577e033d0bc9a27b7ab8272896e500708b212995d834"}, + {file = "tokenizers-0.15.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a308a607ca9de2c64c1b9ba79ec9a403969715a1b8ba5f998a676826f1a7039d"}, + {file = "tokenizers-0.15.2-cp312-none-win32.whl", hash = "sha256:b8fcfa81bcb9447df582c5bc96a031e6df4da2a774b8080d4f02c0c16b42be0b"}, + {file = "tokenizers-0.15.2-cp312-none-win_amd64.whl", hash = "sha256:38d7ab43c6825abfc0b661d95f39c7f8af2449364f01d331f3b51c94dcff7221"}, + {file = "tokenizers-0.15.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:38bfb0204ff3246ca4d5e726e8cc8403bfc931090151e6eede54d0e0cf162ef0"}, + {file = "tokenizers-0.15.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9c861d35e8286a53e06e9e28d030b5a05bcbf5ac9d7229e561e53c352a85b1fc"}, + {file = "tokenizers-0.15.2-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:936bf3842db5b2048eaa53dade907b1160f318e7c90c74bfab86f1e47720bdd6"}, + {file = "tokenizers-0.15.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:620beacc3373277700d0e27718aa8b25f7b383eb8001fba94ee00aeea1459d89"}, + {file = "tokenizers-0.15.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2735ecbbf37e52db4ea970e539fd2d450d213517b77745114f92867f3fc246eb"}, + {file = "tokenizers-0.15.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:473c83c5e2359bb81b0b6fde870b41b2764fcdd36d997485e07e72cc3a62264a"}, + {file = "tokenizers-0.15.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:968fa1fb3c27398b28a4eca1cbd1e19355c4d3a6007f7398d48826bbe3a0f728"}, + {file = "tokenizers-0.15.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:865c60ae6eaebdde7da66191ee9b7db52e542ed8ee9d2c653b6d190a9351b980"}, + {file = "tokenizers-0.15.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7c0d8b52664ab2d4a8d6686eb5effc68b78608a9008f086a122a7b2996befbab"}, + {file = "tokenizers-0.15.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:f33dfbdec3784093a9aebb3680d1f91336c56d86cc70ddf88708251da1fe9064"}, + {file = "tokenizers-0.15.2-cp37-cp37m-macosx_10_12_x86_64.whl", hash = "sha256:d44ba80988ff9424e33e0a49445072ac7029d8c0e1601ad25a0ca5f41ed0c1d6"}, + {file = "tokenizers-0.15.2-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:dce74266919b892f82b1b86025a613956ea0ea62a4843d4c4237be2c5498ed3a"}, + {file = "tokenizers-0.15.2-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0ef06b9707baeb98b316577acb04f4852239d856b93e9ec3a299622f6084e4be"}, + {file = "tokenizers-0.15.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c73e2e74bbb07910da0d37c326869f34113137b23eadad3fc00856e6b3d9930c"}, + {file = "tokenizers-0.15.2-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4eeb12daf02a59e29f578a865f55d87cd103ce62bd8a3a5874f8fdeaa82e336b"}, + {file = "tokenizers-0.15.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9ba9f6895af58487ca4f54e8a664a322f16c26bbb442effd01087eba391a719e"}, + {file = "tokenizers-0.15.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ccec77aa7150e38eec6878a493bf8c263ff1fa8a62404e16c6203c64c1f16a26"}, + {file = "tokenizers-0.15.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3f40604f5042ff210ba82743dda2b6aa3e55aa12df4e9f2378ee01a17e2855e"}, + {file = "tokenizers-0.15.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:5645938a42d78c4885086767c70923abad047163d809c16da75d6b290cb30bbe"}, + {file = "tokenizers-0.15.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:05a77cbfebe28a61ab5c3891f9939cc24798b63fa236d84e5f29f3a85a200c00"}, + {file = "tokenizers-0.15.2-cp37-none-win32.whl", hash = "sha256:361abdc068e8afe9c5b818769a48624687fb6aaed49636ee39bec4e95e1a215b"}, + {file = "tokenizers-0.15.2-cp37-none-win_amd64.whl", hash = "sha256:7ef789f83eb0f9baeb4d09a86cd639c0a5518528f9992f38b28e819df397eb06"}, + {file = "tokenizers-0.15.2-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:4fe1f74a902bee74a3b25aff180fbfbf4f8b444ab37c4d496af7afd13a784ed2"}, + {file = "tokenizers-0.15.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4c4b89038a684f40a6b15d6b09f49650ac64d951ad0f2a3ea9169687bbf2a8ba"}, + {file = "tokenizers-0.15.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:d05a1b06f986d41aed5f2de464c003004b2df8aaf66f2b7628254bcbfb72a438"}, + {file = "tokenizers-0.15.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:508711a108684111ec8af89d3a9e9e08755247eda27d0ba5e3c50e9da1600f6d"}, + {file = "tokenizers-0.15.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:daa348f02d15160cb35439098ac96e3a53bacf35885072611cd9e5be7d333daa"}, + {file = "tokenizers-0.15.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:494fdbe5932d3416de2a85fc2470b797e6f3226c12845cadf054dd906afd0442"}, + {file = "tokenizers-0.15.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c2d60f5246f4da9373f75ff18d64c69cbf60c3bca597290cea01059c336d2470"}, + {file = "tokenizers-0.15.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93268e788825f52de4c7bdcb6ebc1fcd4a5442c02e730faa9b6b08f23ead0e24"}, + {file = "tokenizers-0.15.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6fc7083ab404019fc9acafe78662c192673c1e696bd598d16dc005bd663a5cf9"}, + {file = "tokenizers-0.15.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:41e39b41e5531d6b2122a77532dbea60e171ef87a3820b5a3888daa847df4153"}, + {file = "tokenizers-0.15.2-cp38-none-win32.whl", hash = "sha256:06cd0487b1cbfabefb2cc52fbd6b1f8d4c37799bd6c6e1641281adaa6b2504a7"}, + {file = "tokenizers-0.15.2-cp38-none-win_amd64.whl", hash = "sha256:5179c271aa5de9c71712e31cb5a79e436ecd0d7532a408fa42a8dbfa4bc23fd9"}, + {file = "tokenizers-0.15.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:82f8652a74cc107052328b87ea8b34291c0f55b96d8fb261b3880216a9f9e48e"}, + {file = "tokenizers-0.15.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:02458bee6f5f3139f1ebbb6d042b283af712c0981f5bc50edf771d6b762d5e4f"}, + {file = "tokenizers-0.15.2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:c9a09cd26cca2e1c349f91aa665309ddb48d71636370749414fbf67bc83c5343"}, + {file = "tokenizers-0.15.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:158be8ea8554e5ed69acc1ce3fbb23a06060bd4bbb09029431ad6b9a466a7121"}, + {file = "tokenizers-0.15.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1ddba9a2b0c8c81633eca0bb2e1aa5b3a15362b1277f1ae64176d0f6eba78ab1"}, + {file = "tokenizers-0.15.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3ef5dd1d39797044642dbe53eb2bc56435308432e9c7907728da74c69ee2adca"}, + {file = "tokenizers-0.15.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:454c203164e07a860dbeb3b1f4a733be52b0edbb4dd2e5bd75023ffa8b49403a"}, + {file = "tokenizers-0.15.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0cf6b7f1d4dc59af960e6ffdc4faffe6460bbfa8dce27a58bf75755ffdb2526d"}, + {file = "tokenizers-0.15.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2ef09bbc16519f6c25d0c7fc0c6a33a6f62923e263c9d7cca4e58b8c61572afb"}, + {file = "tokenizers-0.15.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c9a2ebdd2ad4ec7a68e7615086e633857c85e2f18025bd05d2a4399e6c5f7169"}, + {file = "tokenizers-0.15.2-cp39-none-win32.whl", hash = "sha256:918fbb0eab96fe08e72a8c2b5461e9cce95585d82a58688e7f01c2bd546c79d0"}, + {file = "tokenizers-0.15.2-cp39-none-win_amd64.whl", hash = "sha256:524e60da0135e106b254bd71f0659be9f89d83f006ea9093ce4d1fab498c6d0d"}, + {file = "tokenizers-0.15.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:6a9b648a58281c4672212fab04e60648fde574877d0139cd4b4f93fe28ca8944"}, + {file = "tokenizers-0.15.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:7c7d18b733be6bbca8a55084027f7be428c947ddf871c500ee603e375013ffba"}, + {file = "tokenizers-0.15.2-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:13ca3611de8d9ddfbc4dc39ef54ab1d2d4aaa114ac8727dfdc6a6ec4be017378"}, + {file = "tokenizers-0.15.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:237d1bf3361cf2e6463e6c140628e6406766e8b27274f5fcc62c747ae3c6f094"}, + {file = "tokenizers-0.15.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67a0fe1e49e60c664915e9fb6b0cb19bac082ab1f309188230e4b2920230edb3"}, + {file = "tokenizers-0.15.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:4e022fe65e99230b8fd89ebdfea138c24421f91c1a4f4781a8f5016fd5cdfb4d"}, + {file = "tokenizers-0.15.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:d857be2df69763362ac699f8b251a8cd3fac9d21893de129bc788f8baaef2693"}, + {file = "tokenizers-0.15.2-pp37-pypy37_pp73-macosx_10_12_x86_64.whl", hash = "sha256:708bb3e4283177236309e698da5fcd0879ce8fd37457d7c266d16b550bcbbd18"}, + {file = "tokenizers-0.15.2-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:64c35e09e9899b72a76e762f9854e8750213f67567787d45f37ce06daf57ca78"}, + {file = "tokenizers-0.15.2-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c1257f4394be0d3b00de8c9e840ca5601d0a4a8438361ce9c2b05c7d25f6057b"}, + {file = "tokenizers-0.15.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02272fe48280e0293a04245ca5d919b2c94a48b408b55e858feae9618138aeda"}, + {file = "tokenizers-0.15.2-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:dc3ad9ebc76eabe8b1d7c04d38be884b8f9d60c0cdc09b0aa4e3bcf746de0388"}, + {file = "tokenizers-0.15.2-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:32e16bdeffa7c4f46bf2152172ca511808b952701d13e7c18833c0b73cb5c23f"}, + {file = "tokenizers-0.15.2-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:fb16ba563d59003028b678d2361a27f7e4ae0ab29c7a80690efa20d829c81fdb"}, + {file = "tokenizers-0.15.2-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:2277c36d2d6cdb7876c274547921a42425b6810d38354327dd65a8009acf870c"}, + {file = "tokenizers-0.15.2-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:1cf75d32e8d250781940d07f7eece253f2fe9ecdb1dc7ba6e3833fa17b82fcbc"}, + {file = "tokenizers-0.15.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f1b3b31884dc8e9b21508bb76da80ebf7308fdb947a17affce815665d5c4d028"}, + {file = "tokenizers-0.15.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b10122d8d8e30afb43bb1fe21a3619f62c3e2574bff2699cf8af8b0b6c5dc4a3"}, + {file = "tokenizers-0.15.2-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d88b96ff0fe8e91f6ef01ba50b0d71db5017fa4e3b1d99681cec89a85faf7bf7"}, + {file = "tokenizers-0.15.2-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:37aaec5a52e959892870a7c47cef80c53797c0db9149d458460f4f31e2fb250e"}, + {file = "tokenizers-0.15.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:e2ea752f2b0fe96eb6e2f3adbbf4d72aaa1272079b0dfa1145507bd6a5d537e6"}, + {file = "tokenizers-0.15.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:4b19a808d8799fda23504a5cd31d2f58e6f52f140380082b352f877017d6342b"}, + {file = "tokenizers-0.15.2-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:64c86e5e068ac8b19204419ed8ca90f9d25db20578f5881e337d203b314f4104"}, + {file = "tokenizers-0.15.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:de19c4dc503c612847edf833c82e9f73cd79926a384af9d801dcf93f110cea4e"}, + {file = "tokenizers-0.15.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea09acd2fe3324174063d61ad620dec3bcf042b495515f27f638270a7d466e8b"}, + {file = "tokenizers-0.15.2-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:cf27fd43472e07b57cf420eee1e814549203d56de00b5af8659cb99885472f1f"}, + {file = "tokenizers-0.15.2-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:7ca22bd897537a0080521445d91a58886c8c04084a6a19e6c78c586e0cfa92a5"}, + {file = "tokenizers-0.15.2.tar.gz", hash = "sha256:e6e9c6e019dd5484be5beafc775ae6c925f4c69a3487040ed09b45e13df2cb91"}, ] [package.dependencies] @@ -2426,13 +2539,13 @@ files = [ [[package]] name = "toolz" -version = "0.12.0" +version = "0.12.1" description = "List processing tools and functional utilities" optional = true -python-versions = ">=3.5" +python-versions = ">=3.7" files = [ - {file = "toolz-0.12.0-py3-none-any.whl", hash = "sha256:2059bd4148deb1884bb0eb770a3cde70e7f954cfbbdc2285f1f2de01fd21eb6f"}, - {file = "toolz-0.12.0.tar.gz", hash = "sha256:88c570861c440ee3f2f6037c4654613228ff40c93a6c25e0eba70d17282c6194"}, + {file = "toolz-0.12.1-py3-none-any.whl", hash = "sha256:d22731364c07d72eea0a0ad45bafb2c2937ab6fd38a3507bf55eae8744aa7d85"}, + {file = "toolz-0.12.1.tar.gz", hash = "sha256:ecca342664893f177a13dac0e6b41cbd8ac25a358e5f215316d43e2100224f4d"}, ] [[package]] @@ -2457,13 +2570,13 @@ files = [ [[package]] name = "tqdm" -version = "4.66.1" +version = "4.66.2" description = "Fast, Extensible Progress Meter" optional = false python-versions = ">=3.7" files = [ - {file = "tqdm-4.66.1-py3-none-any.whl", hash = "sha256:d302b3c5b53d47bce91fea46679d9c3c6508cf6332229aa1e7d8653723793386"}, - {file = "tqdm-4.66.1.tar.gz", hash = "sha256:d88e651f9db8d8551a62556d3cff9e3034274ca5d66e93197cf2490e2dcb69c7"}, + {file = "tqdm-4.66.2-py3-none-any.whl", hash = "sha256:1ee4f8a893eb9bef51c6e35730cebf234d5d0b6bd112b0271e10ed7c24a02bd9"}, + {file = "tqdm-4.66.2.tar.gz", hash = "sha256:6cd52cdf0fef0e0f543299cfc96fec90d7b8a7e88745f411ec33eb44d5ed3531"}, ] [package.dependencies] @@ -2488,13 +2601,13 @@ files = [ [[package]] name = "tzdata" -version = "2023.4" +version = "2024.1" description = "Provider of IANA time zone data" optional = true python-versions = ">=2" files = [ - {file = "tzdata-2023.4-py2.py3-none-any.whl", hash = "sha256:aa3ace4329eeacda5b7beb7ea08ece826c28d761cda36e747cfbf97996d39bf3"}, - {file = "tzdata-2023.4.tar.gz", hash = "sha256:dd54c94f294765522c77399649b4fefd95522479a664a0cec87f41bebc6148c9"}, + {file = "tzdata-2024.1-py2.py3-none-any.whl", hash = "sha256:9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252"}, + {file = "tzdata-2024.1.tar.gz", hash = "sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd"}, ] [[package]] @@ -2517,17 +2630,18 @@ devenv = ["check-manifest", "pytest (>=4.3)", "pytest-cov", "pytest-mock (>=3.3) [[package]] name = "urllib3" -version = "2.1.0" +version = "2.2.0" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=3.8" files = [ - {file = "urllib3-2.1.0-py3-none-any.whl", hash = "sha256:55901e917a5896a349ff771be919f8bd99aff50b79fe58fec595eb37bbc56bb3"}, - {file = "urllib3-2.1.0.tar.gz", hash = "sha256:df7aa8afb0148fa78488e7899b2c59b5f4ffcfa82e6c54ccb9dd37c1d7b52d54"}, + {file = "urllib3-2.2.0-py3-none-any.whl", hash = "sha256:ce3711610ddce217e6d113a2732fafad960a03fd0318c91faa79481e35c11224"}, + {file = "urllib3-2.2.0.tar.gz", hash = "sha256:051d961ad0c62a94e50ecf1af379c3aba230c66c710493493560c0c223c49f20"}, ] [package.extras] brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +h2 = ["h2 (>=4,<5)"] socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] zstd = ["zstandard (>=0.18.0)"] @@ -2573,38 +2687,40 @@ tooling-extras = ["pyaml (>=23.7.0)", "pypandoc-binary (>=1.11)", "pytest (>=7.4 [[package]] name = "watchdog" -version = "3.0.0" +version = "4.0.0" description = "Filesystem events monitoring" optional = true -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "watchdog-3.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:336adfc6f5cc4e037d52db31194f7581ff744b67382eb6021c868322e32eef41"}, - {file = "watchdog-3.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a70a8dcde91be523c35b2bf96196edc5730edb347e374c7de7cd20c43ed95397"}, - {file = "watchdog-3.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:adfdeab2da79ea2f76f87eb42a3ab1966a5313e5a69a0213a3cc06ef692b0e96"}, - {file = "watchdog-3.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2b57a1e730af3156d13b7fdddfc23dea6487fceca29fc75c5a868beed29177ae"}, - {file = "watchdog-3.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7ade88d0d778b1b222adebcc0927428f883db07017618a5e684fd03b83342bd9"}, - {file = "watchdog-3.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7e447d172af52ad204d19982739aa2346245cc5ba6f579d16dac4bfec226d2e7"}, - {file = "watchdog-3.0.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:9fac43a7466eb73e64a9940ac9ed6369baa39b3bf221ae23493a9ec4d0022674"}, - {file = "watchdog-3.0.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:8ae9cda41fa114e28faf86cb137d751a17ffd0316d1c34ccf2235e8a84365c7f"}, - {file = "watchdog-3.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:25f70b4aa53bd743729c7475d7ec41093a580528b100e9a8c5b5efe8899592fc"}, - {file = "watchdog-3.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4f94069eb16657d2c6faada4624c39464f65c05606af50bb7902e036e3219be3"}, - {file = "watchdog-3.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7c5f84b5194c24dd573fa6472685b2a27cc5a17fe5f7b6fd40345378ca6812e3"}, - {file = "watchdog-3.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3aa7f6a12e831ddfe78cdd4f8996af9cf334fd6346531b16cec61c3b3c0d8da0"}, - {file = "watchdog-3.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:233b5817932685d39a7896b1090353fc8efc1ef99c9c054e46c8002561252fb8"}, - {file = "watchdog-3.0.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:13bbbb462ee42ec3c5723e1205be8ced776f05b100e4737518c67c8325cf6100"}, - {file = "watchdog-3.0.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:8f3ceecd20d71067c7fd4c9e832d4e22584318983cabc013dbf3f70ea95de346"}, - {file = "watchdog-3.0.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c9d8c8ec7efb887333cf71e328e39cffbf771d8f8f95d308ea4125bf5f90ba64"}, - {file = "watchdog-3.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:0e06ab8858a76e1219e68c7573dfeba9dd1c0219476c5a44d5333b01d7e1743a"}, - {file = "watchdog-3.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:d00e6be486affb5781468457b21a6cbe848c33ef43f9ea4a73b4882e5f188a44"}, - {file = "watchdog-3.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:c07253088265c363d1ddf4b3cdb808d59a0468ecd017770ed716991620b8f77a"}, - {file = "watchdog-3.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:5113334cf8cf0ac8cd45e1f8309a603291b614191c9add34d33075727a967709"}, - {file = "watchdog-3.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:51f90f73b4697bac9c9a78394c3acbbd331ccd3655c11be1a15ae6fe289a8c83"}, - {file = "watchdog-3.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:ba07e92756c97e3aca0912b5cbc4e5ad802f4557212788e72a72a47ff376950d"}, - {file = "watchdog-3.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:d429c2430c93b7903914e4db9a966c7f2b068dd2ebdd2fa9b9ce094c7d459f33"}, - {file = "watchdog-3.0.0-py3-none-win32.whl", hash = "sha256:3ed7c71a9dccfe838c2f0b6314ed0d9b22e77d268c67e015450a29036a81f60f"}, - {file = "watchdog-3.0.0-py3-none-win_amd64.whl", hash = "sha256:4c9956d27be0bb08fc5f30d9d0179a855436e655f046d288e2bcc11adfae893c"}, - {file = "watchdog-3.0.0-py3-none-win_ia64.whl", hash = "sha256:5d9f3a10e02d7371cd929b5d8f11e87d4bad890212ed3901f9b4d68767bee759"}, - {file = "watchdog-3.0.0.tar.gz", hash = "sha256:4d98a320595da7a7c5a18fc48cb633c2e73cda78f93cac2ef42d42bf609a33f9"}, + {file = "watchdog-4.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:39cb34b1f1afbf23e9562501673e7146777efe95da24fab5707b88f7fb11649b"}, + {file = "watchdog-4.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c522392acc5e962bcac3b22b9592493ffd06d1fc5d755954e6be9f4990de932b"}, + {file = "watchdog-4.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6c47bdd680009b11c9ac382163e05ca43baf4127954c5f6d0250e7d772d2b80c"}, + {file = "watchdog-4.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8350d4055505412a426b6ad8c521bc7d367d1637a762c70fdd93a3a0d595990b"}, + {file = "watchdog-4.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c17d98799f32e3f55f181f19dd2021d762eb38fdd381b4a748b9f5a36738e935"}, + {file = "watchdog-4.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4986db5e8880b0e6b7cd52ba36255d4793bf5cdc95bd6264806c233173b1ec0b"}, + {file = "watchdog-4.0.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:11e12fafb13372e18ca1bbf12d50f593e7280646687463dd47730fd4f4d5d257"}, + {file = "watchdog-4.0.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5369136a6474678e02426bd984466343924d1df8e2fd94a9b443cb7e3aa20d19"}, + {file = "watchdog-4.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:76ad8484379695f3fe46228962017a7e1337e9acadafed67eb20aabb175df98b"}, + {file = "watchdog-4.0.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:45cc09cc4c3b43fb10b59ef4d07318d9a3ecdbff03abd2e36e77b6dd9f9a5c85"}, + {file = "watchdog-4.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:eed82cdf79cd7f0232e2fdc1ad05b06a5e102a43e331f7d041e5f0e0a34a51c4"}, + {file = "watchdog-4.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ba30a896166f0fee83183cec913298151b73164160d965af2e93a20bbd2ab605"}, + {file = "watchdog-4.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d18d7f18a47de6863cd480734613502904611730f8def45fc52a5d97503e5101"}, + {file = "watchdog-4.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2895bf0518361a9728773083908801a376743bcc37dfa252b801af8fd281b1ca"}, + {file = "watchdog-4.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:87e9df830022488e235dd601478c15ad73a0389628588ba0b028cb74eb72fed8"}, + {file = "watchdog-4.0.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:6e949a8a94186bced05b6508faa61b7adacc911115664ccb1923b9ad1f1ccf7b"}, + {file = "watchdog-4.0.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:6a4db54edea37d1058b08947c789a2354ee02972ed5d1e0dca9b0b820f4c7f92"}, + {file = "watchdog-4.0.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d31481ccf4694a8416b681544c23bd271f5a123162ab603c7d7d2dd7dd901a07"}, + {file = "watchdog-4.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:8fec441f5adcf81dd240a5fe78e3d83767999771630b5ddfc5867827a34fa3d3"}, + {file = "watchdog-4.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:6a9c71a0b02985b4b0b6d14b875a6c86ddea2fdbebd0c9a720a806a8bbffc69f"}, + {file = "watchdog-4.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:557ba04c816d23ce98a06e70af6abaa0485f6d94994ec78a42b05d1c03dcbd50"}, + {file = "watchdog-4.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:d0f9bd1fd919134d459d8abf954f63886745f4660ef66480b9d753a7c9d40927"}, + {file = "watchdog-4.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:f9b2fdca47dc855516b2d66eef3c39f2672cbf7e7a42e7e67ad2cbfcd6ba107d"}, + {file = "watchdog-4.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:73c7a935e62033bd5e8f0da33a4dcb763da2361921a69a5a95aaf6c93aa03a87"}, + {file = "watchdog-4.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:6a80d5cae8c265842c7419c560b9961561556c4361b297b4c431903f8c33b269"}, + {file = "watchdog-4.0.0-py3-none-win32.whl", hash = "sha256:8f9a542c979df62098ae9c58b19e03ad3df1c9d8c6895d96c0d51da17b243b1c"}, + {file = "watchdog-4.0.0-py3-none-win_amd64.whl", hash = "sha256:f970663fa4f7e80401a7b0cbeec00fa801bf0287d93d48368fc3e6fa32716245"}, + {file = "watchdog-4.0.0-py3-none-win_ia64.whl", hash = "sha256:9a03e16e55465177d416699331b0f3564138f1807ecc5f2de9d55d8f188d08c7"}, + {file = "watchdog-4.0.0.tar.gz", hash = "sha256:e3e7065cbdabe6183ab82199d7a4f6b3ba0a438c5a512a68559846ccb76a78ec"}, ] [package.extras] @@ -2730,9 +2846,9 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p [extras] extra-proxy = ["streamlit"] -proxy = ["apscheduler", "backoff", "fastapi", "gunicorn", "orjson", "pyyaml", "rq", "uvicorn"] +proxy = ["PyJWT", "apscheduler", "backoff", "fastapi", "fastapi-sso", "gunicorn", "orjson", "python-multipart", "pyyaml", "rq", "uvicorn"] [metadata] lock-version = "2.0" -python-versions = ">=3.8.1,<3.9.7 || >3.9.7" -content-hash = "19f79f119f1760d3406b446fa3664b82c0d0859b3912dcb7ba7c8edf1d786096" +python-versions = ">=3.8.1,<4.0, !=3.9.7" +content-hash = "d9d1bea18328c1ad428ed5c9e9287ffef0744af0eedb5017855f8134956b1bf4" diff --git a/proxy_server_config.yaml b/proxy_server_config.yaml index 5984a75c69d..1d499aa7d3f 100644 --- a/proxy_server_config.yaml +++ b/proxy_server_config.yaml @@ -11,6 +11,10 @@ model_list: api_base: https://openai-gpt-4-test-v-1.openai.azure.com/ api_version: "2023-05-15" api_key: os.environ/AZURE_API_KEY # The `os.environ/` prefix tells litellm to read this from the env. See https://docs.litellm.ai/docs/simple_proxy#load-api-keys-from-vault + - model_name: sagemaker-completion-model + litellm_params: + model: sagemaker/berri-benchmarking-Llama-2-70b-chat-hf-4 + input_cost_per_second: 0.000420 - model_name: gpt-4 litellm_params: model: azure/gpt-turbo @@ -38,9 +42,14 @@ model_list: api_version: 2023-06-01-preview api_base: https://openai-gpt-4-test-v-1.openai.azure.com/ api_key: os.environ/AZURE_API_KEY + - model_name: openai-dall-e-3 + litellm_params: + model: dall-e-3 litellm_settings: drop_params: True + max_budget: 100 + budget_duration: 30d general_settings: master_key: sk-1234 # [OPTIONAL] Only use this if you to require all calls to contain this key (Authorization: Bearer sk-1234) # database_url: "postgresql://:@:/" # [OPTIONAL] use for token-based auth to proxy diff --git a/pyproject.toml b/pyproject.toml index c91df40556a..2e7862e9b66 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,13 +1,13 @@ [tool.poetry] name = "litellm" -version = "1.18.13" +version = "1.23.12" description = "Library to easily interface with LLM API providers" authors = ["BerriAI"] license = "MIT" readme = "README.md" [tool.poetry.dependencies] -python = ">=3.8.1,<3.9.7 || >3.9.7" +python = ">=3.8.1,<4.0, !=3.9.7" openai = ">=1.0.0" python-dotenv = ">=0.2.0" tiktoken = ">=0.4.0" @@ -27,6 +27,9 @@ rq = {version = "*", optional = true} orjson = {version = "^3.9.7", optional = true} apscheduler = {version = "^3.10.4", optional = true} streamlit = {version = "^1.29.0", optional = true} +fastapi-sso = { version = "^0.10.0", optional = true } +PyJWT = { version = "^2.8.0", optional = true } +python-multipart = { version = "^0.0.6", optional = true } [tool.poetry.extras] proxy = [ @@ -37,7 +40,10 @@ proxy = [ "pyyaml", "rq", "orjson", - "apscheduler" + "apscheduler", + "fastapi-sso", + "PyJWT", + "python-multipart" ] extra_proxy = [ @@ -63,7 +69,7 @@ requires = ["poetry-core", "wheel"] build-backend = "poetry.core.masonry.api" [tool.commitizen] -version = "1.18.13" +version = "1.23.12" version_files = [ "pyproject.toml:^version" ] diff --git a/requirements.txt b/requirements.txt index 6103091b857..a285e29ea61 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,22 +8,26 @@ pyyaml>=6.0.1 # server dep uvicorn==0.22.0 # server dep gunicorn==21.2.0 # server dep boto3==1.28.58 # aws bedrock/sagemaker calls -redis==4.6.0 # caching +redis==5.0.0 # caching +numpy==1.24.3 # semantic caching prisma==0.11.0 # for db mangum==0.17.0 # for aws lambda functions -google-generativeai==0.1.0 # for vertex ai calls +google-generativeai==0.3.2 # for vertex ai calls async_generator==1.10.0 # for async ollama calls traceloop-sdk==0.5.3 # for open telemetry logging langfuse>=2.6.3 # for langfuse self-hosted logging orjson==3.9.7 # fast /embedding responses apscheduler==3.10.4 # for resetting budget in background +fastapi-sso==0.10.0 # admin UI, SSO +PyJWT==2.8.0 # admin UI, jwts +python-multipart==0.0.6 # admin UI ### LITELLM PACKAGE DEPENDENCIES python-dotenv>=0.2.0 # for env tiktoken>=0.4.0 # for calculating usage importlib-metadata>=6.8.0 # for random utils tokenizers==0.14.0 # for calculating usage click==8.1.7 # for proxy cli -jinja2==3.1.2 # for prompt templates +jinja2==3.1.3 # for prompt templates certifi>=2023.7.22 # [TODO] clean up aiohttp==3.9.0 # for network calls #### \ No newline at end of file diff --git a/schema.prisma b/schema.prisma index ea3bade8cd6..3a5c3ea230f 100644 --- a/schema.prisma +++ b/schema.prisma @@ -1,15 +1,18 @@ datasource client { provider = "postgresql" url = env("DATABASE_URL") + directUrl = env("DIRECT_URL") } generator client { provider = "prisma-client-py" } +// Track spend, rate limit, budget Users model LiteLLM_UserTable { user_id String @unique team_id String? + user_role String? max_budget Float? spend Float @default(0.0) user_email String? @@ -17,11 +20,16 @@ model LiteLLM_UserTable { max_parallel_requests Int? tpm_limit BigInt? rpm_limit BigInt? + budget_duration String? + budget_reset_at DateTime? + allowed_cache_controls String[] @default([]) } -// required for token gen +// Generate Tokens for Proxy model LiteLLM_VerificationToken { token String @unique + key_name String? + key_alias String? spend Float @default(0.0) expires DateTime? models String[] @@ -33,29 +41,32 @@ model LiteLLM_VerificationToken { metadata Json @default("{}") tpm_limit BigInt? rpm_limit BigInt? - max_budget Float? @default(0.0) + max_budget Float? budget_duration String? budget_reset_at DateTime? + allowed_cache_controls String[] @default([]) } +// store proxy config.yaml model LiteLLM_Config { param_name String @id param_value Json? } +// View spend, model, api_key per request model LiteLLM_SpendLogs { request_id String @unique call_type String api_key String @default ("") spend Float @default(0.0) + total_tokens Int @default(0) + prompt_tokens Int @default(0) + completion_tokens Int @default(0) startTime DateTime // Assuming start_time is a DateTime field endTime DateTime // Assuming end_time is a DateTime field model String @default("") user String @default("") - modelParameters Json @default("{}")// Assuming optional_params is a JSON field - messages Json @default("[]") - response Json @default("{}") - usage Json @default("{}") metadata Json @default("{}") cache_hit String @default("") + cache_key String @default("") } \ No newline at end of file diff --git a/tests/test_health.py b/tests/test_health.py index f0a89f529f8..00f095022b9 100644 --- a/tests/test_health.py +++ b/tests/test_health.py @@ -70,10 +70,11 @@ async def test_health_readiness(): url = "http://0.0.0.0:4000/health/readiness" async with session.get(url) as response: status = response.status - response_text = await response.text() + response_json = await response.json() - print(response_text) - print() + print(response_json) + assert "litellm_version" in response_json + assert "status" in response_json if status != 200: raise Exception(f"Request did not return a 200 status code: {status}") diff --git a/tests/test_keys.py b/tests/test_keys.py index 917c50823f4..28ce0251126 100644 --- a/tests/test_keys.py +++ b/tests/test_keys.py @@ -13,15 +13,25 @@ sys.path.insert( import litellm -async def generate_key(session, i): +async def generate_key( + session, + i, + budget=None, + budget_duration=None, + models=["azure-models", "gpt-4", "dall-e-3"], +): url = "http://0.0.0.0:4000/key/generate" headers = {"Authorization": "Bearer sk-1234", "Content-Type": "application/json"} data = { - "models": ["azure-models", "gpt-4"], + "models": models, "aliases": {"mistral-7b": "gpt-3.5-turbo"}, "duration": None, + "max_budget": budget, + "budget_duration": budget_duration, } + print(f"data: {data}") + async with session.post(url, headers=headers, json=data) as response: status = response.status response_text = await response.text() @@ -65,6 +75,28 @@ async def update_key(session, get_key): return await response.json() +async def update_proxy_budget(session): + """ + Make sure only models user has access to are returned + """ + url = "http://0.0.0.0:4000/user/update" + headers = { + "Authorization": f"Bearer sk-1234", + "Content-Type": "application/json", + } + data = {"user_id": "litellm-proxy-budget", "spend": 0} + + async with session.post(url, headers=headers, json=data) as response: + status = response.status + response_text = await response.text() + print(response_text) + print() + + if status != 200: + raise Exception(f"Request did not return a 200 status code: {status}") + return await response.json() + + async def chat_completion(session, key, model="gpt-4"): url = "http://0.0.0.0:4000/chat/completions" headers = { @@ -79,17 +111,59 @@ async def chat_completion(session, key, model="gpt-4"): ], } - async with session.post(url, headers=headers, json=data) as response: - status = response.status - response_text = await response.text() + for i in range(3): + try: + async with session.post(url, headers=headers, json=data) as response: + status = response.status + response_text = await response.text() - print(response_text) - print() + print(response_text) + print() - if status != 200: - raise Exception(f"Request did not return a 200 status code: {status}") + if status != 200: + raise Exception( + f"Request did not return a 200 status code: {status}. Response: {response_text}" + ) - return await response.json() + return await response.json() + except Exception as e: + if "Request did not return a 200 status code" in str(e): + raise e + else: + pass + + +async def image_generation(session, key, model="dall-e-3"): + url = "http://0.0.0.0:4000/v1/images/generations" + headers = { + "Authorization": f"Bearer {key}", + "Content-Type": "application/json", + } + data = { + "model": model, + "prompt": "A cute baby sea otter", + } + + for i in range(3): + try: + async with session.post(url, headers=headers, json=data) as response: + status = response.status + response_text = await response.text() + + print(response_text) + print() + + if status != 200: + raise Exception( + f"Request did not return a 200 status code: {status}. Response: {response_text}" + ) + + return await response.json() + except Exception as e: + if "Request did not return a 200 status code" in str(e): + raise e + else: + pass async def chat_completion_streaming(session, key, model="gpt-4"): @@ -133,6 +207,7 @@ async def test_key_update(): session=session, get_key=key, ) + await update_proxy_budget(session=session) # resets proxy spend await chat_completion(session=session, key=key) @@ -172,11 +247,14 @@ async def test_key_delete(): ) -async def get_key_info(session, get_key, call_key): +async def get_key_info(session, call_key, get_key=None): """ Make sure only models user has access to are returned """ - url = f"http://0.0.0.0:4000/key/info?key={get_key}" + if get_key is None: + url = "http://0.0.0.0:4000/key/info" + else: + url = f"http://0.0.0.0:4000/key/info?key={get_key}" headers = { "Authorization": f"Bearer {call_key}", "Content-Type": "application/json", @@ -193,7 +271,9 @@ async def get_key_info(session, get_key, call_key): return status else: print(f"call_key: {call_key}; get_key: {get_key}") - raise Exception(f"Request did not return a 200 status code: {status}") + raise Exception( + f"Request did not return a 200 status code: {status}. Responses {response_text}" + ) return await response.json() @@ -212,6 +292,9 @@ async def test_key_info(): await get_key_info(session=session, get_key=key, call_key="sk-1234") # as key itself # await get_key_info(session=session, get_key=key, call_key=key) + + # as key itself, use the auth param, and no query key needed + await get_key_info(session=session, call_key=key) # as random key # key_gen = await generate_key(session=session, i=0) random_key = key_gen["key"] @@ -219,9 +302,26 @@ async def test_key_info(): assert status == 403 +async def get_spend_logs(session, request_id): + url = f"http://0.0.0.0:4000/spend/logs?request_id={request_id}" + headers = {"Authorization": "Bearer sk-1234", "Content-Type": "application/json"} + + async with session.get(url, headers=headers) as response: + status = response.status + response_text = await response.text() + + print(response_text) + print() + + if status != 200: + raise Exception(f"Request did not return a 200 status code: {status}") + return await response.json() + + @pytest.mark.asyncio async def test_key_info_spend_values(): """ + Test to ensure spend is correctly calculated - create key - make completion call - assert cost is expected value @@ -229,20 +329,46 @@ async def test_key_info_spend_values(): async with aiohttp.ClientSession() as session: ## Test Spend Update ## # completion - # response = await chat_completion(session=session, key=key) - # prompt_cost, completion_cost = litellm.cost_per_token( - # model="azure/gpt-35-turbo", - # prompt_tokens=response["usage"]["prompt_tokens"], - # completion_tokens=response["usage"]["completion_tokens"], - # ) - # response_cost = prompt_cost + completion_cost - # await asyncio.sleep(5) # allow db log to be updated - # key_info = await get_key_info(session=session, get_key=key, call_key=key) - # print( - # f"response_cost: {response_cost}; key_info spend: {key_info['info']['spend']}" - # ) - # assert response_cost == key_info["info"]["spend"] - ## streaming + key_gen = await generate_key(session=session, i=0) + key = key_gen["key"] + response = await chat_completion(session=session, key=key) + await asyncio.sleep(5) + spend_logs = await get_spend_logs(session=session, request_id=response["id"]) + print(f"spend_logs: {spend_logs}") + completion_tokens = spend_logs[0]["completion_tokens"] + prompt_tokens = spend_logs[0]["prompt_tokens"] + print(f"prompt_tokens: {prompt_tokens}; completion_tokens: {completion_tokens}") + + litellm.set_verbose = True + prompt_cost, completion_cost = litellm.cost_per_token( + model="gpt-35-turbo", + prompt_tokens=prompt_tokens, + completion_tokens=completion_tokens, + custom_llm_provider="azure", + ) + print("prompt_cost: ", prompt_cost, "completion_cost: ", completion_cost) + response_cost = prompt_cost + completion_cost + print(f"response_cost: {response_cost}") + await asyncio.sleep(5) # allow db log to be updated + key_info = await get_key_info(session=session, get_key=key, call_key=key) + print( + f"response_cost: {response_cost}; key_info spend: {key_info['info']['spend']}" + ) + rounded_response_cost = round(response_cost, 8) + rounded_key_info_spend = round(key_info["info"]["spend"], 8) + assert rounded_response_cost == rounded_key_info_spend + + +@pytest.mark.asyncio +async def test_key_info_spend_values_streaming(): + """ + Test to ensure spend is correctly calculated. + - create key + - make completion call + - assert cost is expected value + """ + async with aiohttp.ClientSession() as session: + ## streaming - azure key_gen = await generate_key(session=session, i=0) new_key = key_gen["key"] prompt_tokens, completion_tokens = await chat_completion_streaming( @@ -256,10 +382,133 @@ async def test_key_info_spend_values(): ) response_cost = prompt_cost + completion_cost await asyncio.sleep(5) # allow db log to be updated + print(f"new_key: {new_key}") key_info = await get_key_info( session=session, get_key=new_key, call_key=new_key ) print( f"response_cost: {response_cost}; key_info spend: {key_info['info']['spend']}" ) - assert response_cost == key_info["info"]["spend"] + rounded_response_cost = round(response_cost, 8) + rounded_key_info_spend = round(key_info["info"]["spend"], 8) + assert rounded_response_cost == rounded_key_info_spend + + +@pytest.mark.asyncio +async def test_key_info_spend_values_image_generation(): + """ + Test to ensure spend is correctly calculated + - create key + - make image gen call + - assert cost is expected value + """ + + async def retry_request(func, *args, _max_attempts=5, **kwargs): + for attempt in range(_max_attempts): + try: + return await func(*args, **kwargs) + except aiohttp.client_exceptions.ClientOSError as e: + if attempt + 1 == _max_attempts: + raise # re-raise the last ClientOSError if all attempts failed + print(f"Attempt {attempt+1} failed, retrying...") + + async with aiohttp.ClientSession( + timeout=aiohttp.ClientTimeout(total=600) + ) as session: + ## Test Spend Update ## + # completion + key_gen = await generate_key(session=session, i=0) + key = key_gen["key"] + response = await image_generation(session=session, key=key) + await asyncio.sleep(5) + key_info = await retry_request( + get_key_info, session=session, get_key=key, call_key=key + ) + spend = key_info["info"]["spend"] + assert spend > 0 + + +@pytest.mark.asyncio +async def test_key_with_budgets(): + """ + - Create key with budget and 5min duration + - Get 'reset_at' value + - wait 10min (budget reset runs every 10mins.) + - Check if value updated + """ + from litellm.proxy.utils import hash_token + + async with aiohttp.ClientSession() as session: + key_gen = await generate_key( + session=session, i=0, budget=10, budget_duration="5s" + ) + key = key_gen["key"] + hashed_token = hash_token(token=key) + print(f"hashed_token: {hashed_token}") + key_info = await get_key_info(session=session, get_key=key, call_key=key) + reset_at_init_value = key_info["info"]["budget_reset_at"] + reset_at_new_value = None + i = 0 + await asyncio.sleep(610) + while i < 3: + key_info = await get_key_info(session=session, get_key=key, call_key=key) + reset_at_new_value = key_info["info"]["budget_reset_at"] + try: + assert reset_at_init_value != reset_at_new_value + break + except: + i + 1 + await asyncio.sleep(5) + assert reset_at_init_value != reset_at_new_value + + +@pytest.mark.asyncio +async def test_key_crossing_budget(): + """ + - Create key with budget with budget=0.00000001 + - make a /chat/completions call + - wait 5s + - make a /chat/completions call - should fail with key crossed it's budget + + - Check if value updated + """ + from litellm.proxy.utils import hash_token + + async with aiohttp.ClientSession() as session: + key_gen = await generate_key(session=session, i=0, budget=0.0000001) + key = key_gen["key"] + hashed_token = hash_token(token=key) + print(f"hashed_token: {hashed_token}") + + response = await chat_completion(session=session, key=key) + print("response 1: ", response) + await asyncio.sleep(10) + try: + response = await chat_completion(session=session, key=key) + pytest.fail("Should have failed - Key crossed it's budget") + except Exception as e: + assert "ExceededTokenBudget: Current spend for token:" in str(e) + + +@pytest.mark.asyncio +async def test_key_info_spend_values_sagemaker(): + """ + Tests the sync streaming loop to ensure spend is correctly calculated. + - create key + - make completion call + - assert cost is expected value + """ + async with aiohttp.ClientSession() as session: + ## streaming - sagemaker + key_gen = await generate_key(session=session, i=0, models=[]) + new_key = key_gen["key"] + prompt_tokens, completion_tokens = await chat_completion_streaming( + session=session, key=new_key, model="sagemaker-completion-model" + ) + await asyncio.sleep(5) # allow db log to be updated + key_info = await get_key_info( + session=session, get_key=new_key, call_key=new_key + ) + rounded_key_info_spend = round(key_info["info"]["spend"], 8) + assert rounded_key_info_spend > 0 + # assert rounded_response_cost == rounded_key_info_spend diff --git a/tests/test_spend_logs.py b/tests/test_spend_logs.py new file mode 100644 index 00000000000..4d7ad175f9e --- /dev/null +++ b/tests/test_spend_logs.py @@ -0,0 +1,167 @@ +# What this tests? +## Tests /spend endpoints. + +import pytest, time, uuid +import asyncio +import aiohttp + + +async def generate_key(session, models=[]): + url = "http://0.0.0.0:4000/key/generate" + headers = {"Authorization": "Bearer sk-1234", "Content-Type": "application/json"} + data = { + "models": models, + "duration": None, + } + + async with session.post(url, headers=headers, json=data) as response: + status = response.status + response_text = await response.text() + + print(response_text) + print() + + if status != 200: + raise Exception(f"Request did not return a 200 status code: {status}") + return await response.json() + + +async def chat_completion(session, key, model="gpt-3.5-turbo"): + url = "http://0.0.0.0:4000/chat/completions" + headers = { + "Authorization": f"Bearer {key}", + "Content-Type": "application/json", + } + data = { + "model": model, + "messages": [ + {"role": "system", "content": "You are a helpful assistant."}, + {"role": "user", "content": f"Hello! {uuid.uuid4()}"}, + ], + } + + async with session.post(url, headers=headers, json=data) as response: + status = response.status + response_text = await response.text() + + print(response_text) + print() + + if status != 200: + raise Exception(f"Request did not return a 200 status code: {status}") + + return await response.json() + + +async def chat_completion_high_traffic(session, key, model="gpt-3.5-turbo"): + url = "http://0.0.0.0:4000/chat/completions" + headers = { + "Authorization": f"Bearer {key}", + "Content-Type": "application/json", + } + data = { + "model": model, + "messages": [ + {"role": "system", "content": "You are a helpful assistant."}, + {"role": "user", "content": f"Hello! {uuid.uuid4()}"}, + ], + } + try: + async with session.post(url, headers=headers, json=data) as response: + status = response.status + response_text = await response.text() + + if status != 200: + raise Exception(f"Request did not return a 200 status code: {status}") + + return await response.json() + except Exception as e: + return None + + +async def get_spend_logs(session, request_id=None, api_key=None): + if api_key is not None: + url = f"http://0.0.0.0:4000/spend/logs?api_key={api_key}" + else: + url = f"http://0.0.0.0:4000/spend/logs?request_id={request_id}" + headers = {"Authorization": "Bearer sk-1234", "Content-Type": "application/json"} + + async with session.get(url, headers=headers) as response: + status = response.status + response_text = await response.text() + + print(response_text) + print() + + if status != 200: + raise Exception(f"Request did not return a 200 status code: {status}") + return await response.json() + + +@pytest.mark.asyncio +async def test_spend_logs(): + """ + - Create key + - Make call (makes sure it's in spend logs) + - Get request id from logs + """ + async with aiohttp.ClientSession() as session: + key_gen = await generate_key(session=session) + key = key_gen["key"] + response = await chat_completion(session=session, key=key) + await asyncio.sleep(5) + await get_spend_logs(session=session, request_id=response["id"]) + + +@pytest.mark.skip(reason="High traffic load test, meant to be run locally") +@pytest.mark.asyncio +async def test_spend_logs_high_traffic(): + """ + - Create key + - Make 30 concurrent calls + - Get all logs for that key + - Wait 10s + - Assert it's 30 + """ + + async def retry_request(func, *args, _max_attempts=5, **kwargs): + for attempt in range(_max_attempts): + try: + return await func(*args, **kwargs) + except ( + aiohttp.client_exceptions.ClientOSError, + aiohttp.client_exceptions.ServerDisconnectedError, + ) as e: + if attempt + 1 == _max_attempts: + raise # re-raise the last ClientOSError if all attempts failed + print(f"Attempt {attempt+1} failed, retrying...") + + async with aiohttp.ClientSession( + timeout=aiohttp.ClientTimeout(total=600) + ) as session: + start = time.time() + key_gen = await generate_key(session=session) + key = key_gen["key"] + n = 1000 + tasks = [ + retry_request( + chat_completion_high_traffic, + session=session, + key=key, + model="azure-gpt-3.5", + ) + for _ in range(n) + ] + chat_completions = await asyncio.gather(*tasks) + successful_completions = [c for c in chat_completions if c is not None] + print(f"Num successful completions: {len(successful_completions)}") + await asyncio.sleep(10) + try: + response = await retry_request(get_spend_logs, session=session, api_key=key) + print(f"response: {response}") + print(f"len responses: {len(response)}") + assert len(response) == n + print(n, time.time() - start, len(response)) + except: + print(n, time.time() - start, 0) + raise Exception("it worked!") diff --git a/tests/test_users.py b/tests/test_users.py index 81b6166dc39..8982744678a 100644 --- a/tests/test_users.py +++ b/tests/test_users.py @@ -4,15 +4,18 @@ import pytest import asyncio import aiohttp import time +from openai import AsyncOpenAI -async def new_user(session, i, user_id=None): +async def new_user(session, i, user_id=None, budget=None, budget_duration=None): url = "http://0.0.0.0:4000/user/new" headers = {"Authorization": "Bearer sk-1234", "Content-Type": "application/json"} data = { "models": ["azure-models"], "aliases": {"mistral-7b": "gpt-3.5-turbo"}, "duration": None, + "max_budget": budget, + "budget_duration": budget_duration, } if user_id is not None: @@ -46,7 +49,7 @@ async def get_user_info(session, get_user, call_user): """ Make sure only models user has access to are returned """ - url = f"http://0.0.0.0:4000/user/info?key={get_user}" + url = f"http://0.0.0.0:4000/user/info?user_id={get_user}" headers = { "Authorization": f"Bearer {call_user}", "Content-Type": "application/json", @@ -100,3 +103,97 @@ async def test_user_update(): Make chat completion call """ pass + + +@pytest.mark.asyncio +async def test_users_budgets_reset(): + """ + - Create key with budget and 5s duration + - Get 'reset_at' value + - wait 5s + - Check if value updated + """ + get_user = f"krrish_{time.time()}@berri.ai" + async with aiohttp.ClientSession() as session: + key_gen = await new_user( + session, 0, user_id=get_user, budget=10, budget_duration="5s" + ) + key = key_gen["key"] + user_info = await get_user_info( + session=session, get_user=get_user, call_user=key + ) + reset_at_init_value = user_info["user_info"]["budget_reset_at"] + i = 0 + reset_at_new_value = None + while i < 3: + await asyncio.sleep(15) + user_info = await get_user_info( + session=session, get_user=get_user, call_user=key + ) + reset_at_new_value = user_info["user_info"]["budget_reset_at"] + try: + assert reset_at_init_value != reset_at_new_value + break + except: + i + 1 + assert reset_at_init_value != reset_at_new_value + + +async def chat_completion(session, key, model="gpt-4"): + client = AsyncOpenAI(api_key=key, base_url="http://0.0.0.0:4000") + messages = [ + {"role": "system", "content": "You are a helpful assistant"}, + {"role": "user", "content": f"Hello! {time.time()}"}, + ] + + data = { + "model": model, + "messages": messages, + } + response = await client.chat.completions.create(**data) + + +async def chat_completion_streaming(session, key, model="gpt-4"): + client = AsyncOpenAI(api_key=key, base_url="http://0.0.0.0:4000") + messages = [ + {"role": "system", "content": "You are a helpful assistant"}, + {"role": "user", "content": f"Hello! {time.time()}"}, + ] + + data = {"model": model, "messages": messages, "stream": True} + response = await client.chat.completions.create(**data) + async for chunk in response: + continue + + +@pytest.mark.asyncio +async def test_global_proxy_budget_update(): + """ + - Get proxy current spend + - Make chat completion call (normal) + - Assert spend increased + - Make chat completion call (streaming) + - Assert spend increased + """ + get_user = f"litellm-proxy-budget" + async with aiohttp.ClientSession() as session: + user_info = await get_user_info( + session=session, get_user=get_user, call_user="sk-1234" + ) + original_spend = user_info["user_info"]["spend"] + await chat_completion(session=session, key="sk-1234") + await asyncio.sleep(5) # let db update + user_info = await get_user_info( + session=session, get_user=get_user, call_user="sk-1234" + ) + new_spend = user_info["user_info"]["spend"] + print(f"new_spend: {new_spend}; original_spend: {original_spend}") + assert new_spend > original_spend + await chat_completion_streaming(session=session, key="sk-1234") + await asyncio.sleep(5) # let db update + user_info = await get_user_info( + session=session, get_user=get_user, call_user="sk-1234" + ) + new_new_spend = user_info["user_info"]["spend"] + print(f"new_spend: {new_spend}; original_spend: {original_spend}") + assert new_new_spend > new_spend diff --git a/ui/Dockerfile b/ui/Dockerfile index eac5a6c9e0e..28c9f195edf 100644 --- a/ui/Dockerfile +++ b/ui/Dockerfile @@ -1,17 +1,20 @@ -# Use official Python base image -FROM python:3.9 +# Use an official Node.js image as the base image +FROM node:18-alpine -# Set the working directory in the container +# Set the working directory inside the container WORKDIR /app -# Copy the requirements.txt file to the container -COPY requirements.txt . +# Copy package.json and package-lock.json to the working directory +COPY ./litellm-dashboard/package*.json ./ -# Install Python dependencies -RUN pip install --no-cache-dir -r requirements.txt +# Install dependencies +RUN npm install -# Copy the entire project directory to the container -COPY . . +# Copy the rest of the application code to the working directory +COPY ./litellm-dashboard . -# Set the entrypoint command to run admin.py with Streamlit -ENTRYPOINT ["streamlit", "run", "admin.py"] \ No newline at end of file +# Expose the port that the Next.js app will run on +EXPOSE 3000 + +# Start the Next.js app +CMD ["npm", "run", "dev"] diff --git a/ui/README.md b/ui/README.md index 6df891cee1a..14db30c73f2 100644 --- a/ui/README.md +++ b/ui/README.md @@ -1,9 +1,7 @@ # proxy ui -A simple UI to manage the litellm proxy. +Create Proxy Keys, Track Spend per key -This just lets users create new keys for the proxy, through a ui. +👉 UI is available on `/ui` on your Proxy. [docs](https://docs.litellm.ai/docs/proxy/ui) -Live here: https://litellm-jyqbcbn44mcxqq6ufopuha.streamlit.app/ - -Screenshot 2023-12-26 at 8 33 53 AM +![ui_3](https://github.com/BerriAI/litellm/assets/29436595/5566848d-bca1-4b41-9939-99009efd599d) diff --git a/ui/admin.py b/ui/admin.py index 8b5c6b3ab4e..96da791dfa2 100644 --- a/ui/admin.py +++ b/ui/admin.py @@ -238,7 +238,59 @@ def spend_per_key(): def spend_per_user(): - pass + import streamlit as st + import requests + + # Check if the necessary configuration is available + if ( + st.session_state.get("api_url", None) is not None + and st.session_state.get("proxy_key", None) is not None + ): + # Make the GET request + try: + complete_url = "" + if isinstance(st.session_state["api_url"], str) and st.session_state[ + "api_url" + ].endswith("/"): + complete_url = f"{st.session_state['api_url']}/spend/users" + else: + complete_url = f"{st.session_state['api_url']}/spend/users" + response = requests.get( + complete_url, + headers={"Authorization": f"Bearer {st.session_state['proxy_key']}"}, + ) + # Check if the request was successful + if response.status_code == 200: + spend_per_user = response.json() + # Create DataFrame + spend_df = pd.DataFrame(spend_per_user) + + # Display the spend per key as a graph + st.header("Spend ($) per User:") + top_10_df = spend_df.nlargest(10, "spend") + fig = px.bar( + top_10_df, + x="user_id", + y="spend", + title="Top 10 Spend per User", + height=550, # Adjust the height + width=1200, # Adjust the width) + hover_data=["user_id", "spend", "max_budget"], + ) + st.plotly_chart(fig) + + # Display the spend per key as a table + st.write("Spend per User - Full Table:") + st.table(spend_df) + + else: + st.error(f"Failed to get models. Status code: {response.status_code}") + except Exception as e: + st.error(f"An error occurred while requesting models: {e}") + else: + st.warning( + f"Please configure the Proxy Endpoint and Proxy Key on the Proxy Setup page. Currently set Proxy Endpoint: {st.session_state.get('api_url', None)} and Proxy Key: {st.session_state.get('proxy_key', None)}" + ) def create_key(): diff --git a/ui/litellm-dashboard/.eslintrc.json b/ui/litellm-dashboard/.eslintrc.json new file mode 100644 index 00000000000..bffb357a712 --- /dev/null +++ b/ui/litellm-dashboard/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "next/core-web-vitals" +} diff --git a/ui/litellm-dashboard/README.md b/ui/litellm-dashboard/README.md new file mode 100644 index 00000000000..c4033664f80 --- /dev/null +++ b/ui/litellm-dashboard/README.md @@ -0,0 +1,36 @@ +This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). + +## Getting Started + +First, run the development server: + +```bash +npm run dev +# or +yarn dev +# or +pnpm dev +# or +bun dev +``` + +Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. + +You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. + +This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font. + +## Learn More + +To learn more about Next.js, take a look at the following resources: + +- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. +- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. + +You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! + +## Deploy on Vercel + +The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. + +Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. diff --git a/ui/litellm-dashboard/next.config.mjs b/ui/litellm-dashboard/next.config.mjs new file mode 100644 index 00000000000..e1f8aa083ee --- /dev/null +++ b/ui/litellm-dashboard/next.config.mjs @@ -0,0 +1,11 @@ +/** @type {import('next').NextConfig} */ +const nextConfig = { + output: 'export', + basePath: '/ui', +}; + +nextConfig.experimental = { + missingSuspenseWithCSRBailout: false +} + +export default nextConfig; diff --git a/ui/litellm-dashboard/out/404.html b/ui/litellm-dashboard/out/404.html new file mode 100644 index 00000000000..6f87d8a0735 --- /dev/null +++ b/ui/litellm-dashboard/out/404.html @@ -0,0 +1 @@ +404: This page could not be found.🚅 LiteLLM

404

This page could not be found.

\ No newline at end of file diff --git a/ui/litellm-dashboard/out/_next/static/RFLw1mmLh8foSp0K2TJeY/_buildManifest.js b/ui/litellm-dashboard/out/_next/static/RFLw1mmLh8foSp0K2TJeY/_buildManifest.js new file mode 100644 index 00000000000..f779caa02f8 --- /dev/null +++ b/ui/litellm-dashboard/out/_next/static/RFLw1mmLh8foSp0K2TJeY/_buildManifest.js @@ -0,0 +1 @@ +self.__BUILD_MANIFEST={__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/_error":["static/chunks/pages/_error-d6107f1aac0c574c.js"],sortedPages:["/_app","/_error"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file diff --git a/ui/litellm-dashboard/out/_next/static/RFLw1mmLh8foSp0K2TJeY/_ssgManifest.js b/ui/litellm-dashboard/out/_next/static/RFLw1mmLh8foSp0K2TJeY/_ssgManifest.js new file mode 100644 index 00000000000..5b3ff592fd4 --- /dev/null +++ b/ui/litellm-dashboard/out/_next/static/RFLw1mmLh8foSp0K2TJeY/_ssgManifest.js @@ -0,0 +1 @@ +self.__SSG_MANIFEST=new Set([]);self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB() \ No newline at end of file diff --git a/ui/litellm-dashboard/out/_next/static/chunks/69-9b4acf26920649bc.js b/ui/litellm-dashboard/out/_next/static/chunks/69-9b4acf26920649bc.js new file mode 100644 index 00000000000..acd770fdb8f --- /dev/null +++ b/ui/litellm-dashboard/out/_next/static/chunks/69-9b4acf26920649bc.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[69],{60269:function(e,t){"use strict";function r(){return""}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getDeploymentIdQueryOrEmptyString",{enumerable:!0,get:function(){return r}})},9338:function(){"trimStart"in String.prototype||(String.prototype.trimStart=String.prototype.trimLeft),"trimEnd"in String.prototype||(String.prototype.trimEnd=String.prototype.trimRight),"description"in Symbol.prototype||Object.defineProperty(Symbol.prototype,"description",{configurable:!0,get:function(){var e=/\((.*)\)/.exec(this.toString());return e?e[1]:void 0}}),Array.prototype.flat||(Array.prototype.flat=function(e,t){return t=this.concat.apply([],this),e>1&&t.some(Array.isArray)?t.flat(e-1):t},Array.prototype.flatMap=function(e,t){return this.map(e,t).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(e){if("function"!=typeof e)return this.then(e,e);var t=this.constructor||Promise;return this.then(function(r){return t.resolve(e()).then(function(){return r})},function(r){return t.resolve(e()).then(function(){throw r})})}),Object.fromEntries||(Object.fromEntries=function(e){return Array.from(e).reduce(function(e,t){return e[t[0]]=t[1],e},{})}),Array.prototype.at||(Array.prototype.at=function(e){var t=Math.trunc(e)||0;if(t<0&&(t+=this.length),!(t<0||t>=this.length))return this[t]})},45786:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addBasePath",{enumerable:!0,get:function(){return u}});let n=r(51312),o=r(82139);function u(e,t){return(0,o.normalizePathTrailingSlash)((0,n.addPathPrefix)(e,"/ui"))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},66159:function(e,t){"use strict";function r(e){var t,r;t=self.__next_s,r=()=>{e()},t&&t.length?t.reduce((e,t)=>{let[r,n]=t;return e.then(()=>new Promise((e,t)=>{let o=document.createElement("script");if(n)for(let e in n)"children"!==e&&o.setAttribute(e,n[e]);r?(o.src=r,o.onload=()=>e(),o.onerror=t):n&&(o.innerHTML=n.children,setTimeout(e)),document.head.appendChild(o)}))},Promise.resolve()).catch(e=>{console.error(e)}).then(()=>{r()}):r()}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"appBootstrap",{enumerable:!0,get:function(){return r}}),window.next={version:"14.1.0",appDir:!0},("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},15355:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"callServer",{enumerable:!0,get:function(){return o}});let n=r(47690);async function o(e,t){let r=(0,n.getServerActionDispatcher)();if(!r)throw Error("Invariant: missing action dispatcher.");return new Promise((n,o)=>{r({actionId:e,actionArgs:t,resolve:n,reject:o})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},70945:function(e,t,r){"use strict";let n,o;Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hydrate",{enumerable:!0,get:function(){return C}});let u=r(86921),l=r(91884),a=r(3827);r(9338);let i=u._(r(47600)),c=l._(r(64090)),s=r(97355),f=r(27484);r(38599);let d=u._(r(4101)),p=r(15355),h=r(74950),y=r(85367),_=window.console.error;window.console.error=function(){for(var e=arguments.length,t=Array(e),r=0;r{if((0,h.isNextRouterError)(e.error)){e.preventDefault();return}});let v=document,b=()=>{let{pathname:e,search:t}=location;return e+t},g=new TextEncoder,m=!1,P=!1,j=null;function R(e){if(0===e[0])n=[];else if(1===e[0]){if(!n)throw Error("Unexpected server data: missing bootstrap script.");o?o.enqueue(g.encode(e[1])):n.push(e[1])}else 2===e[0]&&(j=e[1])}let O=function(){o&&!P&&(o.close(),P=!0,n=void 0),m=!0};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",O,!1):O();let S=self.__next_f=self.__next_f||[];S.forEach(R),S.push=R;let E=new Map;function w(e){let{cacheKey:t}=e;c.default.useEffect(()=>{E.delete(t)});let r=function(e){let t=E.get(e);if(t)return t;let r=new ReadableStream({start(e){n&&(n.forEach(t=>{e.enqueue(g.encode(t))}),m&&!P&&(e.close(),P=!0,n=void 0)),o=e}}),u=(0,s.createFromReadableStream)(r,{callServer:p.callServer});return E.set(e,u),u}(t);return(0,c.use)(r)}let M=c.default.StrictMode;function T(e){let{children:t}=e;return t}function x(e){return(0,a.jsx)(w,{...e,cacheKey:b()})}function C(){let e=(0,y.createMutableActionQueue)(),t=(0,a.jsx)(M,{children:(0,a.jsx)(f.HeadManagerContext.Provider,{value:{appDir:!0},children:(0,a.jsx)(y.ActionQueueContext.Provider,{value:e,children:(0,a.jsx)(T,{children:(0,a.jsx)(x,{})})})})}),r={onRecoverableError:d.default};"__next_error__"===document.documentElement.id?i.default.createRoot(v,r).render(t):c.default.startTransition(()=>i.default.hydrateRoot(v,t,{...r,formState:j}))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},35317:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(99590),(0,r(66159).appBootstrap)(()=>{let{hydrate:e}=r(70945);r(47690),r(5613),e()}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},99590:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(60269);{let e=r.u;r.u=function(){for(var t=arguments.length,r=Array(t),n=0;n(l(function(){var e;let t=document.getElementsByName(u)[0];if(null==t?void 0:null==(e=t.shadowRoot)?void 0:e.childNodes[0])return t.shadowRoot.childNodes[0];{let e=document.createElement(u);e.style.cssText="position:absolute";let t=document.createElement("div");return t.ariaLive="assertive",t.id="__next-route-announcer__",t.role="alert",t.style.cssText="position:absolute;border:0;height:1px;margin:-1px;padding:0;width:1px;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap;word-wrap:normal",e.attachShadow({mode:"open"}).appendChild(t),document.body.appendChild(e),t}}()),()=>{let e=document.getElementsByTagName(u)[0];(null==e?void 0:e.isConnected)&&document.body.removeChild(e)}),[]);let[a,i]=(0,n.useState)(""),c=(0,n.useRef)();return(0,n.useEffect)(()=>{let e="";if(document.title)e=document.title;else{let t=document.querySelector("h1");t&&(e=t.innerText||t.textContent||"")}void 0!==c.current&&c.current!==e&&i(e),c.current=e},[t]),r?(0,o.createPortal)(a,r):null}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},42275:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{RSC_HEADER:function(){return r},ACTION:function(){return n},NEXT_ROUTER_STATE_TREE:function(){return o},NEXT_ROUTER_PREFETCH_HEADER:function(){return u},NEXT_URL:function(){return l},RSC_CONTENT_TYPE_HEADER:function(){return a},RSC_VARY_HEADER:function(){return i},FLIGHT_PARAMETERS:function(){return c},NEXT_RSC_UNION_QUERY:function(){return s},NEXT_DID_POSTPONE_HEADER:function(){return f}});let r="RSC",n="Next-Action",o="Next-Router-State-Tree",u="Next-Router-Prefetch",l="Next-Url",a="text/x-component",i=r+", "+o+", "+u+", "+l,c=[[r],[o],[u]],s="_rsc",f="x-nextjs-postponed";("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},47690:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getServerActionDispatcher:function(){return O},urlToUrlWithoutFlightMarker:function(){return E},createEmptyCacheNode:function(){return T},default:function(){return A}});let n=r(91884),o=r(3827),u=n._(r(64090)),l=r(38599),a=r(91414),i=r(68419),c=r(14758),s=r(21276),f=r(48955),d=r(94492),p=r(16407),h=r(45786),y=r(92054),_=r(85737),v=r(40671),b=r(44399),g=r(42275),m=r(18895),P=r(87379),j=new Map,R=null;function O(){return R}let S={};function E(e){let t=new URL(e,location.origin);if(t.searchParams.delete(g.NEXT_RSC_UNION_QUERY),t.pathname.endsWith(".txt")){let{pathname:e}=t,r=e.endsWith("/index.txt")?10:4;t.pathname=e.slice(0,-r)}return t}function w(e){return e.origin!==window.location.origin}function M(e){let{appRouterState:t,sync:r}=e;return(0,u.useInsertionEffect)(()=>{let{tree:e,pushRef:n,canonicalUrl:o}=t,u={...n.preserveCustomHistoryState?window.history.state:{},__NA:!0,__PRIVATE_NEXTJS_INTERNALS_TREE:e};n.pendingPush&&(0,i.createHrefFromUrl)(new URL(window.location.href))!==o?(n.pendingPush=!1,window.history.pushState(u,"",o)):window.history.replaceState(u,"",o),r(t)},[t,r]),null}function T(){return{lazyData:null,rsc:null,prefetchRsc:null,parallelRoutes:new Map}}function x(e){null==e&&(e={});let t=window.history.state,r=null==t?void 0:t.__NA;r&&(e.__NA=r);let n=null==t?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE;return n&&(e.__PRIVATE_NEXTJS_INTERNALS_TREE=n),e}function C(e){let{headCacheNode:t}=e,r=null!==t?t.head:null,n=null!==t?t.prefetchHead:null,o=null!==n?n:r;return(0,u.useDeferredValue)(r,o)}function N(e){let t,{buildId:r,initialHead:n,initialTree:i,initialCanonicalUrl:f,initialSeedData:g,assetPrefix:O,missingSlots:E}=e,T=(0,u.useMemo)(()=>(0,d.createInitialRouterState)({buildId:r,initialSeedData:g,initialCanonicalUrl:f,initialTree:i,initialParallelRoutes:j,isServer:!1,location:window.location,initialHead:n}),[r,g,f,i,n]),[N,A,I]=(0,s.useReducerWithReduxDevtools)(T);(0,u.useEffect)(()=>{j=null},[]);let{canonicalUrl:k}=(0,s.useUnwrapState)(N),{searchParams:U,pathname:D}=(0,u.useMemo)(()=>{let e=new URL(k,window.location.href);return{searchParams:e.searchParams,pathname:(0,P.hasBasePath)(e.pathname)?(0,m.removeBasePath)(e.pathname):e.pathname}},[k]),F=(0,u.useCallback)((e,t,r)=>{(0,u.startTransition)(()=>{A({type:a.ACTION_SERVER_PATCH,flightData:t,previousTree:e,overrideCanonicalUrl:r})})},[A]),L=(0,u.useCallback)((e,t,r)=>{let n=new URL((0,h.addBasePath)(e),location.href);return A({type:a.ACTION_NAVIGATE,url:n,isExternalUrl:w(n),locationSearch:location.search,shouldScroll:null==r||r,navigateType:t})},[A]);R=(0,u.useCallback)(e=>{(0,u.startTransition)(()=>{A({...e,type:a.ACTION_SERVER_ACTION})})},[A]);let H=(0,u.useMemo)(()=>({back:()=>window.history.back(),forward:()=>window.history.forward(),prefetch:(e,t)=>{if((0,p.isBot)(window.navigator.userAgent))return;let r=new URL((0,h.addBasePath)(e),window.location.href);w(r)||(0,u.startTransition)(()=>{var e;A({type:a.ACTION_PREFETCH,url:r,kind:null!=(e=null==t?void 0:t.kind)?e:a.PrefetchKind.FULL})})},replace:(e,t)=>{void 0===t&&(t={}),(0,u.startTransition)(()=>{var r;L(e,"replace",null==(r=t.scroll)||r)})},push:(e,t)=>{void 0===t&&(t={}),(0,u.startTransition)(()=>{var r;L(e,"push",null==(r=t.scroll)||r)})},refresh:()=>{(0,u.startTransition)(()=>{A({type:a.ACTION_REFRESH,origin:window.location.origin})})},fastRefresh:()=>{throw Error("fastRefresh can only be used in development mode. Please use refresh instead.")}}),[A,L]);(0,u.useEffect)(()=>{window.next&&(window.next.router=H)},[H]),(0,u.useEffect)(()=>{function e(e){var t;e.persisted&&(null==(t=window.history.state)?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE)&&A({type:a.ACTION_RESTORE,url:new URL(window.location.href),tree:window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE})}return window.addEventListener("pageshow",e),()=>{window.removeEventListener("pageshow",e)}},[A]);let{pushRef:$}=(0,s.useUnwrapState)(N);if($.mpaNavigation){if(S.pendingMpaPath!==k){let e=window.location;$.pendingPush?e.assign(k):e.replace(k),S.pendingMpaPath=k}(0,u.use)((0,b.createInfinitePromise)())}(0,u.useEffect)(()=>{let e=window.history.pushState.bind(window.history),t=window.history.replaceState.bind(window.history),r=e=>{let t=window.location.href;(0,u.startTransition)(()=>{A({type:a.ACTION_RESTORE,url:new URL(null!=e?e:t,t),tree:window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE})})};window.history.pushState=function(t,n,o){return(null==t?void 0:t.__NA)||(null==t?void 0:t._N)||(t=x(t),o&&r(o)),e(t,n,o)},window.history.replaceState=function(e,n,o){return(null==e?void 0:e.__NA)||(null==e?void 0:e._N)||(e=x(e),o&&r(o)),t(e,n,o)};let n=e=>{let{state:t}=e;if(t){if(!t.__NA){window.location.reload();return}(0,u.startTransition)(()=>{A({type:a.ACTION_RESTORE,url:new URL(window.location.href),tree:t.__PRIVATE_NEXTJS_INTERNALS_TREE})})}};return window.addEventListener("popstate",n),()=>{window.history.pushState=e,window.history.replaceState=t,window.removeEventListener("popstate",n)}},[A]);let{cache:B,tree:W,nextUrl:G,focusAndScrollRef:z}=(0,s.useUnwrapState)(N),K=(0,u.useMemo)(()=>(0,v.findHeadInCache)(B,W[1]),[B,W]);if(null!==K){let[e,r]=K;t=(0,o.jsx)(C,{headCacheNode:e},r)}else t=null;let V=(0,o.jsxs)(_.RedirectBoundary,{children:[t,B.rsc,(0,o.jsx)(y.AppRouterAnnouncer,{tree:W})]});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(M,{appRouterState:(0,s.useUnwrapState)(N),sync:I}),(0,o.jsx)(c.PathnameContext.Provider,{value:D,children:(0,o.jsx)(c.SearchParamsContext.Provider,{value:U,children:(0,o.jsx)(l.GlobalLayoutRouterContext.Provider,{value:{buildId:r,changeByServerResponse:F,tree:W,focusAndScrollRef:z,nextUrl:G},children:(0,o.jsx)(l.AppRouterContext.Provider,{value:H,children:(0,o.jsx)(l.LayoutRouterContext.Provider,{value:{childNodes:B.parallelRoutes,tree:W,url:k},children:V})})})})})]})}function A(e){let{globalErrorComponent:t,...r}=e;return(0,o.jsx)(f.ErrorBoundary,{errorComponent:t,children:(0,o.jsx)(N,{...r})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},73706:function(e,t,r){"use strict";function n(e){}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"clientHookInServerComponentError",{enumerable:!0,get:function(){return n}}),r(86921),r(64090),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},48955:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ErrorBoundaryHandler:function(){return s},GlobalError:function(){return f},default:function(){return d},ErrorBoundary:function(){return p}});let n=r(86921),o=r(3827),u=n._(r(64090)),l=r(15313),a=r(74950),i={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},text:{fontSize:"14px",fontWeight:400,lineHeight:"28px",margin:"0 8px"}};function c(e){let{error:t}=e;if("function"==typeof fetch.__nextGetStaticStore){var r;let e=null==(r=fetch.__nextGetStaticStore())?void 0:r.getStore();if((null==e?void 0:e.isRevalidate)||(null==e?void 0:e.isStaticGeneration))throw console.error(t),t}return null}class s extends u.default.Component{static getDerivedStateFromError(e){if((0,a.isNextRouterError)(e))throw e;return{error:e}}static getDerivedStateFromProps(e,t){return e.pathname!==t.previousPathname&&t.error?{error:null,previousPathname:e.pathname}:{error:t.error,previousPathname:e.pathname}}render(){return this.state.error?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(c,{error:this.state.error}),this.props.errorStyles,this.props.errorScripts,(0,o.jsx)(this.props.errorComponent,{error:this.state.error,reset:this.reset})]}):this.props.children}constructor(e){super(e),this.reset=()=>{this.setState({error:null})},this.state={error:null,previousPathname:this.props.pathname}}}function f(e){let{error:t}=e,r=null==t?void 0:t.digest;return(0,o.jsxs)("html",{id:"__next_error__",children:[(0,o.jsx)("head",{}),(0,o.jsxs)("body",{children:[(0,o.jsx)(c,{error:t}),(0,o.jsx)("div",{style:i.error,children:(0,o.jsxs)("div",{children:[(0,o.jsx)("h2",{style:i.text,children:"Application error: a "+(r?"server":"client")+"-side exception has occurred (see the "+(r?"server logs":"browser console")+" for more information)."}),r?(0,o.jsx)("p",{style:i.text,children:"Digest: "+r}):null]})})]})]})}let d=f;function p(e){let{errorComponent:t,errorStyles:r,errorScripts:n,children:u}=e,a=(0,l.usePathname)();return t?(0,o.jsx)(s,{pathname:a,errorComponent:t,errorStyles:r,errorScripts:n,children:u}):(0,o.jsx)(o.Fragment,{children:u})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},47127:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DynamicServerError:function(){return n},isDynamicServerError:function(){return o}});let r="DYNAMIC_SERVER_USAGE";class n extends Error{constructor(e){super("Dynamic server usage: "+e),this.description=e,this.digest=r}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&"string"==typeof e.digest&&e.digest===r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},44399:function(e,t){"use strict";let r;function n(){return r||(r=new Promise(()=>{})),r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createInfinitePromise",{enumerable:!0,get:function(){return n}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},74950:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isNextRouterError",{enumerable:!0,get:function(){return u}});let n=r(12322),o=r(6155);function u(e){return e&&e.digest&&((0,o.isRedirectError)(e)||(0,n.isNotFoundError)(e))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5613:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return O}});let n=r(86921),o=r(91884),u=r(3827),l=o._(r(64090)),a=n._(r(89542)),i=r(38599),c=r(73546),s=r(44399),f=r(48955),d=r(22295),p=r(73011),h=r(85737),y=r(11902),_=r(6793),v=r(555),b=["bottom","height","left","right","top","width","x","y"];function g(e,t){let r=e.getBoundingClientRect();return r.top>=0&&r.top<=t}class m extends l.default.Component{componentDidMount(){this.handlePotentialScroll()}componentDidUpdate(){this.props.focusAndScrollRef.apply&&this.handlePotentialScroll()}render(){return this.props.children}constructor(...e){super(...e),this.handlePotentialScroll=()=>{let{focusAndScrollRef:e,segmentPath:t}=this.props;if(e.apply){var r;if(0!==e.segmentPaths.length&&!e.segmentPaths.some(e=>t.every((t,r)=>(0,d.matchSegment)(t,e[r]))))return;let n=null,o=e.hashFragment;if(o&&(n="top"===o?document.body:null!=(r=document.getElementById(o))?r:document.getElementsByName(o)[0]),n||(n=a.default.findDOMNode(this)),!(n instanceof Element))return;for(;!(n instanceof HTMLElement)||function(e){if(["sticky","fixed"].includes(getComputedStyle(e).position))return!0;let t=e.getBoundingClientRect();return b.every(e=>0===t[e])}(n);){if(null===n.nextElementSibling)return;n=n.nextElementSibling}e.apply=!1,e.hashFragment=null,e.segmentPaths=[],(0,p.handleSmoothScroll)(()=>{if(o){n.scrollIntoView();return}let e=document.documentElement,t=e.clientHeight;!g(n,t)&&(e.scrollTop=0,g(n,t)||n.scrollIntoView())},{dontForceLayout:!0,onlyHashChange:e.onlyHashChange}),e.onlyHashChange=!1,n.focus()}}}}function P(e){let{segmentPath:t,children:r}=e,n=(0,l.useContext)(i.GlobalLayoutRouterContext);if(!n)throw Error("invariant global layout router not mounted");return(0,u.jsx)(m,{segmentPath:t,focusAndScrollRef:n.focusAndScrollRef,children:r})}function j(e){let{parallelRouterKey:t,url:r,childNodes:n,segmentPath:o,tree:a,cacheKey:f}=e,p=(0,l.useContext)(i.GlobalLayoutRouterContext);if(!p)throw Error("invariant global layout router not mounted");let{buildId:h,changeByServerResponse:y,tree:_}=p,v=n.get(f);if(void 0===v){let e={lazyData:null,rsc:null,prefetchRsc:null,head:null,parallelRoutes:new Map};v=e,n.set(f,e)}let b=null!==v.prefetchRsc?v.prefetchRsc:v.rsc,g=(0,l.useDeferredValue)(v.rsc,b),m="object"==typeof g&&null!==g&&"function"==typeof g.then?(0,l.use)(g):g;if(!m){let e=v.lazyData;if(null===e){let t=function e(t,r){if(t){let[n,o]=t,u=2===t.length;if((0,d.matchSegment)(r[0],n)&&r[1].hasOwnProperty(o)){if(u){let t=e(void 0,r[1][o]);return[r[0],{...r[1],[o]:[t[0],t[1],t[2],"refetch"]}]}return[r[0],{...r[1],[o]:e(t.slice(2),r[1][o])}]}}return r}(["",...o],_);v.lazyData=e=(0,c.fetchServerResponse)(new URL(r,location.origin),t,p.nextUrl,h)}let[t,n]=(0,l.use)(e);v.lazyData=null,setTimeout(()=>{(0,l.startTransition)(()=>{y(_,t,n)})}),(0,l.use)((0,s.createInfinitePromise)())}return(0,u.jsx)(i.LayoutRouterContext.Provider,{value:{tree:a[1][t],childNodes:v.parallelRoutes,url:r},children:m})}function R(e){let{children:t,loading:r,loadingStyles:n,loadingScripts:o,hasLoading:a}=e;return a?(0,u.jsx)(l.Suspense,{fallback:(0,u.jsxs)(u.Fragment,{children:[n,o,r]}),children:t}):(0,u.jsx)(u.Fragment,{children:t})}function O(e){let{parallelRouterKey:t,segmentPath:r,error:n,errorStyles:o,errorScripts:a,templateStyles:c,templateScripts:s,loading:d,loadingStyles:p,loadingScripts:b,hasLoading:g,template:m,notFound:O,notFoundStyles:S,styles:E}=e,w=(0,l.useContext)(i.LayoutRouterContext);if(!w)throw Error("invariant expected layout router to be mounted");let{childNodes:M,tree:T,url:x}=w,C=M.get(t);C||(C=new Map,M.set(t,C));let N=T[1][t][0],A=(0,_.getSegmentValue)(N),I=[N];return(0,u.jsxs)(u.Fragment,{children:[E,I.map(e=>{let l=(0,_.getSegmentValue)(e),E=(0,v.createRouterCacheKey)(e);return(0,u.jsxs)(i.TemplateContext.Provider,{value:(0,u.jsx)(P,{segmentPath:r,children:(0,u.jsx)(f.ErrorBoundary,{errorComponent:n,errorStyles:o,errorScripts:a,children:(0,u.jsx)(R,{hasLoading:g,loading:d,loadingStyles:p,loadingScripts:b,children:(0,u.jsx)(y.NotFoundBoundary,{notFound:O,notFoundStyles:S,children:(0,u.jsx)(h.RedirectBoundary,{children:(0,u.jsx)(j,{parallelRouterKey:t,url:x,tree:T,childNodes:C,segmentPath:r,cacheKey:E,isActive:A===l})})})})})}),children:[c,s,m]},(0,v.createRouterCacheKey)(e,!0))})]})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},22295:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{matchSegment:function(){return o},canSegmentBeOverridden:function(){return u}});let n=r(2883),o=(e,t)=>"string"==typeof e?"string"==typeof t&&e===t:"string"!=typeof t&&e[0]===t[0]&&e[1]===t[1],u=(e,t)=>{var r;return!Array.isArray(e)&&!!Array.isArray(t)&&(null==(r=(0,n.getSegmentParam)(e))?void 0:r.param)===t[0]};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},15313:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ReadonlyURLSearchParams:function(){return h},useSearchParams:function(){return y},usePathname:function(){return _},ServerInsertedHTMLContext:function(){return c.ServerInsertedHTMLContext},useServerInsertedHTML:function(){return c.useServerInsertedHTML},useRouter:function(){return v},useParams:function(){return b},useSelectedLayoutSegments:function(){return g},useSelectedLayoutSegment:function(){return m},redirect:function(){return s.redirect},permanentRedirect:function(){return s.permanentRedirect},RedirectType:function(){return s.RedirectType},notFound:function(){return f.notFound}});let n=r(64090),o=r(38599),u=r(14758),l=r(73706),a=r(6793),i=r(63266),c=r(32472),s=r(6155),f=r(12322),d=Symbol("internal for urlsearchparams readonly");function p(){return Error("ReadonlyURLSearchParams cannot be modified")}class h{[Symbol.iterator](){return this[d][Symbol.iterator]()}append(){throw p()}delete(){throw p()}set(){throw p()}sort(){throw p()}constructor(e){this[d]=e,this.entries=e.entries.bind(e),this.forEach=e.forEach.bind(e),this.get=e.get.bind(e),this.getAll=e.getAll.bind(e),this.has=e.has.bind(e),this.keys=e.keys.bind(e),this.values=e.values.bind(e),this.toString=e.toString.bind(e),this.size=e.size}}function y(){(0,l.clientHookInServerComponentError)("useSearchParams");let e=(0,n.useContext)(u.SearchParamsContext);return(0,n.useMemo)(()=>e?new h(e):null,[e])}function _(){return(0,l.clientHookInServerComponentError)("usePathname"),(0,n.useContext)(u.PathnameContext)}function v(){(0,l.clientHookInServerComponentError)("useRouter");let e=(0,n.useContext)(o.AppRouterContext);if(null===e)throw Error("invariant expected app router to be mounted");return e}function b(){(0,l.clientHookInServerComponentError)("useParams");let e=(0,n.useContext)(o.GlobalLayoutRouterContext),t=(0,n.useContext)(u.PathParamsContext);return(0,n.useMemo)(()=>(null==e?void 0:e.tree)?function e(t,r){for(let n of(void 0===r&&(r={}),Object.values(t[1]))){let t=n[0],o=Array.isArray(t),u=o?t[1]:t;!u||u.startsWith(i.PAGE_SEGMENT_KEY)||(o&&("c"===t[2]||"oc"===t[2])?r[t[0]]=t[1].split("/"):o&&(r[t[0]]=t[1]),r=e(n,r))}return r}(e.tree):t,[null==e?void 0:e.tree,t])}function g(e){void 0===e&&(e="children"),(0,l.clientHookInServerComponentError)("useSelectedLayoutSegments");let{tree:t}=(0,n.useContext)(o.LayoutRouterContext);return function e(t,r,n,o){let u;if(void 0===n&&(n=!0),void 0===o&&(o=[]),n)u=t[1][r];else{var l;let e=t[1];u=null!=(l=e.children)?l:Object.values(e)[0]}if(!u)return o;let c=u[0],s=(0,a.getSegmentValue)(c);return!s||s.startsWith(i.PAGE_SEGMENT_KEY)?o:(o.push(s),e(u,r,!1,o))}(t,e)}function m(e){void 0===e&&(e="children"),(0,l.clientHookInServerComponentError)("useSelectedLayoutSegment");let t=g(e);return 0===t.length?null:t[0]}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},11902:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"NotFoundBoundary",{enumerable:!0,get:function(){return s}});let n=r(91884),o=r(3827),u=n._(r(64090)),l=r(15313),a=r(12322);r(76184);let i=r(38599);class c extends u.default.Component{componentDidCatch(){}static getDerivedStateFromError(e){if((0,a.isNotFoundError)(e))return{notFoundTriggered:!0};throw e}static getDerivedStateFromProps(e,t){return e.pathname!==t.previousPathname&&t.notFoundTriggered?{notFoundTriggered:!1,previousPathname:e.pathname}:{notFoundTriggered:t.notFoundTriggered,previousPathname:e.pathname}}render(){return this.state.notFoundTriggered?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("meta",{name:"robots",content:"noindex"}),!1,this.props.notFoundStyles,this.props.notFound]}):this.props.children}constructor(e){super(e),this.state={notFoundTriggered:!!e.asNotFound,previousPathname:e.pathname}}}function s(e){let{notFound:t,notFoundStyles:r,asNotFound:n,children:a}=e,s=(0,l.usePathname)(),f=(0,u.useContext)(i.MissingSlotContext);return t?(0,o.jsx)(c,{pathname:s,notFound:t,notFoundStyles:r,asNotFound:n,missingSlots:f,children:a}):(0,o.jsx)(o.Fragment,{children:a})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},12322:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{notFound:function(){return n},isNotFoundError:function(){return o}});let r="NEXT_NOT_FOUND";function n(){let e=Error(r);throw e.digest=r,e}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},82418:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PromiseQueue",{enumerable:!0,get:function(){return c}});let n=r(42299),o=r(13603);var u=o._("_maxConcurrency"),l=o._("_runningCount"),a=o._("_queue"),i=o._("_processNext");class c{enqueue(e){let t,r;let o=new Promise((e,n)=>{t=e,r=n}),u=async()=>{try{n._(this,l)[l]++;let r=await e();t(r)}catch(e){r(e)}finally{n._(this,l)[l]--,n._(this,i)[i]()}};return n._(this,a)[a].push({promiseFn:o,task:u}),n._(this,i)[i](),o}bump(e){let t=n._(this,a)[a].findIndex(t=>t.promiseFn===e);if(t>-1){let e=n._(this,a)[a].splice(t,1)[0];n._(this,a)[a].unshift(e),n._(this,i)[i](!0)}}constructor(e=5){Object.defineProperty(this,i,{value:s}),Object.defineProperty(this,u,{writable:!0,value:void 0}),Object.defineProperty(this,l,{writable:!0,value:void 0}),Object.defineProperty(this,a,{writable:!0,value:void 0}),n._(this,u)[u]=e,n._(this,l)[l]=0,n._(this,a)[a]=[]}}function s(e){if(void 0===e&&(e=!1),(n._(this,l)[l]0){var t;null==(t=n._(this,a)[a].shift())||t.task()}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},85737:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{RedirectErrorBoundary:function(){return c},RedirectBoundary:function(){return s}});let n=r(91884),o=r(3827),u=n._(r(64090)),l=r(15313),a=r(6155);function i(e){let{redirect:t,reset:r,redirectType:n}=e,o=(0,l.useRouter)();return(0,u.useEffect)(()=>{u.default.startTransition(()=>{n===a.RedirectType.push?o.push(t,{}):o.replace(t,{}),r()})},[t,n,r,o]),null}class c extends u.default.Component{static getDerivedStateFromError(e){if((0,a.isRedirectError)(e))return{redirect:(0,a.getURLFromRedirectError)(e),redirectType:(0,a.getRedirectTypeFromError)(e)};throw e}render(){let{redirect:e,redirectType:t}=this.state;return null!==e&&null!==t?(0,o.jsx)(i,{redirect:e,redirectType:t,reset:()=>this.setState({redirect:null})}):this.props.children}constructor(e){super(e),this.state={redirect:null,redirectType:null}}}function s(e){let{children:t}=e,r=(0,l.useRouter)();return(0,o.jsx)(c,{router:r,children:t})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9510:function(e,t){"use strict";var r,n;Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RedirectStatusCode",{enumerable:!0,get:function(){return r}}),(n=r||(r={}))[n.SeeOther=303]="SeeOther",n[n.TemporaryRedirect=307]="TemporaryRedirect",n[n.PermanentRedirect=308]="PermanentRedirect",("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6155:function(e,t,r){"use strict";var n,o;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{RedirectType:function(){return n},getRedirectError:function(){return c},redirect:function(){return s},permanentRedirect:function(){return f},isRedirectError:function(){return d},getURLFromRedirectError:function(){return p},getRedirectTypeFromError:function(){return h},getRedirectStatusCodeFromError:function(){return y}});let u=r(96668),l=r(61264),a=r(9510),i="NEXT_REDIRECT";function c(e,t,r){void 0===r&&(r=a.RedirectStatusCode.TemporaryRedirect);let n=Error(i);n.digest=i+";"+t+";"+e+";"+r+";";let o=u.requestAsyncStorage.getStore();return o&&(n.mutableCookies=o.mutableCookies),n}function s(e,t){void 0===t&&(t="replace");let r=l.actionAsyncStorage.getStore();throw c(e,t,(null==r?void 0:r.isAction)?a.RedirectStatusCode.SeeOther:a.RedirectStatusCode.TemporaryRedirect)}function f(e,t){void 0===t&&(t="replace");let r=l.actionAsyncStorage.getStore();throw c(e,t,(null==r?void 0:r.isAction)?a.RedirectStatusCode.SeeOther:a.RedirectStatusCode.PermanentRedirect)}function d(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,r,n,o]=e.digest.split(";",4),u=Number(o);return t===i&&("replace"===r||"push"===r)&&"string"==typeof n&&!isNaN(u)&&u in a.RedirectStatusCode}function p(e){return d(e)?e.digest.split(";",3)[2]:null}function h(e){if(!d(e))throw Error("Not a redirect error");return e.digest.split(";",2)[1]}function y(e){if(!d(e))throw Error("Not a redirect error");return Number(e.digest.split(";",4)[3])}(o=n||(n={})).push="push",o.replace="replace",("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},31778:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}});let n=r(91884),o=r(3827),u=n._(r(64090)),l=r(38599);function a(){let e=(0,u.useContext)(l.TemplateContext);return(0,o.jsx)(o.Fragment,{children:e})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},96668:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"requestAsyncStorage",{enumerable:!0,get:function(){return n}});let n=(0,r(70693).createAsyncLocalStorage)();("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},39671:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"applyFlightData",{enumerable:!0,get:function(){return u}});let n=r(4765),o=r(9e4);function u(e,t,r,u){void 0===u&&(u=!1);let[l,a,i]=r.slice(-3);if(null===a)return!1;if(3===r.length){let r=a[2];t.rsc=r,t.prefetchRsc=null,(0,n.fillLazyItemsTillLeafWithHead)(t,e,l,a,i,u)}else t.rsc=e.rsc,t.prefetchRsc=e.prefetchRsc,t.parallelRoutes=new Map(e.parallelRoutes),(0,o.fillCacheWithNewSubTreeData)(t,e,r,u);return!0}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},27098:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{applyRouterStatePatchToFullTree:function(){return a},applyRouterStatePatchToTreeSkipDefault:function(){return i}});let n=r(63266),o=r(22295);function u(e,t,r){void 0===r&&(r=!1);let[l,a]=e,[i,c]=t;if(!r&&i===n.DEFAULT_SEGMENT_KEY&&l!==n.DEFAULT_SEGMENT_KEY)return e;if((0,o.matchSegment)(l,i)){let t={};for(let e in a)void 0!==c[e]?t[e]=u(a[e],c[e],r):t[e]=a[e];for(let e in c)t[e]||(t[e]=c[e]);let n=[l,t];return e[2]&&(n[2]=e[2]),e[3]&&(n[3]=e[3]),e[4]&&(n[4]=e[4]),n}return t}function l(e,t,r,n){let a;void 0===n&&(n=!1);let[i,c,,,s]=t;if(1===e.length)return u(t,r,n);let[f,d]=e;if(!(0,o.matchSegment)(f,i))return null;if(2===e.length)a=u(c[d],r,n);else if(null===(a=l(e.slice(2),c[d],r,n)))return null;let p=[e[0],{...c,[d]:a}];return s&&(p[4]=!0),p}function a(e,t,r){return l(e,t,r,!0)}function i(e,t,r){return l(e,t,r,!1)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4038:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{extractPathFromFlightRouterState:function(){return c},computeChangedPath:function(){return s}});let n=r(94749),o=r(63266),u=r(22295),l=e=>"/"===e[0]?e.slice(1):e,a=e=>"string"==typeof e?e:e[1];function i(e){return e.reduce((e,t)=>""===(t=l(t))||(0,o.isGroupSegment)(t)?e:e+"/"+t,"")||"/"}function c(e){var t;let r=Array.isArray(e[0])?e[0][1]:e[0];if(r===o.DEFAULT_SEGMENT_KEY||n.INTERCEPTION_ROUTE_MARKERS.some(e=>r.startsWith(e)))return;if(r.startsWith(o.PAGE_SEGMENT_KEY))return"";let u=[r],l=null!=(t=e[1])?t:{},a=l.children?c(l.children):void 0;if(void 0!==a)u.push(a);else for(let[e,t]of Object.entries(l)){if("children"===e)continue;let r=c(t);void 0!==r&&u.push(r)}return i(u)}function s(e,t){let r=function e(t,r){let[o,l]=t,[i,s]=r,f=a(o),d=a(i);if(n.INTERCEPTION_ROUTE_MARKERS.some(e=>f.startsWith(e)||d.startsWith(e)))return"";if(!(0,u.matchSegment)(o,i)){var p;return null!=(p=c(r))?p:""}for(let t in l)if(s[t]){let r=e(l[t],s[t]);if(null!==r)return a(i)+"/"+r}return null}(e,t);return null==r||"/"===r?r:i(r.split("/"))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},68419:function(e,t){"use strict";function r(e,t){return void 0===t&&(t=!0),e.pathname+e.search+(t?e.hash:"")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createHrefFromUrl",{enumerable:!0,get:function(){return r}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},94492:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createInitialRouterState",{enumerable:!0,get:function(){return l}});let n=r(68419),o=r(4765),u=r(4038);function l(e){var t;let{buildId:r,initialTree:l,initialSeedData:a,initialCanonicalUrl:i,initialParallelRoutes:c,isServer:s,location:f,initialHead:d}=e,p={lazyData:null,rsc:a[2],prefetchRsc:null,parallelRoutes:s?new Map:c};return(null===c||0===c.size)&&(0,o.fillLazyItemsTillLeafWithHead)(p,void 0,l,a,d),{buildId:r,tree:l,cache:p,prefetchCache:new Map,pushRef:{pendingPush:!1,mpaNavigation:!1,preserveCustomHistoryState:!0},focusAndScrollRef:{apply:!1,onlyHashChange:!1,hashFragment:null,segmentPaths:[]},canonicalUrl:f?(0,n.createHrefFromUrl)(f):i,nextUrl:null!=(t=(0,u.extractPathFromFlightRouterState)(l)||(null==f?void 0:f.pathname))?t:null}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},555:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createRouterCacheKey",{enumerable:!0,get:function(){return o}});let n=r(63266);function o(e,t){return(void 0===t&&(t=!1),Array.isArray(e))?(e[0]+"|"+e[1]+"|"+e[2]).toLowerCase():t&&e.startsWith(n.PAGE_SEGMENT_KEY)?n.PAGE_SEGMENT_KEY:e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},73546:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"fetchServerResponse",{enumerable:!0,get:function(){return s}});let n=r(42275),o=r(47690),u=r(15355),l=r(91414),a=r(1),{createFromFetch:i}=r(97355);function c(e){return[(0,o.urlToUrlWithoutFlightMarker)(e).toString(),void 0]}async function s(e,t,r,s,f){let d={[n.RSC_HEADER]:"1",[n.NEXT_ROUTER_STATE_TREE]:encodeURIComponent(JSON.stringify(t))};f===l.PrefetchKind.AUTO&&(d[n.NEXT_ROUTER_PREFETCH_HEADER]="1"),r&&(d[n.NEXT_URL]=r);let p=(0,a.hexHash)([d[n.NEXT_ROUTER_PREFETCH_HEADER]||"0",d[n.NEXT_ROUTER_STATE_TREE],d[n.NEXT_URL]].join(","));try{let t=new URL(e);t.pathname.endsWith("/")?t.pathname+="index.txt":t.pathname+=".txt",t.searchParams.set(n.NEXT_RSC_UNION_QUERY,p);let r=await fetch(t,{credentials:"same-origin",headers:d}),l=(0,o.urlToUrlWithoutFlightMarker)(r.url),a=r.redirected?l:void 0,f=r.headers.get("content-type")||"",h=!!r.headers.get(n.NEXT_DID_POSTPONE_HEADER),y=f===n.RSC_CONTENT_TYPE_HEADER;if(y||(y=f.startsWith("text/plain")),!y||!r.ok)return e.hash&&(l.hash=e.hash),c(l.toString());let[_,v]=await i(Promise.resolve(r),{callServer:u.callServer});if(s!==_)return c(r.url);return[v,a,h]}catch(t){return console.error("Failed to fetch RSC payload for "+e+". Falling back to browser navigation.",t),[e.toString(),void 0]}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},62950:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"fillCacheWithDataProperty",{enumerable:!0,get:function(){return function e(t,r,o,u){let l=o.length<=2,[a,i]=o,c=(0,n.createRouterCacheKey)(i),s=r.parallelRoutes.get(a),f=t.parallelRoutes.get(a);f&&f!==s||(f=new Map(s),t.parallelRoutes.set(a,f));let d=null==s?void 0:s.get(c),p=f.get(c);if(l){p&&p.lazyData&&p!==d||f.set(c,{lazyData:u(),rsc:null,prefetchRsc:null,parallelRoutes:new Map});return}if(!p||!d){p||f.set(c,{lazyData:u(),rsc:null,prefetchRsc:null,parallelRoutes:new Map});return}return p===d&&(p={lazyData:p.lazyData,rsc:p.rsc,prefetchRsc:p.prefetchRsc,parallelRoutes:new Map(p.parallelRoutes)},f.set(c,p)),e(p,d,o.slice(2),u)}}});let n=r(555);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9e4:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"fillCacheWithNewSubTreeData",{enumerable:!0,get:function(){return function e(t,r,l,a){let i=l.length<=5,[c,s]=l,f=(0,u.createRouterCacheKey)(s),d=r.parallelRoutes.get(c);if(!d)return;let p=t.parallelRoutes.get(c);p&&p!==d||(p=new Map(d),t.parallelRoutes.set(c,p));let h=d.get(f),y=p.get(f);if(i){if(!y||!y.lazyData||y===h){let e=l[3];y={lazyData:null,rsc:e[2],prefetchRsc:null,parallelRoutes:h?new Map(h.parallelRoutes):new Map},h&&(0,n.invalidateCacheByRouterState)(y,h,l[2]),(0,o.fillLazyItemsTillLeafWithHead)(y,h,l[2],e,l[4],a),p.set(f,y)}return}y&&h&&(y===h&&(y={lazyData:y.lazyData,rsc:y.rsc,prefetchRsc:y.prefetchRsc,parallelRoutes:new Map(y.parallelRoutes)},p.set(f,y)),e(y,h,l.slice(2),a))}}});let n=r(46152),o=r(4765),u=r(555);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4765:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"fillLazyItemsTillLeafWithHead",{enumerable:!0,get:function(){return function e(t,r,o,u,l,a){if(0===Object.keys(o[1]).length){t.head=l;return}for(let i in o[1]){let c;let s=o[1][i],f=s[0],d=(0,n.createRouterCacheKey)(f),p=null!==u&&void 0!==u[1][i]?u[1][i]:null;if(r){let n=r.parallelRoutes.get(i);if(n){let r,o=new Map(n),u=o.get(d);r=null!==p?{lazyData:null,rsc:p[2],prefetchRsc:null,parallelRoutes:new Map(null==u?void 0:u.parallelRoutes)}:a&&u?{lazyData:u.lazyData,rsc:u.rsc,prefetchRsc:u.prefetchRsc,parallelRoutes:new Map(u.parallelRoutes)}:{lazyData:null,rsc:null,prefetchRsc:null,parallelRoutes:new Map(null==u?void 0:u.parallelRoutes)},o.set(d,r),e(r,u,s,p||null,l,a),t.parallelRoutes.set(i,o);continue}}c=null!==p?{lazyData:null,rsc:p[2],prefetchRsc:null,parallelRoutes:new Map}:{lazyData:null,rsc:null,prefetchRsc:null,parallelRoutes:new Map};let h=t.parallelRoutes.get(i);h?h.set(d,c):t.parallelRoutes.set(i,new Map([[d,c]])),e(c,void 0,s,p,l,a)}}}});let n=r(555);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},71486:function(e,t){"use strict";var r,n;function o(e){let{kind:t,prefetchTime:r,lastUsedTime:n}=e;return Date.now()<(null!=n?n:r)+3e4?n?"reusable":"fresh":"auto"===t&&Date.now(){for(let r of t[0]){let t=r.slice(0,-3),n=r[r.length-3],l=r[r.length-2],a=r[r.length-1];"string"!=typeof t&&function(e,t,r,n,l){let a=e;for(let e=0;e{c(e,t)})}function i(e,t,r,n){let o=e[1],l=null!==t?t[1]:null,a=new Map;for(let e in o){let t=o[e],c=null!==l?l[e]:null,s=t[0],f=(0,u.createRouterCacheKey)(s),d=i(t,void 0===c?null:c,r,n),p=new Map;p.set(f,d),a.set(e,p)}let c=0===a.size,s=null!==t?t[2]:null;return{lazyData:null,parallelRoutes:a,prefetchRsc:n||void 0===s?null:s,prefetchHead:!n&&c?r:null,rsc:p(),head:c?p():null}}function c(e,t){let r=e.node;if(null===r)return;let n=e.children;if(null===n)s(e.route,r,t);else for(let e of n.values())c(e,t);e.node=null}function s(e,t,r){let n=e[1],o=t.parallelRoutes;for(let e in n){let t=n[e],l=o.get(e);if(void 0===l)continue;let a=t[0],i=(0,u.createRouterCacheKey)(a),c=l.get(i);void 0!==c&&s(t,c,r)}let l=t.rsc;d(l)&&(null===r?l.resolve(null):l.reject(r));let a=t.head;d(a)&&a.resolve(null)}let f=Symbol();function d(e){return e&&e.tag===f}function p(){let e,t;let r=new Promise((r,n)=>{e=r,t=n});return r.status="pending",r.resolve=t=>{"pending"===r.status&&(r.status="fulfilled",r.value=t,e(t))},r.reject=e=>{"pending"===r.status&&(r.status="rejected",r.reason=e,t(e))},r.tag=f,r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},95606:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createPrefetchCacheKey",{enumerable:!0,get:function(){return l}});let n=r(51312),o=r(87027),u=r(68419);function l(e,t){let r=(0,u.createHrefFromUrl)(e,!1);return t&&!(0,o.pathHasPrefix)(r,t)?(0,n.addPathPrefix)(r,""+t+"%"):r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},16503:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"fastRefreshReducer",{enumerable:!0,get:function(){return n}}),r(73546),r(68419),r(27098),r(11956),r(5596),r(28875),r(39671),r(47690),r(52224);let n=function(e,t){return e};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},40671:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"findHeadInCache",{enumerable:!0,get:function(){return o}});let n=r(555);function o(e,t){return function e(t,r,o){if(0===Object.keys(r).length)return[t,o];for(let u in r){let[l,a]=r[u],i=t.parallelRoutes.get(u);if(!i)continue;let c=(0,n.createRouterCacheKey)(l),s=i.get(c);if(!s)continue;let f=e(s,a,o+"/"+c);if(f)return f}return null}(e,t,"")}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6793:function(e,t){"use strict";function r(e){return Array.isArray(e)?e[1]:e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSegmentValue",{enumerable:!0,get:function(){return r}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5596:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{handleExternalUrl:function(){return g},navigateReducer:function(){return P}});let n=r(73546),o=r(68419),u=r(23074),l=r(62950),a=r(27098),i=r(13556),c=r(11956),s=r(91414),f=r(28875),d=r(39671),p=r(71486),h=r(27052),y=r(5678),_=r(47690),v=r(63266);r(6384);let b=r(95606);function g(e,t,r,n){return t.mpaNavigation=!0,t.canonicalUrl=r,t.pendingPush=n,t.scrollableSegments=void 0,(0,f.handleMutable)(e,t)}function m(e){let t=[],[r,n]=e;if(0===Object.keys(n).length)return[[r]];for(let[e,o]of Object.entries(n))for(let n of m(o))""===r?t.push([e,...n]):t.push([r,e,...n]);return t}let P=function(e,t){let{url:r,isExternalUrl:P,navigateType:j,shouldScroll:R}=t,O={},{hash:S}=r,E=(0,o.createHrefFromUrl)(r),w="push"===j;if((0,h.prunePrefetchCache)(e.prefetchCache),O.preserveCustomHistoryState=!1,P)return g(e,O,r.toString(),w);let M=(0,b.createPrefetchCacheKey)(r,e.nextUrl),T=e.prefetchCache.get(M);if(!T){let t={data:(0,n.fetchServerResponse)(r,e.tree,e.nextUrl,e.buildId,void 0),kind:s.PrefetchKind.TEMPORARY,prefetchTime:Date.now(),treeAtTimeOfPrefetch:e.tree,lastUsedTime:null};e.prefetchCache.set(M,t),T=t}let x=(0,p.getPrefetchEntryCacheStatus)(T),{treeAtTimeOfPrefetch:C,data:N}=T;return y.prefetchQueue.bump(N),N.then(t=>{let[s,h,y]=t;if(T&&!T.lastUsedTime&&(T.lastUsedTime=Date.now()),"string"==typeof s)return g(e,O,s,w);let b=e.tree,P=e.cache,j=[];for(let t of s){let o=t.slice(0,-4),s=t.slice(-3)[0],f=["",...o],h=(0,a.applyRouterStatePatchToTreeSkipDefault)(f,b,s);if(null===h&&(h=(0,a.applyRouterStatePatchToTreeSkipDefault)(f,C,s)),null!==h){if((0,c.isNavigatingToNewRootLayout)(b,h))return g(e,O,E,w);let a=(0,_.createEmptyCacheNode)(),R=(0,d.applyFlightData)(P,a,t,(null==T?void 0:T.kind)==="auto"&&x===p.PrefetchCacheEntryStatus.reusable);for(let t of((!R&&x===p.PrefetchCacheEntryStatus.stale||y)&&(R=function(e,t,r,n,o){let u=!1;for(let a of(e.rsc=t.rsc,e.prefetchRsc=t.prefetchRsc,e.parallelRoutes=new Map(t.parallelRoutes),m(n).map(e=>[...r,...e])))(0,l.fillCacheWithDataProperty)(e,t,a,o),u=!0;return u}(a,P,o,s,()=>(0,n.fetchServerResponse)(r,b,e.nextUrl,e.buildId))),(0,i.shouldHardNavigate)(f,b)?(a.rsc=P.rsc,a.prefetchRsc=P.prefetchRsc,(0,u.invalidateCacheBelowFlightSegmentPath)(a,P,o),O.cache=a):R&&(O.cache=a),P=a,b=h,m(s))){let e=[...o,...t];e[e.length-1]!==v.DEFAULT_SEGMENT_KEY&&j.push(e)}}}return O.patchedTree=b,O.canonicalUrl=h?(0,o.createHrefFromUrl)(h):E,O.pendingPush=w,O.scrollableSegments=j,O.hashFragment=S,O.shouldScroll=R,(0,f.handleMutable)(e,O)},()=>e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5678:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{prefetchQueue:function(){return c},prefetchReducer:function(){return s}});let n=r(73546),o=r(91414),u=r(27052),l=r(42275),a=r(82418),i=r(95606),c=new a.PromiseQueue(5);function s(e,t){(0,u.prunePrefetchCache)(e.prefetchCache);let{url:r}=t;r.searchParams.delete(l.NEXT_RSC_UNION_QUERY);let a=(0,i.createPrefetchCacheKey)(r,e.nextUrl),s=e.prefetchCache.get(a);if(s&&(s.kind===o.PrefetchKind.TEMPORARY&&e.prefetchCache.set(a,{...s,kind:t.kind}),!(s.kind===o.PrefetchKind.AUTO&&t.kind===o.PrefetchKind.FULL)))return e;let f=c.enqueue(()=>(0,n.fetchServerResponse)(r,e.tree,e.nextUrl,e.buildId,t.kind));return e.prefetchCache.set(a,{treeAtTimeOfPrefetch:e.tree,data:f,kind:t.kind,prefetchTime:Date.now(),lastUsedTime:null}),e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},27052:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"prunePrefetchCache",{enumerable:!0,get:function(){return o}});let n=r(71486);function o(e){for(let[t,r]of e)(0,n.getPrefetchEntryCacheStatus)(r)===n.PrefetchCacheEntryStatus.expired&&e.delete(t)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},67491:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"refreshReducer",{enumerable:!0,get:function(){return d}});let n=r(73546),o=r(68419),u=r(27098),l=r(11956),a=r(5596),i=r(28875),c=r(4765),s=r(47690),f=r(52224);function d(e,t){let{origin:r}=t,d={},p=e.canonicalUrl,h=e.tree;d.preserveCustomHistoryState=!1;let y=(0,s.createEmptyCacheNode)();return y.lazyData=(0,n.fetchServerResponse)(new URL(p,r),[h[0],h[1],h[2],"refetch"],e.nextUrl,e.buildId),y.lazyData.then(r=>{let[n,s]=r;if("string"==typeof n)return(0,a.handleExternalUrl)(e,d,n,e.pushRef.pendingPush);for(let r of(y.lazyData=null,n)){if(3!==r.length)return console.log("REFRESH FAILED"),e;let[n]=r,i=(0,u.applyRouterStatePatchToFullTree)([""],h,n);if(null===i)return(0,f.handleSegmentMismatch)(e,t,n);if((0,l.isNavigatingToNewRootLayout)(h,i))return(0,a.handleExternalUrl)(e,d,p,e.pushRef.pendingPush);let _=s?(0,o.createHrefFromUrl)(s):void 0;s&&(d.canonicalUrl=_);let[v,b]=r.slice(-2);if(null!==v){let e=v[2];y.rsc=e,y.prefetchRsc=null,(0,c.fillLazyItemsTillLeafWithHead)(y,void 0,n,v,b),d.cache=y,d.prefetchCache=new Map}d.patchedTree=i,d.canonicalUrl=p,h=i}return(0,i.handleMutable)(e,d)},()=>e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},57222:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"restoreReducer",{enumerable:!0,get:function(){return u}});let n=r(68419),o=r(4038);function u(e,t){var r;let{url:u,tree:l}=t,a=(0,n.createHrefFromUrl)(u),i=e.cache;return{buildId:e.buildId,canonicalUrl:a,pushRef:{pendingPush:!1,mpaNavigation:!1,preserveCustomHistoryState:!0},focusAndScrollRef:e.focusAndScrollRef,cache:i,prefetchCache:e.prefetchCache,tree:l,nextUrl:null!=(r=(0,o.extractPathFromFlightRouterState)(l))?r:u.pathname}}r(6384),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},40899:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"serverActionReducer",{enumerable:!0,get:function(){return b}});let n=r(15355),o=r(42275),u=r(45786),l=r(68419),a=r(5596),i=r(27098),c=r(11956),s=r(28875),f=r(4765),d=r(47690),p=r(4038),h=r(52224),{createFromFetch:y,encodeReply:_}=r(97355);async function v(e,t){let r,{actionId:l,actionArgs:a}=t,i=await _(a),c=(0,p.extractPathFromFlightRouterState)(e.tree),s=e.nextUrl&&e.nextUrl!==c,f=await fetch("",{method:"POST",headers:{Accept:o.RSC_CONTENT_TYPE_HEADER,[o.ACTION]:l,[o.NEXT_ROUTER_STATE_TREE]:encodeURIComponent(JSON.stringify(e.tree)),...s?{[o.NEXT_URL]:e.nextUrl}:{}},body:i}),d=f.headers.get("x-action-redirect");try{let e=JSON.parse(f.headers.get("x-action-revalidated")||"[[],0,0]");r={paths:e[0]||[],tag:!!e[1],cookie:e[2]}}catch(e){r={paths:[],tag:!1,cookie:!1}}let h=d?new URL((0,u.addBasePath)(d),new URL(e.canonicalUrl,window.location.href)):void 0;if(f.headers.get("content-type")===o.RSC_CONTENT_TYPE_HEADER){let e=await y(Promise.resolve(f),{callServer:n.callServer});if(d){let[,t]=null!=e?e:[];return{actionFlightData:t,redirectLocation:h,revalidatedParts:r}}let[t,[,o]]=null!=e?e:[];return{actionResult:t,actionFlightData:o,redirectLocation:h,revalidatedParts:r}}return{redirectLocation:h,revalidatedParts:r}}function b(e,t){let{resolve:r,reject:n}=t,o={},u=e.canonicalUrl,p=e.tree;return o.preserveCustomHistoryState=!1,o.inFlightServerAction=v(e,t),o.inFlightServerAction.then(n=>{let{actionResult:y,actionFlightData:_,redirectLocation:v}=n;if(v&&(e.pushRef.pendingPush=!0,o.pendingPush=!0),!_)return(o.actionResultResolved||(r(y),o.actionResultResolved=!0),v)?(0,a.handleExternalUrl)(e,o,v.href,e.pushRef.pendingPush):e;if("string"==typeof _)return(0,a.handleExternalUrl)(e,o,_,e.pushRef.pendingPush);for(let r of(o.inFlightServerAction=null,_)){if(3!==r.length)return console.log("SERVER ACTION APPLY FAILED"),e;let[n]=r,l=(0,i.applyRouterStatePatchToFullTree)([""],p,n);if(null===l)return(0,h.handleSegmentMismatch)(e,t,n);if((0,c.isNavigatingToNewRootLayout)(p,l))return(0,a.handleExternalUrl)(e,o,u,e.pushRef.pendingPush);let[s,y]=r.slice(-2),_=null!==s?s[2]:null;if(null!==_){let e=(0,d.createEmptyCacheNode)();e.rsc=_,e.prefetchRsc=null,(0,f.fillLazyItemsTillLeafWithHead)(e,void 0,n,s,y),o.cache=e,o.prefetchCache=new Map}o.patchedTree=l,o.canonicalUrl=u,p=l}if(v){let e=(0,l.createHrefFromUrl)(v,!1);o.canonicalUrl=e}return o.actionResultResolved||(r(y),o.actionResultResolved=!0),(0,s.handleMutable)(e,o)},t=>{if("rejected"===t.status)return o.actionResultResolved||(n(t.reason),o.actionResultResolved=!0),e;throw t})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},94173:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"serverPatchReducer",{enumerable:!0,get:function(){return f}});let n=r(68419),o=r(27098),u=r(11956),l=r(5596),a=r(39671),i=r(28875),c=r(47690),s=r(52224);function f(e,t){let{flightData:r,overrideCanonicalUrl:f}=t,d={};if(d.preserveCustomHistoryState=!1,"string"==typeof r)return(0,l.handleExternalUrl)(e,d,r,e.pushRef.pendingPush);let p=e.tree,h=e.cache;for(let i of r){let r=i.slice(0,-4),[y]=i.slice(-3,-2),_=(0,o.applyRouterStatePatchToTreeSkipDefault)(["",...r],p,y);if(null===_)return(0,s.handleSegmentMismatch)(e,t,y);if((0,u.isNavigatingToNewRootLayout)(p,_))return(0,l.handleExternalUrl)(e,d,e.canonicalUrl,e.pushRef.pendingPush);let v=f?(0,n.createHrefFromUrl)(f):void 0;v&&(d.canonicalUrl=v);let b=(0,c.createEmptyCacheNode)();(0,a.applyFlightData)(h,b,i),d.patchedTree=_,d.cache=b,h=b,p=_}return(0,i.handleMutable)(e,d)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},91414:function(e,t){"use strict";var r,n;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{PrefetchKind:function(){return r},ACTION_REFRESH:function(){return o},ACTION_NAVIGATE:function(){return u},ACTION_RESTORE:function(){return l},ACTION_SERVER_PATCH:function(){return a},ACTION_PREFETCH:function(){return i},ACTION_FAST_REFRESH:function(){return c},ACTION_SERVER_ACTION:function(){return s},isThenable:function(){return f}});let o="refresh",u="navigate",l="restore",a="server-patch",i="prefetch",c="fast-refresh",s="server-action";function f(e){return e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then}(n=r||(r={})).AUTO="auto",n.FULL="full",n.TEMPORARY="temporary",("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},36878:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"reducer",{enumerable:!0,get:function(){return f}});let n=r(91414),o=r(5596),u=r(94173),l=r(57222),a=r(67491),i=r(5678),c=r(16503),s=r(40899),f=function(e,t){switch(t.type){case n.ACTION_NAVIGATE:return(0,o.navigateReducer)(e,t);case n.ACTION_SERVER_PATCH:return(0,u.serverPatchReducer)(e,t);case n.ACTION_RESTORE:return(0,l.restoreReducer)(e,t);case n.ACTION_REFRESH:return(0,a.refreshReducer)(e,t);case n.ACTION_FAST_REFRESH:return(0,c.fastRefreshReducer)(e,t);case n.ACTION_PREFETCH:return(0,i.prefetchReducer)(e,t);case n.ACTION_SERVER_ACTION:return(0,s.serverActionReducer)(e,t);default:throw Error("Unknown action")}};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},13556:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"shouldHardNavigate",{enumerable:!0,get:function(){return function e(t,r){let[o,u]=r,[l,a]=t;return(0,n.matchSegment)(l,o)?!(t.length<=2)&&e(t.slice(2),u[a]):!!Array.isArray(l)}}});let n=r(22295);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},15797:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createSearchParamsBailoutProxy",{enumerable:!0,get:function(){return o}});let n=r(28181);function o(){return new Proxy({},{get(e,t){"string"==typeof t&&(0,n.staticGenerationBailout)("searchParams."+t)}})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},40002:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"staticGenerationAsyncStorage",{enumerable:!0,get:function(){return n}});let n=(0,r(70693).createAsyncLocalStorage)();("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},28181:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{isStaticGenBailoutError:function(){return a},staticGenerationBailout:function(){return c}});let n=r(47127),o=r(40002),u="NEXT_STATIC_GEN_BAILOUT";class l extends Error{constructor(...e){super(...e),this.code=u}}function a(e){return"object"==typeof e&&null!==e&&"code"in e&&e.code===u}function i(e,t){let{dynamic:r,link:n}=t||{};return"Page"+(r?' with `dynamic = "'+r+'"`':"")+" couldn't be rendered statically because it used `"+e+"`."+(n?" See more info here: "+n:"")}let c=(e,t)=>{let{dynamic:r,link:u}=void 0===t?{}:t,a=o.staticGenerationAsyncStorage.getStore();if(!a)return!1;if(a.forceStatic)return!0;if(a.dynamicShouldError)throw new l(i(e,{link:u,dynamic:null!=r?r:"error"}));let c=i(e,{dynamic:r,link:"https://nextjs.org/docs/messages/dynamic-server-error"});if(null==a.postpone||a.postpone.call(a,e),a.revalidate=0,a.isStaticGeneration){let t=new n.DynamicServerError(c);throw a.dynamicUsageDescription=e,a.dynamicUsageStack=t.stack,t}return!1};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},77831:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return u}}),r(86921);let n=r(3827);r(64090);let o=r(15797);function u(e){let{Component:t,propsForComponent:r,isStaticGeneration:u}=e;if(u){let e=(0,o.createSearchParamsBailoutProxy)();return(0,n.jsx)(t,{searchParams:e,...r})}return(0,n.jsx)(t,{...r})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},21276:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{useUnwrapState:function(){return a},useReducerWithReduxDevtools:function(){return i}});let n=r(91884)._(r(64090)),o=r(91414),u=r(85367);function l(e){if(e instanceof Map){let t={};for(let[r,n]of e.entries()){if("function"==typeof n){t[r]="fn()";continue}if("object"==typeof n&&null!==n){if(n.$$typeof){t[r]=n.$$typeof.toString();continue}if(n._bundlerConfig){t[r]="FlightData";continue}}t[r]=l(n)}return t}if("object"==typeof e&&null!==e){let t={};for(let r in e){let n=e[r];if("function"==typeof n){t[r]="fn()";continue}if("object"==typeof n&&null!==n){if(n.$$typeof){t[r]=n.$$typeof.toString();continue}if(n.hasOwnProperty("_bundlerConfig")){t[r]="FlightData";continue}}t[r]=l(n)}return t}return Array.isArray(e)?e.map(l):e}function a(e){return(0,o.isThenable)(e)?(0,n.use)(e):e}let i=function(e){let[t,r]=n.default.useState(e),o=(0,n.useContext)(u.ActionQueueContext);if(!o)throw Error("Invariant: Missing ActionQueueContext");let a=(0,n.useRef)(),i=(0,n.useRef)();return(0,n.useEffect)(()=>{if(!a.current&&!1!==i.current){if(void 0===i.current&&void 0===window.__REDUX_DEVTOOLS_EXTENSION__){i.current=!1;return}return a.current=window.__REDUX_DEVTOOLS_EXTENSION__.connect({instanceId:8e3,name:"next-router"}),a.current&&(a.current.init(l(e)),o&&(o.devToolsInstance=a.current)),()=>{a.current=void 0}}},[e,o]),[t,(0,n.useCallback)(t=>{o.state||(o.state=e),o.dispatch(t,r)},[o,e]),(0,n.useCallback)(e=>{a.current&&a.current.send({type:"RENDER_SYNC"},l(e))},[])]};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},87379:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hasBasePath",{enumerable:!0,get:function(){return o}});let n=r(87027);function o(e){return(0,n.pathHasPrefix)(e,"/ui")}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},82139:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathTrailingSlash",{enumerable:!0,get:function(){return u}});let n=r(95868),o=r(36506),u=e=>{if(!e.startsWith("/"))return e;let{pathname:t,query:r,hash:u}=(0,o.parsePath)(e);return""+(0,n.removeTrailingSlash)(t)+r+u};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4101:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});let n=r(99775);function o(e){let t="function"==typeof reportError?reportError:e=>{window.console.error(e)};(0,n.isBailoutToCSRError)(e)||t(e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},18895:function(e,t,r){"use strict";function n(e){return(e=e.slice(3)).startsWith("/")||(e="/"+e),e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeBasePath",{enumerable:!0,get:function(){return n}}),r(87379),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},47600:function(e,t,r){"use strict";var n=r(89542);t.createRoot=n.createRoot,t.hydrateRoot=n.hydrateRoot},89542:function(e,t,r){"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=r(38790)},25450:function(e,t,r){"use strict";var n=r(89542),o=r(64090),u={stream:!0},l=new Map;function a(e){var t=r(e);return"function"!=typeof t.then||"fulfilled"===t.status?null:(t.then(function(e){t.status="fulfilled",t.value=e},function(e){t.status="rejected",t.reason=e}),t)}function i(){}var c=new Map,s=r.u;r.u=function(e){var t=c.get(e);return void 0!==t?t:s(e)};var f=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.Dispatcher,d=Symbol.for("react.element"),p=Symbol.for("react.provider"),h=Symbol.for("react.server_context"),y=Symbol.for("react.lazy"),_=Symbol.for("react.default_value"),v=Symbol.iterator,b=Array.isArray,g=Object.getPrototypeOf,m=Object.prototype,P=new WeakMap,j=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ContextRegistry;function R(e,t,r,n){this.status=e,this.value=t,this.reason=r,this._response=n}function O(e){switch(e.status){case"resolved_model":C(e);break;case"resolved_module":N(e)}switch(e.status){case"fulfilled":return e.value;case"pending":case"blocked":case"cyclic":throw e;default:throw e.reason}}function S(e,t){for(var r=0;rh?(_=h,h=3,p++):(_=0,h=3);continue;case 2:44===(g=d[p++])?h=4:v=v<<4|(96d.length&&(g=-1)}var m=d.byteOffset+p;if(-1>>1,o=e[n];if(0>>1;nu(i,r))cu(s,i)?(e[n]=s,e[c]=r,n=c):(e[n]=i,e[a]=r,n=a);else if(cu(s,r))e[n]=s,e[c]=r,n=c;else break}}return t}function u(e,t){var r=e.sortIndex-t.sortIndex;return 0!==r?r:e.id-t.id}if(t.unstable_now=void 0,"object"==typeof performance&&"function"==typeof performance.now){var l,a=performance;t.unstable_now=function(){return a.now()}}else{var i=Date,c=i.now();t.unstable_now=function(){return i.now()-c}}var s=[],f=[],d=1,p=null,h=3,y=!1,_=!1,v=!1,b="function"==typeof setTimeout?setTimeout:null,g="function"==typeof clearTimeout?clearTimeout:null,m="undefined"!=typeof setImmediate?setImmediate:null;function P(e){for(var t=n(f);null!==t;){if(null===t.callback)o(f);else if(t.startTime<=e)o(f),t.sortIndex=t.expirationTime,r(s,t);else break;t=n(f)}}function j(e){if(v=!1,P(e),!_){if(null!==n(s))_=!0,C();else{var t=n(f);null!==t&&N(j,t.startTime-e)}}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var R=!1,O=-1,S=5,E=-1;function w(){return!(t.unstable_now()-Ee&&w());){var a=p.callback;if("function"==typeof a){p.callback=null,h=p.priorityLevel;var i=a(p.expirationTime<=e);if(e=t.unstable_now(),"function"==typeof i){p.callback=i,P(e),r=!0;break t}p===n(s)&&o(s),P(e)}else o(s);p=n(s)}if(null!==p)r=!0;else{var c=n(f);null!==c&&N(j,c.startTime-e),r=!1}}break e}finally{p=null,h=u,y=!1}r=void 0}}finally{r?l():R=!1}}}if("function"==typeof m)l=function(){m(M)};else if("undefined"!=typeof MessageChannel){var T=new MessageChannel,x=T.port2;T.port1.onmessage=M,l=function(){x.postMessage(null)}}else l=function(){b(M,0)};function C(){R||(R=!0,l())}function N(e,r){O=b(function(){e(t.unstable_now())},r)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){_||y||(_=!0,C())},t.unstable_forceFrameRate=function(e){0>e||125l?(e.sortIndex=u,r(f,e),null===n(s)&&e===n(f)&&(v?(g(O),O=-1):v=!0,N(j,u-l))):(e.sortIndex=a,r(s,e),_||y||(_=!0,C())),e},t.unstable_shouldYield=w,t.unstable_wrapCallback=function(e){var t=h;return function(){var r=h;h=t;try{return e.apply(this,arguments)}finally{h=r}}}},58172:function(e,t,r){"use strict";e.exports=r(52531)},2883:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSegmentParam",{enumerable:!0,get:function(){return o}});let n=r(94749);function o(e){let t=n.INTERCEPTION_ROUTE_MARKERS.find(t=>e.startsWith(t));return(t&&(e=e.slice(t.length)),e.startsWith("[[...")&&e.endsWith("]]"))?{type:"optional-catchall",param:e.slice(5,-2)}:e.startsWith("[...")&&e.endsWith("]")?{type:"catchall",param:e.slice(4,-1)}:e.startsWith("[")&&e.endsWith("]")?{type:"dynamic",param:e.slice(1,-1)}:null}},94749:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{INTERCEPTION_ROUTE_MARKERS:function(){return o},isInterceptionRouteAppPath:function(){return u},extractInterceptionRouteInformation:function(){return l}});let n=r(37178),o=["(..)(..)","(.)","(..)","(...)"];function u(e){return void 0!==e.split("/").find(e=>o.find(t=>e.startsWith(t)))}function l(e){let t,r,u;for(let n of e.split("/"))if(r=o.find(e=>n.startsWith(e))){[t,u]=e.split(r,2);break}if(!t||!r||!u)throw Error("Invalid interception route: ".concat(e,". Must be in the format //(..|...|..)(..)/"));switch(t=(0,n.normalizeAppPath)(t),r){case"(.)":u="/"===t?"/".concat(u):t+"/"+u;break;case"(..)":if("/"===t)throw Error("Invalid interception route: ".concat(e,". Cannot use (..) marker at the root level, use (.) instead."));u=t.split("/").slice(0,-1).concat(u).join("/");break;case"(...)":u="/"+u;break;case"(..)(..)":let l=t.split("/");if(l.length<=2)throw Error("Invalid interception route: ".concat(e,". Cannot use (..)(..) marker at the root level or one level up."));u=l.slice(0,-2).concat(u).join("/");break;default:throw Error("Invariant: unexpected marker")}return{interceptingRoute:t,interceptedRoute:u}}},38599:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{AppRouterContext:function(){return o},LayoutRouterContext:function(){return u},GlobalLayoutRouterContext:function(){return l},TemplateContext:function(){return a},MissingSlotContext:function(){return i}});let n=r(86921)._(r(64090)),o=n.default.createContext(null),u=n.default.createContext(null),l=n.default.createContext(null),a=n.default.createContext(null),i=n.default.createContext(new Set)},1:function(e,t){"use strict";function r(e){let t=5381;for(let r=0;r>>0}function n(e){return r(e).toString(36).slice(0,5)}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{djb2Hash:function(){return r},hexHash:function(){return n}})},27484:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HeadManagerContext",{enumerable:!0,get:function(){return n}});let n=r(86921)._(r(64090)).default.createContext({})},14758:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{SearchParamsContext:function(){return o},PathnameContext:function(){return u},PathParamsContext:function(){return l}});let n=r(64090),o=(0,n.createContext)(null),u=(0,n.createContext)(null),l=(0,n.createContext)(null)},99775:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{BailoutToCSRError:function(){return n},isBailoutToCSRError:function(){return o}});let r="BAILOUT_TO_CLIENT_SIDE_RENDERING";class n extends Error{constructor(e){super("Bail out to client-side rendering: "+e),this.reason=e,this.digest=r}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===r}},89590:function(e,t){"use strict";function r(e){return e.startsWith("/")?e:"/"+e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ensureLeadingSlash",{enumerable:!0,get:function(){return r}})},85367:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ActionQueueContext:function(){return a},createMutableActionQueue:function(){return s}});let n=r(91884),o=r(91414),u=r(36878),l=n._(r(64090)),a=l.default.createContext(null);function i(e,t){null!==e.pending&&(e.pending=e.pending.next,null!==e.pending&&c({actionQueue:e,action:e.pending,setState:t}))}async function c(e){let{actionQueue:t,action:r,setState:n}=e,u=t.state;if(!u)throw Error("Invariant: Router state not initialized");t.pending=r;let l=r.payload,a=t.action(u,l);function c(e){if(r.discarded){t.needsRefresh&&null===t.pending&&(t.needsRefresh=!1,t.dispatch({type:o.ACTION_REFRESH,origin:window.location.origin},n));return}t.state=e,t.devToolsInstance&&t.devToolsInstance.send(l,e),i(t,n),r.resolve(e)}(0,o.isThenable)(a)?a.then(c,e=>{i(t,n),r.reject(e)}):c(a)}function s(){let e={state:null,dispatch:(t,r)=>(function(e,t,r){let n={resolve:r,reject:()=>{}};if(t.type!==o.ACTION_RESTORE){let e=new Promise((e,t)=>{n={resolve:e,reject:t}});(0,l.startTransition)(()=>{r(e)})}let u={payload:t,next:null,resolve:n.resolve,reject:n.reject};null===e.pending?(e.last=u,c({actionQueue:e,action:u,setState:r})):t.type===o.ACTION_NAVIGATE?(e.pending.discarded=!0,e.last=u,e.pending.payload.type===o.ACTION_SERVER_ACTION&&(e.needsRefresh=!0),c({actionQueue:e,action:u,setState:r})):(null!==e.last&&(e.last.next=u),e.last=u)})(e,t,r),action:async(e,t)=>{if(null===e)throw Error("Invariant: Router state not initialized");return(0,u.reducer)(e,t)},pending:null,last:null};return e}},51312:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathPrefix",{enumerable:!0,get:function(){return o}});let n=r(36506);function o(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:o,hash:u}=(0,n.parsePath)(e);return""+t+r+o+u}},37178:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{normalizeAppPath:function(){return u},normalizeRscURL:function(){return l}});let n=r(89590),o=r(63266);function u(e){return(0,n.ensureLeadingSlash)(e.split("/").reduce((e,t,r,n)=>!t||(0,o.isGroupSegment)(t)||"@"===t[0]||("page"===t||"route"===t)&&r===n.length-1?e:e+"/"+t,""))}function l(e){return e.replace(/\.rsc($|\?)/,"$1")}},73011:function(e,t){"use strict";function r(e,t){if(void 0===t&&(t={}),t.onlyHashChange){e();return}let r=document.documentElement,n=r.style.scrollBehavior;r.style.scrollBehavior="auto",t.dontForceLayout||r.getClientRects(),e(),r.style.scrollBehavior=n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSmoothScroll",{enumerable:!0,get:function(){return r}})},16407:function(e,t){"use strict";function r(e){return/Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i.test(e)}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isBot",{enumerable:!0,get:function(){return r}})},36506:function(e,t){"use strict";function r(e){let t=e.indexOf("#"),r=e.indexOf("?"),n=r>-1&&(t<0||r-1?{pathname:e.substring(0,n?r:t),query:n?e.substring(r,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parsePath",{enumerable:!0,get:function(){return r}})},87027:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"pathHasPrefix",{enumerable:!0,get:function(){return o}});let n=r(36506);function o(e,t){if("string"!=typeof e)return!1;let{pathname:r}=(0,n.parsePath)(e);return r===t||r.startsWith(t+"/")}},95868:function(e,t){"use strict";function r(e){return e.replace(/\/$/,"")||"/"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return r}})},63266:function(e,t){"use strict";function r(e){return"("===e[0]&&e.endsWith(")")}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{isGroupSegment:function(){return r},PAGE_SEGMENT_KEY:function(){return n},DEFAULT_SEGMENT_KEY:function(){return o}});let n="__PAGE__",o="__DEFAULT__"},32472:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ServerInsertedHTMLContext:function(){return o},useServerInsertedHTML:function(){return u}});let n=r(91884)._(r(64090)),o=n.default.createContext(null);function u(e){let t=(0,n.useContext)(o);t&&t(e)}},76184:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},70693:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createAsyncLocalStorage",{enumerable:!0,get:function(){return u}});let r=Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available");class n{disable(){throw r}getStore(){}run(){throw r}exit(){throw r}enterWith(){throw r}}let o=globalThis.AsyncLocalStorage;function u(){return o?new o:new n}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},42299:function(e,t,r){"use strict";function n(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw TypeError("attempted to use private field on non-instance");return e}r.r(t),r.d(t,{_:function(){return n},_class_private_field_loose_base:function(){return n}})},13603:function(e,t,r){"use strict";r.r(t),r.d(t,{_:function(){return o},_class_private_field_loose_key:function(){return o}});var n=0;function o(e){return"__private_"+n+++"_"+e}},86921:function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.r(t),r.d(t,{_:function(){return n},_interop_require_default:function(){return n}})},91884:function(e,t,r){"use strict";function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(n=function(e){return e?r:t})(e)}function o(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=n(t);if(r&&r.has(e))return r.get(e);var o={},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var a=u?Object.getOwnPropertyDescriptor(e,l):null;a&&(a.get||a.set)?Object.defineProperty(o,l,a):o[l]=e[l]}return o.default=e,r&&r.set(e,o),o}r.r(t),r.d(t,{_:function(){return o},_interop_require_wildcard:function(){return o}})}}]); \ No newline at end of file diff --git a/ui/litellm-dashboard/out/_next/static/chunks/838-7fa0bab5a1c3631d.js b/ui/litellm-dashboard/out/_next/static/chunks/838-7fa0bab5a1c3631d.js new file mode 100644 index 00000000000..8647704cbc0 --- /dev/null +++ b/ui/litellm-dashboard/out/_next/static/chunks/838-7fa0bab5a1c3631d.js @@ -0,0 +1,20 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[838],{12215:function(e,t,n){n.d(t,{iN:function(){return m},R_:function(){return f}});var r=n(41785),o=n(76991),i=[{index:7,opacity:.15},{index:6,opacity:.25},{index:5,opacity:.3},{index:5,opacity:.45},{index:5,opacity:.65},{index:5,opacity:.85},{index:4,opacity:.9},{index:3,opacity:.95},{index:2,opacity:.97},{index:1,opacity:.98}];function a(e){var t=e.r,n=e.g,o=e.b,i=(0,r.py)(t,n,o);return{h:360*i.h,s:i.s,v:i.v}}function c(e){var t=e.r,n=e.g,o=e.b;return"#".concat((0,r.vq)(t,n,o,!1))}function l(e,t,n){var r;return(r=Math.round(e.h)>=60&&240>=Math.round(e.h)?n?Math.round(e.h)-2*t:Math.round(e.h)+2*t:n?Math.round(e.h)+2*t:Math.round(e.h)-2*t)<0?r+=360:r>=360&&(r-=360),r}function u(e,t,n){var r;return 0===e.h&&0===e.s?e.s:((r=n?e.s-.16*t:4===t?e.s+.16:e.s+.05*t)>1&&(r=1),n&&5===t&&r>.1&&(r=.1),r<.06&&(r=.06),Number(r.toFixed(2)))}function s(e,t,n){var r;return(r=n?e.v+.05*t:e.v-.15*t)>1&&(r=1),Number(r.toFixed(2))}function f(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=[],r=(0,o.uA)(e),f=5;f>0;f-=1){var d=a(r),p=c((0,o.uA)({h:l(d,f,!0),s:u(d,f,!0),v:s(d,f,!0)}));n.push(p)}n.push(c(r));for(var h=1;h<=4;h+=1){var m=a(r),v=c((0,o.uA)({h:l(m,h),s:u(m,h),v:s(m,h)}));n.push(v)}return"dark"===t.theme?i.map(function(e){var r,i,a,l=e.index,u=e.opacity;return c((r=(0,o.uA)(t.backgroundColor||"#141414"),i=(0,o.uA)(n[l]),a=100*u/100,{r:(i.r-r.r)*a+r.r,g:(i.g-r.g)*a+r.g,b:(i.b-r.b)*a+r.b}))}):n}var d={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1677FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"},p={},h={};Object.keys(d).forEach(function(e){p[e]=f(d[e]),p[e].primary=p[e][5],h[e]=f(d[e],{theme:"dark",backgroundColor:"#141414"}),h[e].primary=h[e][5]}),p.red,p.volcano,p.gold,p.orange,p.yellow,p.lime,p.green,p.cyan;var m=p.blue;p.geekblue,p.purple,p.magenta,p.grey,p.grey},8985:function(e,t,n){n.d(t,{E4:function(){return eD},jG:function(){return P},ks:function(){return z},bf:function(){return B},CI:function(){return e_},fp:function(){return Y},xy:function(){return eZ}});var r,o,i=n(50833),a=n(80406),c=n(63787),l=n(5239),u=function(e){for(var t,n=0,r=0,o=e.length;o>=4;++r,o-=4)t=(65535&(t=255&e.charCodeAt(r)|(255&e.charCodeAt(++r))<<8|(255&e.charCodeAt(++r))<<16|(255&e.charCodeAt(++r))<<24))*1540483477+((t>>>16)*59797<<16),t^=t>>>24,n=(65535&t)*1540483477+((t>>>16)*59797<<16)^(65535&n)*1540483477+((n>>>16)*59797<<16);switch(o){case 3:n^=(255&e.charCodeAt(r+2))<<16;case 2:n^=(255&e.charCodeAt(r+1))<<8;case 1:n^=255&e.charCodeAt(r),n=(65535&n)*1540483477+((n>>>16)*59797<<16)}return n^=n>>>13,(((n=(65535&n)*1540483477+((n>>>16)*59797<<16))^n>>>15)>>>0).toString(36)},s=n(24050),f=n(64090),d=n.t(f,2);n(61475),n(92536);var p=n(47365),h=n(65127);function m(e){return e.join("%")}var v=function(){function e(t){(0,p.Z)(this,e),(0,i.Z)(this,"instanceId",void 0),(0,i.Z)(this,"cache",new Map),this.instanceId=t}return(0,h.Z)(e,[{key:"get",value:function(e){return this.opGet(m(e))}},{key:"opGet",value:function(e){return this.cache.get(e)||null}},{key:"update",value:function(e,t){return this.opUpdate(m(e),t)}},{key:"opUpdate",value:function(e,t){var n=t(this.cache.get(e));null===n?this.cache.delete(e):this.cache.set(e,n)}}]),e}(),g="data-token-hash",y="data-css-hash",b="__cssinjs_instance__",x=f.createContext({hashPriority:"low",cache:function(){var e=Math.random().toString(12).slice(2);if("undefined"!=typeof document&&document.head&&document.body){var t=document.body.querySelectorAll("style[".concat(y,"]"))||[],n=document.head.firstChild;Array.from(t).forEach(function(t){t[b]=t[b]||e,t[b]===e&&document.head.insertBefore(t,n)});var r={};Array.from(document.querySelectorAll("style[".concat(y,"]"))).forEach(function(t){var n,o=t.getAttribute(y);r[o]?t[b]===e&&(null===(n=t.parentNode)||void 0===n||n.removeChild(t)):r[o]=!0})}return new v(e)}(),defaultCache:!0}),w=n(6976),E=n(22127),O=function(){function e(){(0,p.Z)(this,e),(0,i.Z)(this,"cache",void 0),(0,i.Z)(this,"keys",void 0),(0,i.Z)(this,"cacheCallTimes",void 0),this.cache=new Map,this.keys=[],this.cacheCallTimes=0}return(0,h.Z)(e,[{key:"size",value:function(){return this.keys.length}},{key:"internalGet",value:function(e){var t,n,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o={map:this.cache};return e.forEach(function(e){if(o){var t;o=null===(t=o)||void 0===t||null===(t=t.map)||void 0===t?void 0:t.get(e)}else o=void 0}),null!==(t=o)&&void 0!==t&&t.value&&r&&(o.value[1]=this.cacheCallTimes++),null===(n=o)||void 0===n?void 0:n.value}},{key:"get",value:function(e){var t;return null===(t=this.internalGet(e,!0))||void 0===t?void 0:t[0]}},{key:"has",value:function(e){return!!this.internalGet(e)}},{key:"set",value:function(t,n){var r=this;if(!this.has(t)){if(this.size()+1>e.MAX_CACHE_SIZE+e.MAX_CACHE_OFFSET){var o=this.keys.reduce(function(e,t){var n=(0,a.Z)(e,2)[1];return r.internalGet(t)[1]0,"[Ant Design CSS-in-JS] Theme should have at least one derivative function."),C+=1}return(0,h.Z)(e,[{key:"getDerivativeToken",value:function(e){return this.derivatives.reduce(function(t,n){return n(e,t)},void 0)}}]),e}(),j=new O;function P(e){var t=Array.isArray(e)?e:[e];return j.has(t)||j.set(t,new k(t)),j.get(t)}var M=new WeakMap,A={},T=new WeakMap;function N(e){var t=T.get(e)||"";return t||(Object.keys(e).forEach(function(n){var r=e[n];t+=n,r instanceof k?t+=r.id:r&&"object"===(0,w.Z)(r)?t+=N(r):t+=r}),T.set(e,t)),t}function I(e,t){return u("".concat(t,"_").concat(N(e)))}var Z="random-".concat(Date.now(),"-").concat(Math.random()).replace(/\./g,""),R="_bAmBoO_",_=void 0,D=(0,E.Z)();function B(e){return"number"==typeof e?"".concat(e,"px"):e}function L(e,t,n){var r,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},a=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(a)return e;var c=(0,l.Z)((0,l.Z)({},o),{},(r={},(0,i.Z)(r,g,t),(0,i.Z)(r,y,n),r)),u=Object.keys(c).map(function(e){var t=c[e];return t?"".concat(e,'="').concat(t,'"'):null}).filter(function(e){return e}).join(" ");return"")}var z=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return"--".concat(t?"".concat(t,"-"):"").concat(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z0-9]+)/g,"$1-$2").replace(/([a-z])([A-Z0-9])/g,"$1-$2").toLowerCase()},F=function(e,t,n){var r,o={},i={};return Object.entries(e).forEach(function(e){var t=(0,a.Z)(e,2),r=t[0],c=t[1];if(null!=n&&null!==(l=n.preserve)&&void 0!==l&&l[r])i[r]=c;else if(("string"==typeof c||"number"==typeof c)&&!(null!=n&&null!==(u=n.ignore)&&void 0!==u&&u[r])){var l,u,s,f=z(r,null==n?void 0:n.prefix);o[f]="number"!=typeof c||null!=n&&null!==(s=n.unitless)&&void 0!==s&&s[r]?String(c):"".concat(c,"px"),i[r]="var(".concat(f,")")}}),[i,(r={scope:null==n?void 0:n.scope},Object.keys(o).length?".".concat(t).concat(null!=r&&r.scope?".".concat(r.scope):"","{").concat(Object.entries(o).map(function(e){var t=(0,a.Z)(e,2),n=t[0],r=t[1];return"".concat(n,":").concat(r,";")}).join(""),"}"):"")]},H=n(24800),W=(0,l.Z)({},d).useInsertionEffect,q=W?function(e,t,n){return W(function(){return e(),t()},n)}:function(e,t,n){f.useMemo(e,n),(0,H.Z)(function(){return t(!0)},n)},V=void 0!==(0,l.Z)({},d).useInsertionEffect?function(e){var t=[],n=!1;return f.useEffect(function(){return n=!1,function(){n=!0,t.length&&t.forEach(function(e){return e()})}},e),function(e){n||t.push(e)}}:function(){return function(e){e()}};function U(e,t,n,r,o){var i=f.useContext(x).cache,l=m([e].concat((0,c.Z)(t))),u=V([l]),s=function(e){i.opUpdate(l,function(t){var r=(0,a.Z)(t||[void 0,void 0],2),o=r[0],i=[void 0===o?0:o,r[1]||n()];return e?e(i):i})};f.useMemo(function(){s()},[l]);var d=i.opGet(l)[1];return q(function(){null==o||o(d)},function(e){return s(function(t){var n=(0,a.Z)(t,2),r=n[0],i=n[1];return e&&0===r&&(null==o||o(d)),[r+1,i]}),function(){i.opUpdate(l,function(t){var n=(0,a.Z)(t||[],2),o=n[0],c=void 0===o?0:o,s=n[1];return 0==c-1?(u(function(){(e||!i.opGet(l))&&(null==r||r(s,!1))}),null):[c-1,s]})}},[l]),d}var X={},G=new Map,K=function(e,t,n,r){var o=n.getDerivativeToken(e),i=(0,l.Z)((0,l.Z)({},o),t);return r&&(i=r(i)),i},$="token";function Y(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=(0,f.useContext)(x),o=r.cache.instanceId,i=r.container,d=n.salt,p=void 0===d?"":d,h=n.override,m=void 0===h?X:h,v=n.formatToken,w=n.getComputedToken,E=n.cssVar,O=function(e,t){for(var n=M,r=0;r=(G.get(e)||0)}),n.length-r.length>0&&r.forEach(function(e){"undefined"!=typeof document&&document.querySelectorAll("style[".concat(g,'="').concat(e,'"]')).forEach(function(e){if(e[b]===o){var t;null===(t=e.parentNode)||void 0===t||t.removeChild(e)}}),G.delete(e)})},function(e){var t=(0,a.Z)(e,4),n=t[0],r=t[3];if(E&&r){var c=(0,s.hq)(r,u("css-variables-".concat(n._themeKey)),{mark:y,prepend:"queue",attachTo:i,priority:-999});c[b]=o,c.setAttribute(g,n._themeKey)}})}var Q=n(14749),J={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},ee="comm",et="rule",en="decl",er=Math.abs,eo=String.fromCharCode;function ei(e,t,n){return e.replace(t,n)}function ea(e,t){return 0|e.charCodeAt(t)}function ec(e,t,n){return e.slice(t,n)}function el(e){return e.length}function eu(e,t){return t.push(e),e}function es(e,t){for(var n="",r=0;r0?p[y]+" "+b:ei(b,/&\f/g,p[y])).trim())&&(l[g++]=x);return ey(e,t,n,0===o?et:c,l,u,s,f)}function eS(e,t,n,r,o){return ey(e,t,n,en,ec(e,0,r),ec(e,r+1,-1),r,o)}var eC="data-ant-cssinjs-cache-path",ek="_FILE_STYLE__",ej=!0,eP="_multi_value_";function eM(e){var t,n,r;return es((r=function e(t,n,r,o,i,a,c,l,u){for(var s,f,d,p=0,h=0,m=c,v=0,g=0,y=0,b=1,x=1,w=1,E=0,O="",S=i,C=a,k=o,j=O;x;)switch(y=E,E=eb()){case 40:if(108!=y&&58==ea(j,m-1)){-1!=(f=j+=ei(eE(E),"&","&\f"),d=er(p?l[p-1]:0),f.indexOf("&\f",d))&&(w=-1);break}case 34:case 39:case 91:j+=eE(E);break;case 9:case 10:case 13:case 32:j+=function(e){for(;ev=ex();)if(ev<33)eb();else break;return ew(e)>2||ew(ev)>3?"":" "}(y);break;case 92:j+=function(e,t){for(var n;--t&&eb()&&!(ev<48)&&!(ev>102)&&(!(ev>57)||!(ev<65))&&(!(ev>70)||!(ev<97)););return n=em+(t<6&&32==ex()&&32==eb()),ec(eg,e,n)}(em-1,7);continue;case 47:switch(ex()){case 42:case 47:eu(ey(s=function(e,t){for(;eb();)if(e+ev===57)break;else if(e+ev===84&&47===ex())break;return"/*"+ec(eg,t,em-1)+"*"+eo(47===e?e:eb())}(eb(),em),n,r,ee,eo(ev),ec(s,2,-2),0,u),u);break;default:j+="/"}break;case 123*b:l[p++]=el(j)*w;case 125*b:case 59:case 0:switch(E){case 0:case 125:x=0;case 59+h:-1==w&&(j=ei(j,/\f/g,"")),g>0&&el(j)-m&&eu(g>32?eS(j+";",o,r,m-1,u):eS(ei(j," ","")+";",o,r,m-2,u),u);break;case 59:j+=";";default:if(eu(k=eO(j,n,r,p,h,i,l,O,S=[],C=[],m,a),a),123===E){if(0===h)e(j,n,k,k,S,a,m,l,C);else switch(99===v&&110===ea(j,3)?100:v){case 100:case 108:case 109:case 115:e(t,k,k,o&&eu(eO(t,k,k,0,0,i,l,O,i,S=[],m,C),C),i,C,m,l,o?S:C);break;default:e(j,k,k,k,[""],C,0,l,C)}}}p=h=g=0,b=w=1,O=j="",m=c;break;case 58:m=1+el(j),g=y;default:if(b<1){if(123==E)--b;else if(125==E&&0==b++&&125==(ev=em>0?ea(eg,--em):0,ep--,10===ev&&(ep=1,ed--),ev))continue}switch(j+=eo(E),E*b){case 38:w=h>0?1:(j+="\f",-1);break;case 44:l[p++]=(el(j)-1)*w,w=1;break;case 64:45===ex()&&(j+=eE(eb())),v=ex(),h=m=el(O=j+=function(e){for(;!ew(ex());)eb();return ec(eg,e,em)}(em)),E++;break;case 45:45===y&&2==el(j)&&(b=0)}}return a}("",null,null,null,[""],(n=t=e,ed=ep=1,eh=el(eg=n),em=0,t=[]),0,[0],t),eg="",r),ef).replace(/\{%%%\:[^;];}/g,";")}var eA=function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{root:!0,parentSelectors:[]},o=r.root,i=r.injectHash,u=r.parentSelectors,f=n.hashId,d=n.layer,p=(n.path,n.hashPriority),h=n.transformers,m=void 0===h?[]:h;n.linters;var v="",g={};function y(t){var r=t.getName(f);if(!g[r]){var o=e(t.style,n,{root:!1,parentSelectors:u}),i=(0,a.Z)(o,1)[0];g[r]="@keyframes ".concat(t.getName(f)).concat(i)}}if((function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return t.forEach(function(t){Array.isArray(t)?e(t,n):t&&n.push(t)}),n})(Array.isArray(t)?t:[t]).forEach(function(t){var r="string"!=typeof t||o?t:{};if("string"==typeof r)v+="".concat(r,"\n");else if(r._keyframe)y(r);else{var s=m.reduce(function(e,t){var n;return(null==t||null===(n=t.visit)||void 0===n?void 0:n.call(t,e))||e},r);Object.keys(s).forEach(function(t){var r=s[t];if("object"!==(0,w.Z)(r)||!r||"animationName"===t&&r._keyframe||"object"===(0,w.Z)(r)&&r&&("_skip_check_"in r||eP in r)){function d(e,t){var n=e.replace(/[A-Z]/g,function(e){return"-".concat(e.toLowerCase())}),r=t;J[e]||"number"!=typeof r||0===r||(r="".concat(r,"px")),"animationName"===e&&null!=t&&t._keyframe&&(y(t),r=t.getName(f)),v+="".concat(n,":").concat(r,";")}var h,m=null!==(h=null==r?void 0:r.value)&&void 0!==h?h:r;"object"===(0,w.Z)(r)&&null!=r&&r[eP]&&Array.isArray(m)?m.forEach(function(e){d(t,e)}):d(t,m)}else{var b=!1,x=t.trim(),E=!1;(o||i)&&f?x.startsWith("@")?b=!0:x=function(e,t,n){if(!t)return e;var r=".".concat(t),o="low"===n?":where(".concat(r,")"):r;return e.split(",").map(function(e){var t,n=e.trim().split(/\s+/),r=n[0]||"",i=(null===(t=r.match(/^\w+/))||void 0===t?void 0:t[0])||"";return[r="".concat(i).concat(o).concat(r.slice(i.length))].concat((0,c.Z)(n.slice(1))).join(" ")}).join(",")}(t,f,p):o&&!f&&("&"===x||""===x)&&(x="",E=!0);var O=e(r,n,{root:E,injectHash:b,parentSelectors:[].concat((0,c.Z)(u),[x])}),S=(0,a.Z)(O,2),C=S[0],k=S[1];g=(0,l.Z)((0,l.Z)({},g),k),v+="".concat(x).concat(C)}})}}),o){if(d&&(void 0===_&&(_=function(e,t,n){if((0,E.Z)()){(0,s.hq)(e,Z);var r,o,i=document.createElement("div");i.style.position="fixed",i.style.left="0",i.style.top="0",null==t||t(i),document.body.appendChild(i);var a=n?n(i):null===(r=getComputedStyle(i).content)||void 0===r?void 0:r.includes(R);return null===(o=i.parentNode)||void 0===o||o.removeChild(i),(0,s.jL)(Z),a}return!1}("@layer ".concat(Z," { .").concat(Z,' { content: "').concat(R,'"!important; } }'),function(e){e.className=Z})),_)){var b=d.split(","),x=b[b.length-1].trim();v="@layer ".concat(x," {").concat(v,"}"),b.length>1&&(v="@layer ".concat(d,"{%%%:%}").concat(v))}}else v="{".concat(v,"}");return[v,g]};function eT(e,t){return u("".concat(e.join("%")).concat(t))}function eN(){return null}var eI="style";function eZ(e,t){var n=e.token,o=e.path,l=e.hashId,u=e.layer,d=e.nonce,p=e.clientOnly,h=e.order,m=void 0===h?0:h,v=f.useContext(x),w=v.autoClear,O=(v.mock,v.defaultCache),S=v.hashPriority,C=v.container,k=v.ssrInline,j=v.transformers,P=v.linters,M=v.cache,A=n._tokenKey,T=[A].concat((0,c.Z)(o)),N=U(eI,T,function(){var e=T.join("|");if(!function(){if(!r&&(r={},(0,E.Z)())){var e,t=document.createElement("div");t.className=eC,t.style.position="fixed",t.style.visibility="hidden",t.style.top="-9999px",document.body.appendChild(t);var n=getComputedStyle(t).content||"";(n=n.replace(/^"/,"").replace(/"$/,"")).split(";").forEach(function(e){var t=e.split(":"),n=(0,a.Z)(t,2),o=n[0],i=n[1];r[o]=i});var o=document.querySelector("style[".concat(eC,"]"));o&&(ej=!1,null===(e=o.parentNode)||void 0===e||e.removeChild(o)),document.body.removeChild(t)}}(),r[e]){var n=function(e){var t=r[e],n=null;if(t&&(0,E.Z)()){if(ej)n=ek;else{var o=document.querySelector("style[".concat(y,'="').concat(r[e],'"]'));o?n=o.innerHTML:delete r[e]}}return[n,t]}(e),i=(0,a.Z)(n,2),c=i[0],s=i[1];if(c)return[c,A,s,{},p,m]}var f=eA(t(),{hashId:l,hashPriority:S,layer:u,path:o.join("-"),transformers:j,linters:P}),d=(0,a.Z)(f,2),h=d[0],v=d[1],g=eM(h),b=eT(T,g);return[g,A,b,v,p,m]},function(e,t){var n=(0,a.Z)(e,3)[2];(t||w)&&D&&(0,s.jL)(n,{mark:y})},function(e){var t=(0,a.Z)(e,4),n=t[0],r=(t[1],t[2]),o=t[3];if(D&&n!==ek){var i={mark:y,prepend:"queue",attachTo:C,priority:m},c="function"==typeof d?d():d;c&&(i.csp={nonce:c});var l=(0,s.hq)(n,r,i);l[b]=M.instanceId,l.setAttribute(g,A),Object.keys(o).forEach(function(e){(0,s.hq)(eM(o[e]),"_effect-".concat(e),i)})}}),I=(0,a.Z)(N,3),Z=I[0],R=I[1],_=I[2];return function(e){var t,n;return t=k&&!D&&O?f.createElement("style",(0,Q.Z)({},(n={},(0,i.Z)(n,g,R),(0,i.Z)(n,y,_),n),{dangerouslySetInnerHTML:{__html:Z}})):f.createElement(eN,null),f.createElement(f.Fragment,null,t,e)}}var eR="cssVar",e_=function(e,t){var n=e.key,r=e.prefix,o=e.unitless,i=e.ignore,l=e.token,u=e.scope,d=void 0===u?"":u,p=(0,f.useContext)(x),h=p.cache.instanceId,m=p.container,v=l._tokenKey,w=[].concat((0,c.Z)(e.path),[n,d,v]);return U(eR,w,function(){var e=F(t(),n,{prefix:r,unitless:o,ignore:i,scope:d}),c=(0,a.Z)(e,2),l=c[0],u=c[1],s=eT(w,u);return[l,u,s,n]},function(e){var t=(0,a.Z)(e,3)[2];D&&(0,s.jL)(t,{mark:y})},function(e){var t=(0,a.Z)(e,3),r=t[1],o=t[2];if(r){var i=(0,s.hq)(r,o,{mark:y,prepend:"queue",attachTo:m,priority:-999});i[b]=h,i.setAttribute(g,n)}})};o={},(0,i.Z)(o,eI,function(e,t,n){var r=(0,a.Z)(e,6),o=r[0],i=r[1],c=r[2],l=r[3],u=r[4],s=r[5],f=(n||{}).plain;if(u)return null;var d=o,p={"data-rc-order":"prependQueue","data-rc-priority":"".concat(s)};return d=L(o,i,c,p,f),l&&Object.keys(l).forEach(function(e){if(!t[e]){t[e]=!0;var n=eM(l[e]);d+=L(n,i,"_effect-".concat(e),p,f)}}),[s,c,d]}),(0,i.Z)(o,$,function(e,t,n){var r=(0,a.Z)(e,5),o=r[2],i=r[3],c=r[4],l=(n||{}).plain;if(!i)return null;var u=o._tokenKey,s=L(i,c,u,{"data-rc-order":"prependQueue","data-rc-priority":"".concat(-999)},l);return[-999,u,s]}),(0,i.Z)(o,eR,function(e,t,n){var r=(0,a.Z)(e,4),o=r[1],i=r[2],c=r[3],l=(n||{}).plain;if(!o)return null;var u=L(o,c,i,{"data-rc-order":"prependQueue","data-rc-priority":"".concat(-999)},l);return[-999,i,u]});var eD=function(){function e(t,n){(0,p.Z)(this,e),(0,i.Z)(this,"name",void 0),(0,i.Z)(this,"style",void 0),(0,i.Z)(this,"_keyframe",!0),this.name=t,this.style=n}return(0,h.Z)(e,[{key:"getName",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e?"".concat(e,"-").concat(this.name):this.name}}]),e}();function eB(e){return e.notSplit=!0,e}eB(["borderTop","borderBottom"]),eB(["borderTop"]),eB(["borderBottom"]),eB(["borderLeft","borderRight"]),eB(["borderLeft"]),eB(["borderRight"])},60688:function(e,t,n){n.d(t,{Z:function(){return P}});var r=n(14749),o=n(80406),i=n(50833),a=n(6787),c=n(64090),l=n(16480),u=n.n(l),s=n(12215),f=n(67689),d=n(5239),p=n(6976),h=n(24050),m=n(74687),v=n(53850);function g(e){return"object"===(0,p.Z)(e)&&"string"==typeof e.name&&"string"==typeof e.theme&&("object"===(0,p.Z)(e.icon)||"function"==typeof e.icon)}function y(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.keys(e).reduce(function(t,n){var r=e[n];return"class"===n?(t.className=r,delete t.class):(delete t[n],t[n.replace(/-(.)/g,function(e,t){return t.toUpperCase()})]=r),t},{})}function b(e){return(0,s.R_)(e)[0]}function x(e){return e?Array.isArray(e)?e:[e]:[]}var w=function(e){var t=(0,c.useContext)(f.Z),n=t.csp,r=t.prefixCls,o="\n.anticon {\n display: inline-block;\n color: inherit;\n font-style: normal;\n line-height: 0;\n text-align: center;\n text-transform: none;\n vertical-align: -0.125em;\n text-rendering: optimizeLegibility;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.anticon > * {\n line-height: 1;\n}\n\n.anticon svg {\n display: inline-block;\n}\n\n.anticon::before {\n display: none;\n}\n\n.anticon .anticon-icon {\n display: block;\n}\n\n.anticon[tabindex] {\n cursor: pointer;\n}\n\n.anticon-spin::before,\n.anticon-spin {\n display: inline-block;\n -webkit-animation: loadingCircle 1s infinite linear;\n animation: loadingCircle 1s infinite linear;\n}\n\n@-webkit-keyframes loadingCircle {\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes loadingCircle {\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n";r&&(o=o.replace(/anticon/g,r)),(0,c.useEffect)(function(){var t=e.current,r=(0,m.A)(t);(0,h.hq)(o,"@ant-design-icons",{prepend:!0,csp:n,attachTo:r})},[])},E=["icon","className","onClick","style","primaryColor","secondaryColor"],O={primaryColor:"#333",secondaryColor:"#E6E6E6",calculated:!1},S=function(e){var t,n,r=e.icon,o=e.className,i=e.onClick,l=e.style,u=e.primaryColor,s=e.secondaryColor,f=(0,a.Z)(e,E),p=c.useRef(),h=O;if(u&&(h={primaryColor:u,secondaryColor:s||b(u)}),w(p),t=g(r),n="icon should be icon definiton, but got ".concat(r),(0,v.ZP)(t,"[@ant-design/icons] ".concat(n)),!g(r))return null;var m=r;return m&&"function"==typeof m.icon&&(m=(0,d.Z)((0,d.Z)({},m),{},{icon:m.icon(h.primaryColor,h.secondaryColor)})),function e(t,n,r){return r?c.createElement(t.tag,(0,d.Z)((0,d.Z)({key:n},y(t.attrs)),r),(t.children||[]).map(function(r,o){return e(r,"".concat(n,"-").concat(t.tag,"-").concat(o))})):c.createElement(t.tag,(0,d.Z)({key:n},y(t.attrs)),(t.children||[]).map(function(r,o){return e(r,"".concat(n,"-").concat(t.tag,"-").concat(o))}))}(m.icon,"svg-".concat(m.name),(0,d.Z)((0,d.Z)({className:o,onClick:i,style:l,"data-icon":m.name,width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true"},f),{},{ref:p}))};function C(e){var t=x(e),n=(0,o.Z)(t,2),r=n[0],i=n[1];return S.setTwoToneColors({primaryColor:r,secondaryColor:i})}S.displayName="IconReact",S.getTwoToneColors=function(){return(0,d.Z)({},O)},S.setTwoToneColors=function(e){var t=e.primaryColor,n=e.secondaryColor;O.primaryColor=t,O.secondaryColor=n||b(t),O.calculated=!!n};var k=["className","icon","spin","rotate","tabIndex","onClick","twoToneColor"];C(s.iN.primary);var j=c.forwardRef(function(e,t){var n,l=e.className,s=e.icon,d=e.spin,p=e.rotate,h=e.tabIndex,m=e.onClick,v=e.twoToneColor,g=(0,a.Z)(e,k),y=c.useContext(f.Z),b=y.prefixCls,w=void 0===b?"anticon":b,E=y.rootClassName,O=u()(E,w,(n={},(0,i.Z)(n,"".concat(w,"-").concat(s.name),!!s.name),(0,i.Z)(n,"".concat(w,"-spin"),!!d||"loading"===s.name),n),l),C=h;void 0===C&&m&&(C=-1);var j=x(v),P=(0,o.Z)(j,2),M=P[0],A=P[1];return c.createElement("span",(0,r.Z)({role:"img","aria-label":s.name},g,{ref:t,tabIndex:C,onClick:m,className:O}),c.createElement(S,{icon:s,primaryColor:M,secondaryColor:A,style:p?{msTransform:"rotate(".concat(p,"deg)"),transform:"rotate(".concat(p,"deg)")}:void 0}))});j.displayName="AntdIcon",j.getTwoToneColor=function(){var e=S.getTwoToneColors();return e.calculated?[e.primaryColor,e.secondaryColor]:e.primaryColor},j.setTwoToneColor=C;var P=j},67689:function(e,t,n){var r=(0,n(64090).createContext)({});t.Z=r},99537:function(e,t,n){n.d(t,{Z:function(){return c}});var r=n(14749),o=n(64090),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z"}}]},name:"check-circle",theme:"filled"},a=n(60688),c=o.forwardRef(function(e,t){return o.createElement(a.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},77136:function(e,t,n){n.d(t,{Z:function(){return c}});var r=n(14749),o=n(64090),i={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm127.98 274.82h-.04l-.08.06L512 466.75 384.14 338.88c-.04-.05-.06-.06-.08-.06a.12.12 0 00-.07 0c-.03 0-.05.01-.09.05l-45.02 45.02a.2.2 0 00-.05.09.12.12 0 000 .07v.02a.27.27 0 00.06.06L466.75 512 338.88 639.86c-.05.04-.06.06-.06.08a.12.12 0 000 .07c0 .03.01.05.05.09l45.02 45.02a.2.2 0 00.09.05.12.12 0 00.07 0c.02 0 .04-.01.08-.05L512 557.25l127.86 127.87c.04.04.06.05.08.05a.12.12 0 00.07 0c.03 0 .05-.01.09-.05l45.02-45.02a.2.2 0 00.05-.09.12.12 0 000-.07v-.02a.27.27 0 00-.05-.06L557.25 512l127.87-127.86c.04-.04.05-.06.05-.08a.12.12 0 000-.07c0-.03-.01-.05-.05-.09l-45.02-45.02a.2.2 0 00-.09-.05.12.12 0 00-.07 0z"}}]},name:"close-circle",theme:"filled"},a=n(60688),c=o.forwardRef(function(e,t){return o.createElement(a.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},81303:function(e,t,n){n.d(t,{Z:function(){return c}});var r=n(14749),o=n(64090),i={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M799.86 166.31c.02 0 .04.02.08.06l57.69 57.7c.04.03.05.05.06.08a.12.12 0 010 .06c0 .03-.02.05-.06.09L569.93 512l287.7 287.7c.04.04.05.06.06.09a.12.12 0 010 .07c0 .02-.02.04-.06.08l-57.7 57.69c-.03.04-.05.05-.07.06a.12.12 0 01-.07 0c-.03 0-.05-.02-.09-.06L512 569.93l-287.7 287.7c-.04.04-.06.05-.09.06a.12.12 0 01-.07 0c-.02 0-.04-.02-.08-.06l-57.69-57.7c-.04-.03-.05-.05-.06-.07a.12.12 0 010-.07c0-.03.02-.05.06-.09L454.07 512l-287.7-287.7c-.04-.04-.05-.06-.06-.09a.12.12 0 010-.07c0-.02.02-.04.06-.08l57.7-57.69c.03-.04.05-.05.07-.06a.12.12 0 01.07 0c.03 0 .05.02.09.06L512 454.07l287.7-287.7c.04-.04.06-.05.09-.06a.12.12 0 01.07 0z"}}]},name:"close",theme:"outlined"},a=n(60688),c=o.forwardRef(function(e,t){return o.createElement(a.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},20383:function(e,t,n){n.d(t,{Z:function(){return c}});var r=n(14749),o=n(64090),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"}}]},name:"down",theme:"outlined"},a=n(60688),c=o.forwardRef(function(e,t){return o.createElement(a.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},20653:function(e,t,n){n.d(t,{Z:function(){return c}});var r=n(14749),o=n(64090),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"exclamation-circle",theme:"filled"},a=n(60688),c=o.forwardRef(function(e,t){return o.createElement(a.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},40388:function(e,t,n){n.d(t,{Z:function(){return c}});var r=n(14749),o=n(64090),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"info-circle",theme:"filled"},a=n(60688),c=o.forwardRef(function(e,t){return o.createElement(a.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},66155:function(e,t,n){n.d(t,{Z:function(){return c}});var r=n(14749),o=n(64090),i={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z"}}]},name:"loading",theme:"outlined"},a=n(60688),c=o.forwardRef(function(e,t){return o.createElement(a.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},96871:function(e,t,n){n.d(t,{Z:function(){return c}});var r=n(14749),o=n(64090),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"}}]},name:"search",theme:"outlined"},a=n(60688),c=o.forwardRef(function(e,t){return o.createElement(a.Z,(0,r.Z)({},e,{ref:t,icon:i}))})},41785:function(e,t,n){n.d(t,{T6:function(){return d},VD:function(){return p},WE:function(){return u},Yt:function(){return h},lC:function(){return i},py:function(){return l},rW:function(){return o},s:function(){return f},ve:function(){return c},vq:function(){return s}});var r=n(27974);function o(e,t,n){return{r:255*(0,r.sh)(e,255),g:255*(0,r.sh)(t,255),b:255*(0,r.sh)(n,255)}}function i(e,t,n){var o=Math.max(e=(0,r.sh)(e,255),t=(0,r.sh)(t,255),n=(0,r.sh)(n,255)),i=Math.min(e,t,n),a=0,c=0,l=(o+i)/2;if(o===i)c=0,a=0;else{var u=o-i;switch(c=l>.5?u/(2-o-i):u/(o+i),o){case e:a=(t-n)/u+(t1&&(n-=1),n<1/6)?e+6*n*(t-e):n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function c(e,t,n){if(e=(0,r.sh)(e,360),t=(0,r.sh)(t,100),n=(0,r.sh)(n,100),0===t)i=n,c=n,o=n;else{var o,i,c,l=n<.5?n*(1+t):n+t-n*t,u=2*n-l;o=a(u,l,e+1/3),i=a(u,l,e),c=a(u,l,e-1/3)}return{r:255*o,g:255*i,b:255*c}}function l(e,t,n){var o=Math.max(e=(0,r.sh)(e,255),t=(0,r.sh)(t,255),n=(0,r.sh)(n,255)),i=Math.min(e,t,n),a=0,c=o-i;if(o===i)a=0;else{switch(o){case e:a=(t-n)/c+(t>16,g:(65280&e)>>8,b:255&e}}},6564:function(e,t,n){n.d(t,{R:function(){return r}});var r={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"}},76991:function(e,t,n){n.d(t,{uA:function(){return a}});var r=n(41785),o=n(6564),i=n(27974);function a(e){var t={r:0,g:0,b:0},n=1,a=null,c=null,l=null,u=!1,d=!1;return"string"==typeof e&&(e=function(e){if(0===(e=e.trim().toLowerCase()).length)return!1;var t=!1;if(o.R[e])e=o.R[e],t=!0;else if("transparent"===e)return{r:0,g:0,b:0,a:0,format:"name"};var n=s.rgb.exec(e);return n?{r:n[1],g:n[2],b:n[3]}:(n=s.rgba.exec(e))?{r:n[1],g:n[2],b:n[3],a:n[4]}:(n=s.hsl.exec(e))?{h:n[1],s:n[2],l:n[3]}:(n=s.hsla.exec(e))?{h:n[1],s:n[2],l:n[3],a:n[4]}:(n=s.hsv.exec(e))?{h:n[1],s:n[2],v:n[3]}:(n=s.hsva.exec(e))?{h:n[1],s:n[2],v:n[3],a:n[4]}:(n=s.hex8.exec(e))?{r:(0,r.VD)(n[1]),g:(0,r.VD)(n[2]),b:(0,r.VD)(n[3]),a:(0,r.T6)(n[4]),format:t?"name":"hex8"}:(n=s.hex6.exec(e))?{r:(0,r.VD)(n[1]),g:(0,r.VD)(n[2]),b:(0,r.VD)(n[3]),format:t?"name":"hex"}:(n=s.hex4.exec(e))?{r:(0,r.VD)(n[1]+n[1]),g:(0,r.VD)(n[2]+n[2]),b:(0,r.VD)(n[3]+n[3]),a:(0,r.T6)(n[4]+n[4]),format:t?"name":"hex8"}:!!(n=s.hex3.exec(e))&&{r:(0,r.VD)(n[1]+n[1]),g:(0,r.VD)(n[2]+n[2]),b:(0,r.VD)(n[3]+n[3]),format:t?"name":"hex"}}(e)),"object"==typeof e&&(f(e.r)&&f(e.g)&&f(e.b)?(t=(0,r.rW)(e.r,e.g,e.b),u=!0,d="%"===String(e.r).substr(-1)?"prgb":"rgb"):f(e.h)&&f(e.s)&&f(e.v)?(a=(0,i.JX)(e.s),c=(0,i.JX)(e.v),t=(0,r.WE)(e.h,a,c),u=!0,d="hsv"):f(e.h)&&f(e.s)&&f(e.l)&&(a=(0,i.JX)(e.s),l=(0,i.JX)(e.l),t=(0,r.ve)(e.h,a,l),u=!0,d="hsl"),Object.prototype.hasOwnProperty.call(e,"a")&&(n=e.a)),n=(0,i.Yq)(n),{ok:u,format:e.format||d,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:n}}var c="(?:".concat("[-\\+]?\\d*\\.\\d+%?",")|(?:").concat("[-\\+]?\\d+%?",")"),l="[\\s|\\(]+(".concat(c,")[,|\\s]+(").concat(c,")[,|\\s]+(").concat(c,")\\s*\\)?"),u="[\\s|\\(]+(".concat(c,")[,|\\s]+(").concat(c,")[,|\\s]+(").concat(c,")[,|\\s]+(").concat(c,")\\s*\\)?"),s={CSS_UNIT:new RegExp(c),rgb:RegExp("rgb"+l),rgba:RegExp("rgba"+u),hsl:RegExp("hsl"+l),hsla:RegExp("hsla"+u),hsv:RegExp("hsv"+l),hsva:RegExp("hsva"+u),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function f(e){return!!s.CSS_UNIT.exec(String(e))}},6336:function(e,t,n){n.d(t,{C:function(){return c}});var r=n(41785),o=n(6564),i=n(76991),a=n(27974),c=function(){function e(t,n){if(void 0===t&&(t=""),void 0===n&&(n={}),t instanceof e)return t;"number"==typeof t&&(t=(0,r.Yt)(t)),this.originalInput=t;var o,a=(0,i.uA)(t);this.originalInput=t,this.r=a.r,this.g=a.g,this.b=a.b,this.a=a.a,this.roundA=Math.round(100*this.a)/100,this.format=null!==(o=n.format)&&void 0!==o?o:a.format,this.gradientType=n.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=a.ok}return e.prototype.isDark=function(){return 128>this.getBrightness()},e.prototype.isLight=function(){return!this.isDark()},e.prototype.getBrightness=function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},e.prototype.getLuminance=function(){var e=this.toRgb(),t=e.r/255,n=e.g/255,r=e.b/255;return .2126*(t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.7152*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))+.0722*(r<=.03928?r/12.92:Math.pow((r+.055)/1.055,2.4))},e.prototype.getAlpha=function(){return this.a},e.prototype.setAlpha=function(e){return this.a=(0,a.Yq)(e),this.roundA=Math.round(100*this.a)/100,this},e.prototype.isMonochrome=function(){return 0===this.toHsl().s},e.prototype.toHsv=function(){var e=(0,r.py)(this.r,this.g,this.b);return{h:360*e.h,s:e.s,v:e.v,a:this.a}},e.prototype.toHsvString=function(){var e=(0,r.py)(this.r,this.g,this.b),t=Math.round(360*e.h),n=Math.round(100*e.s),o=Math.round(100*e.v);return 1===this.a?"hsv(".concat(t,", ").concat(n,"%, ").concat(o,"%)"):"hsva(".concat(t,", ").concat(n,"%, ").concat(o,"%, ").concat(this.roundA,")")},e.prototype.toHsl=function(){var e=(0,r.lC)(this.r,this.g,this.b);return{h:360*e.h,s:e.s,l:e.l,a:this.a}},e.prototype.toHslString=function(){var e=(0,r.lC)(this.r,this.g,this.b),t=Math.round(360*e.h),n=Math.round(100*e.s),o=Math.round(100*e.l);return 1===this.a?"hsl(".concat(t,", ").concat(n,"%, ").concat(o,"%)"):"hsla(".concat(t,", ").concat(n,"%, ").concat(o,"%, ").concat(this.roundA,")")},e.prototype.toHex=function(e){return void 0===e&&(e=!1),(0,r.vq)(this.r,this.g,this.b,e)},e.prototype.toHexString=function(e){return void 0===e&&(e=!1),"#"+this.toHex(e)},e.prototype.toHex8=function(e){return void 0===e&&(e=!1),(0,r.s)(this.r,this.g,this.b,this.a,e)},e.prototype.toHex8String=function(e){return void 0===e&&(e=!1),"#"+this.toHex8(e)},e.prototype.toHexShortString=function(e){return void 0===e&&(e=!1),1===this.a?this.toHexString(e):this.toHex8String(e)},e.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},e.prototype.toRgbString=function(){var e=Math.round(this.r),t=Math.round(this.g),n=Math.round(this.b);return 1===this.a?"rgb(".concat(e,", ").concat(t,", ").concat(n,")"):"rgba(".concat(e,", ").concat(t,", ").concat(n,", ").concat(this.roundA,")")},e.prototype.toPercentageRgb=function(){var e=function(e){return"".concat(Math.round(100*(0,a.sh)(e,255)),"%")};return{r:e(this.r),g:e(this.g),b:e(this.b),a:this.a}},e.prototype.toPercentageRgbString=function(){var e=function(e){return Math.round(100*(0,a.sh)(e,255))};return 1===this.a?"rgb(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%)"):"rgba(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%, ").concat(this.roundA,")")},e.prototype.toName=function(){if(0===this.a)return"transparent";if(this.a<1)return!1;for(var e="#"+(0,r.vq)(this.r,this.g,this.b,!1),t=0,n=Object.entries(o.R);t=0;return!t&&r&&(e.startsWith("hex")||"name"===e)?"name"===e&&0===this.a?this.toName():this.toRgbString():("rgb"===e&&(n=this.toRgbString()),"prgb"===e&&(n=this.toPercentageRgbString()),("hex"===e||"hex6"===e)&&(n=this.toHexString()),"hex3"===e&&(n=this.toHexString(!0)),"hex4"===e&&(n=this.toHex8String(!0)),"hex8"===e&&(n=this.toHex8String()),"name"===e&&(n=this.toName()),"hsl"===e&&(n=this.toHslString()),"hsv"===e&&(n=this.toHsvString()),n||this.toHexString())},e.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},e.prototype.clone=function(){return new e(this.toString())},e.prototype.lighten=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.l+=t/100,n.l=(0,a.V2)(n.l),new e(n)},e.prototype.brighten=function(t){void 0===t&&(t=10);var n=this.toRgb();return n.r=Math.max(0,Math.min(255,n.r-Math.round(-(t/100*255)))),n.g=Math.max(0,Math.min(255,n.g-Math.round(-(t/100*255)))),n.b=Math.max(0,Math.min(255,n.b-Math.round(-(t/100*255)))),new e(n)},e.prototype.darken=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.l-=t/100,n.l=(0,a.V2)(n.l),new e(n)},e.prototype.tint=function(e){return void 0===e&&(e=10),this.mix("white",e)},e.prototype.shade=function(e){return void 0===e&&(e=10),this.mix("black",e)},e.prototype.desaturate=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.s-=t/100,n.s=(0,a.V2)(n.s),new e(n)},e.prototype.saturate=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.s+=t/100,n.s=(0,a.V2)(n.s),new e(n)},e.prototype.greyscale=function(){return this.desaturate(100)},e.prototype.spin=function(t){var n=this.toHsl(),r=(n.h+t)%360;return n.h=r<0?360+r:r,new e(n)},e.prototype.mix=function(t,n){void 0===n&&(n=50);var r=this.toRgb(),o=new e(t).toRgb(),i=n/100;return new e({r:(o.r-r.r)*i+r.r,g:(o.g-r.g)*i+r.g,b:(o.b-r.b)*i+r.b,a:(o.a-r.a)*i+r.a})},e.prototype.analogous=function(t,n){void 0===t&&(t=6),void 0===n&&(n=30);var r=this.toHsl(),o=360/n,i=[this];for(r.h=(r.h-(o*t>>1)+720)%360;--t;)r.h=(r.h+o)%360,i.push(new e(r));return i},e.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new e(t)},e.prototype.monochromatic=function(t){void 0===t&&(t=6);for(var n=this.toHsv(),r=n.h,o=n.s,i=n.v,a=[],c=1/t;t--;)a.push(new e({h:r,s:o,v:i})),i=(i+c)%1;return a},e.prototype.splitcomplement=function(){var t=this.toHsl(),n=t.h;return[this,new e({h:(n+72)%360,s:t.s,l:t.l}),new e({h:(n+216)%360,s:t.s,l:t.l})]},e.prototype.onBackground=function(t){var n=this.toRgb(),r=new e(t).toRgb(),o=n.a+r.a*(1-n.a);return new e({r:(n.r*n.a+r.r*r.a*(1-n.a))/o,g:(n.g*n.a+r.g*r.a*(1-n.a))/o,b:(n.b*n.a+r.b*r.a*(1-n.a))/o,a:o})},e.prototype.triad=function(){return this.polyad(3)},e.prototype.tetrad=function(){return this.polyad(4)},e.prototype.polyad=function(t){for(var n=this.toHsl(),r=n.h,o=[this],i=360/t,a=1;aMath.abs(e-t))?1:e=360===t?(e<0?e%t+t:e%t)/parseFloat(String(t)):e%t/parseFloat(String(t))}function o(e){return Math.min(1,Math.max(0,e))}function i(e){return(isNaN(e=parseFloat(e))||e<0||e>1)&&(e=1),e}function a(e){return e<=1?"".concat(100*Number(e),"%"):e}function c(e){return 1===e.length?"0"+e:String(e)}n.d(t,{FZ:function(){return c},JX:function(){return a},V2:function(){return o},Yq:function(){return i},sh:function(){return r}})},88804:function(e,t,n){n.d(t,{Z:function(){return b}});var r,o=n(80406),i=n(64090),a=n(89542),c=n(22127);n(53850);var l=n(74084),u=i.createContext(null),s=n(63787),f=n(24800),d=[],p=n(24050);function h(e){var t=e.match(/^(.*)px$/),n=Number(null==t?void 0:t[1]);return Number.isNaN(n)?function(e){if("undefined"==typeof document)return 0;if(void 0===r){var t=document.createElement("div");t.style.width="100%",t.style.height="200px";var n=document.createElement("div"),o=n.style;o.position="absolute",o.top="0",o.left="0",o.pointerEvents="none",o.visibility="hidden",o.width="200px",o.height="150px",o.overflow="hidden",n.appendChild(t),document.body.appendChild(n);var i=t.offsetWidth;n.style.overflow="scroll";var a=t.offsetWidth;i===a&&(a=n.clientWidth),document.body.removeChild(n),r=i-a}return r}():n}var m="rc-util-locker-".concat(Date.now()),v=0,g=!1,y=function(e){return!1!==e&&((0,c.Z)()&&e?"string"==typeof e?document.querySelector(e):"function"==typeof e?e():e:null)},b=i.forwardRef(function(e,t){var n,r,b,x,w=e.open,E=e.autoLock,O=e.getContainer,S=(e.debug,e.autoDestroy),C=void 0===S||S,k=e.children,j=i.useState(w),P=(0,o.Z)(j,2),M=P[0],A=P[1],T=M||w;i.useEffect(function(){(C||w)&&A(w)},[w,C]);var N=i.useState(function(){return y(O)}),I=(0,o.Z)(N,2),Z=I[0],R=I[1];i.useEffect(function(){var e=y(O);R(null!=e?e:null)});var _=function(e,t){var n=i.useState(function(){return(0,c.Z)()?document.createElement("div"):null}),r=(0,o.Z)(n,1)[0],a=i.useRef(!1),l=i.useContext(u),p=i.useState(d),h=(0,o.Z)(p,2),m=h[0],v=h[1],g=l||(a.current?void 0:function(e){v(function(t){return[e].concat((0,s.Z)(t))})});function y(){r.parentElement||document.body.appendChild(r),a.current=!0}function b(){var e;null===(e=r.parentElement)||void 0===e||e.removeChild(r),a.current=!1}return(0,f.Z)(function(){return e?l?l(y):y():b(),b},[e]),(0,f.Z)(function(){m.length&&(m.forEach(function(e){return e()}),v(d))},[m]),[r,g]}(T&&!Z,0),D=(0,o.Z)(_,2),B=D[0],L=D[1],z=null!=Z?Z:B;n=!!(E&&w&&(0,c.Z)()&&(z===B||z===document.body)),r=i.useState(function(){return v+=1,"".concat(m,"_").concat(v)}),b=(0,o.Z)(r,1)[0],(0,f.Z)(function(){if(n){var e=function(e){if("undefined"==typeof document||!e||!(e instanceof Element))return{width:0,height:0};var t=getComputedStyle(e,"::-webkit-scrollbar"),n=t.width,r=t.height;return{width:h(n),height:h(r)}}(document.body).width,t=document.body.scrollHeight>(window.innerHeight||document.documentElement.clientHeight)&&window.innerWidth>document.body.offsetWidth;(0,p.hq)("\nhtml body {\n overflow-y: hidden;\n ".concat(t?"width: calc(100% - ".concat(e,"px);"):"","\n}"),b)}else(0,p.jL)(b);return function(){(0,p.jL)(b)}},[n,b]);var F=null;k&&(0,l.Yr)(k)&&t&&(F=k.ref);var H=(0,l.x1)(F,t);if(!T||!(0,c.Z)()||void 0===Z)return null;var W=!1===z||("boolean"==typeof x&&(g=x),g),q=k;return t&&(q=i.cloneElement(k,{ref:H})),i.createElement(u.Provider,{value:L},W?q:(0,a.createPortal)(q,z))})},44101:function(e,t,n){n.d(t,{Z:function(){return H}});var r=n(5239),o=n(80406),i=n(6787),a=n(88804),c=n(16480),l=n.n(c),u=n(46505),s=n(97472),f=n(74687),d=n(54811),p=n(91010),h=n(24800),m=n(76158),v=n(64090),g=n(14749),y=n(49367),b=n(74084);function x(e){var t=e.prefixCls,n=e.align,r=e.arrow,o=e.arrowPos,i=r||{},a=i.className,c=i.content,u=o.x,s=o.y,f=v.useRef();if(!n||!n.points)return null;var d={position:"absolute"};if(!1!==n.autoArrow){var p=n.points[0],h=n.points[1],m=p[0],g=p[1],y=h[0],b=h[1];m!==y&&["t","b"].includes(m)?"t"===m?d.top=0:d.bottom=0:d.top=void 0===s?0:s,g!==b&&["l","r"].includes(g)?"l"===g?d.left=0:d.right=0:d.left=void 0===u?0:u}return v.createElement("div",{ref:f,className:l()("".concat(t,"-arrow"),a),style:d},c)}function w(e){var t=e.prefixCls,n=e.open,r=e.zIndex,o=e.mask,i=e.motion;return o?v.createElement(y.ZP,(0,g.Z)({},i,{motionAppear:!0,visible:n,removeOnLeave:!0}),function(e){var n=e.className;return v.createElement("div",{style:{zIndex:r},className:l()("".concat(t,"-mask"),n)})}):null}var E=v.memo(function(e){return e.children},function(e,t){return t.cache}),O=v.forwardRef(function(e,t){var n=e.popup,i=e.className,a=e.prefixCls,c=e.style,s=e.target,f=e.onVisibleChanged,d=e.open,p=e.keepDom,m=e.fresh,O=e.onClick,S=e.mask,C=e.arrow,k=e.arrowPos,j=e.align,P=e.motion,M=e.maskMotion,A=e.forceRender,T=e.getPopupContainer,N=e.autoDestroy,I=e.portal,Z=e.zIndex,R=e.onMouseEnter,_=e.onMouseLeave,D=e.onPointerEnter,B=e.ready,L=e.offsetX,z=e.offsetY,F=e.offsetR,H=e.offsetB,W=e.onAlign,q=e.onPrepare,V=e.stretch,U=e.targetWidth,X=e.targetHeight,G="function"==typeof n?n():n,K=d||p,$=(null==T?void 0:T.length)>0,Y=v.useState(!T||!$),Q=(0,o.Z)(Y,2),J=Q[0],ee=Q[1];if((0,h.Z)(function(){!J&&$&&s&&ee(!0)},[J,$,s]),!J)return null;var et="auto",en={left:"-1000vw",top:"-1000vh",right:et,bottom:et};if(B||!d){var er,eo=j.points,ei=j.dynamicInset||(null===(er=j._experimental)||void 0===er?void 0:er.dynamicInset),ea=ei&&"r"===eo[0][1],ec=ei&&"b"===eo[0][0];ea?(en.right=F,en.left=et):(en.left=L,en.right=et),ec?(en.bottom=H,en.top=et):(en.top=z,en.bottom=et)}var el={};return V&&(V.includes("height")&&X?el.height=X:V.includes("minHeight")&&X&&(el.minHeight=X),V.includes("width")&&U?el.width=U:V.includes("minWidth")&&U&&(el.minWidth=U)),d||(el.pointerEvents="none"),v.createElement(I,{open:A||K,getContainer:T&&function(){return T(s)},autoDestroy:N},v.createElement(w,{prefixCls:a,open:d,zIndex:Z,mask:S,motion:M}),v.createElement(u.Z,{onResize:W,disabled:!d},function(e){return v.createElement(y.ZP,(0,g.Z)({motionAppear:!0,motionEnter:!0,motionLeave:!0,removeOnLeave:!1,forceRender:A,leavedClassName:"".concat(a,"-hidden")},P,{onAppearPrepare:q,onEnterPrepare:q,visible:d,onVisibleChanged:function(e){var t;null==P||null===(t=P.onVisibleChanged)||void 0===t||t.call(P,e),f(e)}}),function(n,o){var u=n.className,s=n.style,f=l()(a,u,i);return v.createElement("div",{ref:(0,b.sQ)(e,t,o),className:f,style:(0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({"--arrow-x":"".concat(k.x||0,"px"),"--arrow-y":"".concat(k.y||0,"px")},en),el),s),{},{boxSizing:"border-box",zIndex:Z},c),onMouseEnter:R,onMouseLeave:_,onPointerEnter:D,onClick:O},C&&v.createElement(x,{prefixCls:a,arrow:C,arrowPos:k,align:j}),v.createElement(E,{cache:!d&&!m},G))})}))}),S=v.forwardRef(function(e,t){var n=e.children,r=e.getTriggerDOMNode,o=(0,b.Yr)(n),i=v.useCallback(function(e){(0,b.mH)(t,r?r(e):e)},[r]),a=(0,b.x1)(i,n.ref);return o?v.cloneElement(n,{ref:a}):n}),C=v.createContext(null);function k(e){return e?Array.isArray(e)?e:[e]:[]}var j=n(73193);function P(e,t,n,r){return t||(n?{motionName:"".concat(e,"-").concat(n)}:r?{motionName:r}:null)}function M(e){return e.ownerDocument.defaultView}function A(e){for(var t=[],n=null==e?void 0:e.parentElement,r=["hidden","scroll","clip","auto"];n;){var o=M(n).getComputedStyle(n);[o.overflowX,o.overflowY,o.overflow].some(function(e){return r.includes(e)})&&t.push(n),n=n.parentElement}return t}function T(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return Number.isNaN(e)?t:e}function N(e){return T(parseFloat(e),0)}function I(e,t){var n=(0,r.Z)({},e);return(t||[]).forEach(function(e){if(!(e instanceof HTMLBodyElement||e instanceof HTMLHtmlElement)){var t=M(e).getComputedStyle(e),r=t.overflow,o=t.overflowClipMargin,i=t.borderTopWidth,a=t.borderBottomWidth,c=t.borderLeftWidth,l=t.borderRightWidth,u=e.getBoundingClientRect(),s=e.offsetHeight,f=e.clientHeight,d=e.offsetWidth,p=e.clientWidth,h=N(i),m=N(a),v=N(c),g=N(l),y=T(Math.round(u.width/d*1e3)/1e3),b=T(Math.round(u.height/s*1e3)/1e3),x=h*b,w=v*y,E=0,O=0;if("clip"===r){var S=N(o);E=S*y,O=S*b}var C=u.x+w-E,k=u.y+x-O,j=C+u.width+2*E-w-g*y-(d-p-v-g)*y,P=k+u.height+2*O-x-m*b-(s-f-h-m)*b;n.left=Math.max(n.left,C),n.top=Math.max(n.top,k),n.right=Math.min(n.right,j),n.bottom=Math.min(n.bottom,P)}}),n}function Z(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n="".concat(t),r=n.match(/^(.*)\%$/);return r?parseFloat(r[1])/100*e:parseFloat(n)}function R(e,t){var n=(0,o.Z)(t||[],2),r=n[0],i=n[1];return[Z(e.width,r),Z(e.height,i)]}function _(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return[e[0],e[1]]}function D(e,t){var n,r=t[0],o=t[1];return n="t"===r?e.y:"b"===r?e.y+e.height:e.y+e.height/2,{x:"l"===o?e.x:"r"===o?e.x+e.width:e.x+e.width/2,y:n}}function B(e,t){var n={t:"b",b:"t",l:"r",r:"l"};return e.map(function(e,r){return r===t?n[e]||"c":e}).join("")}var L=n(63787);n(53850);var z=n(19223),F=["prefixCls","children","action","showAction","hideAction","popupVisible","defaultPopupVisible","onPopupVisibleChange","afterPopupVisibleChange","mouseEnterDelay","mouseLeaveDelay","focusDelay","blurDelay","mask","maskClosable","getPopupContainer","forceRender","autoDestroy","destroyPopupOnHide","popup","popupClassName","popupStyle","popupPlacement","builtinPlacements","popupAlign","zIndex","stretch","getPopupClassNameFromAlign","fresh","alignPoint","onPopupClick","onPopupAlign","arrow","popupMotion","maskMotion","popupTransitionName","popupAnimation","maskTransitionName","maskAnimation","className","getTriggerDOMNode"],H=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a.Z;return v.forwardRef(function(t,n){var a,c,g,y,b,x,w,E,N,Z,H,W,q,V,U,X,G,K=t.prefixCls,$=void 0===K?"rc-trigger-popup":K,Y=t.children,Q=t.action,J=t.showAction,ee=t.hideAction,et=t.popupVisible,en=t.defaultPopupVisible,er=t.onPopupVisibleChange,eo=t.afterPopupVisibleChange,ei=t.mouseEnterDelay,ea=t.mouseLeaveDelay,ec=void 0===ea?.1:ea,el=t.focusDelay,eu=t.blurDelay,es=t.mask,ef=t.maskClosable,ed=t.getPopupContainer,ep=t.forceRender,eh=t.autoDestroy,em=t.destroyPopupOnHide,ev=t.popup,eg=t.popupClassName,ey=t.popupStyle,eb=t.popupPlacement,ex=t.builtinPlacements,ew=void 0===ex?{}:ex,eE=t.popupAlign,eO=t.zIndex,eS=t.stretch,eC=t.getPopupClassNameFromAlign,ek=t.fresh,ej=t.alignPoint,eP=t.onPopupClick,eM=t.onPopupAlign,eA=t.arrow,eT=t.popupMotion,eN=t.maskMotion,eI=t.popupTransitionName,eZ=t.popupAnimation,eR=t.maskTransitionName,e_=t.maskAnimation,eD=t.className,eB=t.getTriggerDOMNode,eL=(0,i.Z)(t,F),ez=v.useState(!1),eF=(0,o.Z)(ez,2),eH=eF[0],eW=eF[1];(0,h.Z)(function(){eW((0,m.Z)())},[]);var eq=v.useRef({}),eV=v.useContext(C),eU=v.useMemo(function(){return{registerSubPopup:function(e,t){eq.current[e]=t,null==eV||eV.registerSubPopup(e,t)}}},[eV]),eX=(0,p.Z)(),eG=v.useState(null),eK=(0,o.Z)(eG,2),e$=eK[0],eY=eK[1],eQ=(0,d.Z)(function(e){(0,s.S)(e)&&e$!==e&&eY(e),null==eV||eV.registerSubPopup(eX,e)}),eJ=v.useState(null),e0=(0,o.Z)(eJ,2),e1=e0[0],e2=e0[1],e4=v.useRef(null),e5=(0,d.Z)(function(e){(0,s.S)(e)&&e1!==e&&(e2(e),e4.current=e)}),e6=v.Children.only(Y),e3=(null==e6?void 0:e6.props)||{},e8={},e9=(0,d.Z)(function(e){var t,n;return(null==e1?void 0:e1.contains(e))||(null===(t=(0,f.A)(e1))||void 0===t?void 0:t.host)===e||e===e1||(null==e$?void 0:e$.contains(e))||(null===(n=(0,f.A)(e$))||void 0===n?void 0:n.host)===e||e===e$||Object.values(eq.current).some(function(t){return(null==t?void 0:t.contains(e))||e===t})}),e7=P($,eT,eZ,eI),te=P($,eN,e_,eR),tt=v.useState(en||!1),tn=(0,o.Z)(tt,2),tr=tn[0],to=tn[1],ti=null!=et?et:tr,ta=(0,d.Z)(function(e){void 0===et&&to(e)});(0,h.Z)(function(){to(et||!1)},[et]);var tc=v.useRef(ti);tc.current=ti;var tl=v.useRef([]);tl.current=[];var tu=(0,d.Z)(function(e){var t;ta(e),(null!==(t=tl.current[tl.current.length-1])&&void 0!==t?t:ti)!==e&&(tl.current.push(e),null==er||er(e))}),ts=v.useRef(),tf=function(){clearTimeout(ts.current)},td=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;tf(),0===t?tu(e):ts.current=setTimeout(function(){tu(e)},1e3*t)};v.useEffect(function(){return tf},[]);var tp=v.useState(!1),th=(0,o.Z)(tp,2),tm=th[0],tv=th[1];(0,h.Z)(function(e){(!e||ti)&&tv(!0)},[ti]);var tg=v.useState(null),ty=(0,o.Z)(tg,2),tb=ty[0],tx=ty[1],tw=v.useState([0,0]),tE=(0,o.Z)(tw,2),tO=tE[0],tS=tE[1],tC=function(e){tS([e.clientX,e.clientY])},tk=(a=ej?tO:e1,c=v.useState({ready:!1,offsetX:0,offsetY:0,offsetR:0,offsetB:0,arrowX:0,arrowY:0,scaleX:1,scaleY:1,align:ew[eb]||{}}),y=(g=(0,o.Z)(c,2))[0],b=g[1],x=v.useRef(0),w=v.useMemo(function(){return e$?A(e$):[]},[e$]),E=v.useRef({}),ti||(E.current={}),N=(0,d.Z)(function(){if(e$&&a&&ti){var e,t,n,i,c,l,u,f=e$.ownerDocument,d=M(e$).getComputedStyle(e$),p=d.width,h=d.height,m=d.position,v=e$.style.left,g=e$.style.top,y=e$.style.right,x=e$.style.bottom,O=e$.style.overflow,S=(0,r.Z)((0,r.Z)({},ew[eb]),eE),C=f.createElement("div");if(null===(e=e$.parentElement)||void 0===e||e.appendChild(C),C.style.left="".concat(e$.offsetLeft,"px"),C.style.top="".concat(e$.offsetTop,"px"),C.style.position=m,C.style.height="".concat(e$.offsetHeight,"px"),C.style.width="".concat(e$.offsetWidth,"px"),e$.style.left="0",e$.style.top="0",e$.style.right="auto",e$.style.bottom="auto",e$.style.overflow="hidden",Array.isArray(a))n={x:a[0],y:a[1],width:0,height:0};else{var k=a.getBoundingClientRect();n={x:k.x,y:k.y,width:k.width,height:k.height}}var P=e$.getBoundingClientRect(),A=f.documentElement,N=A.clientWidth,Z=A.clientHeight,L=A.scrollWidth,z=A.scrollHeight,F=A.scrollTop,H=A.scrollLeft,W=P.height,q=P.width,V=n.height,U=n.width,X=S.htmlRegion,G="visible",K="visibleFirst";"scroll"!==X&&X!==K&&(X=G);var $=X===K,Y=I({left:-H,top:-F,right:L-H,bottom:z-F},w),Q=I({left:0,top:0,right:N,bottom:Z},w),J=X===G?Q:Y,ee=$?Q:J;e$.style.left="auto",e$.style.top="auto",e$.style.right="0",e$.style.bottom="0";var et=e$.getBoundingClientRect();e$.style.left=v,e$.style.top=g,e$.style.right=y,e$.style.bottom=x,e$.style.overflow=O,null===(t=e$.parentElement)||void 0===t||t.removeChild(C);var en=T(Math.round(q/parseFloat(p)*1e3)/1e3),er=T(Math.round(W/parseFloat(h)*1e3)/1e3);if(!(0===en||0===er||(0,s.S)(a)&&!(0,j.Z)(a))){var eo=S.offset,ei=S.targetOffset,ea=R(P,eo),ec=(0,o.Z)(ea,2),el=ec[0],eu=ec[1],es=R(n,ei),ef=(0,o.Z)(es,2),ed=ef[0],ep=ef[1];n.x-=ed,n.y-=ep;var eh=S.points||[],em=(0,o.Z)(eh,2),ev=em[0],eg=_(em[1]),ey=_(ev),ex=D(n,eg),eO=D(P,ey),eS=(0,r.Z)({},S),eC=ex.x-eO.x+el,ek=ex.y-eO.y+eu,ej=tt(eC,ek),eP=tt(eC,ek,Q),eA=D(n,["t","l"]),eT=D(P,["t","l"]),eN=D(n,["b","r"]),eI=D(P,["b","r"]),eZ=S.overflow||{},eR=eZ.adjustX,e_=eZ.adjustY,eD=eZ.shiftX,eB=eZ.shiftY,eL=function(e){return"boolean"==typeof e?e:e>=0};tn();var ez=eL(e_),eF=ey[0]===eg[0];if(ez&&"t"===ey[0]&&(c>ee.bottom||E.current.bt)){var eH=ek;eF?eH-=W-V:eH=eA.y-eI.y-eu;var eW=tt(eC,eH),eq=tt(eC,eH,Q);eW>ej||eW===ej&&(!$||eq>=eP)?(E.current.bt=!0,ek=eH,eu=-eu,eS.points=[B(ey,0),B(eg,0)]):E.current.bt=!1}if(ez&&"b"===ey[0]&&(iej||eU===ej&&(!$||eX>=eP)?(E.current.tb=!0,ek=eV,eu=-eu,eS.points=[B(ey,0),B(eg,0)]):E.current.tb=!1}var eG=eL(eR),eK=ey[1]===eg[1];if(eG&&"l"===ey[1]&&(u>ee.right||E.current.rl)){var eY=eC;eK?eY-=q-U:eY=eA.x-eI.x-el;var eQ=tt(eY,ek),eJ=tt(eY,ek,Q);eQ>ej||eQ===ej&&(!$||eJ>=eP)?(E.current.rl=!0,eC=eY,el=-el,eS.points=[B(ey,1),B(eg,1)]):E.current.rl=!1}if(eG&&"r"===ey[1]&&(lej||e1===ej&&(!$||e2>=eP)?(E.current.lr=!0,eC=e0,el=-el,eS.points=[B(ey,1),B(eg,1)]):E.current.lr=!1}tn();var e4=!0===eD?0:eD;"number"==typeof e4&&(lQ.right&&(eC-=u-Q.right-el,n.x>Q.right-e4&&(eC+=n.x-Q.right+e4)));var e5=!0===eB?0:eB;"number"==typeof e5&&(iQ.bottom&&(ek-=c-Q.bottom-eu,n.y>Q.bottom-e5&&(ek+=n.y-Q.bottom+e5)));var e6=P.x+eC,e3=P.y+ek,e8=n.x,e9=n.y;null==eM||eM(e$,eS);var e7=et.right-P.x-(eC+P.width),te=et.bottom-P.y-(ek+P.height);b({ready:!0,offsetX:eC/en,offsetY:ek/er,offsetR:e7/en,offsetB:te/er,arrowX:((Math.max(e6,e8)+Math.min(e6+q,e8+U))/2-e6)/en,arrowY:((Math.max(e3,e9)+Math.min(e3+W,e9+V))/2-e3)/er,scaleX:en,scaleY:er,align:eS})}function tt(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:J,r=P.x+e,o=P.y+t,i=Math.max(r,n.left),a=Math.max(o,n.top);return Math.max(0,(Math.min(r+q,n.right)-i)*(Math.min(o+W,n.bottom)-a))}function tn(){c=(i=P.y+ek)+W,u=(l=P.x+eC)+q}}}),Z=function(){b(function(e){return(0,r.Z)((0,r.Z)({},e),{},{ready:!1})})},(0,h.Z)(Z,[eb]),(0,h.Z)(function(){ti||Z()},[ti]),[y.ready,y.offsetX,y.offsetY,y.offsetR,y.offsetB,y.arrowX,y.arrowY,y.scaleX,y.scaleY,y.align,function(){x.current+=1;var e=x.current;Promise.resolve().then(function(){x.current===e&&N()})}]),tj=(0,o.Z)(tk,11),tP=tj[0],tM=tj[1],tA=tj[2],tT=tj[3],tN=tj[4],tI=tj[5],tZ=tj[6],tR=tj[7],t_=tj[8],tD=tj[9],tB=tj[10],tL=(H=void 0===Q?"hover":Q,v.useMemo(function(){var e=k(null!=J?J:H),t=k(null!=ee?ee:H),n=new Set(e),r=new Set(t);return eH&&(n.has("hover")&&(n.delete("hover"),n.add("click")),r.has("hover")&&(r.delete("hover"),r.add("click"))),[n,r]},[eH,H,J,ee])),tz=(0,o.Z)(tL,2),tF=tz[0],tH=tz[1],tW=tF.has("click"),tq=tH.has("click")||tH.has("contextMenu"),tV=(0,d.Z)(function(){tm||tB()});W=function(){tc.current&&ej&&tq&&td(!1)},(0,h.Z)(function(){if(ti&&e1&&e$){var e=A(e1),t=A(e$),n=M(e$),r=new Set([n].concat((0,L.Z)(e),(0,L.Z)(t)));function o(){tV(),W()}return r.forEach(function(e){e.addEventListener("scroll",o,{passive:!0})}),n.addEventListener("resize",o,{passive:!0}),tV(),function(){r.forEach(function(e){e.removeEventListener("scroll",o),n.removeEventListener("resize",o)})}}},[ti,e1,e$]),(0,h.Z)(function(){tV()},[tO,eb]),(0,h.Z)(function(){ti&&!(null!=ew&&ew[eb])&&tV()},[JSON.stringify(eE)]);var tU=v.useMemo(function(){var e=function(e,t,n,r){for(var o=n.points,i=Object.keys(e),a=0;a0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2?arguments[2]:void 0;return n?e[0]===t[0]:e[0]===t[0]&&e[1]===t[1]}(null===(c=e[l])||void 0===c?void 0:c.points,o,r))return"".concat(t,"-placement-").concat(l)}return""}(ew,$,tD,ej);return l()(e,null==eC?void 0:eC(tD))},[tD,eC,ew,$,ej]);v.useImperativeHandle(n,function(){return{nativeElement:e4.current,forceAlign:tV}});var tX=v.useState(0),tG=(0,o.Z)(tX,2),tK=tG[0],t$=tG[1],tY=v.useState(0),tQ=(0,o.Z)(tY,2),tJ=tQ[0],t0=tQ[1],t1=function(){if(eS&&e1){var e=e1.getBoundingClientRect();t$(e.width),t0(e.height)}};function t2(e,t,n,r){e8[e]=function(o){var i;null==r||r(o),td(t,n);for(var a=arguments.length,c=Array(a>1?a-1:0),l=1;l1?n-1:0),o=1;o1?n-1:0),o=1;oiU(t,e()).base(t.base()),or.apply(t,arguments),t}},scaleOrdinal:function(){return ou},scalePoint:function(){return of},scalePow:function(){return ap},scaleQuantile:function(){return function e(){var t,n=[],r=[],o=[];function i(){var e=0,t=Math.max(1,r.length);for(o=Array(t-1);++e2&&void 0!==arguments[2]?arguments[2]:o4;if(!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,o=(r-1)*t,i=Math.floor(o),a=+n(e[i],i,e);return a+(+n(e[i+1],i+1,e)-a)*(o-i)}}(n,e/t);return a}function a(e){return null==e||isNaN(e=+e)?t:r[o6(o,e)]}return a.invertExtent=function(e){var t=r.indexOf(e);return t<0?[NaN,NaN]:[t>0?o[t-1]:n[0],t=o?[i[o-1],r]:[i[t-1],i[t]]},c.unknown=function(e){return arguments.length&&(t=e),c},c.thresholds=function(){return i.slice()},c.copy=function(){return e().domain([n,r]).range(a).unknown(t)},or.apply(i3(c),arguments)}},scaleRadial:function(){return function e(){var t,n=iG(),r=[0,1],o=!1;function i(e){var r,i=Math.sign(r=n(e))*Math.sqrt(Math.abs(r));return isNaN(i)?t:o?Math.round(i):i}return i.invert=function(e){return n.invert(am(e))},i.domain=function(e){return arguments.length?(n.domain(e),i):n.domain()},i.range=function(e){return arguments.length?(n.range((r=Array.from(e,iz)).map(am)),i):r.slice()},i.rangeRound=function(e){return i.range(e).round(!0)},i.round=function(e){return arguments.length?(o=!!e,i):o},i.clamp=function(e){return arguments.length?(n.clamp(e),i):n.clamp()},i.unknown=function(e){return arguments.length?(t=e,i):t},i.copy=function(){return e(n.domain(),r).round(o).clamp(n.clamp()).unknown(t)},or.apply(i,arguments),i3(i)}},scaleSequential:function(){return function e(){var t=i3(ll()(iH));return t.copy=function(){return lu(t,e())},oo.apply(t,arguments)}},scaleSequentialLog:function(){return function e(){var t=ai(ll()).domain([1,10]);return t.copy=function(){return lu(t,e()).base(t.base())},oo.apply(t,arguments)}},scaleSequentialPow:function(){return ls},scaleSequentialQuantile:function(){return function e(){var t=[],n=iH;function r(e){if(null!=e&&!isNaN(e=+e))return n((o6(t,e,1)-1)/(t.length-1))}return r.domain=function(e){if(!arguments.length)return t.slice();for(let n of(t=[],e))null==n||isNaN(n=+n)||t.push(n);return t.sort(oJ),r},r.interpolator=function(e){return arguments.length?(n=e,r):n},r.range=function(){return t.map((e,r)=>n(r/(t.length-1)))},r.quantiles=function(e){return Array.from({length:e+1},(n,r)=>(function(e,t,n){if(!(!(r=(e=Float64Array.from(function*(e,t){if(void 0===t)for(let t of e)null!=t&&(t=+t)>=t&&(yield t);else{let n=-1;for(let r of e)null!=(r=t(r,++n,e))&&(r=+r)>=r&&(yield r)}}(e,void 0))).length)||isNaN(t=+t))){if(t<=0||r<2)return ag(e);if(t>=1)return av(e);var r,o=(r-1)*t,i=Math.floor(o),a=av((function e(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1/0,i=arguments.length>4?arguments[4]:void 0;if(n=Math.floor(n),r=Math.floor(Math.max(0,r)),o=Math.floor(Math.min(t.length-1,o)),!(r<=n&&n<=o))return t;for(i=void 0===i?ay:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:oJ;if(e===oJ)return ay;if("function"!=typeof e)throw TypeError("compare is not a function");return(t,n)=>{let r=e(t,n);return r||0===r?r:(0===e(n,n))-(0===e(t,t))}}(i);o>r;){if(o-r>600){let a=o-r+1,c=n-r+1,l=Math.log(a),u=.5*Math.exp(2*l/3),s=.5*Math.sqrt(l*u*(a-u)/a)*(c-a/2<0?-1:1),f=Math.max(r,Math.floor(n-c*u/a+s)),d=Math.min(o,Math.floor(n+(a-c)*u/a+s));e(t,n,f,d,i)}let a=t[n],c=r,l=o;for(ab(t,r,n),i(t[o],a)>0&&ab(t,r,o);ci(t[c],a);)++c;for(;i(t[l],a)>0;)--l}0===i(t[r],a)?ab(t,r,l):ab(t,++l,o),l<=n&&(r=l+1),n<=l&&(o=l-1)}return t})(e,i).subarray(0,i+1));return a+(ag(e.subarray(i+1))-a)*(o-i)}})(t,r/e))},r.copy=function(){return e(n).domain(t)},oo.apply(r,arguments)}},scaleSequentialSqrt:function(){return lf},scaleSequentialSymlog:function(){return function e(){var t=al(ll());return t.copy=function(){return lu(t,e()).constant(t.constant())},oo.apply(t,arguments)}},scaleSqrt:function(){return ah},scaleSymlog:function(){return function e(){var t=al(iX());return t.copy=function(){return iU(t,e()).constant(t.constant())},or.apply(t,arguments)}},scaleThreshold:function(){return function e(){var t,n=[.5],r=[0,1],o=1;function i(e){return null!=e&&e<=e?r[o6(n,e,0,o)]:t}return i.domain=function(e){return arguments.length?(o=Math.min((n=Array.from(e)).length,r.length-1),i):n.slice()},i.range=function(e){return arguments.length?(r=Array.from(e),o=Math.min(n.length,r.length-1),i):r.slice()},i.invertExtent=function(e){var t=r.indexOf(e);return[n[t-1],n[t]]},i.unknown=function(e){return arguments.length?(t=e,i):t},i.copy=function(){return e().domain(n).range(r).unknown(t)},or.apply(i,arguments)}},scaleTime:function(){return la},scaleUtc:function(){return lc},tickFormat:function(){return i6}});var C=n(69703),k=n(54942),j=n(2898),P=n(99250),M=n(65492),A=n(64090),T=function(){for(var e,t,n=0,r="",o=arguments.length;n0?1:-1},q=function(e){return _()(e)&&e.indexOf("%")===e.length-1},V=function(e){return H()(e)&&!B()(e)},U=function(e){return V(e)||_()(e)},X=0,G=function(e){var t=++X;return"".concat(e||"").concat(t)},K=function(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!V(e)&&!_()(e))return r;if(q(e)){var i=e.indexOf("%");n=t*parseFloat(e.slice(0,i))/100}else n=+e;return B()(n)&&(n=r),o&&n>t&&(n=t),n},$=function(e){if(!e)return null;var t=Object.keys(e);return t&&t.length?e[t[0]]:null},Y=function(e){if(!Array.isArray(e))return!1;for(var t=e.length,n={},r=0;r2?n-2:0),o=2;o=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var ey={click:"onClick",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseover:"onMouseOver",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart"},eb=function(e){return"string"==typeof e?e:e?e.displayName||e.name||"Component":""},ex=null,ew=null,eE=function e(t){if(t===ex&&Array.isArray(ew))return ew;var n=[];return A.Children.forEach(t,function(t){en()(t)||((0,Z.isFragment)(t)?n=n.concat(e(t.props.children)):n.push(t))}),ew=n,ex=t,n};function eO(e,t){var n=[],r=[];return r=Array.isArray(t)?t.map(function(e){return eb(e)}):[eb(t)],eE(e).forEach(function(e){var t=z()(e,"type.displayName")||z()(e,"type.name");-1!==r.indexOf(t)&&n.push(e)}),n}function eS(e,t){var n=eO(e,t);return n&&n[0]}var eC=function(e){if(!e||!e.props)return!1;var t=e.props,n=t.width,r=t.height;return!!V(n)&&!(n<=0)&&!!V(r)&&!(r<=0)},ek=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColormatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-url","foreignObject","g","glyph","glyphRef","hkern","image","line","lineGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],ej=function(e,t,n,r){var o,i=null!==(o=null==ef?void 0:ef[r])&&void 0!==o?o:[];return!eo()(e)&&(r&&i.includes(t)||eu.includes(t))||n&&ed.includes(t)},eP=function(e,t,n){if(!e||"function"==typeof e||"boolean"==typeof e)return null;var r=e;if((0,A.isValidElement)(e)&&(r=e.props),!ea()(r))return null;var o={};return Object.keys(r).forEach(function(e){var i;ej(null===(i=r)||void 0===i?void 0:i[e],e,t,n)&&(o[e]=r[e])}),o},eM=function e(t,n){if(t===n)return!0;var r=A.Children.count(t);if(r!==A.Children.count(n))return!1;if(0===r)return!0;if(1===r)return eA(Array.isArray(t)?t[0]:t,Array.isArray(n)?n[0]:n);for(var o=0;o=0)n.push(e);else if(e){var i=eb(e.type),a=t[i]||{},c=a.handler,l=a.once;if(c&&(!l||!r[i])){var u=c(e,i,o);n.push(u),r[i]=!0}}}),n},eN=function(e){var t=e&&e.type;return t&&ey[t]?ey[t]:null};function eI(e){return(eI="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function eZ(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function eR(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&(e=I()(e,v,{trailing:!0,leading:!1}));var t=new ResizeObserver(e),n=w.current.getBoundingClientRect();return k(n.width,n.height),t.observe(w.current),function(){t.disconnect()}},[k,v]);var j=(0,A.useMemo)(function(){var e=S.containerWidth,t=S.containerHeight;if(e<0||t<0)return null;ee(q(c)||q(u),"The width(%s) and height(%s) are both fixed numbers,\n maybe you don't need to use a ResponsiveContainer.",c,u),ee(!r||r>0,"The aspect(%s) must be greater than zero.",r);var n=q(c)?e:c,o=q(u)?t:u;r&&r>0&&(n?o=n/r:o&&(n=o*r),p&&o>p&&(o=p)),ee(n>0||o>0,"The width(%s) and height(%s) of chart should be greater than 0,\n please check the style of container, or the props width(%s) and height(%s),\n or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the\n height and width.",n,o,c,u,f,d,r);var i=!Array.isArray(h)&&(0,Z.isElement)(h)&&eb(h.type).endsWith("Chart");return A.Children.map(h,function(e){return(0,Z.isElement)(e)?(0,A.cloneElement)(e,eR({width:n,height:o},i?{style:eR({height:"100%",width:"100%",maxHeight:o,maxWidth:n},e.props.style)}:{})):e})},[r,h,u,p,d,f,S,c]);return A.createElement("div",{id:g?"".concat(g):void 0,className:T("recharts-responsive-container",y),style:eR(eR({},void 0===x?{}:x),{},{width:c,height:u,minWidth:f,minHeight:d,maxHeight:p}),ref:w},j)}),eB=n(1646),eL=n.n(eB),ez=n(97572),eF=n.n(ez),eH=n(209),eW=n.n(eH),eq=n(72986),eV=n.n(eq);function eU(e,t){if(!e)throw Error("Invariant failed")}var eX=["children","width","height","viewBox","className","style","title","desc"];function eG(){return(eG=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,eX),s=o||{width:n,height:r,x:0,y:0},f=T("recharts-surface",i);return A.createElement("svg",eG({},eP(u,!0,"svg"),{className:f,width:n,height:r,style:a,viewBox:"".concat(s.x," ").concat(s.y," ").concat(s.width," ").concat(s.height)}),A.createElement("title",null,c),A.createElement("desc",null,l),t)}var e$=["children","className"];function eY(){return(eY=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,e$),i=T("recharts-layer",r);return A.createElement("g",eY({className:i},eP(o,!0),{ref:t}),n)});function eJ(e){return(eJ="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function e0(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0;)if(!n.equals(e[r],t[r],r,r,e,t,n))return!1;return!0}function tu(e,t){return to(e.getTime(),t.getTime())}function ts(e,t,n){if(e.size!==t.size)return!1;for(var r,o,i={},a=e.entries(),c=0;(r=a.next())&&!r.done;){for(var l=t.entries(),u=!1,s=0;(o=l.next())&&!o.done;){var f=r.value,d=f[0],p=f[1],h=o.value,m=h[0],v=h[1];!u&&!i[s]&&(u=n.equals(d,m,c,s,e,t,n)&&n.equals(p,v,d,m,e,t,n))&&(i[s]=!0),s++}if(!u)return!1;c++}return!0}function tf(e,t,n){var r,o=tc(e),i=o.length;if(tc(t).length!==i)return!1;for(;i-- >0;)if((r=o[i])===ti&&(e.$$typeof||t.$$typeof)&&e.$$typeof!==t.$$typeof||!tr(t,r)||!n.equals(e[r],t[r],r,r,e,t,n))return!1;return!0}function td(e,t,n){var r,o,i,a=tn(e),c=a.length;if(tn(t).length!==c)return!1;for(;c-- >0;)if((r=a[c])===ti&&(e.$$typeof||t.$$typeof)&&e.$$typeof!==t.$$typeof||!tr(t,r)||!n.equals(e[r],t[r],r,r,e,t,n)||(o=ta(e,r),i=ta(t,r),(o||i)&&(!o||!i||o.configurable!==i.configurable||o.enumerable!==i.enumerable||o.writable!==i.writable)))return!1;return!0}function tp(e,t){return to(e.valueOf(),t.valueOf())}function th(e,t){return e.source===t.source&&e.flags===t.flags}function tm(e,t,n){if(e.size!==t.size)return!1;for(var r,o,i={},a=e.values();(r=a.next())&&!r.done;){for(var c=t.values(),l=!1,u=0;(o=c.next())&&!o.done;)!l&&!i[u]&&(l=n.equals(r.value,o.value,r.value,o.value,e,t,n))&&(i[u]=!0),u++;if(!l)return!1}return!0}function tv(e,t){var n=e.length;if(t.length!==n)return!1;for(;n-- >0;)if(e[n]!==t[n])return!1;return!0}var tg=Array.isArray,ty="function"==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView:null,tb=Object.assign,tx=Object.prototype.toString.call.bind(Object.prototype.toString),tw=tE();function tE(e){void 0===e&&(e={});var t,n,r,o,i,a,c,l,u,s=e.circular,f=e.createInternalComparator,d=e.createState,p=e.strict,h=(n=(t=function(e){var t=e.circular,n=e.createCustomConfig,r=e.strict,o={areArraysEqual:r?td:tl,areDatesEqual:tu,areMapsEqual:r?te(ts,td):ts,areObjectsEqual:r?td:tf,arePrimitiveWrappersEqual:tp,areRegExpsEqual:th,areSetsEqual:r?te(tm,td):tm,areTypedArraysEqual:r?td:tv};if(n&&(o=tb({},o,n(o))),t){var i=tt(o.areArraysEqual),a=tt(o.areMapsEqual),c=tt(o.areObjectsEqual),l=tt(o.areSetsEqual);o=tb({},o,{areArraysEqual:i,areMapsEqual:a,areObjectsEqual:c,areSetsEqual:l})}return o}(e)).areArraysEqual,r=t.areDatesEqual,o=t.areMapsEqual,i=t.areObjectsEqual,a=t.arePrimitiveWrappersEqual,c=t.areRegExpsEqual,l=t.areSetsEqual,u=t.areTypedArraysEqual,function(e,t,s){if(e===t)return!0;if(null==e||null==t||"object"!=typeof e||"object"!=typeof t)return e!=e&&t!=t;var f=e.constructor;if(f!==t.constructor)return!1;if(f===Object)return i(e,t,s);if(tg(e))return n(e,t,s);if(null!=ty&&ty(e))return u(e,t,s);if(f===Date)return r(e,t,s);if(f===RegExp)return c(e,t,s);if(f===Map)return o(e,t,s);if(f===Set)return l(e,t,s);var d=tx(e);return"[object Date]"===d?r(e,t,s):"[object RegExp]"===d?c(e,t,s):"[object Map]"===d?o(e,t,s):"[object Set]"===d?l(e,t,s):"[object Object]"===d?"function"!=typeof e.then&&"function"!=typeof t.then&&i(e,t,s):"[object Arguments]"===d?i(e,t,s):("[object Boolean]"===d||"[object Number]"===d||"[object String]"===d)&&a(e,t,s)}),m=f?f(h):function(e,t,n,r,o,i,a){return h(e,t,a)};return function(e){var t=e.circular,n=e.comparator,r=e.createState,o=e.equals,i=e.strict;if(r)return function(e,a){var c=r(),l=c.cache;return n(e,a,{cache:void 0===l?t?new WeakMap:void 0:l,equals:o,meta:c.meta,strict:i})};if(t)return function(e,t){return n(e,t,{cache:new WeakMap,equals:o,meta:void 0,strict:i})};var a={cache:void 0,equals:o,meta:void 0,strict:i};return function(e,t){return n(e,t,a)}}({circular:void 0!==s&&s,comparator:h,createState:d,equals:m,strict:void 0!==p&&p})}function tO(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=-1;requestAnimationFrame(function r(o){if(n<0&&(n=o),o-n>t)e(o),n=-1;else{var i;i=r,"undefined"!=typeof requestAnimationFrame&&requestAnimationFrame(i)}})}function tS(e){return(tS="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function tC(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n=0&&e<=1}),"[configBezier]: arguments should be x1, y1, x2, y2 of [0, 1] instead received %s",r);var d=tW(i,c),p=tW(a,l),h=(e=i,t=c,function(n){var r;return tH([].concat(function(e){if(Array.isArray(e))return tz(e)}(r=tF(e,t).map(function(e,t){return e*t}).slice(1))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||tL(r)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[0]),n)}),m=function(e){for(var t=e>1?1:e,n=t,r=0;r<8;++r){var o,i=d(n)-t,a=h(n);if(1e-4>Math.abs(i-t)||a<1e-4)break;n=(o=n-i/a)>1?1:o<0?0:o}return p(n)};return m.isStepper=!1,m},tV=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.stiff,n=void 0===t?100:t,r=e.damping,o=void 0===r?8:r,i=e.dt,a=void 0===i?17:i,c=function(e,t,r){var i=r+(-(e-t)*n-r*o)*a/1e3,c=r*a/1e3+e;return 1e-4>Math.abs(c-t)&&1e-4>Math.abs(i)?[t,0]:[c,i]};return c.isStepper=!0,c.dt=a,c},tU=function(){for(var e=arguments.length,t=Array(e),n=0;ne.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n0?n[o-1]:r,d=u||Object.keys(l);if("function"==typeof c||"spring"===c)return[].concat(t6(e),[t.runJSAnimation.bind(t,{from:f.style,to:l,duration:i,easing:c}),i]);var p=tD(d,i,c),h=t9(t9(t9({},f.style),l),{},{transition:p});return[].concat(t6(e),[h,i,s]).filter(tI)},[a,Math.max(void 0===c?0:c,r)])),[e.onAnimationEnd]))}},{key:"runAnimation",value:function(e){if(!this.manager){var t,n,r;this.manager=(t=function(){return null},n=!1,r=function e(r){if(!n){if(Array.isArray(r)){if(!r.length)return;var o=function(e){if(Array.isArray(e))return e}(r)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||function(e,t){if(e){if("string"==typeof e)return tC(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return tC(e,t)}}(r)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),i=o[0],a=o.slice(1);if("number"==typeof i){tO(e.bind(null,a),i);return}e(i),tO(e.bind(null,a));return}"object"===tS(r)&&t(r),"function"==typeof r&&r()}},{stop:function(){n=!0},start:function(e){n=!1,r(e)},subscribe:function(e){return t=e,function(){t=function(){return null}}}})}var o=e.begin,i=e.duration,a=e.attributeName,c=e.to,l=e.easing,u=e.onAnimationStart,s=e.onAnimationEnd,f=e.steps,d=e.children,p=this.manager;if(this.unSubscribe=p.subscribe(this.handleStyleChange),"function"==typeof l||"function"==typeof d||"spring"===l){this.runJSAnimation(e);return}if(f.length>1){this.runStepAnimation(e);return}var h=a?t7({},a,c):c,m=tD(Object.keys(h),i,l);p.start([u,o,t9(t9({},h),{},{transition:m}),i,s])}},{key:"render",value:function(){var e=this.props,t=e.children,n=(e.begin,e.duration),r=(e.attributeName,e.easing,e.isActive),o=(e.steps,e.from,e.to,e.canBegin,e.onAnimationEnd,e.shouldReAnimate,e.onAnimationReStart,function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,t5)),i=A.Children.count(t),a=t_(this.state.style);if("function"==typeof t)return t(a);if(!r||0===i||n<=0)return t;var c=function(e){var t=e.props,n=t.style,r=t.className;return(0,A.cloneElement)(e,t9(t9({},o),{},{style:t9(t9({},void 0===n?{}:n),a),className:r}))};return 1===i?c(A.Children.only(t)):A.createElement("div",null,A.Children.map(t,function(e){return c(e)}))}}],ne(i.prototype,n),r&&ne(i,r),Object.defineProperty(i,"prototype",{writable:!1}),i}(A.PureComponent);na.displayName="Animate",na.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}},na.propTypes={from:e3().oneOfType([e3().object,e3().string]),to:e3().oneOfType([e3().object,e3().string]),attributeName:e3().string,duration:e3().number,begin:e3().number,easing:e3().oneOfType([e3().string,e3().func]),steps:e3().arrayOf(e3().shape({duration:e3().number.isRequired,style:e3().object.isRequired,easing:e3().oneOfType([e3().oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),e3().func]),properties:e3().arrayOf("string"),onAnimationEnd:e3().func})),children:e3().oneOfType([e3().node,e3().func]),isActive:e3().bool,canBegin:e3().bool,onAnimationEnd:e3().func,shouldReAnimate:e3().bool,onAnimationStart:e3().func,onAnimationReStart:e3().func};var nc=n(42859),nl=["children","appearOptions","enterOptions","leaveOptions"];function nu(e){return(nu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ns(){return(ns=Object.assign?Object.assign.bind():function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.steps,n=e.duration;return t&&t.length?t.reduce(function(e,t){return e+(Number.isFinite(t.duration)&&t.duration>0?t.duration:0)},0):Number.isFinite(n)?n:0},nx=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&nh(e,t)}(i,e);var t,n,r,o=(t=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}(),function(){var e,n=nv(i);if(t){var r=nv(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return function(e,t){if(t&&("object"===nu(t)||"function"==typeof t))return t;if(void 0!==t)throw TypeError("Derived constructors may only return object or undefined");return nm(e)}(this,e)});function i(){var e;return!function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,i),ng(nm(e=o.call(this)),"handleEnter",function(t,n){var r=e.props,o=r.appearOptions,i=r.enterOptions;e.handleStyleActive(n?o:i)}),ng(nm(e),"handleExit",function(){var t=e.props.leaveOptions;e.handleStyleActive(t)}),e.state={isActive:!1},e}return n=[{key:"handleStyleActive",value:function(e){if(e){var t=e.onAnimationEnd?function(){e.onAnimationEnd()}:null;this.setState(nd(nd({},e),{},{onAnimationEnd:t,isActive:!0}))}}},{key:"parseTimeout",value:function(){var e=this.props,t=e.appearOptions,n=e.enterOptions,r=e.leaveOptions;return nb(t)+nb(n)+nb(r)}},{key:"render",value:function(){var e=this,t=this.props,n=t.children,r=(t.appearOptions,t.enterOptions,t.leaveOptions,function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(t,nl));return A.createElement(nc.Transition,ns({},r,{onEnter:this.handleEnter,onExit:this.handleExit,timeout:this.parseTimeout()}),function(){return A.createElement(na,e.state,A.Children.only(n))})}}],np(i.prototype,n),r&&np(i,r),Object.defineProperty(i,"prototype",{writable:!1}),i}(A.Component);function nw(e){var t=e.component,n=e.children,r=e.appear,o=e.enter,i=e.leave;return A.createElement(nc.TransitionGroup,{component:t},A.Children.map(n,function(e,t){return A.createElement(nx,{appearOptions:r,enterOptions:o,leaveOptions:i,key:"child-".concat(t)},e)}))}function nE(e){return(nE="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function nO(e,t,n){var r;return(r=function(e,t){if("object"!==nE(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==nE(r))return r;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"),(t="symbol"===nE(r)?r:String(r))in e)?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}nx.propTypes={appearOptions:e3().object,enterOptions:e3().object,leaveOptions:e3().object,children:e3().element},nw.propTypes={appear:e3().object,enter:e3().object,leave:e3().object,children:e3().oneOfType([e3().array,e3().element]),component:e3().any},nw.defaultProps={component:"span"};var nS="recharts-tooltip-wrapper",nC={visibility:"hidden"};function nk(e){var t=e.allowEscapeViewBox,n=e.coordinate,r=e.key,o=e.offsetTopLeft,i=e.position,a=e.reverseDirection,c=e.tooltipDimension,l=e.viewBox,u=e.viewBoxDimension;if(i&&V(i[r]))return i[r];var s=n[r]-c-o,f=n[r]+o;return t[r]?a[r]?s:f:a[r]?sl[r]+u?Math.max(s,l[r]):Math.max(f,l[r])}function nj(e){return(nj="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function nP(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function nM(e){for(var t=1;t1||Math.abs(e.height-this.lastBoundingBox.height)>1)&&(this.lastBoundingBox.width=e.width,this.lastBoundingBox.height=e.height)}else(-1!==this.lastBoundingBox.width||-1!==this.lastBoundingBox.height)&&(this.lastBoundingBox.width=-1,this.lastBoundingBox.height=-1)}},{key:"componentDidMount",value:function(){document.addEventListener("keydown",this.handleKeyDown),this.updateBBox()}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyDown)}},{key:"componentDidUpdate",value:function(){var e,t;this.props.active&&this.updateBBox(),this.state.dismissed&&((null===(e=this.props.coordinate)||void 0===e?void 0:e.x)!==this.state.dismissedAtCoordinate.x||(null===(t=this.props.coordinate)||void 0===t?void 0:t.y)!==this.state.dismissedAtCoordinate.y)&&(this.state.dismissed=!1)}},{key:"render",value:function(){var e,t,n,r,o,i,a,c,l,u,s,f,d,p,h,m,v,g,y,b,x=this,w=this.props,E=w.active,O=w.allowEscapeViewBox,S=w.animationDuration,C=w.animationEasing,k=w.children,j=w.coordinate,P=w.hasPayload,M=w.isAnimationActive,N=w.offset,I=w.position,Z=w.reverseDirection,R=w.useTranslate3d,_=w.viewBox,D=w.wrapperStyle,B=(d=(e={allowEscapeViewBox:O,coordinate:j,offsetTopLeft:N,position:I,reverseDirection:Z,tooltipBox:{height:this.lastBoundingBox.height,width:this.lastBoundingBox.width},useTranslate3d:R,viewBox:_}).allowEscapeViewBox,p=e.coordinate,h=e.offsetTopLeft,m=e.position,v=e.reverseDirection,g=e.tooltipBox,y=e.useTranslate3d,b=e.viewBox,g.height>0&&g.width>0&&p?(n=(t={translateX:s=nk({allowEscapeViewBox:d,coordinate:p,key:"x",offsetTopLeft:h,position:m,reverseDirection:v,tooltipDimension:g.width,viewBox:b,viewBoxDimension:b.width}),translateY:f=nk({allowEscapeViewBox:d,coordinate:p,key:"y",offsetTopLeft:h,position:m,reverseDirection:v,tooltipDimension:g.height,viewBox:b,viewBoxDimension:b.height}),useTranslate3d:y}).translateX,r=t.translateY,u=t_({transform:t.useTranslate3d?"translate3d(".concat(n,"px, ").concat(r,"px, 0)"):"translate(".concat(n,"px, ").concat(r,"px)")})):u=nC,{cssProperties:u,cssClasses:(a=(o={translateX:s,translateY:f,coordinate:p}).coordinate,c=o.translateX,l=o.translateY,T(nS,(nO(i={},"".concat(nS,"-right"),V(c)&&a&&V(a.x)&&c>=a.x),nO(i,"".concat(nS,"-left"),V(c)&&a&&V(a.x)&&c=a.y),nO(i,"".concat(nS,"-top"),V(l)&&a&&V(a.y)&&l0;return A.createElement(n_,{allowEscapeViewBox:o,animationDuration:i,animationEasing:a,isAnimationActive:s,active:r,coordinate:l,hasPayload:x,offset:f,position:h,reverseDirection:m,useTranslate3d:v,viewBox:g,wrapperStyle:y},(e=nW(nW({},this.props),{},{payload:b}),A.isValidElement(c)?A.cloneElement(c,e):"function"==typeof c?A.createElement(c,e):A.createElement(e5,e)))}}],nq(i.prototype,n),r&&nq(i,r),Object.defineProperty(i,"prototype",{writable:!1}),i}(A.PureComponent);nX(n$,"displayName","Tooltip"),nX(n$,"defaultProps",{allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:"ease",contentStyle:{},coordinate:{x:0,y:0},cursor:!0,cursorStyle:{},filterNull:!0,isAnimationActive:!nD.isSsr,itemStyle:{},labelStyle:{},offset:10,reverseDirection:{x:!1,y:!1},separator:" : ",trigger:"hover",useTranslate3d:!1,viewBox:{x:0,y:0,height:0,width:0},wrapperStyle:{}});var nY=n(9332),nQ=n.n(nY);let nJ=Math.cos,n0=Math.sin,n1=Math.sqrt,n2=Math.PI,n4=2*n2;var n5={draw(e,t){let n=n1(t/n2);e.moveTo(n,0),e.arc(0,0,n,0,n4)}};let n6=n1(1/3),n3=2*n6,n8=n0(n2/10)/n0(7*n2/10),n9=n0(n4/10)*n8,n7=-nJ(n4/10)*n8,re=n1(3),rt=n1(3)/2,rn=1/n1(12),rr=(rn/2+1)*3;function ro(e){return function(){return e}}function ri(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function ra(){let e=ri(["M",",",""]);return ra=function(){return e},e}function rc(){let e=ri(["Z"]);return rc=function(){return e},e}function rl(){let e=ri(["L",",",""]);return rl=function(){return e},e}function ru(){let e=ri(["Q",",",",",",",""]);return ru=function(){return e},e}function rs(){let e=ri(["C",",",",",",",",",",",""]);return rs=function(){return e},e}function rf(){let e=ri(["M",",",""]);return rf=function(){return e},e}function rd(){let e=ri(["L",",",""]);return rd=function(){return e},e}function rp(){let e=ri(["L",",",""]);return rp=function(){return e},e}function rh(){let e=ri(["A",",",",0,0,",",",",",""]);return rh=function(){return e},e}function rm(){let e=ri(["M",",",""]);return rm=function(){return e},e}function rv(){let e=ri(["L",",",""]);return rv=function(){return e},e}function rg(){let e=ri(["A",",",",0,1,",",",",","A",",",",0,1,",",",",",""]);return rg=function(){return e},e}function ry(){let e=ri(["A",",",",0,",",",",",",",""]);return ry=function(){return e},e}function rb(){let e=ri(["M",",","h","v","h","Z"]);return rb=function(){return e},e}let rx=Math.PI,rw=2*rx,rE=rw-1e-6;function rO(e){this._+=e[0];for(let t=1,n=e.length;t1e-6){if(Math.abs(s*c-l*u)>1e-6&&o){let d=n-i,p=r-a,h=c*c+l*l,m=Math.sqrt(h),v=Math.sqrt(f),g=o*Math.tan((rx-Math.acos((h+f-(d*d+p*p))/(2*m*v)))/2),y=g/v,b=g/m;Math.abs(y-1)>1e-6&&this._append(rp(),e+y*u,t+y*s),this._append(rh(),o,o,+(s*d>u*p),this._x1=e+b*c,this._y1=t+b*l)}else this._append(rd(),this._x1=e,this._y1=t)}}arc(e,t,n,r,o,i){if(e=+e,t=+t,i=!!i,(n=+n)<0)throw Error("negative radius: ".concat(n));let a=n*Math.cos(r),c=n*Math.sin(r),l=e+a,u=t+c,s=1^i,f=i?r-o:o-r;null===this._x1?this._append(rm(),l,u):(Math.abs(this._x1-l)>1e-6||Math.abs(this._y1-u)>1e-6)&&this._append(rv(),l,u),n&&(f<0&&(f=f%rw+rw),f>rE?this._append(rg(),n,n,s,e-a,t-c,n,n,s,this._x1=l,this._y1=u):f>1e-6&&this._append(ry(),n,n,+(f>=rx),s,this._x1=e+n*Math.cos(o),this._y1=t+n*Math.sin(o)))}rect(e,t,n,r){this._append(rb(),this._x0=this._x1=+e,this._y0=this._y1=+t,n=+n,+r,-n)}toString(){return this._}constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=null==e?rO:function(e){let t=Math.floor(e);if(!(t>=0))throw Error("invalid digits: ".concat(e));if(t>15)return rO;let n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;t=0))throw RangeError("invalid digits: ".concat(n));t=e}return e},()=>new rS(t)}function rk(e){return(rk="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}rS.prototype,n1(3),n1(3);var rj=["type","size","sizeType"];function rP(){return(rP=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,rj)),{},{type:r,size:i,sizeType:c}),u=l.className,s=l.cx,f=l.cy,d=eP(l,!0);return s===+s&&f===+f&&i===+i?A.createElement("path",rP({},d,{className:T("recharts-symbols",u),transform:"translate(".concat(s,", ").concat(f,")"),d:(t=rT["symbol".concat(nQ()(r))]||n5,(function(e,t){let n=null,r=rC(o);function o(){let o;if(n||(n=o=r()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),o)return n=null,o+""||null}return e="function"==typeof e?e:ro(e||n5),t="function"==typeof t?t:ro(void 0===t?64:+t),o.type=function(t){return arguments.length?(e="function"==typeof t?t:ro(t),o):e},o.size=function(e){return arguments.length?(t="function"==typeof e?e:ro(+e),o):t},o.context=function(e){return arguments.length?(n=null==e?null:e,o):n},o})().type(t).size(rI(i,c,r))())})):null};function rR(e){return(rR="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r_(){return(r_=Object.assign?Object.assign.bind():function(e){for(var t=1;t');var p=t.inactive?a:t.color;return A.createElement("li",r_({className:f,style:l,key:"legend-item-".concat(n)},eh(e.props,t,n)),A.createElement(eK,{width:r,height:r,viewBox:c,style:u},e.renderIcon(t)),A.createElement("span",{className:"recharts-legend-item-text",style:{color:p}},s?s(d,t,n):d))})}},{key:"render",value:function(){var e=this.props,t=e.payload,n=e.layout,r=e.align;return t&&t.length?A.createElement("ul",{className:"recharts-default-legend",style:{padding:0,margin:0,textAlign:"horizontal"===n?r:"left"}},this.renderItems()):null}}],rB(i.prototype,n),r&&rB(i,r),Object.defineProperty(i,"prototype",{writable:!1}),i}(A.PureComponent);function rq(e){return(rq="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}rF(rW,"displayName","Legend"),rF(rW,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"middle",inactiveColor:"#ccc"});var rV=["ref"];function rU(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function rX(e){for(var t=1;t1||Math.abs(t.height-this.lastBoundingBox.height)>1)&&(this.lastBoundingBox.width=t.width,this.lastBoundingBox.height=t.height,e&&e(t))}else(-1!==this.lastBoundingBox.width||-1!==this.lastBoundingBox.height)&&(this.lastBoundingBox.width=-1,this.lastBoundingBox.height=-1,e&&e(null))}},{key:"getBBoxSnapshot",value:function(){return this.lastBoundingBox.width>=0&&this.lastBoundingBox.height>=0?rX({},this.lastBoundingBox):{width:0,height:0}}},{key:"getDefaultPosition",value:function(e){var t,n,r=this.props,o=r.layout,i=r.align,a=r.verticalAlign,c=r.margin,l=r.chartWidth,u=r.chartHeight;return e&&(void 0!==e.left&&null!==e.left||void 0!==e.right&&null!==e.right)||(t="center"===i&&"vertical"===o?{left:((l||0)-this.getBBoxSnapshot().width)/2}:"right"===i?{right:c&&c.right||0}:{left:c&&c.left||0}),e&&(void 0!==e.top&&null!==e.top||void 0!==e.bottom&&null!==e.bottom)||(n="middle"===a?{top:((u||0)-this.getBBoxSnapshot().height)/2}:"bottom"===a?{bottom:c&&c.bottom||0}:{top:c&&c.top||0}),rX(rX({},t),n)}},{key:"render",value:function(){var e=this,t=this.props,n=t.content,r=t.width,o=t.height,i=t.wrapperStyle,a=t.payloadUniqBy,c=t.payload,l=rX(rX({position:"absolute",width:r||"auto",height:o||"auto"},this.getDefaultPosition(i)),i);return A.createElement("div",{className:"recharts-legend-wrapper",style:l,ref:function(t){e.wrapperNode=t}},function(e,t){if(A.isValidElement(e))return A.cloneElement(e,t);if("function"==typeof e)return A.createElement(e,t);t.ref;var n=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(t,rV);return A.createElement(rW,n)}(n,rX(rX({},this.props),{},{payload:nz(c,a,r0)})))}}],r=[{key:"getWithHeight",value:function(e,t){var n=e.props.layout;return"vertical"===n&&V(e.props.height)?{height:e.props.height}:"horizontal"===n?{width:e.props.width||t}:null}}],n&&rG(i.prototype,n),r&&rG(i,r),Object.defineProperty(i,"prototype",{writable:!1}),i}(A.PureComponent);function r2(){return(r2=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n=0?1:-1,l=n>=0?1:-1,u=r>=0&&n>=0||r<0&&n<0?1:0;if(a>0&&o instanceof Array){for(var s=[0,0,0,0],f=0;f<4;f++)s[f]=o[f]>a?a:o[f];i="M".concat(e,",").concat(t+c*s[0]),s[0]>0&&(i+="A ".concat(s[0],",").concat(s[0],",0,0,").concat(u,",").concat(e+l*s[0],",").concat(t)),i+="L ".concat(e+n-l*s[1],",").concat(t),s[1]>0&&(i+="A ".concat(s[1],",").concat(s[1],",0,0,").concat(u,",\n ").concat(e+n,",").concat(t+c*s[1])),i+="L ".concat(e+n,",").concat(t+r-c*s[2]),s[2]>0&&(i+="A ".concat(s[2],",").concat(s[2],",0,0,").concat(u,",\n ").concat(e+n-l*s[2],",").concat(t+r)),i+="L ".concat(e+l*s[3],",").concat(t+r),s[3]>0&&(i+="A ".concat(s[3],",").concat(s[3],",0,0,").concat(u,",\n ").concat(e,",").concat(t+r-c*s[3])),i+="Z"}else if(a>0&&o===+o&&o>0){var d=Math.min(a,o);i="M ".concat(e,",").concat(t+c*d,"\n A ").concat(d,",").concat(d,",0,0,").concat(u,",").concat(e+l*d,",").concat(t,"\n L ").concat(e+n-l*d,",").concat(t,"\n A ").concat(d,",").concat(d,",0,0,").concat(u,",").concat(e+n,",").concat(t+c*d,"\n L ").concat(e+n,",").concat(t+r-c*d,"\n A ").concat(d,",").concat(d,",0,0,").concat(u,",").concat(e+n-l*d,",").concat(t+r,"\n L ").concat(e+l*d,",").concat(t+r,"\n A ").concat(d,",").concat(d,",0,0,").concat(u,",").concat(e,",").concat(t+r-c*d," Z")}else i="M ".concat(e,",").concat(t," h ").concat(n," v ").concat(r," h ").concat(-n," Z");return i},oe=function(e,t){if(!e||!t)return!1;var n=e.x,r=e.y,o=t.x,i=t.y,a=t.width,c=t.height;return!!(Math.abs(a)>0&&Math.abs(c)>0)&&n>=Math.min(o,o+a)&&n<=Math.max(o,o+a)&&r>=Math.min(i,i+c)&&r<=Math.max(i,i+c)},ot={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},on=function(e){var t,n=r9(r9({},ot),e),r=(0,A.useRef)(),o=function(e){if(Array.isArray(e))return e}(t=(0,A.useState)(-1))||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,c=[],l=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return c}}(t,2)||function(e,t){if(e){if("string"==typeof e)return r3(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r3(e,t)}}(t,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),i=o[0],a=o[1];(0,A.useEffect)(function(){if(r.current&&r.current.getTotalLength)try{var e=r.current.getTotalLength();e&&a(e)}catch(e){}},[]);var c=n.x,l=n.y,u=n.width,s=n.height,f=n.radius,d=n.className,p=n.animationEasing,h=n.animationDuration,m=n.animationBegin,v=n.isAnimationActive,g=n.isUpdateAnimationActive;if(c!==+c||l!==+l||u!==+u||s!==+s||0===u||0===s)return null;var y=T("recharts-rectangle",d);return g?A.createElement(na,{canBegin:i>0,from:{width:u,height:s,x:c,y:l},to:{width:u,height:s,x:c,y:l},duration:h,animationEasing:p,isActive:g},function(e){var t=e.width,o=e.height,a=e.x,c=e.y;return A.createElement(na,{canBegin:i>0,from:"0px ".concat(-1===i?1:i,"px"),to:"".concat(i,"px 0px"),attributeName:"strokeDasharray",begin:m,duration:h,isActive:v,easing:p},A.createElement("path",r6({},eP(n,!0),{className:y,d:r7(a,c,t,o,f),ref:r})))}):A.createElement("path",r6({},eP(n,!0),{className:y,d:r7(c,l,u,s,f)}))};function or(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}function oo(e,t){switch(arguments.length){case 0:break;case 1:"function"==typeof e?this.interpolator(e):this.range(e);break;default:this.domain(e),"function"==typeof t?this.interpolator(t):this.range(t)}return this}class oi extends Map{get(e){return super.get(oa(this,e))}has(e){return super.has(oa(this,e))}set(e,t){return super.set(function(e,t){let{_intern:n,_key:r}=e,o=r(t);return n.has(o)?n.get(o):(n.set(o,t),t)}(this,e),t)}delete(e){return super.delete(function(e,t){let{_intern:n,_key:r}=e,o=r(t);return n.has(o)&&(t=n.get(o),n.delete(o)),t}(this,e))}constructor(e,t=oc){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),null!=e)for(let[t,n]of e)this.set(t,n)}}function oa(e,t){let{_intern:n,_key:r}=e,o=r(t);return n.has(o)?n.get(o):t}function oc(e){return null!==e&&"object"==typeof e?e.valueOf():e}let ol=Symbol("implicit");function ou(){var e=new oi,t=[],n=[],r=ol;function o(o){let i=e.get(o);if(void 0===i){if(r!==ol)return r;e.set(o,i=t.push(o)-1)}return n[i%n.length]}return o.domain=function(n){if(!arguments.length)return t.slice();for(let r of(t=[],e=new oi,n))e.has(r)||e.set(r,t.push(r)-1);return o},o.range=function(e){return arguments.length?(n=Array.from(e),o):n.slice()},o.unknown=function(e){return arguments.length?(r=e,o):r},o.copy=function(){return ou(t,n).unknown(r)},or.apply(o,arguments),o}function os(){var e,t,n=ou().unknown(void 0),r=n.domain,o=n.range,i=0,a=1,c=!1,l=0,u=0,s=.5;function f(){var n=r().length,f=a1&&void 0!==arguments[1]?arguments[1]:{};if(null==e||nD.isSsr)return{width:0,height:0};var r=(Object.keys(t=oh({},n)).forEach(function(e){t[e]||delete t[e]}),t),o=JSON.stringify({text:e,copyStyle:r});if(om.widthCache[o])return om.widthCache[o];try{var i=document.getElementById(og);i||((i=document.createElement("span")).setAttribute("id",og),i.setAttribute("aria-hidden","true"),document.body.appendChild(i));var a=oh(oh({},ov),r);Object.assign(i.style,a),i.textContent="".concat(e);var c=i.getBoundingClientRect(),l={width:c.width,height:c.height};return om.widthCache[o]=l,++om.cacheCount>2e3&&(om.cacheCount=0,om.widthCache={}),l}catch(e){return{width:0,height:0}}};function ob(e){return(ob="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ox(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,c=[],l=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return c}}(e,t)||function(e,t){if(e){if("string"==typeof e)return ow(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ow(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ow(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function oD(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,c=[],l=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return c}}(e,t)||function(e,t){if(e){if("string"==typeof e)return oB(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return oB(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function oB(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&void 0!==arguments[0]?arguments[0]:[];return e.reduce(function(e,t){var i=t.word,a=t.width,c=e[e.length-1];return c&&(null==r||o||c.width+a+na||t.reduce(function(e,t){return e.width>t.width?e:t}).width>Number(r),t]},h=0,m=c.length-1,v=0;h<=m&&v<=c.length-1;){var g=Math.floor((h+m)/2),y=oD(p(g-1),2),b=y[0],x=y[1],w=oD(p(g),1)[0];if(b||w||(h=g+1),b&&w&&(m=g-1),!b&&w){i=x;break}v++}return i||d},oH=function(e){return[{words:en()(e)?[]:e.toString().split(oL)}]},oW=function(e){var t=e.width,n=e.scaleToFit,r=e.children,o=e.style,i=e.breakAll,a=e.maxLines;if((t||n)&&!nD.isSsr){var c=oz({breakAll:i,children:r,style:o});return c?oF({breakAll:i,children:r,maxLines:a,style:o},c.wordsWithComputedWidth,c.spaceWidth,t,n):oH(r)}return oH(r)},oq="#808080",oV=function(e){var t,n=e.x,r=void 0===n?0:n,o=e.y,i=void 0===o?0:o,a=e.lineHeight,c=void 0===a?"1em":a,l=e.capHeight,u=void 0===l?"0.71em":l,s=e.scaleToFit,f=void 0!==s&&s,d=e.textAnchor,p=e.verticalAnchor,h=e.fill,m=void 0===h?oq:h,v=o_(e,oI),g=(0,A.useMemo)(function(){return oW({breakAll:v.breakAll,children:v.children,maxLines:v.maxLines,scaleToFit:f,style:v.style,width:v.width})},[v.breakAll,v.children,v.maxLines,f,v.style,v.width]),y=v.dx,b=v.dy,x=v.angle,w=v.className,E=v.breakAll,O=o_(v,oZ);if(!U(r)||!U(i))return null;var S=r+(V(y)?y:0),C=i+(V(b)?b:0);switch(void 0===p?"end":p){case"start":t=oN("calc(".concat(u,")"));break;case"middle":t=oN("calc(".concat((g.length-1)/2," * -").concat(c," + (").concat(u," / 2))"));break;default:t=oN("calc(".concat(g.length-1," * -").concat(c,")"))}var k=[];if(f){var j=g[0].width,P=v.width;k.push("scale(".concat((V(P)?P/j:1)/j,")"))}return x&&k.push("rotate(".concat(x,", ").concat(S,", ").concat(C,")")),k.length&&(O.transform=k.join(" ")),A.createElement("text",oR({},eP(O,!0),{x:S,y:C,className:T("recharts-text",w),textAnchor:void 0===d?"start":d,fill:m.includes("url")?oq:m}),g.map(function(e,n){var r=e.words.join(E?"":" ");return A.createElement("tspan",{x:S,dy:0===n?t:c,key:r},r)}))};let oU=Math.sqrt(50),oX=Math.sqrt(10),oG=Math.sqrt(2);function oK(e,t,n){let r,o,i;let a=(t-e)/Math.max(0,n),c=Math.floor(Math.log10(a)),l=a/Math.pow(10,c),u=l>=oU?10:l>=oX?5:l>=oG?2:1;return(c<0?(r=Math.round(e*(i=Math.pow(10,-c)/u)),o=Math.round(t*i),r/it&&--o,i=-i):(r=Math.round(e/(i=Math.pow(10,c)*u)),o=Math.round(t/i),r*it&&--o),o0))return[];if(e===t)return[e];let r=t=o))return[];let c=i-o+1,l=Array(c);if(r){if(a<0)for(let e=0;et?1:e>=t?0:NaN}function o0(e,t){return null==e||null==t?NaN:te?1:t>=e?0:NaN}function o1(e){let t,n,r;function o(e,r){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:e.length;if(o>>1;0>n(e[t],r)?o=t+1:i=t}while(ooJ(e(t),n),r=(t,n)=>e(t)-n):(t=e===oJ||e===o0?e:o2,n=e,r=e),{left:o,center:function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:e.length,a=o(e,t,n,i-1);return a>n&&r(e[a-1],t)>-r(e[a],t)?a-1:a},right:function(e,r){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:e.length;if(o>>1;0>=n(e[t],r)?o=t+1:i=t}while(o>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?iv(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?iv(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=io.exec(e))?new iy(t[1],t[2],t[3],1):(t=ii.exec(e))?new iy(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=ia.exec(e))?iv(t[1],t[2],t[3],t[4]):(t=ic.exec(e))?iv(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=il.exec(e))?iS(t[1],t[2]/100,t[3]/100,1):(t=iu.exec(e))?iS(t[1],t[2]/100,t[3]/100,t[4]):is.hasOwnProperty(e)?im(is[e]):"transparent"===e?new iy(NaN,NaN,NaN,0):null}function im(e){return new iy(e>>16&255,e>>8&255,255&e,1)}function iv(e,t,n,r){return r<=0&&(e=t=n=NaN),new iy(e,t,n,r)}function ig(e,t,n,r){var o;return 1==arguments.length?((o=e)instanceof o9||(o=ih(o)),o)?new iy((o=o.rgb()).r,o.g,o.b,o.opacity):new iy:new iy(e,t,n,null==r?1:r)}function iy(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}function ib(){return"#".concat(iO(this.r)).concat(iO(this.g)).concat(iO(this.b))}function ix(){let e=iw(this.opacity);return"".concat(1===e?"rgb(":"rgba(").concat(iE(this.r),", ").concat(iE(this.g),", ").concat(iE(this.b)).concat(1===e?")":", ".concat(e,")"))}function iw(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function iE(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function iO(e){return((e=iE(e))<16?"0":"")+e.toString(16)}function iS(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new ik(e,t,n,r)}function iC(e){if(e instanceof ik)return new ik(e.h,e.s,e.l,e.opacity);if(e instanceof o9||(e=ih(e)),!e)return new ik;if(e instanceof ik)return e;var t=(e=e.rgb()).r/255,n=e.g/255,r=e.b/255,o=Math.min(t,n,r),i=Math.max(t,n,r),a=NaN,c=i-o,l=(i+o)/2;return c?(a=t===i?(n-r)/c+(n0&&l<1?0:a,new ik(a,c,l,e.opacity)}function ik(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}function ij(e){return(e=(e||0)%360)<0?e+360:e}function iP(e){return Math.max(0,Math.min(1,e||0))}function iM(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}function iA(e,t,n,r,o){var i=e*e,a=i*e;return((1-3*e+3*i-a)*t+(4-6*i+3*a)*n+(1+3*e+3*i-3*a)*r+a*o)/6}o3(o9,ih,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:id,formatHex:id,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return iC(this).formatHsl()},formatRgb:ip,toString:ip}),o3(iy,ig,o8(o9,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new iy(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new iy(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new iy(iE(this.r),iE(this.g),iE(this.b),iw(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:ib,formatHex:ib,formatHex8:function(){return"#".concat(iO(this.r)).concat(iO(this.g)).concat(iO(this.b)).concat(iO((isNaN(this.opacity)?1:this.opacity)*255))},formatRgb:ix,toString:ix})),o3(ik,function(e,t,n,r){return 1==arguments.length?iC(e):new ik(e,t,n,null==r?1:r)},o8(o9,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new ik(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new ik(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,o=2*n-r;return new iy(iM(e>=240?e-240:e+120,o,r),iM(e,o,r),iM(e<120?e+240:e-120,o,r),this.opacity)},clamp(){return new ik(ij(this.h),iP(this.s),iP(this.l),iw(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=iw(this.opacity);return"".concat(1===e?"hsl(":"hsla(").concat(ij(this.h),", ").concat(100*iP(this.s),"%, ").concat(100*iP(this.l),"%").concat(1===e?")":", ".concat(e,")"))}}));var iT=e=>()=>e;function iN(e,t){var n=t-e;return n?function(t){return e+t*n}:iT(isNaN(e)?t:e)}var iI=function e(t){var n,r=1==(n=+(n=t))?iN:function(e,t){var r,o,i;return t-e?(r=e,o=t,r=Math.pow(r,i=n),o=Math.pow(o,i)-r,i=1/i,function(e){return Math.pow(r+e*o,i)}):iT(isNaN(e)?t:e)};function o(e,t){var n=r((e=ig(e)).r,(t=ig(t)).r),o=r(e.g,t.g),i=r(e.b,t.b),a=iN(e.opacity,t.opacity);return function(t){return e.r=n(t),e.g=o(t),e.b=i(t),e.opacity=a(t),e+""}}return o.gamma=e,o}(1);function iZ(e){return function(t){var n,r,o=t.length,i=Array(o),a=Array(o),c=Array(o);for(n=0;n=1?(n=1,t-1):Math.floor(n*t),o=e[r],i=e[r+1],a=r>0?e[r-1]:2*o-i,c=rc&&(a=t.slice(c,a),u[l]?u[l]+=a:u[++l]=a),(o=o[0])===(i=i[0])?u[l]?u[l]+=i:u[++l]=i:(u[++l]=null,s.push({i:l,x:iR(o,i)})),c=iD.lastIndex;return ct&&(n=e,e=t,t=n),u=function(n){return Math.max(e,Math.min(t,n))}),r=l>2?iV:iq,o=i=null,f}function f(t){return null==t||isNaN(t=+t)?n:(o||(o=r(a.map(e),c,l)))(e(u(t)))}return f.invert=function(n){return u(t((i||(i=r(c,a.map(e),iR)))(n)))},f.domain=function(e){return arguments.length?(a=Array.from(e,iz),s()):a.slice()},f.range=function(e){return arguments.length?(c=Array.from(e),s()):c.slice()},f.rangeRound=function(e){return c=Array.from(e),l=iL,s()},f.clamp=function(e){return arguments.length?(u=!!e||iH,s()):u!==iH},f.interpolate=function(e){return arguments.length?(l=e,s()):l},f.unknown=function(e){return arguments.length?(n=e,f):n},function(n,r){return e=n,t=r,s()}}function iG(){return iX()(iH,iH)}var iK=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function i$(e){var t;if(!(t=iK.exec(e)))throw Error("invalid format: "+e);return new iY({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}function iY(e){this.fill=void 0===e.fill?" ":e.fill+"",this.align=void 0===e.align?">":e.align+"",this.sign=void 0===e.sign?"-":e.sign+"",this.symbol=void 0===e.symbol?"":e.symbol+"",this.zero=!!e.zero,this.width=void 0===e.width?void 0:+e.width,this.comma=!!e.comma,this.precision=void 0===e.precision?void 0:+e.precision,this.trim=!!e.trim,this.type=void 0===e.type?"":e.type+""}function iQ(e,t){if((n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var n,r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function iJ(e){return(e=iQ(Math.abs(e)))?e[1]:NaN}function i0(e,t){var n=iQ(e,t);if(!n)return e+"";var r=n[0],o=n[1];return o<0?"0."+Array(-o).join("0")+r:r.length>o+1?r.slice(0,o+1)+"."+r.slice(o+1):r+Array(o-r.length+2).join("0")}i$.prototype=iY.prototype,iY.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var i1={"%":(e,t)=>(100*e).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:function(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)},e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>i0(100*e,t),r:i0,s:function(e,t){var n=iQ(e,t);if(!n)return e+"";var r=n[0],o=n[1],i=o-(g=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,a=r.length;return i===a?r:i>a?r+Array(i-a+1).join("0"):i>0?r.slice(0,i)+"."+r.slice(i):"0."+Array(1-i).join("0")+iQ(e,Math.max(0,t+i-1))[0]},X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function i2(e){return e}var i4=Array.prototype.map,i5=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];function i6(e,t,n,r){var o,i,a=oQ(e,t,n);switch((r=i$(null==r?",f":r)).type){case"s":var c=Math.max(Math.abs(e),Math.abs(t));return null!=r.precision||isNaN(i=Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(iJ(c)/3)))-iJ(Math.abs(a))))||(r.precision=i),x(r,c);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(i=Math.max(0,iJ(Math.abs(Math.max(Math.abs(e),Math.abs(t)))-(o=Math.abs(o=a)))-iJ(o))+1)||(r.precision=i-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(i=Math.max(0,-iJ(Math.abs(a))))||(r.precision=i-("%"===r.type)*2)}return b(r)}function i3(e){var t=e.domain;return e.ticks=function(e){var n=t();return o$(n[0],n[n.length-1],null==e?10:e)},e.tickFormat=function(e,n){var r=t();return i6(r[0],r[r.length-1],null==e?10:e,n)},e.nice=function(n){null==n&&(n=10);var r,o,i=t(),a=0,c=i.length-1,l=i[a],u=i[c],s=10;for(u0;){if((o=oY(l,u,n))===r)return i[a]=l,i[c]=u,t(i);if(o>0)l=Math.floor(l/o)*o,u=Math.ceil(u/o)*o;else if(o<0)l=Math.ceil(l*o)/o,u=Math.floor(u*o)/o;else break;r=o}return e},e}function i8(){var e=iG();return e.copy=function(){return iU(e,i8())},or.apply(e,arguments),i3(e)}function i9(e,t){e=e.slice();var n,r=0,o=e.length-1,i=e[r],a=e[o];return a-e(-t,n)}function ai(e){let t,n;let r=e(i7,ae),o=r.domain,i=10;function a(){var a,c;return t=(a=i)===Math.E?Math.log:10===a&&Math.log10||2===a&&Math.log2||(a=Math.log(a),e=>Math.log(e)/a),n=10===(c=i)?ar:c===Math.E?Math.exp:e=>Math.pow(c,e),o()[0]<0?(t=ao(t),n=ao(n),e(at,an)):e(i7,ae),r}return r.base=function(e){return arguments.length?(i=+e,a()):i},r.domain=function(e){return arguments.length?(o(e),a()):o()},r.ticks=e=>{let r,a;let c=o(),l=c[0],u=c[c.length-1],s=u0){for(;f<=d;++f)for(r=1;ru)break;h.push(a)}}else for(;f<=d;++f)for(r=i-1;r>=1;--r)if(!((a=f>0?r/n(-f):r*n(f))u)break;h.push(a)}2*h.length{if(null==e&&(e=10),null==o&&(o=10===i?"s":","),"function"!=typeof o&&(i%1||null!=(o=i$(o)).precision||(o.trim=!0),o=b(o)),e===1/0)return o;let a=Math.max(1,i*e/r.ticks().length);return e=>{let r=e/n(Math.round(t(e)));return r*io(i9(o(),{floor:e=>n(Math.floor(t(e))),ceil:e=>n(Math.ceil(t(e)))})),r}function aa(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function ac(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function al(e){var t=1,n=e(aa(1),ac(t));return n.constant=function(n){return arguments.length?e(aa(t=+n),ac(t)):t},i3(n)}function au(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function as(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function af(e){return e<0?-e*e:e*e}function ad(e){var t=e(iH,iH),n=1;return t.exponent=function(t){return arguments.length?1==(n=+t)?e(iH,iH):.5===n?e(as,af):e(au(n),au(1/n)):n},i3(t)}function ap(){var e=ad(iX());return e.copy=function(){return iU(e,ap()).exponent(e.exponent())},or.apply(e,arguments),e}function ah(){return ap.apply(null,arguments).exponent(.5)}function am(e){return Math.sign(e)*e*e}function av(e,t){let n;if(void 0===t)for(let t of e)null!=t&&(n=t)&&(n=t);else{let r=-1;for(let o of e)null!=(o=t(o,++r,e))&&(n=o)&&(n=o)}return n}function ag(e,t){let n;if(void 0===t)for(let t of e)null!=t&&(n>t||void 0===n&&t>=t)&&(n=t);else{let r=-1;for(let o of e)null!=(o=t(o,++r,e))&&(n>o||void 0===n&&o>=o)&&(n=o)}return n}function ay(e,t){return(null==e||!(e>=e))-(null==t||!(t>=t))||(et?1:0)}function ab(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}b=(y=function(e){var t,n,r,o=void 0===e.grouping||void 0===e.thousands?i2:(t=i4.call(e.grouping,Number),n=e.thousands+"",function(e,r){for(var o=e.length,i=[],a=0,c=t[0],l=0;o>0&&c>0&&(l+c+1>r&&(c=Math.max(1,r-l)),i.push(e.substring(o-=c,o+c)),!((l+=c+1)>r));)c=t[a=(a+1)%t.length];return i.reverse().join(n)}),i=void 0===e.currency?"":e.currency[0]+"",a=void 0===e.currency?"":e.currency[1]+"",c=void 0===e.decimal?".":e.decimal+"",l=void 0===e.numerals?i2:(r=i4.call(e.numerals,String),function(e){return e.replace(/[0-9]/g,function(e){return r[+e]})}),u=void 0===e.percent?"%":e.percent+"",s=void 0===e.minus?"−":e.minus+"",f=void 0===e.nan?"NaN":e.nan+"";function d(e){var t=(e=i$(e)).fill,n=e.align,r=e.sign,d=e.symbol,p=e.zero,h=e.width,m=e.comma,v=e.precision,y=e.trim,b=e.type;"n"===b?(m=!0,b="g"):i1[b]||(void 0===v&&(v=12),y=!0,b="g"),(p||"0"===t&&"="===n)&&(p=!0,t="0",n="=");var x="$"===d?i:"#"===d&&/[boxX]/.test(b)?"0"+b.toLowerCase():"",w="$"===d?a:/[%p]/.test(b)?u:"",E=i1[b],O=/[defgprs%]/.test(b);function S(e){var i,a,u,d=x,S=w;if("c"===b)S=E(e)+S,e="";else{var C=(e=+e)<0||1/e<0;if(e=isNaN(e)?f:E(Math.abs(e),v),y&&(e=function(e){e:for(var t,n=e.length,r=1,o=-1;r0&&(o=0)}return o>0?e.slice(0,o)+e.slice(t+1):e}(e)),C&&0==+e&&"+"!==r&&(C=!1),d=(C?"("===r?r:s:"-"===r||"("===r?"":r)+d,S=("s"===b?i5[8+g/3]:"")+S+(C&&"("===r?")":""),O){for(i=-1,a=e.length;++i(u=e.charCodeAt(i))||u>57){S=(46===u?c+e.slice(i+1):e.slice(i))+S,e=e.slice(0,i);break}}}m&&!p&&(e=o(e,1/0));var k=d.length+e.length+S.length,j=k>1)+d+e+S+j.slice(k);break;default:e=j+d+e+S}return l(e)}return v=void 0===v?6:/[gprs]/.test(b)?Math.max(1,Math.min(21,v)):Math.max(0,Math.min(20,v)),S.toString=function(){return e+""},S}return{format:d,formatPrefix:function(e,t){var n=d(((e=i$(e)).type="f",e)),r=3*Math.max(-8,Math.min(8,Math.floor(iJ(t)/3))),o=Math.pow(10,-r),i=i5[8+r/3];return function(e){return n(o*e)+i}}}}({thousands:",",grouping:[3],currency:["$",""]})).format,x=y.formatPrefix;let ax=new Date,aw=new Date;function aE(e,t,n,r){function o(t){return e(t=0==arguments.length?new Date:new Date(+t)),t}return o.floor=t=>(e(t=new Date(+t)),t),o.ceil=n=>(e(n=new Date(n-1)),t(n,1),e(n),n),o.round=e=>{let t=o(e),n=o.ceil(e);return e-t(t(e=new Date(+e),null==n?1:Math.floor(n)),e),o.range=(n,r,i)=>{let a;let c=[];if(n=o.ceil(n),i=null==i?1:Math.floor(i),!(n0))return c;do c.push(a=new Date(+n)),t(n,i),e(n);while(aaE(t=>{if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)},(e,r)=>{if(e>=e){if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););}}),n&&(o.count=(t,r)=>(ax.setTime(+t),aw.setTime(+r),e(ax),e(aw),Math.floor(n(ax,aw))),o.every=e=>isFinite(e=Math.floor(e))&&e>0?e>1?o.filter(r?t=>r(t)%e==0:t=>o.count(0,t)%e==0):o:null),o}let aO=aE(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);aO.every=e=>isFinite(e=Math.floor(e))&&e>0?e>1?aE(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):aO:null,aO.range;let aS=aE(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+1e3*t)},(e,t)=>(t-e)/1e3,e=>e.getUTCSeconds());aS.range;let aC=aE(e=>{e.setTime(e-e.getMilliseconds()-1e3*e.getSeconds())},(e,t)=>{e.setTime(+e+6e4*t)},(e,t)=>(t-e)/6e4,e=>e.getMinutes());aC.range;let ak=aE(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+6e4*t)},(e,t)=>(t-e)/6e4,e=>e.getUTCMinutes());ak.range;let aj=aE(e=>{e.setTime(e-e.getMilliseconds()-1e3*e.getSeconds()-6e4*e.getMinutes())},(e,t)=>{e.setTime(+e+36e5*t)},(e,t)=>(t-e)/36e5,e=>e.getHours());aj.range;let aP=aE(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+36e5*t)},(e,t)=>(t-e)/36e5,e=>e.getUTCHours());aP.range;let aM=aE(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/864e5,e=>e.getDate()-1);aM.range;let aA=aE(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>e.getUTCDate()-1);aA.range;let aT=aE(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>Math.floor(e/864e5));function aN(e){return aE(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(e,t)=>{e.setDate(e.getDate()+7*t)},(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/6048e5)}aT.range;let aI=aN(0),aZ=aN(1),aR=aN(2),a_=aN(3),aD=aN(4),aB=aN(5),aL=aN(6);function az(e){return aE(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+7*t)},(e,t)=>(t-e)/6048e5)}aI.range,aZ.range,aR.range,a_.range,aD.range,aB.range,aL.range;let aF=az(0),aH=az(1),aW=az(2),aq=az(3),aV=az(4),aU=az(5),aX=az(6);aF.range,aH.range,aW.range,aq.range,aV.range,aU.range,aX.range;let aG=aE(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());aG.range;let aK=aE(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());aK.range;let a$=aE(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());a$.every=e=>isFinite(e=Math.floor(e))&&e>0?aE(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)}):null,a$.range;let aY=aE(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());function aQ(e,t,n,r,o,i){let a=[[aS,1,1e3],[aS,5,5e3],[aS,15,15e3],[aS,30,3e4],[i,1,6e4],[i,5,3e5],[i,15,9e5],[i,30,18e5],[o,1,36e5],[o,3,108e5],[o,6,216e5],[o,12,432e5],[r,1,864e5],[r,2,1728e5],[n,1,6048e5],[t,1,2592e6],[t,3,7776e6],[e,1,31536e6]];function c(t,n,r){let o=Math.abs(n-t)/r,i=o1(e=>{let[,,t]=e;return t}).right(a,o);if(i===a.length)return e.every(oQ(t/31536e6,n/31536e6,r));if(0===i)return aO.every(Math.max(oQ(t,n,r),1));let[c,l]=a[o/a[i-1][2]isFinite(e=Math.floor(e))&&e>0?aE(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)}):null,aY.range;let[aJ,a0]=aQ(aY,aK,aF,aT,aP,ak),[a1,a2]=aQ(a$,aG,aI,aM,aj,aC);function a4(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function a5(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function a6(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}var a3={"-":"",_:" ",0:"0"},a8=/^\s*\d+/,a9=/^%/,a7=/[\\^$*+?|[\]().{}]/g;function ce(e,t,n){var r=e<0?"-":"",o=(r?-e:e)+"",i=o.length;return r+(i[e.toLowerCase(),t]))}function co(e,t,n){var r=a8.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function ci(e,t,n){var r=a8.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function ca(e,t,n){var r=a8.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function cc(e,t,n){var r=a8.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function cl(e,t,n){var r=a8.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function cu(e,t,n){var r=a8.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function cs(e,t,n){var r=a8.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function cf(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function cd(e,t,n){var r=a8.exec(t.slice(n,n+1));return r?(e.q=3*r[0]-3,n+r[0].length):-1}function cp(e,t,n){var r=a8.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function ch(e,t,n){var r=a8.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function cm(e,t,n){var r=a8.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function cv(e,t,n){var r=a8.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function cg(e,t,n){var r=a8.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function cy(e,t,n){var r=a8.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function cb(e,t,n){var r=a8.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function cx(e,t,n){var r=a8.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function cw(e,t,n){var r=a9.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function cE(e,t,n){var r=a8.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function cO(e,t,n){var r=a8.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function cS(e,t){return ce(e.getDate(),t,2)}function cC(e,t){return ce(e.getHours(),t,2)}function ck(e,t){return ce(e.getHours()%12||12,t,2)}function cj(e,t){return ce(1+aM.count(a$(e),e),t,3)}function cP(e,t){return ce(e.getMilliseconds(),t,3)}function cM(e,t){return cP(e,t)+"000"}function cA(e,t){return ce(e.getMonth()+1,t,2)}function cT(e,t){return ce(e.getMinutes(),t,2)}function cN(e,t){return ce(e.getSeconds(),t,2)}function cI(e){var t=e.getDay();return 0===t?7:t}function cZ(e,t){return ce(aI.count(a$(e)-1,e),t,2)}function cR(e){var t=e.getDay();return t>=4||0===t?aD(e):aD.ceil(e)}function c_(e,t){return e=cR(e),ce(aD.count(a$(e),e)+(4===a$(e).getDay()),t,2)}function cD(e){return e.getDay()}function cB(e,t){return ce(aZ.count(a$(e)-1,e),t,2)}function cL(e,t){return ce(e.getFullYear()%100,t,2)}function cz(e,t){return ce((e=cR(e)).getFullYear()%100,t,2)}function cF(e,t){return ce(e.getFullYear()%1e4,t,4)}function cH(e,t){var n=e.getDay();return ce((e=n>=4||0===n?aD(e):aD.ceil(e)).getFullYear()%1e4,t,4)}function cW(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+ce(t/60|0,"0",2)+ce(t%60,"0",2)}function cq(e,t){return ce(e.getUTCDate(),t,2)}function cV(e,t){return ce(e.getUTCHours(),t,2)}function cU(e,t){return ce(e.getUTCHours()%12||12,t,2)}function cX(e,t){return ce(1+aA.count(aY(e),e),t,3)}function cG(e,t){return ce(e.getUTCMilliseconds(),t,3)}function cK(e,t){return cG(e,t)+"000"}function c$(e,t){return ce(e.getUTCMonth()+1,t,2)}function cY(e,t){return ce(e.getUTCMinutes(),t,2)}function cQ(e,t){return ce(e.getUTCSeconds(),t,2)}function cJ(e){var t=e.getUTCDay();return 0===t?7:t}function c0(e,t){return ce(aF.count(aY(e)-1,e),t,2)}function c1(e){var t=e.getUTCDay();return t>=4||0===t?aV(e):aV.ceil(e)}function c2(e,t){return e=c1(e),ce(aV.count(aY(e),e)+(4===aY(e).getUTCDay()),t,2)}function c4(e){return e.getUTCDay()}function c5(e,t){return ce(aH.count(aY(e)-1,e),t,2)}function c6(e,t){return ce(e.getUTCFullYear()%100,t,2)}function c3(e,t){return ce((e=c1(e)).getUTCFullYear()%100,t,2)}function c8(e,t){return ce(e.getUTCFullYear()%1e4,t,4)}function c9(e,t){var n=e.getUTCDay();return ce((e=n>=4||0===n?aV(e):aV.ceil(e)).getUTCFullYear()%1e4,t,4)}function c7(){return"+0000"}function le(){return"%"}function lt(e){return+e}function ln(e){return Math.floor(+e/1e3)}function lr(e){return new Date(e)}function lo(e){return e instanceof Date?+e:+new Date(+e)}function li(e,t,n,r,o,i,a,c,l,u){var s=iG(),f=s.invert,d=s.domain,p=u(".%L"),h=u(":%S"),m=u("%I:%M"),v=u("%I %p"),g=u("%a %d"),y=u("%b %d"),b=u("%B"),x=u("%Y");function w(e){return(l(e)1)for(var n,r,o,i=1,a=e[t[0]],c=a.length;i=0;)n[t]=t;return n}function ly(e,t){return e[t]}function lb(e){let t=[];return t.key=e,t}E=(w=function(e){var t=e.dateTime,n=e.date,r=e.time,o=e.periods,i=e.days,a=e.shortDays,c=e.months,l=e.shortMonths,u=cn(o),s=cr(o),f=cn(i),d=cr(i),p=cn(a),h=cr(a),m=cn(c),v=cr(c),g=cn(l),y=cr(l),b={a:function(e){return a[e.getDay()]},A:function(e){return i[e.getDay()]},b:function(e){return l[e.getMonth()]},B:function(e){return c[e.getMonth()]},c:null,d:cS,e:cS,f:cM,g:cz,G:cH,H:cC,I:ck,j:cj,L:cP,m:cA,M:cT,p:function(e){return o[+(e.getHours()>=12)]},q:function(e){return 1+~~(e.getMonth()/3)},Q:lt,s:ln,S:cN,u:cI,U:cZ,V:c_,w:cD,W:cB,x:null,X:null,y:cL,Y:cF,Z:cW,"%":le},x={a:function(e){return a[e.getUTCDay()]},A:function(e){return i[e.getUTCDay()]},b:function(e){return l[e.getUTCMonth()]},B:function(e){return c[e.getUTCMonth()]},c:null,d:cq,e:cq,f:cK,g:c3,G:c9,H:cV,I:cU,j:cX,L:cG,m:c$,M:cY,p:function(e){return o[+(e.getUTCHours()>=12)]},q:function(e){return 1+~~(e.getUTCMonth()/3)},Q:lt,s:ln,S:cQ,u:cJ,U:c0,V:c2,w:c4,W:c5,x:null,X:null,y:c6,Y:c8,Z:c7,"%":le},w={a:function(e,t,n){var r=p.exec(t.slice(n));return r?(e.w=h.get(r[0].toLowerCase()),n+r[0].length):-1},A:function(e,t,n){var r=f.exec(t.slice(n));return r?(e.w=d.get(r[0].toLowerCase()),n+r[0].length):-1},b:function(e,t,n){var r=g.exec(t.slice(n));return r?(e.m=y.get(r[0].toLowerCase()),n+r[0].length):-1},B:function(e,t,n){var r=m.exec(t.slice(n));return r?(e.m=v.get(r[0].toLowerCase()),n+r[0].length):-1},c:function(e,n,r){return S(e,t,n,r)},d:ch,e:ch,f:cx,g:cs,G:cu,H:cv,I:cv,j:cm,L:cb,m:cp,M:cg,p:function(e,t,n){var r=u.exec(t.slice(n));return r?(e.p=s.get(r[0].toLowerCase()),n+r[0].length):-1},q:cd,Q:cE,s:cO,S:cy,u:ci,U:ca,V:cc,w:co,W:cl,x:function(e,t,r){return S(e,n,t,r)},X:function(e,t,n){return S(e,r,t,n)},y:cs,Y:cu,Z:cf,"%":cw};function E(e,t){return function(n){var r,o,i,a=[],c=-1,l=0,u=e.length;for(n instanceof Date||(n=new Date(+n));++c53)return null;"w"in i||(i.w=1),"Z"in i?(r=(o=(r=a5(a6(i.y,0,1))).getUTCDay())>4||0===o?aH.ceil(r):aH(r),r=aA.offset(r,(i.V-1)*7),i.y=r.getUTCFullYear(),i.m=r.getUTCMonth(),i.d=r.getUTCDate()+(i.w+6)%7):(r=(o=(r=a4(a6(i.y,0,1))).getDay())>4||0===o?aZ.ceil(r):aZ(r),r=aM.offset(r,(i.V-1)*7),i.y=r.getFullYear(),i.m=r.getMonth(),i.d=r.getDate()+(i.w+6)%7)}else("W"in i||"U"in i)&&("w"in i||(i.w="u"in i?i.u%7:"W"in i?1:0),o="Z"in i?a5(a6(i.y,0,1)).getUTCDay():a4(a6(i.y,0,1)).getDay(),i.m=0,i.d="W"in i?(i.w+6)%7+7*i.W-(o+5)%7:i.w+7*i.U-(o+6)%7);return"Z"in i?(i.H+=i.Z/100|0,i.M+=i.Z%100,a5(i)):a4(i)}}function S(e,t,n,r){for(var o,i,a=0,c=t.length,l=n.length;a=l)return -1;if(37===(o=t.charCodeAt(a++))){if(!(i=w[(o=t.charAt(a++))in a3?t.charAt(a++):o])||(r=i(e,n,r))<0)return -1}else if(o!=n.charCodeAt(r++))return -1}return r}return b.x=E(n,b),b.X=E(r,b),b.c=E(t,b),x.x=E(n,x),x.X=E(r,x),x.c=E(t,x),{format:function(e){var t=E(e+="",b);return t.toString=function(){return e},t},parse:function(e){var t=O(e+="",!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=E(e+="",x);return t.toString=function(){return e},t},utcParse:function(e){var t=O(e+="",!0);return t.toString=function(){return e},t}}}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]})).format,w.parse,O=w.utcFormat,w.utcParse,Array.prototype.slice;var lx=n(5037),lw=n.n(lx),lE=n(30264),lO=n.n(lE),lS=n(20734),lC=n.n(lS),lk=n(93574),lj=n.n(lk),lP=n(6122),lM=n.n(lP);function lA(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=t?n.apply(void 0,o):e(t-a,lZ(function(){for(var e=arguments.length,t=Array(e),r=0;re.length)&&(t=e.length);for(var n=0,r=Array(t);nr&&(o=r,i=n),[o,i]}function lX(e,t,n){if(e.lte(0))return new(lM())(0);var r=lF.getDigitCount(e.toNumber()),o=new(lM())(10).pow(r),i=e.div(o),a=1!==r?.05:.1,c=new(lM())(Math.ceil(i.div(a).toNumber())).add(n).mul(a).mul(o);return t?c:new(lM())(Math.ceil(c))}function lG(e,t,n){var r=1,o=new(lM())(e);if(!o.isint()&&n){var i=Math.abs(e);i<1?(r=new(lM())(10).pow(lF.getDigitCount(e)-1),o=new(lM())(Math.floor(o.div(r).toNumber())).mul(r)):i>1&&(o=new(lM())(Math.floor(e)))}else 0===e?o=new(lM())(Math.floor((t-1)/2)):n||(o=new(lM())(Math.floor(e)));var a=Math.floor((t-1)/2);return lB(lD(function(e){return o.add(new(lM())(e-a).mul(r)).toNumber()}),l_)(0,t)}var lK=lz(function(e){var t=lW(e,2),n=t[0],r=t[1],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6,i=!(arguments.length>2)||void 0===arguments[2]||arguments[2],a=Math.max(o,2),c=lW(lU([n,r]),2),l=c[0],u=c[1];if(l===-1/0||u===1/0){var s=u===1/0?[l].concat(lH(l_(0,o-1).map(function(){return 1/0}))):[].concat(lH(l_(0,o-1).map(function(){return-1/0})),[u]);return n>r?lL(s):s}if(l===u)return lG(l,o,i);var f=function e(t,n,r,o){var i,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;if(!Number.isFinite((n-t)/(r-1)))return{step:new(lM())(0),tickMin:new(lM())(0),tickMax:new(lM())(0)};var c=lX(new(lM())(n).sub(t).div(r-1),o,a),l=Math.ceil((i=t<=0&&n>=0?new(lM())(0):(i=new(lM())(t).add(n).div(2)).sub(new(lM())(i).mod(c))).sub(t).div(c).toNumber()),u=Math.ceil(new(lM())(n).sub(i).div(c).toNumber()),s=l+u+1;return s>r?e(t,n,r,o,a+1):(s0?u+(r-s):u,l=n>0?l:l+(r-s)),{step:c,tickMin:i.sub(new(lM())(l).mul(c)),tickMax:i.add(new(lM())(u).mul(c))})}(l,u,a,i),d=f.step,p=f.tickMin,h=f.tickMax,m=lF.rangeStep(p,h.add(new(lM())(.1).mul(d)),d);return n>r?lL(m):m});lz(function(e){var t=lW(e,2),n=t[0],r=t[1],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6,i=!(arguments.length>2)||void 0===arguments[2]||arguments[2],a=Math.max(o,2),c=lW(lU([n,r]),2),l=c[0],u=c[1];if(l===-1/0||u===1/0)return[n,r];if(l===u)return lG(l,o,i);var s=lX(new(lM())(u).sub(l).div(a-1),i,0),f=lB(lD(function(e){return new(lM())(l).add(new(lM())(e).mul(s)).toNumber()}),l_)(0,a).filter(function(e){return e>=l&&e<=u});return n>r?lL(f):f});var l$=lz(function(e,t){var n=lW(e,2),r=n[0],o=n[1],i=!(arguments.length>2)||void 0===arguments[2]||arguments[2],a=lW(lU([r,o]),2),c=a[0],l=a[1];if(c===-1/0||l===1/0)return[r,o];if(c===l)return[c];var u=lX(new(lM())(l).sub(c).div(Math.max(t,2)-1),i,0),s=[].concat(lH(lF.rangeStep(new(lM())(c),new(lM())(l).sub(new(lM())(.99).mul(u)),u)),[l]);return r>o?lL(s):s}),lY=["offset","layout","width","dataKey","data","dataPointFormatter","xAxis","yAxis"];function lQ(){return(lQ=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,lY),!1);"x"===e.direction&&"number"!==c.type&&eU(!1);var s=i.map(function(e){var i,s,f=a(e,o),d=f.x,p=f.y,h=f.value,m=f.errorVal;if(!m)return null;var v=[];if(Array.isArray(m)){var g=function(e){if(Array.isArray(e))return e}(m)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,a,c=[],l=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw o}}return c}}(m,2)||function(e,t){if(e){if("string"==typeof e)return lJ(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return lJ(e,t)}}(m,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();i=g[0],s=g[1]}else i=s=m;if("vertical"===n){var y=c.scale,b=p+t,x=b+r,w=b-r,E=y(h-i),O=y(h+s);v.push({x1:O,y1:x,x2:O,y2:w}),v.push({x1:E,y1:b,x2:O,y2:b}),v.push({x1:E,y1:x,x2:E,y2:w})}else if("horizontal"===n){var S=l.scale,C=d+t,k=C-r,j=C+r,P=S(h-i),M=S(h+s);v.push({x1:k,y1:M,x2:j,y2:M}),v.push({x1:C,y1:P,x2:C,y2:M}),v.push({x1:k,y1:P,x2:j,y2:P})}return A.createElement(eQ,lQ({className:"recharts-errorBar",key:"bar-".concat(v.map(function(e){return"".concat(e.x1,"-").concat(e.x2,"-").concat(e.y1,"-").concat(e.y2)}))},u),v.map(function(e){return A.createElement("line",lQ({},e,{key:"line-".concat(e.x1,"-").concat(e.x2,"-").concat(e.y1,"-").concat(e.y2)}))}))});return A.createElement(eQ,{className:"recharts-errorBars"},s)}function l1(e){return(l1="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function l2(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function l4(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=-1,a=null!==(t=null==n?void 0:n.length)&&void 0!==t?t:0;if(a<=1)return 0;if(o&&"angleAxis"===o.axisType&&1e-6>=Math.abs(Math.abs(o.range[1]-o.range[0])-360))for(var c=o.range,l=0;l0?r[l-1].coordinate:r[a-1].coordinate,s=r[l].coordinate,f=l>=a-1?r[0].coordinate:r[l+1].coordinate,d=void 0;if(W(s-u)!==W(f-s)){var p=[];if(W(f-s)===W(c[1]-c[0])){d=f;var h=s+c[1]-c[0];p[0]=Math.min(h,(h+u)/2),p[1]=Math.max(h,(h+u)/2)}else{d=u;var m=f+c[1]-c[0];p[0]=Math.min(s,(m+s)/2),p[1]=Math.max(s,(m+s)/2)}var v=[Math.min(s,(d+s)/2),Math.max(s,(d+s)/2)];if(e>v[0]&&e<=v[1]||e>=p[0]&&e<=p[1]){i=r[l].index;break}}else{var g=Math.min(u,f),y=Math.max(u,f);if(e>(g+s)/2&&e<=(y+s)/2){i=r[l].index;break}}}else for(var b=0;b0&&b(n[b].coordinate+n[b-1].coordinate)/2&&e<=(n[b].coordinate+n[b+1].coordinate)/2||b===a-1&&e>(n[b].coordinate+n[b-1].coordinate)/2){i=n[b].index;break}return i},uo=function(e){var t,n=e.type.displayName,r=e.props,o=r.stroke,i=r.fill;switch(n){case"Line":t=o;break;case"Area":case"Radar":t=o&&"none"!==o?o:i;break;default:t=i}return t},ui=function(e){var t=e.barSize,n=e.stackGroups,r=void 0===n?{}:n;if(!r)return{};for(var o={},i=Object.keys(r),a=0,c=i.length;a=0});if(m&&m.length){var v=m[0].props.barSize,g=m[0].props[h];o[g]||(o[g]=[]),o[g].push({item:m[0],stackList:m.slice(1),barSize:en()(v)?t:v})}}return o},ua=function(e){var t,n=e.barGap,r=e.barCategoryGap,o=e.bandSize,i=e.sizeList,a=void 0===i?[]:i,c=e.maxBarSize,l=a.length;if(l<1)return null;var u=K(n,o,0,!0),s=[];if(a[0].barSize===+a[0].barSize){var f=!1,d=o/l,p=a.reduce(function(e,t){return e+t.barSize||0},0);(p+=(l-1)*u)>=o&&(p-=(l-1)*u,u=0),p>=o&&d>0&&(f=!0,d*=.9,p=l*d);var h={offset:((o-p)/2>>0)-u,size:0};t=a.reduce(function(e,t){var n={item:t.item,position:{offset:h.offset+h.size+u,size:f?d:t.barSize}},r=[].concat(l7(e),[n]);return h=r[r.length-1].position,t.stackList&&t.stackList.length&&t.stackList.forEach(function(e){r.push({item:e,position:h})}),r},s)}else{var m=K(r,o,0,!0);o-2*m-(l-1)*u<=0&&(u=0);var v=(o-2*m-(l-1)*u)/l;v>1&&(v>>=0);var g=c===+c?Math.min(v,c):v;t=a.reduce(function(e,t,n){var r=[].concat(l7(e),[{item:t.item,position:{offset:m+(v+u)*n+(v-g)/2,size:g}}]);return t.stackList&&t.stackList.length&&t.stackList.forEach(function(e){r.push({item:e,position:r[r.length-1].position})}),r},s)}return t},uc=function(e,t,n,r){var o=n.children,i=n.width,a=n.margin,c=l5({children:o,legendWidth:i-(a.left||0)-(a.right||0)});if(c){var l=r||{},u=l.width,s=l.height,f=c.align,d=c.verticalAlign,p=c.layout;if(("vertical"===p||"horizontal"===p&&"middle"===d)&&"center"!==f&&V(e[f]))return l8(l8({},e),{},l9({},f,e[f]+(u||0)));if(("horizontal"===p||"vertical"===p&&"center"===f)&&"middle"!==d&&V(e[d]))return l8(l8({},e),{},l9({},d,e[d]+(s||0)))}return e},ul=function(e,t,n,r,o){var i=eO(t.props.children,l0).filter(function(e){var t;return t=e.props.direction,!!en()(o)||("horizontal"===r?"yAxis"===o:"vertical"===r||"x"===t?"xAxis"===o:"y"!==t||"yAxis"===o)});if(i&&i.length){var a=i.map(function(e){return e.props.dataKey});return e.reduce(function(e,t){var r=ut(t,n,0),o=Array.isArray(r)?[lO()(r),lw()(r)]:[r,r],i=a.reduce(function(e,n){var r=ut(t,n,0),i=o[0]-Math.abs(Array.isArray(r)?r[0]:r),a=o[1]+Math.abs(Array.isArray(r)?r[1]:r);return[Math.min(i,e[0]),Math.max(a,e[1])]},[1/0,-1/0]);return[Math.min(i[0],e[0]),Math.max(i[1],e[1])]},[1/0,-1/0])}return null},uu=function(e,t,n,r,o){var i=t.map(function(t){return ul(e,t,n,o,r)}).filter(function(e){return!en()(e)});return i&&i.length?i.reduce(function(e,t){return[Math.min(e[0],t[0]),Math.max(e[1],t[1])]},[1/0,-1/0]):null},us=function(e,t,n,r,o){var i=t.map(function(t){var i=t.props.dataKey;return"number"===n&&i&&ul(e,t,i,r)||un(e,i,n,o)});if("number"===n)return i.reduce(function(e,t){return[Math.min(e[0],t[0]),Math.max(e[1],t[1])]},[1/0,-1/0]);var a={};return i.reduce(function(e,t){for(var n=0,r=t.length;n=2?2*W(a[0]-a[1])*l:l,t&&(e.ticks||e.niceTicks))?(e.ticks||e.niceTicks).map(function(e){return{coordinate:r(o?o.indexOf(e):e)+l,value:e,offset:l}}).filter(function(e){return!B()(e.coordinate)}):e.isCategorical&&e.categoricalDomain?e.categoricalDomain.map(function(e,t){return{coordinate:r(e)+l,value:e,index:t,offset:l}}):r.ticks&&!n?r.ticks(e.tickCount).map(function(e){return{coordinate:r(e)+l,value:e,offset:l}}):r.domain().map(function(e,t){return{coordinate:r(e)+l,value:o?o[e]:e,index:t,offset:l}})},uh=new WeakMap,um=function(e,t){if("function"!=typeof t)return e;uh.has(e)||uh.set(e,new WeakMap);var n=uh.get(e);if(n.has(t))return n.get(t);var r=function(){e.apply(void 0,arguments),t.apply(void 0,arguments)};return n.set(t,r),r},uv=function(e,t,n){var r=e.scale,o=e.type,i=e.layout,a=e.axisType;if("auto"===r)return"radial"===i&&"radiusAxis"===a?{scale:os(),realScaleType:"band"}:"radial"===i&&"angleAxis"===a?{scale:i8(),realScaleType:"linear"}:"category"===o&&t&&(t.indexOf("LineChart")>=0||t.indexOf("AreaChart")>=0||t.indexOf("ComposedChart")>=0&&!n)?{scale:of(),realScaleType:"point"}:"category"===o?{scale:os(),realScaleType:"band"}:{scale:i8(),realScaleType:"linear"};if(_()(r)){var c="scale".concat(nQ()(r));return{scale:(S[c]||of)(),realScaleType:S[c]?c:"point"}}return eo()(r)?{scale:r}:{scale:of(),realScaleType:"point"}},ug=function(e){var t=e.domain();if(t&&!(t.length<=2)){var n=t.length,r=e.range(),o=Math.min(r[0],r[1])-1e-4,i=Math.max(r[0],r[1])+1e-4,a=e(t[0]),c=e(t[n-1]);(ai||ci)&&e.domain([t[0],t[n-1]])}},uy=function(e,t){if(!e)return null;for(var n=0,r=e.length;nr)&&(o[1]=r),o[0]>r&&(o[0]=r),o[1]=0?(e[a][n][0]=o,e[a][n][1]=o+c,o=e[a][n][1]):(e[a][n][0]=i,e[a][n][1]=i+c,i=e[a][n][1])}},expand:function(e,t){if((r=e.length)>0){for(var n,r,o,i=0,a=e[0].length;i0){for(var n,r=0,o=e[t[0]],i=o.length;r0&&(r=(n=e[t[0]]).length)>0){for(var n,r,o,i=0,a=1;a=0?(e[i][n][0]=o,e[i][n][1]=o+a,o=e[i][n][1]):(e[i][n][0]=0,e[i][n][1]=0)}}},uw=function(e,t,n){var r=t.map(function(e){return e.props.dataKey}),o=ux[n];return(function(){var e=ro([]),t=lg,n=lm,r=ly;function o(o){var i,a,c=Array.from(e.apply(this,arguments),lb),l=c.length,u=-1;for(let e of o)for(i=0,++u;i=0?0:o<0?o:r}return n[0]},uk=function(e,t){var n=e.props.stackId;if(U(n)){var r=t[n];if(r){var o=r.items.indexOf(e);return o>=0?r.stackedData[o]:null}}return null},uj=function(e,t,n){return Object.keys(e).reduce(function(r,o){var i=e[o].stackedData.reduce(function(e,r){var o=r.slice(t,n+1).reduce(function(e,t){return[lO()(t.concat([e[0]]).filter(V)),lw()(t.concat([e[1]]).filter(V))]},[1/0,-1/0]);return[Math.min(e[0],o[0]),Math.max(e[1],o[1])]},[1/0,-1/0]);return[Math.min(i[0],r[0]),Math.max(i[1],r[1])]},[1/0,-1/0]).map(function(e){return e===1/0||e===-1/0?0:e})},uP=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,uM=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,uA=function(e,t,n){if(eo()(e))return e(t,n);if(!Array.isArray(e))return t;var r=[];if(V(e[0]))r[0]=n?e[0]:Math.min(e[0],t[0]);else if(uP.test(e[0])){var o=+uP.exec(e[0])[1];r[0]=t[0]-o}else eo()(e[0])?r[0]=e[0](t[0]):r[0]=t[0];if(V(e[1]))r[1]=n?e[1]:Math.max(e[1],t[1]);else if(uM.test(e[1])){var i=+uM.exec(e[1])[1];r[1]=t[1]+i}else eo()(e[1])?r[1]=e[1](t[1]):r[1]=t[1];return r},uT=function(e,t,n){if(e&&e.scale&&e.scale.bandwidth){var r=e.scale.bandwidth();if(!n||r>0)return r}if(e&&t&&t.length>=2){for(var o=eF()(t,function(e){return e.coordinate}),i=1/0,a=1,c=o.length;a0&&t.handleDrag(e.changedTouches[0])}),uG(uU(t),"handleDragEnd",function(){t.setState({isTravellerMoving:!1,isSlideMoving:!1},function(){var e=t.props,n=e.endIndex,r=e.onDragEnd,o=e.startIndex;null==r||r({endIndex:n,startIndex:o})}),t.detachDragEndListener()}),uG(uU(t),"handleLeaveWrapper",function(){(t.state.isTravellerMoving||t.state.isSlideMoving)&&(t.leaveTimer=window.setTimeout(t.handleDragEnd,t.props.leaveTimeOut))}),uG(uU(t),"handleEnterSlideOrTraveller",function(){t.setState({isTextActive:!0})}),uG(uU(t),"handleLeaveSlideOrTraveller",function(){t.setState({isTextActive:!1})}),uG(uU(t),"handleSlideDragStart",function(e){var n=uY(e)?e.changedTouches[0]:e;t.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:n.pageX}),t.attachDragEndListener()}),t.travellerDragStartHandlers={startX:t.handleTravellerDragStart.bind(uU(t),"startX"),endX:t.handleTravellerDragStart.bind(uU(t),"endX")},t.state={},t}return n=[{key:"componentWillUnmount",value:function(){this.leaveTimer&&(clearTimeout(this.leaveTimer),this.leaveTimer=null),this.detachDragEndListener()}},{key:"getIndex",value:function(e){var t=e.startX,n=e.endX,r=this.state.scaleValues,o=this.props,a=o.gap,c=o.data.length-1,l=i.getIndexInRange(r,Math.min(t,n)),u=i.getIndexInRange(r,Math.max(t,n));return{startIndex:l-l%a,endIndex:u===c?c:u-u%a}}},{key:"getTextOfTick",value:function(e){var t=this.props,n=t.data,r=t.tickFormatter,o=t.dataKey,i=ut(n[e],o,e);return eo()(r)?r(i,e):i}},{key:"attachDragEndListener",value:function(){window.addEventListener("mouseup",this.handleDragEnd,!0),window.addEventListener("touchend",this.handleDragEnd,!0),window.addEventListener("mousemove",this.handleDrag,!0)}},{key:"detachDragEndListener",value:function(){window.removeEventListener("mouseup",this.handleDragEnd,!0),window.removeEventListener("touchend",this.handleDragEnd,!0),window.removeEventListener("mousemove",this.handleDrag,!0)}},{key:"handleSlideDrag",value:function(e){var t=this.state,n=t.slideMoveStartX,r=t.startX,o=t.endX,i=this.props,a=i.x,c=i.width,l=i.travellerWidth,u=i.startIndex,s=i.endIndex,f=i.onChange,d=e.pageX-n;d>0?d=Math.min(d,a+c-l-o,a+c-l-r):d<0&&(d=Math.max(d,a-r,a-o));var p=this.getIndex({startX:r+d,endX:o+d});(p.startIndex!==u||p.endIndex!==s)&&f&&f(p),this.setState({startX:r+d,endX:o+d,slideMoveStartX:e.pageX})}},{key:"handleTravellerDragStart",value:function(e,t){var n=uY(t)?t.changedTouches[0]:t;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:e,brushMoveStartX:n.pageX}),this.attachDragEndListener()}},{key:"handleTravellerMove",value:function(e){var t,n=this.state,r=n.brushMoveStartX,o=n.movingTravellerId,i=n.endX,a=n.startX,c=this.state[o],l=this.props,u=l.x,s=l.width,f=l.travellerWidth,d=l.onChange,p=l.gap,h=l.data,m={startX:this.state.startX,endX:this.state.endX},v=e.pageX-r;v>0?v=Math.min(v,u+s-f-c):v<0&&(v=Math.max(v,u-c)),m[o]=c+v;var g=this.getIndex(m),y=g.startIndex,b=g.endIndex,x=function(){var e=h.length-1;return"startX"===o&&(i>a?y%p==0:b%p==0)||ia?b%p==0:y%p==0)||i>a&&b===e};this.setState((uG(t={},o,c+v),uG(t,"brushMoveStartX",e.pageX),t),function(){d&&x()&&d(g)})}},{key:"handleTravellerMoveKeyboard",value:function(e,t){var n=this,r=this.state,o=r.scaleValues,i=r.startX,a=r.endX,c=this.state[t],l=o.indexOf(c);if(-1!==l){var u=l+e;if(-1!==u&&!(u>=o.length)){var s=o[u];"startX"===t&&s>=a||"endX"===t&&s<=i||this.setState(uG({},t,s),function(){n.props.onChange(n.getIndex({startX:n.state.startX,endX:n.state.endX}))})}}}},{key:"renderBackground",value:function(){var e=this.props,t=e.x,n=e.y,r=e.width,o=e.height,i=e.fill,a=e.stroke;return A.createElement("rect",{stroke:a,fill:i,x:t,y:n,width:r,height:o})}},{key:"renderPanorama",value:function(){var e=this.props,t=e.x,n=e.y,r=e.width,o=e.height,i=e.data,a=e.children,c=e.padding,l=A.Children.only(a);return l?A.cloneElement(l,{x:t,y:n,width:r,height:o,margin:c,compact:!0,data:i}):null}},{key:"renderTravellerLayer",value:function(e,t){var n=this,r=this.props,o=r.y,a=r.travellerWidth,c=r.height,l=r.traveller,u=r.ariaLabel,s=r.data,f=r.startIndex,d=r.endIndex,p=Math.max(e,this.props.x),h=uW(uW({},eP(this.props,!1)),{},{x:p,y:o,width:a,height:c}),m=u||"Min value: ".concat(s[f].name,", Max value: ").concat(s[d].name);return A.createElement(eQ,{tabIndex:0,role:"slider","aria-label":m,"aria-valuenow":e,className:"recharts-brush-traveller",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.travellerDragStartHandlers[t],onTouchStart:this.travellerDragStartHandlers[t],onKeyDown:function(e){["ArrowLeft","ArrowRight"].includes(e.key)&&(e.preventDefault(),e.stopPropagation(),n.handleTravellerMoveKeyboard("ArrowRight"===e.key?1:-1,t))},onFocus:function(){n.setState({isTravellerFocused:!0})},onBlur:function(){n.setState({isTravellerFocused:!1})},style:{cursor:"col-resize"}},i.renderTraveller(l,h))}},{key:"renderSlide",value:function(e,t){var n=this.props,r=n.y,o=n.height,i=n.stroke,a=n.travellerWidth;return A.createElement("rect",{className:"recharts-brush-slide",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.handleSlideDragStart,onTouchStart:this.handleSlideDragStart,style:{cursor:"move"},stroke:"none",fill:i,fillOpacity:.2,x:Math.min(e,t)+a,y:r,width:Math.max(Math.abs(t-e)-a,0),height:o})}},{key:"renderText",value:function(){var e=this.props,t=e.startIndex,n=e.endIndex,r=e.y,o=e.height,i=e.travellerWidth,a=e.stroke,c=this.state,l=c.startX,u=c.endX,s={pointerEvents:"none",fill:a};return A.createElement(eQ,{className:"recharts-brush-texts"},A.createElement(oV,uF({textAnchor:"end",verticalAnchor:"middle",x:Math.min(l,u)-5,y:r+o/2},s),this.getTextOfTick(t)),A.createElement(oV,uF({textAnchor:"start",verticalAnchor:"middle",x:Math.max(l,u)+i+5,y:r+o/2},s),this.getTextOfTick(n)))}},{key:"render",value:function(){var e=this.props,t=e.data,n=e.className,r=e.children,o=e.x,i=e.y,a=e.width,c=e.height,l=e.alwaysShowText,u=this.state,s=u.startX,f=u.endX,d=u.isTextActive,p=u.isSlideMoving,h=u.isTravellerMoving,m=u.isTravellerFocused;if(!t||!t.length||!V(o)||!V(i)||!V(a)||!V(c)||a<=0||c<=0)return null;var v=T("recharts-brush",n),g=1===A.Children.count(r),y=uL("userSelect","none");return A.createElement(eQ,{className:v,onMouseLeave:this.handleLeaveWrapper,onTouchMove:this.handleTouchMove,style:y},this.renderBackground(),g&&this.renderPanorama(),this.renderSlide(s,f),this.renderTravellerLayer(s,"startX"),this.renderTravellerLayer(f,"endX"),(d||p||h||m||l)&&this.renderText())}}],r=[{key:"renderDefaultTraveller",value:function(e){var t=e.x,n=e.y,r=e.width,o=e.height,i=e.stroke,a=Math.floor(n+o/2)-1;return A.createElement(A.Fragment,null,A.createElement("rect",{x:t,y:n,width:r,height:o,fill:i,stroke:"none"}),A.createElement("line",{x1:t+1,y1:a,x2:t+r-1,y2:a,fill:"none",stroke:"#fff"}),A.createElement("line",{x1:t+1,y1:a+2,x2:t+r-1,y2:a+2,fill:"none",stroke:"#fff"}))}},{key:"renderTraveller",value:function(e,t){return A.isValidElement(e)?A.cloneElement(e,t):eo()(e)?e(t):i.renderDefaultTraveller(t)}},{key:"getDerivedStateFromProps",value:function(e,t){var n=e.data,r=e.width,o=e.x,i=e.travellerWidth,a=e.updateId,c=e.startIndex,l=e.endIndex;if(n!==t.prevData||a!==t.prevUpdateId)return uW({prevData:n,prevTravellerWidth:i,prevUpdateId:a,prevX:o,prevWidth:r},n&&n.length?u$({data:n,width:r,x:o,travellerWidth:i,startIndex:c,endIndex:l}):{scale:null,scaleValues:null});if(t.scale&&(r!==t.prevWidth||o!==t.prevX||i!==t.prevTravellerWidth)){t.scale.range([o,o+r-i]);var u=t.scale.domain().map(function(e){return t.scale(e)});return{prevData:n,prevTravellerWidth:i,prevUpdateId:a,prevX:o,prevWidth:r,startX:t.scale(e.startIndex),endX:t.scale(e.endIndex),scaleValues:u}}return null}},{key:"getIndexInRange",value:function(e,t){for(var n=e.length,r=0,o=n-1;o-r>1;){var i=Math.floor((r+o)/2);e[i]>t?o=i:r=i}return t>=e[o]?o:r}}],n&&uq(i.prototype,n),r&&uq(i,r),Object.defineProperty(i,"prototype",{writable:!1}),i}(A.PureComponent);function uJ(e){return(uJ="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u0(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function u1(e){for(var t=1;ti&&(c=2*Math.PI-c),{radius:a,angle:180*c/Math.PI,angleInRadian:c}},u3=function(e){var t=e.startAngle,n=e.endAngle,r=Math.min(Math.floor(t/360),Math.floor(n/360));return{startAngle:t-360*r,endAngle:n-360*r}},u8=function(e,t){var n,r=u6({x:e.x,y:e.y},t),o=r.radius,i=r.angle,a=t.innerRadius,c=t.outerRadius;if(oc)return!1;if(0===o)return!0;var l=u3(t),u=l.startAngle,s=l.endAngle,f=i;if(u<=s){for(;f>s;)f-=360;for(;f=u&&f<=s}else{for(;f>u;)f-=360;for(;f=s&&f<=u}return n?u1(u1({},t),{},{radius:o,angle:f+360*Math.min(Math.floor(t.startAngle/360),Math.floor(t.endAngle/360))}):null};function u9(e){return(u9="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var u7=["offset"];function se(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=0?1:-1;"insideStart"===i?(r=p+y*c,o=m):"insideEnd"===i?(r=h-y*c,o=!m):"end"===i&&(r=h+y*c,o=m),o=g<=0?o:!o;var b=u4(u,s,v,r),x=u4(u,s,v,r+(o?1:-1)*359),w="M".concat(b.x,",").concat(b.y,"\n A").concat(v,",").concat(v,",0,1,").concat(o?0:1,",\n ").concat(x.x,",").concat(x.y),E=en()(e.id)?G("recharts-radial-line-"):e.id;return A.createElement("text",sr({},n,{dominantBaseline:"central",className:T("recharts-radial-bar-label",l)}),A.createElement("defs",null,A.createElement("path",{id:E,d:w})),A.createElement("textPath",{xlinkHref:"#".concat(E)},t))},sa=function(e){var t=e.viewBox,n=e.offset,r=e.position,o=t.cx,i=t.cy,a=t.innerRadius,c=t.outerRadius,l=(t.startAngle+t.endAngle)/2;if("outside"===r){var u=u4(o,i,c+n,l),s=u.x;return{x:s,y:u.y,textAnchor:s>=o?"start":"end",verticalAnchor:"middle"}}if("center"===r)return{x:o,y:i,textAnchor:"middle",verticalAnchor:"middle"};if("centerTop"===r)return{x:o,y:i,textAnchor:"middle",verticalAnchor:"start"};if("centerBottom"===r)return{x:o,y:i,textAnchor:"middle",verticalAnchor:"end"};var f=u4(o,i,(a+c)/2,l);return{x:f.x,y:f.y,textAnchor:"middle",verticalAnchor:"middle"}},sc=function(e){var t=e.viewBox,n=e.parentViewBox,r=e.offset,o=e.position,i=t.x,a=t.y,c=t.width,l=t.height,u=l>=0?1:-1,s=u*r,f=u>0?"end":"start",d=u>0?"start":"end",p=c>=0?1:-1,h=p*r,m=p>0?"end":"start",v=p>0?"start":"end";if("top"===o)return sn(sn({},{x:i+c/2,y:a-u*r,textAnchor:"middle",verticalAnchor:f}),n?{height:Math.max(a-n.y,0),width:c}:{});if("bottom"===o)return sn(sn({},{x:i+c/2,y:a+l+s,textAnchor:"middle",verticalAnchor:d}),n?{height:Math.max(n.y+n.height-(a+l),0),width:c}:{});if("left"===o){var g={x:i-h,y:a+l/2,textAnchor:m,verticalAnchor:"middle"};return sn(sn({},g),n?{width:Math.max(g.x-n.x,0),height:l}:{})}if("right"===o){var y={x:i+c+h,y:a+l/2,textAnchor:v,verticalAnchor:"middle"};return sn(sn({},y),n?{width:Math.max(n.x+n.width-y.x,0),height:l}:{})}var b=n?{width:c,height:l}:{};return"insideLeft"===o?sn({x:i+h,y:a+l/2,textAnchor:v,verticalAnchor:"middle"},b):"insideRight"===o?sn({x:i+c-h,y:a+l/2,textAnchor:m,verticalAnchor:"middle"},b):"insideTop"===o?sn({x:i+c/2,y:a+s,textAnchor:"middle",verticalAnchor:d},b):"insideBottom"===o?sn({x:i+c/2,y:a+l-s,textAnchor:"middle",verticalAnchor:f},b):"insideTopLeft"===o?sn({x:i+h,y:a+s,textAnchor:v,verticalAnchor:d},b):"insideTopRight"===o?sn({x:i+c-h,y:a+s,textAnchor:m,verticalAnchor:d},b):"insideBottomLeft"===o?sn({x:i+h,y:a+l-s,textAnchor:v,verticalAnchor:f},b):"insideBottomRight"===o?sn({x:i+c-h,y:a+l-s,textAnchor:m,verticalAnchor:f},b):ea()(o)&&(V(o.x)||q(o.x))&&(V(o.y)||q(o.y))?sn({x:i+K(o.x,c),y:a+K(o.y,l),textAnchor:"end",verticalAnchor:"end"},b):sn({x:i+c/2,y:a+l/2,textAnchor:"middle",verticalAnchor:"middle"},b)};function sl(e){var t,n=e.offset,r=sn({offset:void 0===n?5:n},function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,u7)),o=r.viewBox,i=r.position,a=r.value,c=r.children,l=r.content,u=r.className,s=r.textBreakAll;if(!o||en()(a)&&en()(c)&&!(0,A.isValidElement)(l)&&!eo()(l))return null;if((0,A.isValidElement)(l))return(0,A.cloneElement)(l,r);if(eo()(l)){if(t=(0,A.createElement)(l,r),(0,A.isValidElement)(t))return t}else t=so(r);var f="cx"in o&&V(o.cx),d=eP(r,!0);if(f&&("insideStart"===i||"insideEnd"===i||"end"===i))return si(r,t,d);var p=f?sa(r):sc(r);return A.createElement(oV,sr({className:T("recharts-label",void 0===u?"":u)},d,p,{breakAll:s}),t)}sl.displayName="Label";var su=function(e){var t=e.cx,n=e.cy,r=e.angle,o=e.startAngle,i=e.endAngle,a=e.r,c=e.radius,l=e.innerRadius,u=e.outerRadius,s=e.x,f=e.y,d=e.top,p=e.left,h=e.width,m=e.height,v=e.clockWise,g=e.labelViewBox;if(g)return g;if(V(h)&&V(m)){if(V(s)&&V(f))return{x:s,y:f,width:h,height:m};if(V(d)&&V(p))return{x:d,y:p,width:h,height:m}}return V(s)&&V(f)?{x:s,y:f,width:0,height:0}:V(t)&&V(n)?{cx:t,cy:n,startAngle:o||r||0,endAngle:i||r||0,innerRadius:l||0,outerRadius:u||c||a||0,clockWise:v}:e.viewBox?e.viewBox:{}};sl.parseViewBox=su,sl.renderCallByParent=function(e,t){var n,r,o=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(!e||!e.children&&o&&!e.label)return null;var i=e.children,a=su(e),c=eO(i,sl).map(function(e,n){return(0,A.cloneElement)(e,{viewBox:t||a,key:"label-".concat(n)})});return o?[(n=e.label,r=t||a,n?!0===n?A.createElement(sl,{key:"label-implicit",viewBox:r}):U(n)?A.createElement(sl,{key:"label-implicit",viewBox:r,value:n}):(0,A.isValidElement)(n)?n.type===sl?(0,A.cloneElement)(n,{key:"label-implicit",viewBox:r}):A.createElement(sl,{key:"label-implicit",content:n,viewBox:r}):eo()(n)?A.createElement(sl,{key:"label-implicit",content:n,viewBox:r}):ea()(n)?A.createElement(sl,sr({viewBox:r},n,{key:"label-implicit"})):null:null)].concat(function(e){if(Array.isArray(e))return se(e)}(c)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(c)||function(e,t){if(e){if("string"==typeof e)return se(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return se(e,t)}}(c)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()):c};var ss=function(e,t){var n=e.alwaysShow,r=e.ifOverflow;return n&&(r="extendDomain"),r===t},sf=n(50924),sd=n.n(sf),sp=function(e){return null};sp.displayName="Cell";var sh=n(36887),sm=n.n(sh);function sv(e){return(sv="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var sg=["valueAccessor"],sy=["data","dataKey","clockWise","id","textBreakAll"];function sb(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var sS=function(e){return Array.isArray(e.value)?sm()(e.value):e.value};function sC(e){var t=e.valueAccessor,n=void 0===t?sS:t,r=sO(e,sg),o=r.data,i=r.dataKey,a=r.clockWise,c=r.id,l=r.textBreakAll,u=sO(r,sy);return o&&o.length?A.createElement(eQ,{className:"recharts-label-list"},o.map(function(e,t){var r=en()(i)?n(e,t):ut(e&&e.payload,i),o=en()(c)?{}:{id:"".concat(c,"-").concat(t)};return A.createElement(sl,sx({},eP(e,!0),u,o,{parentViewBox:e.parentViewBox,value:r,textBreakAll:l,viewBox:sl.parseViewBox(en()(a)?e:sE(sE({},e),{},{clockWise:a})),key:"label-".concat(t),index:t}))})):null}sC.displayName="LabelList",sC.renderCallByParent=function(e,t){var n,r=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(!e||!e.children&&r&&!e.label)return null;var o=eO(e.children,sC).map(function(e,n){return(0,A.cloneElement)(e,{data:t,key:"labelList-".concat(n)})});return r?[(n=e.label)?!0===n?A.createElement(sC,{key:"labelList-implicit",data:t}):A.isValidElement(n)||eo()(n)?A.createElement(sC,{key:"labelList-implicit",data:t,content:n}):ea()(n)?A.createElement(sC,sx({data:t},n,{key:"labelList-implicit"})):null:null].concat(function(e){if(Array.isArray(e))return sb(e)}(o)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(o)||function(e,t){if(e){if("string"==typeof e)return sb(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return sb(e,t)}}(o)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()):o};var sk=n(23393),sj=n.n(sk),sP=n(90849),sM=n.n(sP);function sA(e){return(sA="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function sT(){return(sT=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n0,from:{upperWidth:0,lowerWidth:0,height:f,x:c,y:l},to:{upperWidth:u,lowerWidth:s,height:f,x:c,y:l},duration:h,animationEasing:p,isActive:v},function(e){var t=e.upperWidth,o=e.lowerWidth,a=e.height,c=e.x,l=e.y;return A.createElement(na,{canBegin:i>0,from:"0px ".concat(-1===i?1:i,"px"),to:"".concat(i,"px 0px"),attributeName:"strokeDasharray",begin:m,duration:h,easing:p},A.createElement("path",sT({},eP(n,!0),{className:g,d:sR(c,l,t,o,a),ref:r})))}):A.createElement("g",null,A.createElement("path",sT({},eP(n,!0),{className:g,d:sR(c,l,u,s,f)})))};function sB(e){return(sB="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function sL(){return(sL=Object.assign?Object.assign.bind():function(e){for(var t=1;t180),",").concat(+(a>l),",\n ").concat(s.x,",").concat(s.y,"\n ");if(o>0){var d=u4(n,r,o,a),p=u4(n,r,o,l);f+="L ".concat(p.x,",").concat(p.y,"\n A ").concat(o,",").concat(o,",0,\n ").concat(+(Math.abs(c)>180),",").concat(+(a<=l),",\n ").concat(d.x,",").concat(d.y," Z")}else f+="L ".concat(n,",").concat(r," Z");return f},sq=function(e){var t=e.cx,n=e.cy,r=e.innerRadius,o=e.outerRadius,i=e.cornerRadius,a=e.forceCornerRadius,c=e.cornerIsExternal,l=e.startAngle,u=e.endAngle,s=W(u-l),f=sH({cx:t,cy:n,radius:o,angle:l,sign:s,cornerRadius:i,cornerIsExternal:c}),d=f.circleTangency,p=f.lineTangency,h=f.theta,m=sH({cx:t,cy:n,radius:o,angle:u,sign:-s,cornerRadius:i,cornerIsExternal:c}),v=m.circleTangency,g=m.lineTangency,y=m.theta,b=c?Math.abs(l-u):Math.abs(l-u)-h-y;if(b<0)return a?"M ".concat(p.x,",").concat(p.y,"\n a").concat(i,",").concat(i,",0,0,1,").concat(2*i,",0\n a").concat(i,",").concat(i,",0,0,1,").concat(-(2*i),",0\n "):sW({cx:t,cy:n,innerRadius:r,outerRadius:o,startAngle:l,endAngle:u});var x="M ".concat(p.x,",").concat(p.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(s<0),",").concat(d.x,",").concat(d.y,"\n A").concat(o,",").concat(o,",0,").concat(+(b>180),",").concat(+(s<0),",").concat(v.x,",").concat(v.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(s<0),",").concat(g.x,",").concat(g.y,"\n ");if(r>0){var w=sH({cx:t,cy:n,radius:r,angle:l,sign:s,isExternal:!0,cornerRadius:i,cornerIsExternal:c}),E=w.circleTangency,O=w.lineTangency,S=w.theta,C=sH({cx:t,cy:n,radius:r,angle:u,sign:-s,isExternal:!0,cornerRadius:i,cornerIsExternal:c}),k=C.circleTangency,j=C.lineTangency,P=C.theta,M=c?Math.abs(l-u):Math.abs(l-u)-S-P;if(M<0&&0===i)return"".concat(x,"L").concat(t,",").concat(n,"Z");x+="L".concat(j.x,",").concat(j.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(s<0),",").concat(k.x,",").concat(k.y,"\n A").concat(r,",").concat(r,",0,").concat(+(M>180),",").concat(+(s>0),",").concat(E.x,",").concat(E.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(s<0),",").concat(O.x,",").concat(O.y,"Z")}else x+="L".concat(t,",").concat(n,"Z");return x},sV={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},sU=function(e){var t,n=sF(sF({},sV),e),r=n.cx,o=n.cy,i=n.innerRadius,a=n.outerRadius,c=n.cornerRadius,l=n.forceCornerRadius,u=n.cornerIsExternal,s=n.startAngle,f=n.endAngle,d=n.className;if(a0&&360>Math.abs(s-f)?sq({cx:r,cy:o,innerRadius:i,outerRadius:a,cornerRadius:Math.min(m,h/2),forceCornerRadius:l,cornerIsExternal:u,startAngle:s,endAngle:f}):sW({cx:r,cy:o,innerRadius:i,outerRadius:a,startAngle:s,endAngle:f}),A.createElement("path",sL({},eP(n,!0),{className:p,d:t,role:"img"}))},sX=["option","shapeType","propTransformer","activeClassName","isActive"];function sG(e){return(sG="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function sK(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function s$(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,sX);if((0,A.isValidElement)(n))t=(0,A.cloneElement)(n,s$(s$({},c),(0,A.isValidElement)(n)?n.props:n));else if(eo()(n))t=n(c);else if(sj()(n)&&!sM()(n)){var l=(void 0===o?function(e,t){return s$(s$({},t),e)}:o)(n,c);t=A.createElement(sY,{shapeType:r,elementProps:l})}else t=A.createElement(sY,{shapeType:r,elementProps:c});return a?A.createElement(eQ,{className:void 0===i?"recharts-active-shape":i},t):t}function sJ(e,t){return null!=t&&"trapezoids"in e.props}function s0(e,t){return null!=t&&"sectors"in e.props}function s1(e,t){return null!=t&&"points"in e.props}function s2(e,t){var n,r,o=e.x===(null==t||null===(n=t.labelViewBox)||void 0===n?void 0:n.x)||e.x===t.x,i=e.y===(null==t||null===(r=t.labelViewBox)||void 0===r?void 0:r.y)||e.y===t.y;return o&&i}function s4(e,t){var n=e.endAngle===t.endAngle,r=e.startAngle===t.startAngle;return n&&r}function s5(e,t){var n=e.x===t.x,r=e.y===t.y,o=e.z===t.z;return n&&r&&o}function s6(e){return(s6="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var s3=["x","y"];function s8(){return(s8=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,s3),i=parseInt("".concat(n),10),a=parseInt("".concat(r),10),c=parseInt("".concat(t.height||o.height),10),l=parseInt("".concat(t.width||o.width),10);return s7(s7(s7(s7(s7({},t),o),i?{x:i}:{}),a?{y:a}:{}),{},{height:c,width:l,name:t.name,radius:t.radius})}function ft(e){return A.createElement(sQ,s8({shapeType:"rectangle",propTransformer:fe,activeClassName:"recharts-active-bar"},e))}var fn=["value","background"];function fr(e){return(fr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function fo(){return(fo=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(t,fn);if(!a)return null;var l=fa(fa(fa(fa(fa({},c),{},{fill:"#eee"},a),i),eh(e.props,t,n)),{},{onAnimationStart:e.handleAnimationStart,onAnimationEnd:e.handleAnimationEnd,dataKey:r,index:n,key:"background-bar-".concat(n),className:"recharts-bar-background-rectangle"});return A.createElement(ft,fo({option:e.props.background,isActive:n===o},l))})}},{key:"renderErrorBar",value:function(e,t){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var n=this.props,r=n.data,o=n.xAxis,i=n.yAxis,a=n.layout,c=eO(n.children,l0);if(!c)return null;var l="vertical"===a?r[0].height/2:r[0].width/2,u=function(e,t){var n=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:n,errorVal:ut(e,t)}};return A.createElement(eQ,{clipPath:e?"url(#clipPath-".concat(t,")"):null},c.map(function(e){return A.cloneElement(e,{key:"error-bar-".concat(t,"-").concat(e.props.dataKey),data:r,xAxis:o,yAxis:i,layout:a,offset:l,dataPointFormatter:u})}))}},{key:"render",value:function(){var e=this.props,t=e.hide,n=e.data,r=e.className,o=e.xAxis,i=e.yAxis,a=e.left,c=e.top,l=e.width,u=e.height,s=e.isAnimationActive,f=e.background,d=e.id;if(t||!n||!n.length)return null;var p=this.state.isAnimationFinished,h=T("recharts-bar",r),m=o&&o.allowDataOverflow,v=i&&i.allowDataOverflow,g=m||v,y=en()(d)?this.id:d;return A.createElement(eQ,{className:h},m||v?A.createElement("defs",null,A.createElement("clipPath",{id:"clipPath-".concat(y)},A.createElement("rect",{x:m?a:a-l/2,y:v?c:c-u/2,width:m?l:2*l,height:v?u:2*u}))):null,A.createElement(eQ,{className:"recharts-bar-rectangles",clipPath:g?"url(#clipPath-".concat(y,")"):null},f?this.renderBackground():null,this.renderRectangles()),this.renderErrorBar(g,y),(!s||p)&&sC.renderCallByParent(this.props,n))}}],r=[{key:"getDerivedStateFromProps",value:function(e,t){return e.animationId!==t.prevAnimationId?{prevAnimationId:e.animationId,curData:e.data,prevData:t.curData}:e.data!==t.curData?{curData:e.data}:null}}],n&&fc(i.prototype,n),r&&fc(i,r),Object.defineProperty(i,"prototype",{writable:!1}),i}(A.PureComponent);function fh(e){return(fh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function fm(e,t){for(var n=0;n0&&Math.abs(g)0&&Math.abs(m)1&&void 0!==arguments[1]?arguments[1]:{},n=t.bandAware,r=t.position;if(void 0!==e){if(r)switch(r){case"start":default:return this.scale(e);case"middle":var o=this.bandwidth?this.bandwidth()/2:0;return this.scale(e)+o;case"end":var i=this.bandwidth?this.bandwidth():0;return this.scale(e)+i}if(n){var a=this.bandwidth?this.bandwidth()/2:0;return this.scale(e)+a}return this.scale(e)}}},{key:"isInRange",value:function(e){var t=this.range(),n=t[0],r=t[t.length-1];return n<=r?e>=n&&e<=r:e>=r&&e<=n}}],t=[{key:"create",value:function(e){return new n(e)}}],e&&fm(n.prototype,e),t&&fm(n,t),Object.defineProperty(n,"prototype",{writable:!1}),n}();fy(fw,"EPS",1e-4);var fE=function(e){var t=Object.keys(e).reduce(function(t,n){return fg(fg({},t),{},fy({},n,fw.create(e[n])))},{});return fg(fg({},t),{},{apply:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.bandAware,o=n.position;return sd()(e,function(e,n){return t[n].apply(e,{bandAware:r,position:o})})},isInRange:function(e){return eV()(e,function(e,n){return t[n].isInRange(e)})}})},fO=function(e){var t=e.width,n=e.height,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=(r%180+180)%180*Math.PI/180,i=Math.atan(n/t);return Math.abs(o>i&&oe.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n=0;--t)o[t]=(a[t]-o[t+1])/i[t];for(t=0,i[r-1]=(e[r]+o[r-1])/2;t=f;--d)c.point(g[d],y[d]);c.lineEnd(),c.areaEnd()}}v&&(g[s]=+e(p,s,u),y[s]=+t(p,s,u),c.point(r?+r(p,s,u):g[s],n?+n(p,s,u):y[s]))}if(h)return c=null,h+""||null}function s(){return dj().defined(o).curve(a).context(i)}return e="function"==typeof e?e:void 0===e?dC:ro(+e),t="function"==typeof t?t:void 0===t?ro(0):ro(+t),n="function"==typeof n?n:void 0===n?dk:ro(+n),u.x=function(t){return arguments.length?(e="function"==typeof t?t:ro(+t),r=null,u):e},u.x0=function(t){return arguments.length?(e="function"==typeof t?t:ro(+t),u):e},u.x1=function(e){return arguments.length?(r=null==e?null:"function"==typeof e?e:ro(+e),u):r},u.y=function(e){return arguments.length?(t="function"==typeof e?e:ro(+e),n=null,u):t},u.y0=function(e){return arguments.length?(t="function"==typeof e?e:ro(+e),u):t},u.y1=function(e){return arguments.length?(n=null==e?null:"function"==typeof e?e:ro(+e),u):n},u.lineX0=u.lineY0=function(){return s().x(e).y(t)},u.lineY1=function(){return s().x(e).y(n)},u.lineX1=function(){return s().x(r).y(t)},u.defined=function(e){return arguments.length?(o="function"==typeof e?e:ro(!!e),u):o},u.curve=function(e){return arguments.length?(a=e,null!=i&&(c=a(i)),u):a},u.context=function(e){return arguments.length?(null==e?i=c=null:c=a(i=e),u):i},u}function dM(e){return(dM="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function dA(){return(dA=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}};var dI={curveBasisClosed:function(e){return new ds(e)},curveBasisOpen:function(e){return new df(e)},curveBasis:function(e){return new du(e)},curveBumpX:function(e){return new dd(e,!0)},curveBumpY:function(e){return new dd(e,!1)},curveLinearClosed:function(e){return new dp(e)},curveLinear:dm,curveMonotoneX:function(e){return new db(e)},curveMonotoneY:function(e){return new dx(e)},curveNatural:function(e){return new dE(e)},curveStep:function(e){return new dS(e,.5)},curveStepAfter:function(e){return new dS(e,1)},curveStepBefore:function(e){return new dS(e,0)}},dZ=function(e){return e.x===+e.x&&e.y===+e.y},dR=function(e){return e.x},d_=function(e){return e.y},dD=function(e,t){if(eo()(e))return e;var n="curve".concat(nQ()(e));return("curveMonotone"===n||"curveBump"===n)&&t?dI["".concat(n).concat("vertical"===t?"Y":"X")]:dI[n]||dm},dB=function(e){var t,n=e.type,r=e.points,o=void 0===r?[]:r,i=e.baseLine,a=e.layout,c=e.connectNulls,l=void 0!==c&&c,u=dD(void 0===n?"linear":n,a),s=l?o.filter(function(e){return dZ(e)}):o;if(Array.isArray(i)){var f=l?i.filter(function(e){return dZ(e)}):i,d=s.map(function(e,t){return dN(dN({},e),{},{base:f[t]})});return(t="vertical"===a?dP().y(d_).x1(dR).x0(function(e){return e.base.x}):dP().x(dR).y1(d_).y0(function(e){return e.base.y})).defined(dZ).curve(u),t(d)}return(t="vertical"===a&&V(i)?dP().y(d_).x1(dR).x0(i):V(i)?dP().x(dR).y1(d_).y0(i):dj().x(dR).y(d_)).defined(dZ).curve(u),t(s)},dL=function(e){var t=e.className,n=e.points,r=e.path,o=e.pathRef;if((!n||!n.length)&&!r)return null;var i=n&&n.length?dB(e):r;return A.createElement("path",dA({},eP(e,!1),ep(e),{className:T("recharts-curve",t),d:i,ref:o}))};function dz(e){return(dz="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var dF=["x","y","top","left","width","height","className"];function dH(){return(dH=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,dF));return V(n)&&V(o)&&V(s)&&V(d)&&V(a)&&V(l)?A.createElement("path",dH({},eP(h,!0),{className:T("recharts-cross",p),d:"M".concat(n,",").concat(a,"v").concat(d,"M").concat(l,",").concat(o,"h").concat(s)})):null};function dV(e){var t=e.cx,n=e.cy,r=e.radius,o=e.startAngle,i=e.endAngle;return{points:[u4(t,n,r,o),u4(t,n,r,i)],cx:t,cy:n,radius:r,startAngle:o,endAngle:i}}function dU(e){return(dU="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function dX(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function dG(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function d2(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=Array(t);n0?i:e&&e.length&&V(r)&&V(o)?e.slice(r,o+1):[]};function pu(e){return"number"===e?[0,"auto"]:void 0}var ps=function(e,t,n,r){var o=e.graphicalItems,i=e.tooltipAxis,a=pl(t,e);return n<0||!o||!o.length||n>=a.length?null:o.reduce(function(o,c){var l,u,s=null!==(l=c.props.data)&&void 0!==l?l:t;return(s&&e.dataStartIndex+e.dataEndIndex!==0&&(s=s.slice(e.dataStartIndex,e.dataEndIndex+1)),u=i.dataKey&&!i.allowDuplicatedCategory?J(void 0===s?a:s,i.dataKey,r):s&&s[n]||a[n])?[].concat(d3(o),[uI(c,u)]):o},[])},pf=function(e,t,n,r){var o=r||{x:e.chartX,y:e.chartY},i="horizontal"===n?o.x:"vertical"===n?o.y:"centric"===n?o.angle:o.radius,a=e.orderedTooltipTicks,c=e.tooltipAxis,l=e.tooltipTicks,u=ur(i,a,l,c);if(u>=0&&l){var s=l[u]&&l[u].value,f=ps(e,t,u,s),d=pc(n,a,u,o);return{activeTooltipIndex:u,activeLabel:s,activePayload:f,activeCoordinate:d}}return null},pd=function(e,t){var n=t.axes,r=t.graphicalItems,o=t.axisType,i=t.axisIdKey,a=t.stackGroups,c=t.dataStartIndex,l=t.dataEndIndex,u=e.layout,s=e.children,f=e.stackOffset,d=uf(u,o);return n.reduce(function(t,n){var p=n.props,h=p.type,m=p.dataKey,v=p.allowDataOverflow,g=p.allowDuplicatedCategory,y=p.scale,b=p.ticks,x=p.includeHidden,w=n.props[i];if(t[w])return t;var E=pl(e.data,{graphicalItems:r.filter(function(e){return e.props[i]===w}),dataStartIndex:c,dataEndIndex:l}),O=E.length;(function(e,t,n){if("number"===n&&!0===t&&Array.isArray(e)){var r=null==e?void 0:e[0],o=null==e?void 0:e[1];if(r&&o&&V(r)&&V(o))return!0}return!1})(n.props.domain,v,h)&&(k=uA(n.props.domain,null,v),d&&("number"===h||"auto"!==y)&&(P=un(E,m,"category")));var S=pu(h);if(!k||0===k.length){var C,k,j,P,M,A=null!==(M=n.props.domain)&&void 0!==M?M:S;if(m){if(k=un(E,m,h),"category"===h&&d){var T=Y(k);g&&T?(j=k,k=eL()(0,O)):g||(k=uN(A,k,n).reduce(function(e,t){return e.indexOf(t)>=0?e:[].concat(d3(e),[t])},[]))}else if("category"===h)k=g?k.filter(function(e){return""!==e&&!en()(e)}):uN(A,k,n).reduce(function(e,t){return e.indexOf(t)>=0||""===t||en()(t)?e:[].concat(d3(e),[t])},[]);else if("number"===h){var N=uu(E,r.filter(function(e){return e.props[i]===w&&(x||!e.props.hide)}),m,o,u);N&&(k=N)}d&&("number"===h||"auto"!==y)&&(P=un(E,m,"category"))}else k=d?eL()(0,O):a&&a[w]&&a[w].hasStack&&"number"===h?"expand"===f?[0,1]:uj(a[w].stackGroups,c,l):us(E,r.filter(function(e){return e.props[i]===w&&(x||!e.props.hide)}),h,u,!0);"number"===h?(k=f8(s,k,w,o,b),A&&(k=uA(A,k,v))):"category"===h&&A&&k.every(function(e){return A.indexOf(e)>=0})&&(k=A)}return pe(pe({},t),{},pt({},w,pe(pe({},n.props),{},{axisType:o,domain:k,categoricalDomain:P,duplicateDomain:j,originalDomain:null!==(C=n.props.domain)&&void 0!==C?C:S,isCategorical:d,layout:u})))},{})},pp=function(e,t){var n=t.graphicalItems,r=t.Axis,o=t.axisType,i=t.axisIdKey,a=t.stackGroups,c=t.dataStartIndex,l=t.dataEndIndex,u=e.layout,s=e.children,f=pl(e.data,{graphicalItems:n,dataStartIndex:c,dataEndIndex:l}),d=f.length,p=uf(u,o),h=-1;return n.reduce(function(e,t){var m,v=t.props[i],g=pu("number");return e[v]?e:(h++,m=p?eL()(0,d):a&&a[v]&&a[v].hasStack?f8(s,m=uj(a[v].stackGroups,c,l),v,o):f8(s,m=uA(g,us(f,n.filter(function(e){return e.props[i]===v&&!e.props.hide}),"number",u),r.defaultProps.allowDataOverflow),v,o),pe(pe({},e),{},pt({},v,pe(pe({axisType:o},r.defaultProps),{},{hide:!0,orientation:z()(pr,"".concat(o,".").concat(h%2),null),domain:m,originalDomain:g,isCategorical:p,layout:u}))))},{})},ph=function(e,t){var n=t.axisType,r=void 0===n?"xAxis":n,o=t.AxisComp,i=t.graphicalItems,a=t.stackGroups,c=t.dataStartIndex,l=t.dataEndIndex,u=e.children,s="".concat(r,"Id"),f=eO(u,o),d={};return f&&f.length?d=pd(e,{axes:f,graphicalItems:i,axisType:r,axisIdKey:s,stackGroups:a,dataStartIndex:c,dataEndIndex:l}):i&&i.length&&(d=pp(e,{Axis:o,graphicalItems:i,axisType:r,axisIdKey:s,stackGroups:a,dataStartIndex:c,dataEndIndex:l})),d},pm=function(e){var t=$(e),n=up(t,!1,!0);return{tooltipTicks:n,orderedTooltipTicks:eF()(n,function(e){return e.coordinate}),tooltipAxis:t,tooltipAxisBandSize:uT(t,n)}},pv=function(e){var t=e.children,n=e.defaultShowTooltip,r=eS(t,uQ),o=0,i=0;return e.data&&0!==e.data.length&&(i=e.data.length-1),r&&r.props&&(r.props.startIndex>=0&&(o=r.props.startIndex),r.props.endIndex>=0&&(i=r.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:o,dataEndIndex:i,activeTooltipIndex:-1,isTooltipActive:!!n}},pg=function(e){return"horizontal"===e?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:"vertical"===e?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:"centric"===e?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},py=function(e,t){var n=e.props,r=e.graphicalItems,o=e.xAxisMap,i=void 0===o?{}:o,a=e.yAxisMap,c=void 0===a?{}:a,l=n.width,u=n.height,s=n.children,f=n.margin||{},d=eS(s,uQ),p=eS(s,r1),h=Object.keys(c).reduce(function(e,t){var n=c[t],r=n.orientation;return n.mirror||n.hide?e:pe(pe({},e),{},pt({},r,e[r]+n.width))},{left:f.left||0,right:f.right||0}),m=Object.keys(i).reduce(function(e,t){var n=i[t],r=n.orientation;return n.mirror||n.hide?e:pe(pe({},e),{},pt({},r,z()(e,"".concat(r))+n.height))},{top:f.top||0,bottom:f.bottom||0}),v=pe(pe({},m),h),g=v.bottom;d&&(v.bottom+=d.props.height||uQ.defaultProps.height),p&&t&&(v=uc(v,r,n,t));var y=l-v.left-v.right,b=u-v.top-v.bottom;return pe(pe({brushBottom:g},v),{},{width:Math.max(y,0),height:Math.max(b,0)})};function pb(e,t,n){if(t<1)return[];if(1===t&&void 0===n)return e;for(var r=[],o=0;oe*o)return!1;var i=n();return e*(t-e*i/2-r)>=0&&e*(t+e*i/2-o)<=0}function pw(e){return(pw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function pE(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function pO(e){for(var t=1;t=2?W(u[1].coordinate-u[0].coordinate):1,w=(r="width"===g,o=s.x,i=s.y,a=s.width,c=s.height,1===x?{start:r?o:i,end:r?o+a:i+c}:{start:r?o+a:i+c,end:r?o:i});return"equidistantPreserveStart"===p?function(e,t,n,r,o){for(var i,a=(r||[]).slice(),c=t.start,l=t.end,u=0,s=1,f=c;s<=a.length;)if(i=function(){var t,i=null==r?void 0:r[u];if(void 0===i)return{v:pb(r,s)};var a=u,d=function(){return void 0===t&&(t=n(i,a)),t},p=i.coordinate,h=0===u||px(e,p,d,f,l);h||(u=0,f=c,s+=1),h&&(f=p+e*(d()/2+o),u+=s)}())return i.v;return[]}(x,w,b,u,f):("preserveStart"===p||"preserveStartEnd"===p?function(e,t,n,r,o,i){var a=(r||[]).slice(),c=a.length,l=t.start,u=t.end;if(i){var s=r[c-1],f=n(s,c-1),d=e*(s.coordinate+e*f/2-u);a[c-1]=s=pO(pO({},s),{},{tickCoord:d>0?s.coordinate-d*e:s.coordinate}),px(e,s.tickCoord,function(){return f},l,u)&&(u=s.tickCoord-e*(f/2+o),a[c-1]=pO(pO({},s),{},{isShow:!0}))}for(var p=i?c-1:c,h=function(t){var r,i=a[t],c=function(){return void 0===r&&(r=n(i,t)),r};if(0===t){var s=e*(i.coordinate-e*c()/2-l);a[t]=i=pO(pO({},i),{},{tickCoord:s<0?i.coordinate-s*e:i.coordinate})}else a[t]=i=pO(pO({},i),{},{tickCoord:i.coordinate});px(e,i.tickCoord,c,l,u)&&(l=i.tickCoord+e*(c()/2+o),a[t]=pO(pO({},i),{},{isShow:!0}))},m=0;m0?u.coordinate-f*e:u.coordinate})}else i[t]=u=pO(pO({},u),{},{tickCoord:u.coordinate});px(e,u.tickCoord,s,c,l)&&(l=u.tickCoord-e*(s()/2+o),i[t]=pO(pO({},u),{},{isShow:!0}))},s=a-1;s>=0;s--)u(s);return i}(x,w,b,u,f)).filter(function(e){return e.isShow})}var pC=["viewBox"],pk=["viewBox"],pj=["ticks"];function pP(e){return(pP="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function pM(){return(pM=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function pI(e,t){for(var n=0;n0?this.props:u)),r<=0||o<=0||!s||!s.length)?null:A.createElement(eQ,{className:T("recharts-cartesian-axis",a),ref:function(t){e.layerReference=t}},n&&this.renderAxisLine(),this.renderTicks(s,this.state.fontSize,this.state.letterSpacing),sl.renderCallByParent(this.props))}}],r=[{key:"renderTickItem",value:function(e,t,n){return A.isValidElement(e)?A.cloneElement(e,t):eo()(e)?e(t):A.createElement(oV,pM({},t,{className:"recharts-cartesian-axis-tick-value"}),n)}}],n&&pI(i.prototype,n),r&&pI(i,r),Object.defineProperty(i,"prototype",{writable:!1}),i}(A.Component);function pL(){return(pL=Object.assign?Object.assign.bind():function(e){for(var t=1;t0&&(S=Math.min((e||0)-(C[t-1]||0),S))});var k=S/O,j="vertical"===m.layout?n.height:n.width;if("gap"===m.padding&&(l=k*j/2),"no-gap"===m.padding){var P=K(e.barCategoryGap,k*j),M=k*j/2;l=M-P-(M-P)/j*P}}u="xAxis"===r?[n.left+(b.left||0)+(l||0),n.left+n.width-(b.right||0)-(l||0)]:"yAxis"===r?"horizontal"===c?[n.top+n.height-(b.bottom||0),n.top+(b.top||0)]:[n.top+(b.top||0)+(l||0),n.top+n.height-(b.bottom||0)-(l||0)]:m.range,w&&(u=[u[1],u[0]]);var A=uv(m,o,f),T=A.scale,N=A.realScaleType;T.domain(g).range(u),ug(T);var I=uO(T,fg(fg({},m),{},{realScaleType:N}));"xAxis"===r?(h="top"===v&&!x||"bottom"===v&&x,d=n.left,p=s[E]-h*m.height):"yAxis"===r&&(h="left"===v&&!x||"right"===v&&x,d=s[E]-h*m.width,p=n.top);var Z=fg(fg(fg({},m),I),{},{realScaleType:N,x:d,y:p,scale:T,width:"xAxis"===r?n.width:m.width,height:"yAxis"===r?n.height:m.height});return Z.bandSize=uT(Z,I),m.hide||"xAxis"!==r?m.hide||(s[E]+=(h?-1:1)*Z.width):s[E]+=(h?-1:1)*Z.height,fg(fg({},i),{},fy({},a,Z))},{})}}).chartName,a=r.GraphicalChild,l=void 0===(c=r.defaultTooltipEventType)?"axis":c,s=void 0===(u=r.validateTooltipEventTypes)?["axis"]:u,f=r.axisComponents,d=r.legendContent,p=r.formatAxisMap,h=r.defaultProps,m=function(e,t){var n=t.graphicalItems,r=t.stackGroups,o=t.offset,i=t.updateId,a=t.dataStartIndex,c=t.dataEndIndex,l=e.barSize,u=e.layout,s=e.barGap,d=e.barCategoryGap,p=e.maxBarSize,h=pg(u),m=h.numericAxisName,v=h.cateAxisName,g=!!n&&!!n.length&&n.some(function(e){var t=eb(e&&e.type);return t&&t.indexOf("Bar")>=0})&&ui({barSize:l,stackGroups:r}),y=[];return n.forEach(function(n,l){var h,b=pl(e.data,{graphicalItems:[n],dataStartIndex:a,dataEndIndex:c}),x=n.props,w=x.dataKey,E=x.maxBarSize,O=n.props["".concat(m,"Id")],S=n.props["".concat(v,"Id")],C=f.reduce(function(e,r){var o,i=t["".concat(r.axisType,"Map")],a=n.props["".concat(r.axisType,"Id")];i&&i[a]||"zAxis"===r.axisType||eU(!1);var c=i[a];return pe(pe({},e),{},(pt(o={},r.axisType,c),pt(o,"".concat(r.axisType,"Ticks"),up(c)),o))},{}),k=C[v],j=C["".concat(v,"Ticks")],P=r&&r[O]&&r[O].hasStack&&uk(n,r[O].stackGroups),M=eb(n.type).indexOf("Bar")>=0,A=uT(k,j),T=[];if(M){var N,I,Z=en()(E)?p:E,R=null!==(N=null!==(I=uT(k,j,!0))&&void 0!==I?I:Z)&&void 0!==N?N:0;T=ua({barGap:s,barCategoryGap:d,bandSize:R!==A?R:A,sizeList:g[S],maxBarSize:Z}),R!==A&&(T=T.map(function(e){return pe(pe({},e),{},{position:pe(pe({},e.position),{},{offset:e.position.offset-R/2})})}))}var _=n&&n.type&&n.type.getComposedData;_&&y.push({props:pe(pe({},_(pe(pe({},C),{},{displayedData:b,props:e,dataKey:w,item:n,bandSize:A,barPosition:T,offset:o,stackedData:P,layout:u,dataStartIndex:a,dataEndIndex:c}))),{},(pt(h={key:n.key||"item-".concat(l)},m,C[m]),pt(h,v,C[v]),pt(h,"animationId",i),h)),childIndex:eE(e.children).indexOf(n),item:n})}),y},v=function(e,t){var n=e.props,r=e.dataStartIndex,o=e.dataEndIndex,c=e.updateId;if(!eC({props:n}))return null;var l=n.children,u=n.layout,s=n.stackOffset,d=n.data,h=n.reverseStackOrder,v=pg(u),g=v.numericAxisName,y=v.cateAxisName,b=eO(l,a),x=uE(d,b,"".concat(g,"Id"),"".concat(y,"Id"),s,h),w=f.reduce(function(e,t){var i="".concat(t.axisType,"Map");return pe(pe({},e),{},pt({},i,ph(n,pe(pe({},t),{},{graphicalItems:b,stackGroups:t.axisType===g&&x,dataStartIndex:r,dataEndIndex:o}))))},{}),E=py(pe(pe({},w),{},{props:n,graphicalItems:b}),null==t?void 0:t.legendBBox);Object.keys(w).forEach(function(e){w[e]=p(n,w[e],E,e.replace("Map",""),i)});var O=pm(w["".concat(y,"Map")]),S=m(n,pe(pe({},w),{},{dataStartIndex:r,dataEndIndex:o,updateId:c,graphicalItems:b,stackGroups:x,offset:E}));return pe(pe({formattedGraphicalItems:S,graphicalItems:b,offset:E,stackGroups:x},O),w)},o=function(e){(function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&d4(e,t)})(a,e);var t,n,r,o=(t=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}(),function(){var e,n=d6(a);if(t){var r=d6(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return function(e,t){if(t&&("object"===dQ(t)||"function"==typeof t))return t;if(void 0!==t)throw TypeError("Derived constructors may only return object or undefined");return d5(e)}(this,e)});function a(e){var t,n,r;return function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,a),pt(d5(r=o.call(this,e)),"eventEmitterSymbol",Symbol("rechartsEventEmitter")),pt(d5(r),"accessibilityManager",new da),pt(d5(r),"handleLegendBBoxUpdate",function(e){if(e){var t=r.state,n=t.dataStartIndex,o=t.dataEndIndex,i=t.updateId;r.setState(pe({legendBBox:e},v({props:r.props,dataStartIndex:n,dataEndIndex:o,updateId:i},pe(pe({},r.state),{},{legendBBox:e}))))}}),pt(d5(r),"handleReceiveSyncEvent",function(e,t,n){r.props.syncId===e&&(n!==r.eventEmitterSymbol||"function"==typeof r.props.syncMethod)&&r.applySyncEvent(t)}),pt(d5(r),"handleBrushChange",function(e){var t=e.startIndex,n=e.endIndex;if(t!==r.state.dataStartIndex||n!==r.state.dataEndIndex){var o=r.state.updateId;r.setState(function(){return pe({dataStartIndex:t,dataEndIndex:n},v({props:r.props,dataStartIndex:t,dataEndIndex:n,updateId:o},r.state))}),r.triggerSyncEvent({dataStartIndex:t,dataEndIndex:n})}}),pt(d5(r),"handleMouseEnter",function(e){var t=r.getMouseInfo(e);if(t){var n=pe(pe({},t),{},{isTooltipActive:!0});r.setState(n),r.triggerSyncEvent(n);var o=r.props.onMouseEnter;eo()(o)&&o(n,e)}}),pt(d5(r),"triggeredAfterMouseMove",function(e){var t=r.getMouseInfo(e),n=t?pe(pe({},t),{},{isTooltipActive:!0}):{isTooltipActive:!1};r.setState(n),r.triggerSyncEvent(n);var o=r.props.onMouseMove;eo()(o)&&o(n,e)}),pt(d5(r),"handleItemMouseEnter",function(e){r.setState(function(){return{isTooltipActive:!0,activeItem:e,activePayload:e.tooltipPayload,activeCoordinate:e.tooltipPosition||{x:e.cx,y:e.cy}}})}),pt(d5(r),"handleItemMouseLeave",function(){r.setState(function(){return{isTooltipActive:!1}})}),pt(d5(r),"handleMouseMove",function(e){e.persist(),r.throttleTriggeredAfterMouseMove(e)}),pt(d5(r),"handleMouseLeave",function(e){var t={isTooltipActive:!1};r.setState(t),r.triggerSyncEvent(t);var n=r.props.onMouseLeave;eo()(n)&&n(t,e)}),pt(d5(r),"handleOuterEvent",function(e){var t,n=eN(e),o=z()(r.props,"".concat(n));n&&eo()(o)&&o(null!==(t=/.*touch.*/i.test(n)?r.getMouseInfo(e.changedTouches[0]):r.getMouseInfo(e))&&void 0!==t?t:{},e)}),pt(d5(r),"handleClick",function(e){var t=r.getMouseInfo(e);if(t){var n=pe(pe({},t),{},{isTooltipActive:!0});r.setState(n),r.triggerSyncEvent(n);var o=r.props.onClick;eo()(o)&&o(n,e)}}),pt(d5(r),"handleMouseDown",function(e){var t=r.props.onMouseDown;eo()(t)&&t(r.getMouseInfo(e),e)}),pt(d5(r),"handleMouseUp",function(e){var t=r.props.onMouseUp;eo()(t)&&t(r.getMouseInfo(e),e)}),pt(d5(r),"handleTouchMove",function(e){null!=e.changedTouches&&e.changedTouches.length>0&&r.throttleTriggeredAfterMouseMove(e.changedTouches[0])}),pt(d5(r),"handleTouchStart",function(e){null!=e.changedTouches&&e.changedTouches.length>0&&r.handleMouseDown(e.changedTouches[0])}),pt(d5(r),"handleTouchEnd",function(e){null!=e.changedTouches&&e.changedTouches.length>0&&r.handleMouseUp(e.changedTouches[0])}),pt(d5(r),"triggerSyncEvent",function(e){void 0!==r.props.syncId&&f7.emit(de,r.props.syncId,e,r.eventEmitterSymbol)}),pt(d5(r),"applySyncEvent",function(e){var t=r.props,n=t.layout,o=t.syncMethod,i=r.state.updateId,a=e.dataStartIndex,c=e.dataEndIndex;if(void 0!==e.dataStartIndex||void 0!==e.dataEndIndex)r.setState(pe({dataStartIndex:a,dataEndIndex:c},v({props:r.props,dataStartIndex:a,dataEndIndex:c,updateId:i},r.state)));else if(void 0!==e.activeTooltipIndex){var l=e.chartX,u=e.chartY,s=e.activeTooltipIndex,f=r.state,d=f.offset,p=f.tooltipTicks;if(!d)return;if("function"==typeof o)s=o(p,e);else if("value"===o){s=-1;for(var h=0;h=0){if(l.dataKey&&!l.allowDuplicatedCategory){var O="function"==typeof l.dataKey?function(e){return"function"==typeof l.dataKey?l.dataKey(e.payload):null}:"payload.".concat(l.dataKey.toString());C=J(p,O,s),k=h&&m&&J(m,O,s)}else C=null==p?void 0:p[u],k=h&&m&&m[u];if(x||b){var S=void 0!==e.props.activeIndex?e.props.activeIndex:u;return[(0,A.cloneElement)(e,pe(pe(pe({},o.props),w),{},{activeIndex:S})),null,null]}if(!en()(C))return[E].concat(d3(r.renderActivePoints({item:o,activePoint:C,basePoint:k,childIndex:u,isRange:h})))}else{var C,k,j,P=(null!==(j=r.getItemByXY(r.state.activeCoordinate))&&void 0!==j?j:{graphicalItem:E}).graphicalItem,M=P.item,T=void 0===M?e:M,N=P.childIndex,I=pe(pe(pe({},o.props),w),{},{activeIndex:N});return[(0,A.cloneElement)(T,I),null,null]}}return h?[E,null,null]:[E,null]}),pt(d5(r),"renderCustomized",function(e,t,n){return(0,A.cloneElement)(e,pe(pe({key:"recharts-customized-".concat(n)},r.props),r.state))}),pt(d5(r),"renderMap",{CartesianGrid:{handler:r.renderGrid,once:!0},ReferenceArea:{handler:r.renderReferenceElement},ReferenceLine:{handler:pa},ReferenceDot:{handler:r.renderReferenceElement},XAxis:{handler:pa},YAxis:{handler:pa},Brush:{handler:r.renderBrush,once:!0},Bar:{handler:r.renderGraphicChild},Line:{handler:r.renderGraphicChild},Area:{handler:r.renderGraphicChild},Radar:{handler:r.renderGraphicChild},RadialBar:{handler:r.renderGraphicChild},Scatter:{handler:r.renderGraphicChild},Pie:{handler:r.renderGraphicChild},Funnel:{handler:r.renderGraphicChild},Tooltip:{handler:r.renderCursor,once:!0},PolarGrid:{handler:r.renderPolarGrid,once:!0},PolarAngleAxis:{handler:r.renderPolarAxis},PolarRadiusAxis:{handler:r.renderPolarAxis},Customized:{handler:r.renderCustomized}}),r.clipPathId="".concat(null!==(t=e.id)&&void 0!==t?t:G("recharts"),"-clip"),r.throttleTriggeredAfterMouseMove=I()(r.triggeredAfterMouseMove,null!==(n=e.throttleDelay)&&void 0!==n?n:1e3/60),r.state={},r}return n=[{key:"componentDidMount",value:function(){var e,t;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:null!==(e=this.props.margin.left)&&void 0!==e?e:0,top:null!==(t=this.props.margin.top)&&void 0!==t?t:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var e=this.props,t=e.children,n=e.data,r=e.height,o=e.layout,i=eS(t,n$);if(i){var a=i.props.defaultIndex;if("number"==typeof a&&!(a<0)&&!(a>this.state.tooltipTicks.length)){var c=this.state.tooltipTicks[a]&&this.state.tooltipTicks[a].value,l=ps(this.state,n,a,c),u=this.state.tooltipTicks[a].coordinate,s=(this.state.offset.top+r)/2,f="horizontal"===o?{x:u,y:s}:{y:u,x:s},d=this.state.formattedGraphicalItems.find(function(e){return"Scatter"===e.item.type.name});d&&(f=pe(pe({},f),d.props.points[a].tooltipPosition),l=d.props.points[a].tooltipPayload);var p={activeTooltipIndex:a,isTooltipActive:!0,activeLabel:c,activePayload:l,activeCoordinate:f};this.setState(p),this.renderCursor(i),this.accessibilityManager.setIndex(a)}}}},{key:"getSnapshotBeforeUpdate",value:function(e,t){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==t.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==e.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==e.margin){var n,r;this.accessibilityManager.setDetails({offset:{left:null!==(n=this.props.margin.left)&&void 0!==n?n:0,top:null!==(r=this.props.margin.top)&&void 0!==r?r:0}})}return null}},{key:"componentDidUpdate",value:function(e){eM([eS(e.children,n$)],[eS(this.props.children,n$)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var e=eS(this.props.children,n$);if(e&&"boolean"==typeof e.props.shared){var t=e.props.shared?"axis":"item";return s.indexOf(t)>=0?t:l}return l}},{key:"getMouseInfo",value:function(e){if(!this.container)return null;var t=this.container,n=t.getBoundingClientRect(),r={top:n.top+window.scrollY-document.documentElement.clientTop,left:n.left+window.scrollX-document.documentElement.clientLeft},o={chartX:Math.round(e.pageX-r.left),chartY:Math.round(e.pageY-r.top)},i=n.width/t.offsetWidth||1,a=this.inRange(o.chartX,o.chartY,i);if(!a)return null;var c=this.state,l=c.xAxisMap,u=c.yAxisMap;if("axis"!==this.getTooltipEventType()&&l&&u){var s=$(l).scale,f=$(u).scale,d=s&&s.invert?s.invert(o.chartX):null,p=f&&f.invert?f.invert(o.chartY):null;return pe(pe({},o),{},{xValue:d,yValue:p})}var h=pf(this.state,this.props.data,this.props.layout,a);return h?pe(pe({},o),h):null}},{key:"inRange",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=this.props.layout,o=e/n,i=t/n;if("horizontal"===r||"vertical"===r){var a=this.state.offset;return o>=a.left&&o<=a.left+a.width&&i>=a.top&&i<=a.top+a.height?{x:o,y:i}:null}var c=this.state,l=c.angleAxisMap,u=c.radiusAxisMap;return l&&u?u8({x:o,y:i},$(l)):null}},{key:"parseEventsOfWrapper",value:function(){var e=this.props.children,t=this.getTooltipEventType(),n=eS(e,n$),r={};return n&&"axis"===t&&(r="click"===n.props.trigger?{onClick:this.handleClick}:{onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd}),pe(pe({},ep(this.props,this.handleOuterEvent)),r)}},{key:"addListener",value:function(){f7.on(de,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){f7.removeListener(de,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(e,t,n){for(var r=this.state.formattedGraphicalItems,o=0,i=r.length;o=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var pY=function(e){var t=e.fill;if(!t||"none"===t)return null;var n=e.fillOpacity,r=e.x,o=e.y,i=e.width,a=e.height;return A.createElement("rect",{x:r,y:o,width:i,height:a,stroke:"none",fill:t,fillOpacity:n,className:"recharts-cartesian-grid-bg"})};function pQ(e,t){var n;if(A.isValidElement(e))n=A.cloneElement(e,t);else if(eo()(e))n=e(t);else{var r=t.x1,o=t.y1,i=t.x2,a=t.y2,c=t.key,l=eP(p$(t,pq),!1),u=(l.offset,p$(l,pV));n=A.createElement("line",pK({},u,{x1:r,y1:o,x2:i,y2:a,fill:"none",key:c}))}return n}function pJ(e){var t=e.x,n=e.width,r=e.horizontal,o=void 0===r||r,i=e.horizontalPoints;if(!o||!i||!i.length)return null;var a=i.map(function(r,i){return pQ(o,pG(pG({},e),{},{x1:t,y1:r,x2:t+n,y2:r,key:"line-".concat(i),index:i}))});return A.createElement("g",{className:"recharts-cartesian-grid-horizontal"},a)}function p0(e){var t=e.y,n=e.height,r=e.vertical,o=void 0===r||r,i=e.verticalPoints;if(!o||!i||!i.length)return null;var a=i.map(function(r,i){return pQ(o,pG(pG({},e),{},{x1:r,y1:t,x2:r,y2:t+n,key:"line-".concat(i),index:i}))});return A.createElement("g",{className:"recharts-cartesian-grid-vertical"},a)}function p1(e){var t=e.horizontalFill,n=e.fillOpacity,r=e.x,o=e.y,i=e.width,a=e.height,c=e.horizontalPoints,l=e.horizontal;if(!(void 0===l||l)||!t||!t.length)return null;var u=c.map(function(e){return Math.round(e+o-o)}).sort(function(e,t){return e-t});o!==u[0]&&u.unshift(0);var s=u.map(function(e,c){var l=u[c+1]?u[c+1]-e:o+a-e;if(l<=0)return null;var s=c%t.length;return A.createElement("rect",{key:"react-".concat(c),y:e,x:r,height:l,width:i,stroke:"none",fill:t[s],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return A.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},s)}function p2(e){var t=e.vertical,n=e.verticalFill,r=e.fillOpacity,o=e.x,i=e.y,a=e.width,c=e.height,l=e.verticalPoints;if(!(void 0===t||t)||!n||!n.length)return null;var u=l.map(function(e){return Math.round(e+o-o)}).sort(function(e,t){return e-t});o!==u[0]&&u.unshift(0);var s=u.map(function(e,t){var l=u[t+1]?u[t+1]-e:o+a-e;if(l<=0)return null;var s=t%n.length;return A.createElement("rect",{key:"react-".concat(t),x:e,y:i,width:l,height:c,stroke:"none",fill:n[s],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return A.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},s)}var p4=function(e,t){var n=e.xAxis,r=e.width,o=e.height,i=e.offset;return ud(pS(pG(pG(pG({},pB.defaultProps),n),{},{ticks:up(n,!0),viewBox:{x:0,y:0,width:r,height:o}})),i.left,i.left+i.width,t)},p5=function(e,t){var n=e.yAxis,r=e.width,o=e.height,i=e.offset;return ud(pS(pG(pG(pG({},pB.defaultProps),n),{},{ticks:up(n,!0),viewBox:{x:0,y:0,width:r,height:o}})),i.top,i.top+i.height,t)},p6={horizontal:!0,vertical:!0,stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[]};function p3(e){var t,n,r,o,i,a,c=fq(),l=fV(),u=(0,A.useContext)(fD),s=pG(pG({},e),{},{stroke:null!==(t=e.stroke)&&void 0!==t?t:p6.stroke,fill:null!==(n=e.fill)&&void 0!==n?n:p6.fill,horizontal:null!==(r=e.horizontal)&&void 0!==r?r:p6.horizontal,horizontalFill:null!==(o=e.horizontalFill)&&void 0!==o?o:p6.horizontalFill,vertical:null!==(i=e.vertical)&&void 0!==i?i:p6.vertical,verticalFill:null!==(a=e.verticalFill)&&void 0!==a?a:p6.verticalFill}),f=s.x,d=s.y,p=s.width,h=s.height,m=s.xAxis,v=s.yAxis,g=s.syncWithTicks,y=s.horizontalValues,b=s.verticalValues;if(!V(p)||p<=0||!V(h)||h<=0||!V(f)||f!==+f||!V(d)||d!==+d)return null;var x=s.verticalCoordinatesGenerator||p4,w=s.horizontalCoordinatesGenerator||p5,E=s.horizontalPoints,O=s.verticalPoints;if((!E||!E.length)&&eo()(w)){var S=y&&y.length,C=w({yAxis:v?pG(pG({},v),{},{ticks:S?y:v.ticks}):void 0,width:c,height:l,offset:u},!!S||g);ee(Array.isArray(C),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(pU(C),"]")),Array.isArray(C)&&(E=C)}if((!O||!O.length)&&eo()(x)){var k=b&&b.length,j=x({xAxis:m?pG(pG({},m),{},{ticks:k?b:m.ticks}):void 0,width:c,height:l,offset:u},!!k||g);ee(Array.isArray(j),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(pU(j),"]")),Array.isArray(j)&&(O=j)}return A.createElement("g",{className:"recharts-cartesian-grid"},A.createElement(pY,{fill:s.fill,fillOpacity:s.fillOpacity,x:s.x,y:s.y,width:s.width,height:s.height}),A.createElement(pJ,pK({},s,{offset:u,horizontalPoints:E})),A.createElement(p0,pK({},s,{offset:u,verticalPoints:O})),A.createElement(p1,pK({},s,{horizontalPoints:E})),A.createElement(p2,pK({},s,{verticalPoints:O})))}p3.displayName="CartesianGrid";let p8=(e,t)=>{let[n,r]=(0,A.useState)(t);(0,A.useEffect)(()=>{let t=()=>{r(window.innerWidth),e()};return t(),window.addEventListener("resize",t),()=>window.removeEventListener("resize",t)},[e,n])},p9=e=>{var t=(0,C._T)(e,[]);return A.createElement("svg",Object.assign({},t,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor"}),A.createElement("path",{d:"M8 12L14 6V18L8 12Z"}))},p7=e=>{var t=(0,C._T)(e,[]);return A.createElement("svg",Object.assign({},t,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor"}),A.createElement("path",{d:"M16 12L10 18V6L16 12Z"}))},he=(0,M.fn)("Legend"),ht=e=>{let{name:t,color:n,onClick:r,activeLegend:o}=e,i=!!r;return A.createElement("li",{className:(0,P.q)(he("legendItem"),"group inline-flex items-center px-2 py-0.5 rounded-tremor-small transition whitespace-nowrap",i?"cursor-pointer":"cursor-default","text-tremor-content",i?"hover:bg-tremor-background-subtle":"","dark:text-dark-tremor-content",i?"dark:hover:bg-dark-tremor-background-subtle":""),onClick:e=>{e.stopPropagation(),null==r||r(t,n)}},A.createElement("svg",{className:(0,P.q)("flex-none h-2 w-2 mr-1.5",(0,M.bM)(n,j.K.text).textColor,o&&o!==t?"opacity-40":"opacity-100"),fill:"currentColor",viewBox:"0 0 8 8"},A.createElement("circle",{cx:4,cy:4,r:4})),A.createElement("p",{className:(0,P.q)("whitespace-nowrap truncate text-tremor-default","text-tremor-content",i?"group-hover:text-tremor-content-emphasis":"","dark:text-dark-tremor-content",o&&o!==t?"opacity-40":"opacity-100",i?"dark:group-hover:text-dark-tremor-content-emphasis":"")},t))},hn=e=>{let{icon:t,onClick:n,disabled:r}=e,[o,i]=A.useState(!1),a=A.useRef(null);return A.useEffect(()=>(o?a.current=setInterval(()=>{null==n||n()},300):clearInterval(a.current),()=>clearInterval(a.current)),[o,n]),(0,A.useEffect)(()=>{r&&(clearInterval(a.current),i(!1))},[r]),A.createElement("button",{type:"button",className:(0,P.q)(he("legendSliderButton"),"w-5 group inline-flex items-center truncate rounded-tremor-small transition",r?"cursor-not-allowed":"cursor-pointer",r?"text-tremor-content-subtle":"text-tremor-content hover:text-tremor-content-emphasis hover:bg-tremor-background-subtle",r?"dark:text-dark-tremor-subtle":"dark:text-dark-tremor dark:hover:text-tremor-content-emphasis dark:hover:bg-dark-tremor-background-subtle"),disabled:r,onClick:e=>{e.stopPropagation(),null==n||n()},onMouseDown:e=>{e.stopPropagation(),i(!0)},onMouseUp:e=>{e.stopPropagation(),i(!1)}},A.createElement(t,{className:"w-full"}))},hr=A.forwardRef((e,t)=>{var n,r;let{categories:o,colors:i=j.s,className:a,onClickLegendItem:c,activeLegend:l,enableLegendSlider:u=!1}=e,s=(0,C._T)(e,["categories","colors","className","onClickLegendItem","activeLegend","enableLegendSlider"]),f=A.useRef(null),[d,p]=A.useState(null),[h,m]=A.useState(null),v=A.useRef(null),g=(0,A.useCallback)(()=>{let e=null==f?void 0:f.current;e&&p({left:e.scrollLeft>0,right:e.scrollWidth-e.clientWidth>e.scrollLeft})},[p]),y=(0,A.useCallback)(e=>{var t;let n=null==f?void 0:f.current,r=null!==(t=null==n?void 0:n.clientWidth)&&void 0!==t?t:0;n&&u&&(n.scrollTo({left:"left"===e?n.scrollLeft-r:n.scrollLeft+r,behavior:"smooth"}),setTimeout(()=>{g()},400))},[u,g]);A.useEffect(()=>{let e=e=>{"ArrowLeft"===e?y("left"):"ArrowRight"===e&&y("right")};return h?(e(h),v.current=setInterval(()=>{e(h)},300)):clearInterval(v.current),()=>clearInterval(v.current)},[h,y]);let b=e=>{e.stopPropagation(),"ArrowLeft"!==e.key&&"ArrowRight"!==e.key||(e.preventDefault(),m(e.key))},x=e=>{e.stopPropagation(),m(null)};return A.useEffect(()=>{let e=null==f?void 0:f.current;return u&&(g(),null==e||e.addEventListener("keydown",b),null==e||e.addEventListener("keyup",x)),()=>{null==e||e.removeEventListener("keydown",b),null==e||e.removeEventListener("keyup",x)}},[g,u]),A.createElement("ol",Object.assign({ref:t,className:(0,P.q)(he("root"),"relative overflow-hidden",a)},s),A.createElement("div",{ref:f,tabIndex:0,className:(0,P.q)("h-full flex",u?(null==d?void 0:d.right)||(null==d?void 0:d.left)?"pl-4 pr-12 items-center overflow-auto snap-mandatory [&::-webkit-scrollbar]:hidden [scrollbar-width:none]":"":"flex-wrap")},o.map((e,t)=>A.createElement(ht,{key:"item-".concat(t),name:e,color:i[t],onClick:c,activeLegend:l}))),u&&((null==d?void 0:d.right)||(null==d?void 0:d.left))?A.createElement(A.Fragment,null,A.createElement("div",{className:(0,P.q)("from-tremor-background","dark:from-dark-tremor-background","absolute top-0 bottom-0 left-0 w-4 bg-gradient-to-r to-transparent pointer-events-none")}),A.createElement("div",{className:(0,P.q)("to-tremor-background","dark:to-dark-tremor-background","absolute top-0 bottom-0 right-10 w-4 bg-gradient-to-r from-transparent pointer-events-none")}),A.createElement("div",{className:(0,P.q)("bg-tremor-background","dark:bg-dark-tremor-background","absolute flex top-0 pr-1 bottom-0 right-0 items-center justify-center h-full")},A.createElement(hn,{icon:p9,onClick:()=>{m(null),y("left")},disabled:!(null==d?void 0:d.left)}),A.createElement(hn,{icon:p7,onClick:()=>{m(null),y("right")},disabled:!(null==d?void 0:d.right)}))):null)});hr.displayName="Legend";let ho=(e,t,n,r,o,i)=>{let{payload:a}=e,c=(0,A.useRef)(null);p8(()=>{var e,t;n((t=null===(e=c.current)||void 0===e?void 0:e.clientHeight)?Number(t)+20:60)});let l=a.filter(e=>"none"!==e.type);return A.createElement("div",{ref:c,className:"flex items-center justify-end"},A.createElement(hr,{categories:l.map(e=>e.value),colors:l.map(e=>t.get(e.value)),onClickLegendItem:o,activeLegend:r,enableLegendSlider:i}))},hi=e=>{let{children:t}=e;return A.createElement("div",{className:(0,P.q)("rounded-tremor-default text-tremor-default border","bg-tremor-background shadow-tremor-dropdown border-tremor-border","dark:bg-dark-tremor-background dark:shadow-dark-tremor-dropdown dark:border-dark-tremor-border")},t)},ha=e=>{let{value:t,name:n,color:r}=e;return A.createElement("div",{className:"flex items-center justify-between space-x-8"},A.createElement("div",{className:"flex items-center space-x-2"},A.createElement("span",{className:(0,P.q)("shrink-0 rounded-tremor-full border-2 h-3 w-3","border-tremor-background shadow-tremor-card","dark:border-dark-tremor-background dark:shadow-dark-tremor-card",(0,M.bM)(r,j.K.background).bgColor)}),A.createElement("p",{className:(0,P.q)("text-right whitespace-nowrap","text-tremor-content","dark:text-dark-tremor-content")},n)),A.createElement("p",{className:(0,P.q)("font-medium tabular-nums text-right whitespace-nowrap","text-tremor-content-emphasis","dark:text-dark-tremor-content-emphasis")},t))},hc=e=>{let{active:t,payload:n,label:r,categoryColors:o,valueFormatter:i}=e;if(t&&n){let e=n.filter(e=>"none"!==e.type);return A.createElement(hi,null,A.createElement("div",{className:(0,P.q)("border-tremor-border border-b px-4 py-2","dark:border-dark-tremor-border")},A.createElement("p",{className:(0,P.q)("font-medium","text-tremor-content-emphasis","dark:text-dark-tremor-content-emphasis")},r)),A.createElement("div",{className:(0,P.q)("px-4 py-2 space-y-1")},e.map((e,t)=>{var n;let{value:r,name:a}=e;return A.createElement(ha,{key:"id-".concat(t),value:i(r),name:a,color:null!==(n=o.get(a))&&void 0!==n?n:k.fr.Blue})})))}return null},hl=(0,M.fn)("Flex"),hu={start:"justify-start",end:"justify-end",center:"justify-center",between:"justify-between",around:"justify-around",evenly:"justify-evenly"},hs={start:"items-start",end:"items-end",center:"items-center",baseline:"items-baseline",stretch:"items-stretch"},hf={row:"flex-row",col:"flex-col","row-reverse":"flex-row-reverse","col-reverse":"flex-col-reverse"},hd=A.forwardRef((e,t)=>{let{flexDirection:n="row",justifyContent:r="between",alignItems:o="center",children:i,className:a}=e,c=(0,C._T)(e,["flexDirection","justifyContent","alignItems","children","className"]);return A.createElement("div",Object.assign({ref:t,className:(0,P.q)(hl("root"),"flex w-full",hf[n],hu[r],hs[o],a)},c),i)});hd.displayName="Flex";var hp=n(71801);let hh=e=>{let{noDataText:t="No data"}=e;return A.createElement(hd,{alignItems:"center",justifyContent:"center",className:(0,P.q)("w-full h-full border border-dashed rounded-tremor-default","border-tremor-border","dark:border-dark-tremor-border")},A.createElement(hp.Z,{className:(0,P.q)("text-tremor-content","dark:text-dark-tremor-content")},t))},hm=(e,t)=>{let n=new Map;return e.forEach((e,r)=>{n.set(e,t[r])}),n},hv=(e,t,n)=>[e?"auto":null!=t?t:0,null!=n?n:"auto"];function hg(e,t){if(e===t)return!0;if("object"!=typeof e||"object"!=typeof t||null===e||null===t)return!1;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let o of n)if(!r.includes(o)||!hg(e[o],t[o]))return!1;return!0}let hy=A.forwardRef((e,t)=>{let{data:n=[],categories:r=[],index:o,colors:i=j.s,valueFormatter:a=M.Cj,layout:c="horizontal",stack:l=!1,relative:u=!1,startEndOnly:s=!1,animationDuration:f=900,showAnimation:d=!1,showXAxis:p=!0,showYAxis:h=!0,yAxisWidth:m=56,intervalType:v="equidistantPreserveStart",showTooltip:g=!0,showLegend:y=!0,showGridLines:b=!0,autoMinValue:x=!1,minValue:w,maxValue:E,allowDecimals:O=!0,noDataText:S,onValueChange:T,enableLegendSlider:N=!1,customTooltip:I,rotateLabelX:Z,tickGap:R=5,className:_}=e,D=(0,C._T)(e,["data","categories","index","colors","valueFormatter","layout","stack","relative","startEndOnly","animationDuration","showAnimation","showXAxis","showYAxis","yAxisWidth","intervalType","showTooltip","showLegend","showGridLines","autoMinValue","minValue","maxValue","allowDecimals","noDataText","onValueChange","enableLegendSlider","customTooltip","rotateLabelX","tickGap","className"]),B=p||h?20:0,[L,z]=(0,A.useState)(60),F=hm(r,i),[H,W]=A.useState(void 0),[q,V]=(0,A.useState)(void 0),U=!!T;function X(e,t,n){var r,o,i,a;n.stopPropagation(),T&&(hg(H,Object.assign(Object.assign({},e.payload),{value:e.value}))?(V(void 0),W(void 0),null==T||T(null)):(V(null===(o=null===(r=e.tooltipPayload)||void 0===r?void 0:r[0])||void 0===o?void 0:o.dataKey),W(Object.assign(Object.assign({},e.payload),{value:e.value})),null==T||T(Object.assign({eventType:"bar",categoryClicked:null===(a=null===(i=e.tooltipPayload)||void 0===i?void 0:i[0])||void 0===a?void 0:a.dataKey},e.payload))))}let G=hv(x,w,E);return A.createElement("div",Object.assign({ref:t,className:(0,P.q)("w-full h-80",_)},D),A.createElement(eD,{className:"h-full w-full"},(null==n?void 0:n.length)?A.createElement(pW,{data:n,stackOffset:l?"sign":u?"expand":"none",layout:"vertical"===c?"vertical":"horizontal",onClick:U&&(q||H)?()=>{W(void 0),V(void 0),null==T||T(null)}:void 0},b?A.createElement(p3,{className:(0,P.q)("stroke-1","stroke-tremor-border","dark:stroke-dark-tremor-border"),horizontal:"vertical"!==c,vertical:"vertical"===c}):null,"vertical"!==c?A.createElement(pz,{padding:{left:B,right:B},hide:!p,dataKey:o,interval:s?"preserveStartEnd":v,tick:{transform:"translate(0, 6)"},ticks:s?[n[0][o],n[n.length-1][o]]:void 0,fill:"",stroke:"",className:(0,P.q)("mt-4 text-tremor-label","fill-tremor-content","dark:fill-dark-tremor-content"),tickLine:!1,axisLine:!1,angle:null==Z?void 0:Z.angle,dy:null==Z?void 0:Z.verticalShift,height:null==Z?void 0:Z.xAxisHeight,minTickGap:R}):A.createElement(pz,{hide:!p,type:"number",tick:{transform:"translate(-3, 0)"},domain:G,fill:"",stroke:"",className:(0,P.q)("text-tremor-label","fill-tremor-content","dark:fill-dark-tremor-content"),tickLine:!1,axisLine:!1,tickFormatter:a,minTickGap:R,allowDecimals:O,angle:null==Z?void 0:Z.angle,dy:null==Z?void 0:Z.verticalShift,height:null==Z?void 0:Z.xAxisHeight}),"vertical"!==c?A.createElement(pH,{width:m,hide:!h,axisLine:!1,tickLine:!1,type:"number",domain:G,tick:{transform:"translate(-3, 0)"},fill:"",stroke:"",className:(0,P.q)("text-tremor-label","fill-tremor-content","dark:fill-dark-tremor-content"),tickFormatter:u?e=>"".concat((100*e).toString()," %"):a,allowDecimals:O}):A.createElement(pH,{width:m,hide:!h,dataKey:o,axisLine:!1,tickLine:!1,ticks:s?[n[0][o],n[n.length-1][o]]:void 0,type:"category",interval:"preserveStartEnd",tick:{transform:"translate(0, 6)"},fill:"",stroke:"",className:(0,P.q)("text-tremor-label","fill-tremor-content","dark:fill-dark-tremor-content")}),A.createElement(n$,{wrapperStyle:{outline:"none"},isAnimationActive:!1,cursor:{fill:"#d1d5db",opacity:"0.15"},content:g?e=>{let{active:t,payload:n,label:r}=e;return I?A.createElement(I,{payload:null==n?void 0:n.map(e=>{var t;return Object.assign(Object.assign({},e),{color:null!==(t=F.get(e.dataKey))&&void 0!==t?t:k.fr.Gray})}),active:t,label:r}):A.createElement(hc,{active:t,payload:n,label:r,valueFormatter:a,categoryColors:F})}:A.createElement(A.Fragment,null),position:{y:0}}),y?A.createElement(r1,{verticalAlign:"top",height:L,content:e=>{let{payload:t}=e;return ho({payload:t},F,z,q,U?e=>{U&&(e!==q||H?(V(e),null==T||T({eventType:"category",categoryClicked:e})):(V(void 0),null==T||T(null)),W(void 0))}:void 0,N)}}):null,r.map(e=>{var t;return A.createElement(fp,{className:(0,P.q)((0,M.bM)(null!==(t=F.get(e))&&void 0!==t?t:k.fr.Gray,j.K.background).fillColor,T?"cursor-pointer":""),key:e,name:e,type:"linear",stackId:l||u?"a":void 0,dataKey:e,fill:"",isAnimationActive:d,animationDuration:f,shape:e=>((e,t,n,r)=>{let{fillOpacity:o,name:i,payload:a,value:c}=e,{x:l,width:u,y:s,height:f}=e;return"horizontal"===r&&f<0?(s+=f,f=Math.abs(f)):"vertical"===r&&u<0&&(l+=u,u=Math.abs(u)),A.createElement("rect",{x:l,y:s,width:u,height:f,opacity:t||n&&n!==i?hg(t,Object.assign(Object.assign({},a),{value:c}))?o:.3:o})})(e,H,q,c),onClick:X})})):A.createElement(hh,{noDataText:S})))});hy.displayName="BarChart"},61244:function(e,t,n){n.d(t,{Z:function(){return m}});var r=n(69703),o=n(64090),i=n(58437),a=n(54942),c=n(99250),l=n(65492),u=n(2898);let s={xs:{paddingX:"px-1.5",paddingY:"py-1.5"},sm:{paddingX:"px-1.5",paddingY:"py-1.5"},md:{paddingX:"px-2",paddingY:"py-2"},lg:{paddingX:"px-2",paddingY:"py-2"},xl:{paddingX:"px-2.5",paddingY:"py-2.5"}},f={xs:{height:"h-3",width:"w-3"},sm:{height:"h-5",width:"w-5"},md:{height:"h-5",width:"w-5"},lg:{height:"h-7",width:"w-7"},xl:{height:"h-9",width:"w-9"}},d={simple:{rounded:"",border:"",ring:"",shadow:""},light:{rounded:"rounded-tremor-default",border:"",ring:"",shadow:""},shadow:{rounded:"rounded-tremor-default",border:"border",ring:"",shadow:"shadow-tremor-card dark:shadow-dark-tremor-card"},solid:{rounded:"rounded-tremor-default",border:"border-2",ring:"ring-1",shadow:""},outlined:{rounded:"rounded-tremor-default",border:"border",ring:"ring-2",shadow:""}},p=(e,t)=>{switch(e){case"simple":return{textColor:t?(0,l.bM)(t,u.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:"",borderColor:"",ringColor:""};case"light":return{textColor:t?(0,l.bM)(t,u.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:t?(0,c.q)((0,l.bM)(t,u.K.background).bgColor,"bg-opacity-20"):"bg-tremor-brand-muted dark:bg-dark-tremor-brand-muted",borderColor:"",ringColor:""};case"shadow":return{textColor:t?(0,l.bM)(t,u.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:t?(0,c.q)((0,l.bM)(t,u.K.background).bgColor,"bg-opacity-20"):"bg-tremor-background dark:bg-dark-tremor-background",borderColor:"border-tremor-border dark:border-dark-tremor-border",ringColor:""};case"solid":return{textColor:t?(0,l.bM)(t,u.K.text).textColor:"text-tremor-brand-inverted dark:text-dark-tremor-brand-inverted",bgColor:t?(0,c.q)((0,l.bM)(t,u.K.background).bgColor,"bg-opacity-20"):"bg-tremor-brand dark:bg-dark-tremor-brand",borderColor:"border-tremor-brand-inverted dark:border-dark-tremor-brand-inverted",ringColor:"ring-tremor-ring dark:ring-dark-tremor-ring"};case"outlined":return{textColor:t?(0,l.bM)(t,u.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",bgColor:t?(0,c.q)((0,l.bM)(t,u.K.background).bgColor,"bg-opacity-20"):"bg-tremor-background dark:bg-dark-tremor-background",borderColor:t?(0,l.bM)(t,u.K.ring).borderColor:"border-tremor-brand-subtle dark:border-dark-tremor-brand-subtle",ringColor:t?(0,c.q)((0,l.bM)(t,u.K.ring).ringColor,"ring-opacity-40"):"ring-tremor-brand-muted dark:ring-dark-tremor-brand-muted"}}},h=(0,l.fn)("Icon"),m=o.forwardRef((e,t)=>{let{icon:n,variant:u="simple",tooltip:m,size:v=a.u8.SM,color:g,className:y}=e,b=(0,r._T)(e,["icon","variant","tooltip","size","color","className"]),x=p(u,g),{tooltipProps:w,getReferenceProps:E}=(0,i.l)();return o.createElement("span",Object.assign({ref:(0,l.lq)([t,w.refs.setReference]),className:(0,c.q)(h("root"),"inline-flex flex-shrink-0 items-center",x.bgColor,x.textColor,x.borderColor,x.ringColor,d[u].rounded,d[u].border,d[u].shadow,d[u].ring,s[v].paddingX,s[v].paddingY,y)},E,b),o.createElement(i.Z,Object.assign({text:m},w)),o.createElement(n,{className:(0,c.q)(h("icon"),"shrink-0",f[v].height,f[v].width)}))});m.displayName="Icon"},2179:function(e,t,n){n.d(t,{Z:function(){return S}});var r=n(69703),o=n(58437),i=n(64090);let a=["preEnter","entering","entered","preExit","exiting","exited","unmounted"],c=e=>({_s:e,status:a[e],isEnter:e<3,isMounted:6!==e,isResolved:2===e||e>4}),l=e=>e?6:5,u=(e,t)=>{switch(e){case 1:case 0:return 2;case 4:case 3:return l(t)}},s=e=>"object"==typeof e?[e.enter,e.exit]:[e,e],f=(e,t)=>setTimeout(()=>{isNaN(document.body.offsetTop)||e(t+1)},0),d=(e,t,n,r,o)=>{clearTimeout(r.current);let i=c(e);t(i),n.current=i,o&&o({current:i})},p=function(){let{enter:e=!0,exit:t=!0,preEnter:n,preExit:r,timeout:o,initialEntered:a,mountOnEnter:p,unmountOnExit:h,onStateChange:m}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},[v,g]=(0,i.useState)(()=>c(a?2:l(p))),y=(0,i.useRef)(v),b=(0,i.useRef)(),[x,w]=s(o),E=(0,i.useCallback)(()=>{let e=u(y.current._s,h);e&&d(e,g,y,b,m)},[m,h]),O=(0,i.useCallback)(o=>{let i=e=>{switch(d(e,g,y,b,m),e){case 1:x>=0&&(b.current=setTimeout(E,x));break;case 4:w>=0&&(b.current=setTimeout(E,w));break;case 0:case 3:b.current=f(i,e)}},a=y.current.isEnter;"boolean"!=typeof o&&(o=!a),o?a||i(e?n?0:1:2):a&&i(t?r?3:4:l(h))},[E,m,e,t,n,r,x,w,h]);return(0,i.useEffect)(()=>()=>clearTimeout(b.current),[]),[v,O,E]};var h=n(54942),m=n(99250),v=n(65492);let g=e=>{var t=(0,r._T)(e,[]);return i.createElement("svg",Object.assign({},t,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor"}),i.createElement("path",{fill:"none",d:"M0 0h24v24H0z"}),i.createElement("path",{d:"M18.364 5.636L16.95 7.05A7 7 0 1 0 19 12h2a9 9 0 1 1-2.636-6.364z"}))};var y=n(2898);let b={xs:{height:"h-4",width:"w-4"},sm:{height:"h-5",width:"w-5"},md:{height:"h-5",width:"w-5"},lg:{height:"h-6",width:"w-6"},xl:{height:"h-6",width:"w-6"}},x=e=>"light"!==e?{xs:{paddingX:"px-2.5",paddingY:"py-1.5",fontSize:"text-xs"},sm:{paddingX:"px-4",paddingY:"py-2",fontSize:"text-sm"},md:{paddingX:"px-4",paddingY:"py-2",fontSize:"text-md"},lg:{paddingX:"px-4",paddingY:"py-2.5",fontSize:"text-lg"},xl:{paddingX:"px-4",paddingY:"py-3",fontSize:"text-xl"}}:{xs:{paddingX:"",paddingY:"",fontSize:"text-xs"},sm:{paddingX:"",paddingY:"",fontSize:"text-sm"},md:{paddingX:"",paddingY:"",fontSize:"text-md"},lg:{paddingX:"",paddingY:"",fontSize:"text-lg"},xl:{paddingX:"",paddingY:"",fontSize:"text-xl"}},w=(e,t)=>{switch(e){case"primary":return{textColor:t?(0,v.bM)("white").textColor:"text-tremor-brand-inverted dark:text-dark-tremor-brand-inverted",hoverTextColor:t?(0,v.bM)("white").textColor:"text-tremor-brand-inverted dark:text-dark-tremor-brand-inverted",bgColor:t?(0,v.bM)(t,y.K.background).bgColor:"bg-tremor-brand dark:bg-dark-tremor-brand",hoverBgColor:t?(0,v.bM)(t,y.K.darkBackground).hoverBgColor:"hover:bg-tremor-brand-emphasis dark:hover:bg-dark-tremor-brand-emphasis",borderColor:t?(0,v.bM)(t,y.K.border).borderColor:"border-tremor-brand dark:border-dark-tremor-brand",hoverBorderColor:t?(0,v.bM)(t,y.K.darkBorder).hoverBorderColor:"hover:border-tremor-brand-emphasis dark:hover:border-dark-tremor-brand-emphasis"};case"secondary":return{textColor:t?(0,v.bM)(t,y.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",hoverTextColor:t?(0,v.bM)(t,y.K.text).textColor:"hover:text-tremor-brand-emphasis dark:hover:text-dark-tremor-brand-emphasis",bgColor:(0,v.bM)("transparent").bgColor,hoverBgColor:t?(0,m.q)((0,v.bM)(t,y.K.background).hoverBgColor,"hover:bg-opacity-20 dark:hover:bg-opacity-20"):"hover:bg-tremor-brand-faint dark:hover:bg-dark-tremor-brand-faint",borderColor:t?(0,v.bM)(t,y.K.border).borderColor:"border-tremor-brand dark:border-dark-tremor-brand"};case"light":return{textColor:t?(0,v.bM)(t,y.K.text).textColor:"text-tremor-brand dark:text-dark-tremor-brand",hoverTextColor:t?(0,v.bM)(t,y.K.darkText).hoverTextColor:"hover:text-tremor-brand-emphasis dark:hover:text-dark-tremor-brand-emphasis",bgColor:(0,v.bM)("transparent").bgColor,borderColor:"",hoverBorderColor:""}}},E=(0,v.fn)("Button"),O=e=>{let{loading:t,iconSize:n,iconPosition:r,Icon:o,needMargin:a,transitionStatus:c}=e,l=a?r===h.zS.Left?(0,m.q)("-ml-1","mr-1.5"):(0,m.q)("-mr-1","ml-1.5"):"",u=(0,m.q)("w-0 h-0"),s={default:u,entering:u,entered:n,exiting:n,exited:u};return t?i.createElement(g,{className:(0,m.q)(E("icon"),"animate-spin shrink-0",l,s.default,s[c]),style:{transition:"width 150ms"}}):i.createElement(o,{className:(0,m.q)(E("icon"),"shrink-0",n,l)})},S=i.forwardRef((e,t)=>{let{icon:n,iconPosition:a=h.zS.Left,size:c=h.u8.SM,color:l,variant:u="primary",disabled:s,loading:f=!1,loadingText:d,children:g,tooltip:y,className:S}=e,C=(0,r._T)(e,["icon","iconPosition","size","color","variant","disabled","loading","loadingText","children","tooltip","className"]),k=f||s,j=void 0!==n||f,P=f&&d,M=!(!g&&!P),A=(0,m.q)(b[c].height,b[c].width),T="light"!==u?(0,m.q)("rounded-tremor-default border","shadow-tremor-input","dark:shadow-dark-tremor-input"):"",N=w(u,l),I=x(u)[c],{tooltipProps:Z,getReferenceProps:R}=(0,o.l)(300),[_,D]=p({timeout:50});return(0,i.useEffect)(()=>{D(f)},[f]),i.createElement("button",Object.assign({ref:(0,v.lq)([t,Z.refs.setReference]),className:(0,m.q)(E("root"),"flex-shrink-0 inline-flex justify-center items-center group font-medium outline-none",T,I.paddingX,I.paddingY,I.fontSize,N.textColor,N.bgColor,N.borderColor,N.hoverBorderColor,k?"opacity-50 cursor-not-allowed":(0,m.q)(w(u,l).hoverTextColor,w(u,l).hoverBgColor,w(u,l).hoverBorderColor),S),disabled:k},R,C),i.createElement(o.Z,Object.assign({text:y},Z)),j&&a!==h.zS.Right?i.createElement(O,{loading:f,iconSize:A,iconPosition:a,Icon:n,transitionStatus:_.status,needMargin:M}):null,P||g?i.createElement("span",{className:(0,m.q)(E("text"),"text-tremor-default whitespace-nowrap")},P?d:g):null,j&&a===h.zS.Right?i.createElement(O,{loading:f,iconSize:A,iconPosition:a,Icon:n,transitionStatus:_.status,needMargin:M}):null)});S.displayName="Button"},13810:function(e,t,n){n.d(t,{Z:function(){return f}});var r=n(69703),o=n(64090),i=n(54942),a=n(2898),c=n(99250),l=n(65492);let u=(0,l.fn)("Card"),s=e=>{if(!e)return"";switch(e){case i.zS.Left:return"border-l-4";case i.m.Top:return"border-t-4";case i.zS.Right:return"border-r-4";case i.m.Bottom:return"border-b-4";default:return""}},f=o.forwardRef((e,t)=>{let{decoration:n="",decorationColor:i,children:f,className:d}=e,p=(0,r._T)(e,["decoration","decorationColor","children","className"]);return o.createElement("div",Object.assign({ref:t,className:(0,c.q)(u("root"),"relative w-full text-left ring-1 rounded-tremor-default p-6","bg-tremor-background ring-tremor-ring shadow-tremor-card","dark:bg-dark-tremor-background dark:ring-dark-tremor-ring dark:shadow-dark-tremor-card",i?(0,l.bM)(i,a.K.border).borderColor:"border-tremor-brand dark:border-dark-tremor-brand",s(n),d)},p),f)});f.displayName="Card"},10384:function(e,t,n){n.d(t,{Z:function(){return u}});var r=n(69703),o=n(99250),i=n(65492),a=n(64090),c=n(50217);let l=(0,i.fn)("Col"),u=a.forwardRef((e,t)=>{let{numColSpan:n=1,numColSpanSm:i,numColSpanMd:u,numColSpanLg:s,children:f,className:d}=e,p=(0,r._T)(e,["numColSpan","numColSpanSm","numColSpanMd","numColSpanLg","children","className"]),h=(e,t)=>e&&Object.keys(t).includes(String(e))?t[e]:"";return a.createElement("div",Object.assign({ref:t,className:(0,o.q)(l("root"),(()=>{let e=h(n,c.PT),t=h(i,c.SP),r=h(u,c.VS),a=h(s,c._w);return(0,o.q)(e,t,r,a)})(),d)},p),f)});u.displayName="Col"},46453:function(e,t,n){n.d(t,{Z:function(){return s}});var r=n(69703),o=n(99250),i=n(65492),a=n(64090),c=n(50217);let l=(0,i.fn)("Grid"),u=(e,t)=>e&&Object.keys(t).includes(String(e))?t[e]:"",s=a.forwardRef((e,t)=>{let{numItems:n=1,numItemsSm:i,numItemsMd:s,numItemsLg:f,children:d,className:p}=e,h=(0,r._T)(e,["numItems","numItemsSm","numItemsMd","numItemsLg","children","className"]),m=u(n,c._m),v=u(i,c.LH),g=u(s,c.l5),y=u(f,c.N4),b=(0,o.q)(m,v,g,y);return a.createElement("div",Object.assign({ref:t,className:(0,o.q)(l("root"),"grid",b,p)},h),d)});s.displayName="Grid"},50217:function(e,t,n){n.d(t,{LH:function(){return o},N4:function(){return a},PT:function(){return c},SP:function(){return l},VS:function(){return u},_m:function(){return r},_w:function(){return s},l5:function(){return i}});let r={0:"grid-cols-none",1:"grid-cols-1",2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4",5:"grid-cols-5",6:"grid-cols-6",7:"grid-cols-7",8:"grid-cols-8",9:"grid-cols-9",10:"grid-cols-10",11:"grid-cols-11",12:"grid-cols-12"},o={0:"sm:grid-cols-none",1:"sm:grid-cols-1",2:"sm:grid-cols-2",3:"sm:grid-cols-3",4:"sm:grid-cols-4",5:"sm:grid-cols-5",6:"sm:grid-cols-6",7:"sm:grid-cols-7",8:"sm:grid-cols-8",9:"sm:grid-cols-9",10:"sm:grid-cols-10",11:"sm:grid-cols-11",12:"sm:grid-cols-12"},i={0:"md:grid-cols-none",1:"md:grid-cols-1",2:"md:grid-cols-2",3:"md:grid-cols-3",4:"md:grid-cols-4",5:"md:grid-cols-5",6:"md:grid-cols-6",7:"md:grid-cols-7",8:"md:grid-cols-8",9:"md:grid-cols-9",10:"md:grid-cols-10",11:"md:grid-cols-11",12:"md:grid-cols-12"},a={0:"lg:grid-cols-none",1:"lg:grid-cols-1",2:"lg:grid-cols-2",3:"lg:grid-cols-3",4:"lg:grid-cols-4",5:"lg:grid-cols-5",6:"lg:grid-cols-6",7:"lg:grid-cols-7",8:"lg:grid-cols-8",9:"lg:grid-cols-9",10:"lg:grid-cols-10",11:"lg:grid-cols-11",12:"lg:grid-cols-12"},c={1:"col-span-1",2:"col-span-2",3:"col-span-3",4:"col-span-4",5:"col-span-5",6:"col-span-6",7:"col-span-7",8:"col-span-8",9:"col-span-9",10:"col-span-10",11:"col-span-11",12:"col-span-12",13:"col-span-13"},l={1:"sm:col-span-1",2:"sm:col-span-2",3:"sm:col-span-3",4:"sm:col-span-4",5:"sm:col-span-5",6:"sm:col-span-6",7:"sm:col-span-7",8:"sm:col-span-8",9:"sm:col-span-9",10:"sm:col-span-10",11:"sm:col-span-11",12:"sm:col-span-12",13:"sm:col-span-13"},u={1:"md:col-span-1",2:"md:col-span-2",3:"md:col-span-3",4:"md:col-span-4",5:"md:col-span-5",6:"md:col-span-6",7:"md:col-span-7",8:"md:col-span-8",9:"md:col-span-9",10:"md:col-span-10",11:"md:col-span-11",12:"md:col-span-12",13:"md:col-span-13"},s={1:"lg:col-span-1",2:"lg:col-span-2",3:"lg:col-span-3",4:"lg:col-span-4",5:"lg:col-span-5",6:"lg:col-span-6",7:"lg:col-span-7",8:"lg:col-span-8",9:"lg:col-span-9",10:"lg:col-span-10",11:"lg:col-span-11",12:"lg:col-span-12",13:"lg:col-span-13"}},10827:function(e,t,n){n.d(t,{Z:function(){return c}});var r=n(69703),o=n(64090),i=n(99250);let a=(0,n(65492).fn)("Table"),c=o.forwardRef((e,t)=>{let{children:n,className:c}=e,l=(0,r._T)(e,["children","className"]);return o.createElement("div",{className:(0,i.q)(a("root"),"overflow-auto",c)},o.createElement("table",Object.assign({ref:t,className:(0,i.q)(a("table"),"w-full text-tremor-default","text-tremor-content","dark:text-dark-tremor-content")},l),n))});c.displayName="Table"},3851:function(e,t,n){n.d(t,{Z:function(){return c}});var r=n(69703),o=n(64090),i=n(99250);let a=(0,n(65492).fn)("TableBody"),c=o.forwardRef((e,t)=>{let{children:n,className:c}=e,l=(0,r._T)(e,["children","className"]);return o.createElement(o.Fragment,null,o.createElement("tbody",Object.assign({ref:t,className:(0,i.q)(a("root"),"align-top divide-y","divide-tremor-border","dark:divide-dark-tremor-border",c)},l),n))});c.displayName="TableBody"},2044:function(e,t,n){n.d(t,{Z:function(){return c}});var r=n(69703),o=n(64090),i=n(99250);let a=(0,n(65492).fn)("TableCell"),c=o.forwardRef((e,t)=>{let{children:n,className:c}=e,l=(0,r._T)(e,["children","className"]);return o.createElement(o.Fragment,null,o.createElement("td",Object.assign({ref:t,className:(0,i.q)(a("root"),"align-middle whitespace-nowrap text-left p-4",c)},l),n))});c.displayName="TableCell"},64167:function(e,t,n){n.d(t,{Z:function(){return c}});var r=n(69703),o=n(64090),i=n(99250);let a=(0,n(65492).fn)("TableHead"),c=o.forwardRef((e,t)=>{let{children:n,className:c}=e,l=(0,r._T)(e,["children","className"]);return o.createElement(o.Fragment,null,o.createElement("thead",Object.assign({ref:t,className:(0,i.q)(a("root"),"text-left","text-tremor-content","dark:text-dark-tremor-content",c)},l),n))});c.displayName="TableHead"},74480:function(e,t,n){n.d(t,{Z:function(){return c}});var r=n(69703),o=n(64090),i=n(99250);let a=(0,n(65492).fn)("TableHeaderCell"),c=o.forwardRef((e,t)=>{let{children:n,className:c}=e,l=(0,r._T)(e,["children","className"]);return o.createElement(o.Fragment,null,o.createElement("th",Object.assign({ref:t,className:(0,i.q)(a("root"),"whitespace-nowrap text-left font-semibold top-0 px-4 py-3.5","text-tremor-content","dark:text-dark-tremor-content",c)},l),n))});c.displayName="TableHeaderCell"},7178:function(e,t,n){n.d(t,{Z:function(){return c}});var r=n(69703),o=n(64090),i=n(99250);let a=(0,n(65492).fn)("TableRow"),c=o.forwardRef((e,t)=>{let{children:n,className:c}=e,l=(0,r._T)(e,["children","className"]);return o.createElement(o.Fragment,null,o.createElement("tr",Object.assign({ref:t,className:(0,i.q)(a("row"),c)},l),n))});c.displayName="TableRow"},56863:function(e,t,n){n.d(t,{Z:function(){return l}});var r=n(69703),o=n(2898),i=n(99250),a=n(65492),c=n(64090);let l=c.forwardRef((e,t)=>{let{color:n,children:l,className:u}=e,s=(0,r._T)(e,["color","children","className"]);return c.createElement("p",Object.assign({ref:t,className:(0,i.q)("font-semibold text-tremor-metric",n?(0,a.bM)(n,o.K.darkText).textColor:"text-tremor-content-emphasis dark:text-dark-tremor-content-emphasis",u)},s),l)});l.displayName="Metric"},71801:function(e,t,n){n.d(t,{Z:function(){return c}});var r=n(2898),o=n(99250),i=n(65492),a=n(64090);let c=a.forwardRef((e,t)=>{let{color:n,className:c,children:l}=e;return a.createElement("p",{ref:t,className:(0,o.q)("text-tremor-default",n?(0,i.bM)(n,r.K.text).textColor:(0,o.q)("text-tremor-content","dark:text-dark-tremor-content"),c)},l)});c.displayName="Text"},42440:function(e,t,n){n.d(t,{Z:function(){return l}});var r=n(69703),o=n(2898),i=n(99250),a=n(65492),c=n(64090);let l=c.forwardRef((e,t)=>{let{color:n,children:l,className:u}=e,s=(0,r._T)(e,["color","children","className"]);return c.createElement("p",Object.assign({ref:t,className:(0,i.q)("font-medium text-tremor-title",n?(0,a.bM)(n,o.K.darkText).textColor:"text-tremor-content-emphasis dark:text-dark-tremor-content-emphasis",u)},s),l)});l.displayName="Title"},58437:function(e,t,n){n.d(t,{Z:function(){return ez},l:function(){return eL}});var r=n(64090),o=n.t(r,2),i=n(89542);function a(e){return u(e)?(e.nodeName||"").toLowerCase():"#document"}function c(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function l(e){var t;return null==(t=(u(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function u(e){return e instanceof Node||e instanceof c(e).Node}function s(e){return e instanceof Element||e instanceof c(e).Element}function f(e){return e instanceof HTMLElement||e instanceof c(e).HTMLElement}function d(e){return"undefined"!=typeof ShadowRoot&&(e instanceof ShadowRoot||e instanceof c(e).ShadowRoot)}function p(e){let{overflow:t,overflowX:n,overflowY:r,display:o}=y(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!["inline","contents"].includes(o)}function h(e){let t=v(),n=y(e);return"none"!==n.transform||"none"!==n.perspective||!!n.containerType&&"normal"!==n.containerType||!t&&!!n.backdropFilter&&"none"!==n.backdropFilter||!t&&!!n.filter&&"none"!==n.filter||["transform","perspective","filter"].some(e=>(n.willChange||"").includes(e))||["paint","layout","strict","content"].some(e=>(n.contain||"").includes(e))}function m(e){let t=x(e);for(;f(t)&&!g(t);){if(h(t))return t;t=x(t)}return null}function v(){return"undefined"!=typeof CSS&&!!CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")}function g(e){return["html","body","#document"].includes(a(e))}function y(e){return c(e).getComputedStyle(e)}function b(e){return s(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function x(e){if("html"===a(e))return e;let t=e.assignedSlot||e.parentNode||d(e)&&e.host||l(e);return d(t)?t.host:t}function w(e,t,n){var r;void 0===t&&(t=[]),void 0===n&&(n=!0);let o=function e(t){let n=x(t);return g(n)?t.ownerDocument?t.ownerDocument.body:t.body:f(n)&&p(n)?n:e(n)}(e),i=o===(null==(r=e.ownerDocument)?void 0:r.body),a=c(o);return i?t.concat(a,a.visualViewport||[],p(o)?o:[],a.frameElement&&n?w(a.frameElement):[]):t.concat(o,w(o,[],n))}let E=Math.min,O=Math.max,S=Math.round,C=Math.floor,k=e=>({x:e,y:e}),j={left:"right",right:"left",bottom:"top",top:"bottom"},P={start:"end",end:"start"};function M(e,t){return"function"==typeof e?e(t):e}function A(e){return e.split("-")[0]}function T(e){return e.split("-")[1]}function N(e){return"x"===e?"y":"x"}function I(e){return"y"===e?"height":"width"}function Z(e){return["top","bottom"].includes(A(e))?"y":"x"}function R(e){return e.replace(/start|end/g,e=>P[e])}function _(e){return e.replace(/left|right|bottom|top/g,e=>j[e])}function D(e){return{...e,top:e.y,left:e.x,right:e.x+e.width,bottom:e.y+e.height}}function B(e,t,n){let r,{reference:o,floating:i}=e,a=Z(t),c=N(Z(t)),l=I(c),u=A(t),s="y"===a,f=o.x+o.width/2-i.width/2,d=o.y+o.height/2-i.height/2,p=o[l]/2-i[l]/2;switch(u){case"top":r={x:f,y:o.y-i.height};break;case"bottom":r={x:f,y:o.y+o.height};break;case"right":r={x:o.x+o.width,y:d};break;case"left":r={x:o.x-i.width,y:d};break;default:r={x:o.x,y:o.y}}switch(T(t)){case"start":r[c]-=p*(n&&s?-1:1);break;case"end":r[c]+=p*(n&&s?-1:1)}return r}let L=async(e,t,n)=>{let{placement:r="bottom",strategy:o="absolute",middleware:i=[],platform:a}=n,c=i.filter(Boolean),l=await (null==a.isRTL?void 0:a.isRTL(t)),u=await a.getElementRects({reference:e,floating:t,strategy:o}),{x:s,y:f}=B(u,r,l),d=r,p={},h=0;for(let n=0;n{!function(n){try{t=t||e.matches(n)}catch(e){}}(n)});let o=m(e);if(t&&o){let e=o.getBoundingClientRect();n=e.x,r=e.y}return[t,n,r]}function $(e){return X(l(e)).left+b(e).scrollLeft}function Y(e,t,n){let r;if("viewport"===t)r=function(e,t){let n=c(e),r=l(e),o=n.visualViewport,i=r.clientWidth,a=r.clientHeight,u=0,s=0;if(o){i=o.width,a=o.height;let e=v();(!e||e&&"fixed"===t)&&(u=o.offsetLeft,s=o.offsetTop)}return{width:i,height:a,x:u,y:s}}(e,n);else if("document"===t)r=function(e){let t=l(e),n=b(e),r=e.ownerDocument.body,o=O(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),i=O(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),a=-n.scrollLeft+$(e),c=-n.scrollTop;return"rtl"===y(r).direction&&(a+=O(t.clientWidth,r.clientWidth)-o),{width:o,height:i,x:a,y:c}}(l(e));else if(s(t))r=function(e,t){let n=X(e,!0,"fixed"===t),r=n.top+e.clientTop,o=n.left+e.clientLeft,i=f(e)?q(e):k(1),a=e.clientWidth*i.x;return{width:a,height:e.clientHeight*i.y,x:o*i.x,y:r*i.y}}(t,n);else{let n=U(e);r={...t,x:t.x-n.x,y:t.y-n.y}}return D(r)}function Q(e,t){return f(e)&&"fixed"!==y(e).position?t?t(e):e.offsetParent:null}function J(e,t){let n=c(e);if(!f(e))return n;let r=Q(e,t);for(;r&&["table","td","th"].includes(a(r))&&"static"===y(r).position;)r=Q(r,t);return r&&("html"===a(r)||"body"===a(r)&&"static"===y(r).position&&!h(r))?n:r||m(e)||n}let ee=async function(e){let t=this.getOffsetParent||J,n=this.getDimensions;return{reference:function(e,t,n,r){let o=f(t),i=l(t),c="fixed"===n,u=X(e,!0,c,t),s={scrollLeft:0,scrollTop:0},d=k(0);if(o||!o&&!c){if(("body"!==a(t)||p(i))&&(s=b(t)),o){let e=X(t,!0,c,t);d.x=e.x+t.clientLeft,d.y=e.y+t.clientTop}else i&&(d.x=$(i))}let h=u.left+s.scrollLeft-d.x,m=u.top+s.scrollTop-d.y,[v,g,y]=K(r);return v&&(h+=g,m+=y,o&&(h+=t.clientLeft,m+=t.clientTop)),{x:h,y:m,width:u.width,height:u.height}}(e.reference,await t(e.floating),e.strategy,e.floating),floating:{x:0,y:0,...await n(e.floating)}}},et={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:n,offsetParent:r,strategy:o}=e,i=l(r),[c]=t?K(t.floating):[!1];if(r===i||c)return n;let u={scrollLeft:0,scrollTop:0},s=k(1),d=k(0),h=f(r);if((h||!h&&"fixed"!==o)&&(("body"!==a(r)||p(i))&&(u=b(r)),f(r))){let e=X(r);s=q(r),d.x=e.x+r.clientLeft,d.y=e.y+r.clientTop}return{width:n.width*s.x,height:n.height*s.y,x:n.x*s.x-u.scrollLeft*s.x+d.x,y:n.y*s.y-u.scrollTop*s.y+d.y}},getDocumentElement:l,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e,i=[..."clippingAncestors"===n?function(e,t){let n=t.get(e);if(n)return n;let r=w(e,[],!1).filter(e=>s(e)&&"body"!==a(e)),o=null,i="fixed"===y(e).position,c=i?x(e):e;for(;s(c)&&!g(c);){let t=y(c),n=h(c);n||"fixed"!==t.position||(o=null),(i?!n&&!o:!n&&"static"===t.position&&!!o&&["absolute","fixed"].includes(o.position)||p(c)&&!n&&function e(t,n){let r=x(t);return!(r===n||!s(r)||g(r))&&("fixed"===y(r).position||e(r,n))}(e,c))?r=r.filter(e=>e!==c):o=t,c=x(c)}return t.set(e,r),r}(t,this._c):[].concat(n),r],c=i[0],l=i.reduce((e,n)=>{let r=Y(t,n,o);return e.top=O(r.top,e.top),e.right=E(r.right,e.right),e.bottom=E(r.bottom,e.bottom),e.left=O(r.left,e.left),e},Y(t,c,o));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}},getOffsetParent:J,getElementRects:ee,getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){let{width:t,height:n}=H(e);return{width:t,height:n}},getScale:q,isElement:s,isRTL:function(e){return"rtl"===y(e).direction}};function en(e,t,n,r){let o;void 0===r&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:c="function"==typeof ResizeObserver,layoutShift:u="function"==typeof IntersectionObserver,animationFrame:s=!1}=r,f=W(e),d=i||a?[...f?w(f):[],...w(t)]:[];d.forEach(e=>{i&&e.addEventListener("scroll",n,{passive:!0}),a&&e.addEventListener("resize",n)});let p=f&&u?function(e,t){let n,r=null,o=l(e);function i(){var e;clearTimeout(n),null==(e=r)||e.disconnect(),r=null}return!function a(c,l){void 0===c&&(c=!1),void 0===l&&(l=1),i();let{left:u,top:s,width:f,height:d}=e.getBoundingClientRect();if(c||t(),!f||!d)return;let p=C(s),h=C(o.clientWidth-(u+f)),m={rootMargin:-p+"px "+-h+"px "+-C(o.clientHeight-(s+d))+"px "+-C(u)+"px",threshold:O(0,E(1,l))||1},v=!0;function g(e){let t=e[0].intersectionRatio;if(t!==l){if(!v)return a();t?a(!1,t):n=setTimeout(()=>{a(!1,1e-7)},100)}v=!1}try{r=new IntersectionObserver(g,{...m,root:o.ownerDocument})}catch(e){r=new IntersectionObserver(g,m)}r.observe(e)}(!0),i}(f,n):null,h=-1,m=null;c&&(m=new ResizeObserver(e=>{let[r]=e;r&&r.target===f&&m&&(m.unobserve(t),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var e;null==(e=m)||e.observe(t)})),n()}),f&&!s&&m.observe(f),m.observe(t));let v=s?X(e):null;return s&&function t(){let r=X(e);v&&(r.x!==v.x||r.y!==v.y||r.width!==v.width||r.height!==v.height)&&n(),v=r,o=requestAnimationFrame(t)}(),n(),()=>{var e;d.forEach(e=>{i&&e.removeEventListener("scroll",n),a&&e.removeEventListener("resize",n)}),null==p||p(),null==(e=m)||e.disconnect(),m=null,s&&cancelAnimationFrame(o)}}let er=(e,t,n)=>{let r=new Map,o={platform:et,...n},i={...o.platform,_c:r};return L(e,t,{...o,platform:i})};var eo="undefined"!=typeof document?r.useLayoutEffect:r.useEffect;function ei(e,t){let n,r,o;if(e===t)return!0;if(typeof e!=typeof t)return!1;if("function"==typeof e&&e.toString()===t.toString())return!0;if(e&&t&&"object"==typeof e){if(Array.isArray(e)){if((n=e.length)!=t.length)return!1;for(r=n;0!=r--;)if(!ei(e[r],t[r]))return!1;return!0}if((n=(o=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(r=n;0!=r--;)if(!Object.prototype.hasOwnProperty.call(t,o[r]))return!1;for(r=n;0!=r--;){let n=o[r];if(("_owner"!==n||!e.$$typeof)&&!ei(e[n],t[n]))return!1}return!0}return e!=e&&t!=t}function ea(e){let t=r.useRef(e);return eo(()=>{t.current=e}),t}var ec="undefined"!=typeof document?r.useLayoutEffect:r.useEffect;let el=!1,eu=0,es=()=>"floating-ui-"+eu++,ef=o["useId".toString()]||function(){let[e,t]=r.useState(()=>el?es():void 0);return ec(()=>{null==e&&t(es())},[]),r.useEffect(()=>{el||(el=!0)},[]),e},ed=r.createContext(null),ep=r.createContext(null),eh=()=>{var e;return(null==(e=r.useContext(ed))?void 0:e.id)||null},em=()=>r.useContext(ep);function ev(e){return(null==e?void 0:e.ownerDocument)||document}function eg(e){return ev(e).defaultView||window}function ey(e){return!!e&&e instanceof eg(e).Element}function eb(e){return!!e&&e instanceof eg(e).HTMLElement}function ex(e,t){let n=["mouse","pen"];return t||n.push("",void 0),n.includes(e)}function ew(e){let t=(0,r.useRef)(e);return ec(()=>{t.current=e}),t}let eE="data-floating-ui-safe-polygon";function eO(e,t,n){return n&&!ex(n)?0:"number"==typeof e?e:null==e?void 0:e[t]}let eS=function(e,t){let{enabled:n=!0,delay:o=0,handleClose:i=null,mouseOnly:a=!1,restMs:c=0,move:l=!0}=void 0===t?{}:t,{open:u,onOpenChange:s,dataRef:f,events:d,elements:{domReference:p,floating:h},refs:m}=e,v=em(),g=eh(),y=ew(i),b=ew(o),x=r.useRef(),w=r.useRef(),E=r.useRef(),O=r.useRef(),S=r.useRef(!0),C=r.useRef(!1),k=r.useRef(()=>{}),j=r.useCallback(()=>{var e;let t=null==(e=f.current.openEvent)?void 0:e.type;return(null==t?void 0:t.includes("mouse"))&&"mousedown"!==t},[f]);r.useEffect(()=>{if(n)return d.on("dismiss",e),()=>{d.off("dismiss",e)};function e(){clearTimeout(w.current),clearTimeout(O.current),S.current=!0}},[n,d]),r.useEffect(()=>{if(!n||!y.current||!u)return;function e(){j()&&s(!1)}let t=ev(h).documentElement;return t.addEventListener("mouseleave",e),()=>{t.removeEventListener("mouseleave",e)}},[h,u,s,n,y,f,j]);let P=r.useCallback(function(e){void 0===e&&(e=!0);let t=eO(b.current,"close",x.current);t&&!E.current?(clearTimeout(w.current),w.current=setTimeout(()=>s(!1),t)):e&&(clearTimeout(w.current),s(!1))},[b,s]),M=r.useCallback(()=>{k.current(),E.current=void 0},[]),A=r.useCallback(()=>{if(C.current){let e=ev(m.floating.current).body;e.style.pointerEvents="",e.removeAttribute(eE),C.current=!1}},[m]);return r.useEffect(()=>{if(n&&ey(p))return u&&p.addEventListener("mouseleave",i),null==h||h.addEventListener("mouseleave",i),l&&p.addEventListener("mousemove",r,{once:!0}),p.addEventListener("mouseenter",r),p.addEventListener("mouseleave",o),()=>{u&&p.removeEventListener("mouseleave",i),null==h||h.removeEventListener("mouseleave",i),l&&p.removeEventListener("mousemove",r),p.removeEventListener("mouseenter",r),p.removeEventListener("mouseleave",o)};function t(){return!!f.current.openEvent&&["click","mousedown"].includes(f.current.openEvent.type)}function r(e){if(clearTimeout(w.current),S.current=!1,a&&!ex(x.current)||c>0&&0===eO(b.current,"open"))return;f.current.openEvent=e;let t=eO(b.current,"open",x.current);t?w.current=setTimeout(()=>{s(!0)},t):s(!0)}function o(n){if(t())return;k.current();let r=ev(h);if(clearTimeout(O.current),y.current){u||clearTimeout(w.current),E.current=y.current({...e,tree:v,x:n.clientX,y:n.clientY,onClose(){A(),M(),P()}});let t=E.current;r.addEventListener("mousemove",t),k.current=()=>{r.removeEventListener("mousemove",t)};return}P()}function i(n){t()||null==y.current||y.current({...e,tree:v,x:n.clientX,y:n.clientY,onClose(){A(),M(),P()}})(n)}},[p,h,n,e,a,c,l,P,M,A,s,u,v,b,y,f]),ec(()=>{var e,t,r;if(n&&u&&null!=(e=y.current)&&e.__options.blockPointerEvents&&j()){let e=ev(h).body;if(e.setAttribute(eE,""),e.style.pointerEvents="none",C.current=!0,ey(p)&&h){let e=null==v?void 0:null==(t=v.nodesRef.current.find(e=>e.id===g))?void 0:null==(r=t.context)?void 0:r.elements.floating;return e&&(e.style.pointerEvents=""),p.style.pointerEvents="auto",h.style.pointerEvents="auto",()=>{p.style.pointerEvents="",h.style.pointerEvents=""}}}},[n,u,g,h,p,v,y,f,j]),ec(()=>{u||(x.current=void 0,M(),A())},[u,M,A]),r.useEffect(()=>()=>{M(),clearTimeout(w.current),clearTimeout(O.current),A()},[n,M,A]),r.useMemo(()=>{if(!n)return{};function e(e){x.current=e.pointerType}return{reference:{onPointerDown:e,onPointerEnter:e,onMouseMove(){u||0===c||(clearTimeout(O.current),O.current=setTimeout(()=>{S.current||s(!0)},c))}},floating:{onMouseEnter(){clearTimeout(w.current)},onMouseLeave(){d.emit("dismiss",{type:"mouseLeave",data:{returnFocus:!1}}),P(!1)}}}},[d,n,c,u,s,P])};function eC(e,t){if(!e||!t)return!1;let n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&function(e){if("undefined"==typeof ShadowRoot)return!1;let t=eg(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}(n)){let n=t;do{if(n&&e===n)return!0;n=n.parentNode||n.host}while(n)}return!1}function ek(e,t){let n=e.filter(e=>{var n;return e.parentId===t&&(null==(n=e.context)?void 0:n.open)})||[],r=n;for(;r.length;)r=e.filter(e=>{var t;return null==(t=r)?void 0:t.some(t=>{var n;return e.parentId===t.id&&(null==(n=e.context)?void 0:n.open)})})||[],n=n.concat(r);return n}let ej=o["useInsertionEffect".toString()]||(e=>e());function eP(e){let t=r.useRef(()=>{});return ej(()=>{t.current=e}),r.useCallback(function(){for(var e=arguments.length,n=Array(e),r=0;r!1),O="function"==typeof p?E:p,S=r.useRef(!1),{escapeKeyBubbles:C,outsidePressBubbles:k}=eN(y);return r.useEffect(()=>{if(!n||!f)return;function e(e){if("Escape"===e.key){let e=b?ek(b.nodesRef.current,a):[];if(e.length>0){let t=!0;if(e.forEach(e=>{var n;if(null!=(n=e.context)&&n.open&&!e.context.dataRef.current.__escapeKeyBubbles){t=!1;return}}),!t)return}i.emit("dismiss",{type:"escapeKey",data:{returnFocus:{preventScroll:!1}}}),o(!1)}}function t(e){var t;let n=S.current;if(S.current=!1,n||"function"==typeof O&&!O(e))return;let r="composedPath"in e?e.composedPath()[0]:e.target;if(eb(r)&&u){let t=u.ownerDocument.defaultView||window,n=r.scrollWidth>r.clientWidth,o=r.scrollHeight>r.clientHeight,i=o&&e.offsetX>r.clientWidth;if(o&&"rtl"===t.getComputedStyle(r).direction&&(i=e.offsetX<=r.offsetWidth-r.clientWidth),i||n&&e.offsetY>r.clientHeight)return}let c=b&&ek(b.nodesRef.current,a).some(t=>{var n;return eM(e,null==(n=t.context)?void 0:n.elements.floating)});if(eM(e,u)||eM(e,l)||c)return;let s=b?ek(b.nodesRef.current,a):[];if(s.length>0){let e=!0;if(s.forEach(t=>{var n;if(null!=(n=t.context)&&n.open&&!t.context.dataRef.current.__outsidePressBubbles){e=!1;return}}),!e)return}i.emit("dismiss",{type:"outsidePress",data:{returnFocus:x?{preventScroll:!0}:function(e){if(0===e.mozInputSource&&e.isTrusted)return!0;let t=/Android/i;return(t.test(function(){let e=navigator.userAgentData;return null!=e&&e.platform?e.platform:navigator.platform}())||t.test(function(){let e=navigator.userAgentData;return e&&Array.isArray(e.brands)?e.brands.map(e=>{let{brand:t,version:n}=e;return t+"/"+n}).join(" "):navigator.userAgent}()))&&e.pointerType?"click"===e.type&&1===e.buttons:0===e.detail&&!e.pointerType}(e)||0===(t=e).width&&0===t.height||1===t.width&&1===t.height&&0===t.pressure&&0===t.detail&&"mouse"!==t.pointerType||t.width<1&&t.height<1&&0===t.pressure&&0===t.detail}}),o(!1)}function r(){o(!1)}s.current.__escapeKeyBubbles=C,s.current.__outsidePressBubbles=k;let p=ev(u);d&&p.addEventListener("keydown",e),O&&p.addEventListener(h,t);let m=[];return g&&(ey(l)&&(m=w(l)),ey(u)&&(m=m.concat(w(u))),!ey(c)&&c&&c.contextElement&&(m=m.concat(w(c.contextElement)))),(m=m.filter(e=>{var t;return e!==(null==(t=p.defaultView)?void 0:t.visualViewport)})).forEach(e=>{e.addEventListener("scroll",r,{passive:!0})}),()=>{d&&p.removeEventListener("keydown",e),O&&p.removeEventListener(h,t),m.forEach(e=>{e.removeEventListener("scroll",r)})}},[s,u,l,c,d,O,h,i,b,a,n,o,g,f,C,k,x]),r.useEffect(()=>{S.current=!1},[O,h]),r.useMemo(()=>f?{reference:{[eA[v]]:()=>{m&&(i.emit("dismiss",{type:"referencePress",data:{returnFocus:!1}}),o(!1))}},floating:{[eT[h]]:()=>{S.current=!0}}}:{},[f,i,m,h,v,o])},eZ=function(e,t){let{open:n,onOpenChange:o,dataRef:i,events:a,refs:c,elements:{floating:l,domReference:u}}=e,{enabled:s=!0,keyboardOnly:f=!0}=void 0===t?{}:t,d=r.useRef(""),p=r.useRef(!1),h=r.useRef();return r.useEffect(()=>{if(!s)return;let e=ev(l).defaultView||window;function t(){!n&&eb(u)&&u===function(e){let t=e.activeElement;for(;(null==(n=t)?void 0:null==(r=n.shadowRoot)?void 0:r.activeElement)!=null;){var n,r;t=t.shadowRoot.activeElement}return t}(ev(u))&&(p.current=!0)}return e.addEventListener("blur",t),()=>{e.removeEventListener("blur",t)}},[l,u,n,s]),r.useEffect(()=>{if(s)return a.on("dismiss",e),()=>{a.off("dismiss",e)};function e(e){("referencePress"===e.type||"escapeKey"===e.type)&&(p.current=!0)}},[a,s]),r.useEffect(()=>()=>{clearTimeout(h.current)},[]),r.useMemo(()=>s?{reference:{onPointerDown(e){let{pointerType:t}=e;d.current=t,p.current=!!(t&&f)},onMouseLeave(){p.current=!1},onFocus(e){var t;p.current||"focus"===e.type&&(null==(t=i.current.openEvent)?void 0:t.type)==="mousedown"&&i.current.openEvent&&eM(i.current.openEvent,u)||(i.current.openEvent=e.nativeEvent,o(!0))},onBlur(e){p.current=!1;let t=e.relatedTarget,n=ey(t)&&t.hasAttribute("data-floating-ui-focus-guard")&&"outside"===t.getAttribute("data-type");h.current=setTimeout(()=>{eC(c.floating.current,t)||eC(u,t)||n||o(!1)})}}}:{},[s,f,u,c,i,o])},eR=function(e,t){let{open:n}=e,{enabled:o=!0,role:i="dialog"}=void 0===t?{}:t,a=ef(),c=ef();return r.useMemo(()=>{let e={id:a,role:i};return o?"tooltip"===i?{reference:{"aria-describedby":n?a:void 0},floating:e}:{reference:{"aria-expanded":n?"true":"false","aria-haspopup":"alertdialog"===i?"dialog":i,"aria-controls":n?a:void 0,..."listbox"===i&&{role:"combobox"},..."menu"===i&&{id:c}},floating:{...e,..."menu"===i&&{"aria-labelledby":c}}}:{}},[o,i,n,a,c])};function e_(e,t,n){let r=new Map;return{..."floating"===n&&{tabIndex:-1},...e,...t.map(e=>e?e[n]:null).concat(e).reduce((e,t)=>(t&&Object.entries(t).forEach(t=>{let[n,o]=t;if(0===n.indexOf("on")){if(r.has(n)||r.set(n,[]),"function"==typeof o){var i;null==(i=r.get(n))||i.push(o),e[n]=function(){for(var e,t=arguments.length,o=Array(t),i=0;ie(...o))}}}else e[n]=o}),e),{})}}let eD=function(e){void 0===e&&(e=[]);let t=e,n=r.useCallback(t=>e_(t,e,"reference"),t),o=r.useCallback(t=>e_(t,e,"floating"),t),i=r.useCallback(t=>e_(t,e,"item"),e.map(e=>null==e?void 0:e.item));return r.useMemo(()=>({getReferenceProps:n,getFloatingProps:o,getItemProps:i}),[n,o,i])};var eB=n(99250);let eL=e=>{var t,n;let[o,a]=(0,r.useState)(!1),[c,l]=(0,r.useState)(),{x:u,y:s,refs:f,strategy:d,context:p}=function(e){void 0===e&&(e={});let{open:t=!1,onOpenChange:n,nodeId:o}=e,a=function(e){void 0===e&&(e={});let{placement:t="bottom",strategy:n="absolute",middleware:o=[],platform:a,whileElementsMounted:c,open:l}=e,[u,s]=r.useState({x:null,y:null,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,d]=r.useState(o);ei(f,o)||d(o);let p=r.useRef(null),h=r.useRef(null),m=r.useRef(u),v=ea(c),g=ea(a),[y,b]=r.useState(null),[x,w]=r.useState(null),E=r.useCallback(e=>{p.current!==e&&(p.current=e,b(e))},[]),O=r.useCallback(e=>{h.current!==e&&(h.current=e,w(e))},[]),S=r.useCallback(()=>{if(!p.current||!h.current)return;let e={placement:t,strategy:n,middleware:f};g.current&&(e.platform=g.current),er(p.current,h.current,e).then(e=>{let t={...e,isPositioned:!0};C.current&&!ei(m.current,t)&&(m.current=t,i.flushSync(()=>{s(t)}))})},[f,t,n,g]);eo(()=>{!1===l&&m.current.isPositioned&&(m.current.isPositioned=!1,s(e=>({...e,isPositioned:!1})))},[l]);let C=r.useRef(!1);eo(()=>(C.current=!0,()=>{C.current=!1}),[]),eo(()=>{if(y&&x){if(v.current)return v.current(y,x,S);S()}},[y,x,S,v]);let k=r.useMemo(()=>({reference:p,floating:h,setReference:E,setFloating:O}),[E,O]),j=r.useMemo(()=>({reference:y,floating:x}),[y,x]);return r.useMemo(()=>({...u,update:S,refs:k,elements:j,reference:E,floating:O}),[u,S,k,j,E,O])}(e),c=em(),l=r.useRef(null),u=r.useRef({}),s=r.useState(()=>(function(){let e=new Map;return{emit(t,n){var r;null==(r=e.get(t))||r.forEach(e=>e(n))},on(t,n){e.set(t,[...e.get(t)||[],n])},off(t,n){e.set(t,(e.get(t)||[]).filter(e=>e!==n))}}})())[0],[f,d]=r.useState(null),p=r.useCallback(e=>{let t=ey(e)?{getBoundingClientRect:()=>e.getBoundingClientRect(),contextElement:e}:e;a.refs.setReference(t)},[a.refs]),h=r.useCallback(e=>{(ey(e)||null===e)&&(l.current=e,d(e)),(ey(a.refs.reference.current)||null===a.refs.reference.current||null!==e&&!ey(e))&&a.refs.setReference(e)},[a.refs]),m=r.useMemo(()=>({...a.refs,setReference:h,setPositionReference:p,domReference:l}),[a.refs,h,p]),v=r.useMemo(()=>({...a.elements,domReference:f}),[a.elements,f]),g=eP(n),y=r.useMemo(()=>({...a,refs:m,elements:v,dataRef:u,nodeId:o,events:s,open:t,onOpenChange:g}),[a,o,s,t,g,m,v]);return ec(()=>{let e=null==c?void 0:c.nodesRef.current.find(e=>e.id===o);e&&(e.context=y)}),r.useMemo(()=>({...a,context:y,refs:m,reference:h,positionReference:p}),[a,m,y,h,p])}({open:o,onOpenChange:t=>{t&&e?l(setTimeout(()=>{a(t)},e)):(clearTimeout(c),a(t))},placement:"top",whileElementsMounted:en,middleware:[{name:"offset",options:5,async fn(e){var t,n;let{x:r,y:o,placement:i,middlewareData:a}=e,c=await F(e,5);return i===(null==(t=a.offset)?void 0:t.placement)&&null!=(n=a.arrow)&&n.alignmentOffset?{}:{x:r+c.x,y:o+c.y,data:{...c,placement:i}}}},{name:"flip",options:t={fallbackAxisSideDirection:"start"},async fn(e){var n,r,o,i,a;let{placement:c,middlewareData:l,rects:u,initialPlacement:s,platform:f,elements:d}=e,{mainAxis:p=!0,crossAxis:h=!0,fallbackPlacements:m,fallbackStrategy:v="bestFit",fallbackAxisSideDirection:g="none",flipAlignment:y=!0,...b}=M(t,e);if(null!=(n=l.arrow)&&n.alignmentOffset)return{};let x=A(c),w=A(s)===s,E=await (null==f.isRTL?void 0:f.isRTL(d.floating)),O=m||(w||!y?[_(s)]:function(e){let t=_(e);return[R(e),t,R(t)]}(s));m||"none"===g||O.push(...function(e,t,n,r){let o=T(e),i=function(e,t,n){let r=["left","right"],o=["right","left"];switch(e){case"top":case"bottom":if(n)return t?o:r;return t?r:o;case"left":case"right":return t?["top","bottom"]:["bottom","top"];default:return[]}}(A(e),"start"===n,r);return o&&(i=i.map(e=>e+"-"+o),t&&(i=i.concat(i.map(R)))),i}(s,y,g,E));let S=[s,...O],C=await z(e,b),k=[],j=(null==(r=l.flip)?void 0:r.overflows)||[];if(p&&k.push(C[x]),h){let e=function(e,t,n){void 0===n&&(n=!1);let r=T(e),o=N(Z(e)),i=I(o),a="x"===o?r===(n?"end":"start")?"right":"left":"start"===r?"bottom":"top";return t.reference[i]>t.floating[i]&&(a=_(a)),[a,_(a)]}(c,u,E);k.push(C[e[0]],C[e[1]])}if(j=[...j,{placement:c,overflows:k}],!k.every(e=>e<=0)){let e=((null==(o=l.flip)?void 0:o.index)||0)+1,t=S[e];if(t)return{data:{index:e,overflows:j},reset:{placement:t}};let n=null==(i=j.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:i.placement;if(!n)switch(v){case"bestFit":{let e=null==(a=j.map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:a[0];e&&(n=e);break}case"initialPlacement":n=s}if(c!==n)return{reset:{placement:n}}}return{}}},(void 0===n&&(n={}),{name:"shift",options:n,async fn(e){let{x:t,y:r,placement:o}=e,{mainAxis:i=!0,crossAxis:a=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=M(n,e),u={x:t,y:r},s=await z(e,l),f=Z(A(o)),d=N(f),p=u[d],h=u[f];if(i){let e="y"===d?"top":"left",t="y"===d?"bottom":"right",n=p+s[e],r=p-s[t];p=O(n,E(p,r))}if(a){let e="y"===f?"top":"left",t="y"===f?"bottom":"right",n=h+s[e],r=h-s[t];h=O(n,E(h,r))}let m=c.fn({...e,[d]:p,[f]:h});return{...m,data:{x:m.x-t,y:m.y-r}}}})]}),h=eS(p,{move:!1}),{getReferenceProps:m,getFloatingProps:v}=eD([h,eZ(p),eI(p),eR(p,{role:"tooltip"})]);return{tooltipProps:{open:o,x:u,y:s,refs:f,strategy:d,getFloatingProps:v},getReferenceProps:m}},ez=e=>{let{text:t,open:n,x:o,y:i,refs:a,strategy:c,getFloatingProps:l}=e;return n&&t?r.createElement("div",Object.assign({className:(0,eB.q)("max-w-xs text-sm z-20 rounded-tremor-default opacity-100 px-2.5 py-1","text-white bg-tremor-background-emphasis","text-white dark:bg-dark-tremor-background-subtle"),ref:a.setFloating,style:{position:c,top:null!=i?i:0,left:null!=o?o:0}},l()),t):null};ez.displayName="Tooltip"},67989:function(e,t,n){n.d(t,{Z:function(){return u}});var r=n(69703),o=n(64090),i=n(2898),a=n(99250),c=n(65492);let l=(0,c.fn)("BarList"),u=o.forwardRef((e,t)=>{var n;let u;let{data:s=[],color:f,valueFormatter:d=c.Cj,showAnimation:p=!1,className:h}=e,m=(0,r._T)(e,["data","color","valueFormatter","showAnimation","className"]),v=(n=s.map(e=>e.value),u=-1/0,n.forEach(e=>{u=Math.max(u,e)}),n.map(e=>0===e?0:Math.max(e/u*100,1)));return o.createElement("div",Object.assign({ref:t,className:(0,a.q)(l("root"),"flex justify-between space-x-6",h)},m),o.createElement("div",{className:(0,a.q)(l("bars"),"relative w-full")},s.map((e,t)=>{var n,r,u;let d=e.icon;return o.createElement("div",{key:null!==(n=e.key)&&void 0!==n?n:e.name,className:(0,a.q)(l("bar"),"flex items-center rounded-tremor-small bg-opacity-30","h-9",e.color||f?(0,c.bM)(null!==(r=e.color)&&void 0!==r?r:f,i.K.background).bgColor:"bg-tremor-brand-subtle dark:bg-dark-tremor-brand-subtle dark:bg-opacity-30",t===s.length-1?"mb-0":"mb-2"),style:{width:"".concat(v[t],"%"),transition:p?"all 1s":""}},o.createElement("div",{className:(0,a.q)("absolute max-w-full flex left-2")},d?o.createElement(d,{className:(0,a.q)(l("barIcon"),"flex-none h-5 w-5 mr-2","text-tremor-content","dark:text-dark-tremor-content")}):null,e.href?o.createElement("a",{href:e.href,target:null!==(u=e.target)&&void 0!==u?u:"_blank",rel:"noreferrer",className:(0,a.q)(l("barLink"),"whitespace-nowrap hover:underline truncate text-tremor-default","text-tremor-content-emphasis","dark:text-dark-tremor-content-emphasis")},e.name):o.createElement("p",{className:(0,a.q)(l("barText"),"whitespace-nowrap truncate text-tremor-default","text-tremor-content-emphasis","dark:text-dark-tremor-content-emphasis")},e.name)))})),o.createElement("div",{className:"text-right min-w-min"},s.map((e,t)=>{var n;return o.createElement("div",{key:null!==(n=e.key)&&void 0!==n?n:e.name,className:(0,a.q)(l("labelWrapper"),"flex justify-end items-center","h-9",t===s.length-1?"mb-0":"mb-2")},o.createElement("p",{className:(0,a.q)(l("labelText"),"whitespace-nowrap truncate text-tremor-default","text-tremor-content-emphasis","dark:text-dark-tremor-content-emphasis")},d(e.value)))})))});u.displayName="BarList"},54942:function(e,t,n){n.d(t,{fr:function(){return r},m:function(){return a},u8:function(){return o},zS:function(){return i}});let r={Slate:"slate",Gray:"gray",Zinc:"zinc",Neutral:"neutral",Stone:"stone",Red:"red",Orange:"orange",Amber:"amber",Yellow:"yellow",Lime:"lime",Green:"green",Emerald:"emerald",Teal:"teal",Cyan:"cyan",Sky:"sky",Blue:"blue",Indigo:"indigo",Violet:"violet",Purple:"purple",Fuchsia:"fuchsia",Pink:"pink",Rose:"rose"},o={XS:"xs",SM:"sm",MD:"md",LG:"lg",XL:"xl"},i={Left:"left",Right:"right"},a={Top:"top",Bottom:"bottom"}},2898:function(e,t,n){n.d(t,{K:function(){return o},s:function(){return i}});var r=n(54942);let o={canvasBackground:50,lightBackground:100,background:500,darkBackground:600,darkestBackground:800,lightBorder:200,border:500,darkBorder:700,lightRing:200,ring:300,lightText:400,text:500,darkText:700,darkestText:900,icon:500},i=[r.fr.Blue,r.fr.Cyan,r.fr.Sky,r.fr.Indigo,r.fr.Violet,r.fr.Purple,r.fr.Fuchsia,r.fr.Slate,r.fr.Gray,r.fr.Zinc,r.fr.Neutral,r.fr.Stone,r.fr.Red,r.fr.Orange,r.fr.Amber,r.fr.Yellow,r.fr.Lime,r.fr.Green,r.fr.Emerald,r.fr.Teal,r.fr.Pink,r.fr.Rose]},99250:function(e,t,n){n.d(t,{q:function(){return D}});var r=/^\[(.+)\]$/;function o(e,t){var n=e;return t.split("-").forEach(function(e){n.nextPart.has(e)||n.nextPart.set(e,{nextPart:new Map,validators:[]}),n=n.nextPart.get(e)}),n}var i=/\s+/;function a(){for(var e,t,n=0,r="";ne&&(t=0,r=n,n=new Map)}return{get:function(e){var t=n.get(e);return void 0!==t?t:void 0!==(t=r.get(e))?(o(e,t),t):void 0},set:function(e,t){n.has(e)?n.set(e,t):o(e,t)}}}(e.cacheSize),splitModifiers:(n=1===(t=e.separator||":").length,i=t[0],a=t.length,function(e){for(var r,o=[],c=0,l=0,u=0;ul?r-l:void 0}}),...(s=e.theme,f=e.prefix,d={nextPart:new Map,validators:[]},(p=Object.entries(e.classGroups),f?p.map(function(e){return[e[0],e[1].map(function(e){return"string"==typeof e?f+e:"object"==typeof e?Object.fromEntries(Object.entries(e).map(function(e){return[f+e[0],e[1]]})):e})]}):p).forEach(function(e){var t=e[0];(function e(t,n,r,i){t.forEach(function(t){if("string"==typeof t){(""===t?n:o(n,t)).classGroupId=r;return}if("function"==typeof t){if(t.isThemeGetter){e(t(i),n,r,i);return}n.validators.push({validator:t,classGroupId:r});return}Object.entries(t).forEach(function(t){var a=t[0];e(t[1],o(n,a),r,i)})})})(e[1],d,t,s)}),c=e.conflictingClassGroups,u=void 0===(l=e.conflictingClassGroupModifiers)?{}:l,{getClassGroupId:function(e){var t=e.split("-");return""===t[0]&&1!==t.length&&t.shift(),function e(t,n){if(0===t.length)return n.classGroupId;var r,o=t[0],i=n.nextPart.get(o),a=i?e(t.slice(1),i):void 0;if(a)return a;if(0!==n.validators.length){var c=t.join("-");return null===(r=n.validators.find(function(e){return(0,e.validator)(c)}))||void 0===r?void 0:r.classGroupId}}(t,d)||function(e){if(r.test(e)){var t=r.exec(e)[1],n=null==t?void 0:t.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}}(e)},getConflictingClassGroupIds:function(e,t){var n=c[e]||[];return t&&u[e]?[].concat(n,u[e]):n}})}}(l.slice(1).reduce(function(e,t){return t(e)},a()))).cache.get,n=e.cache.set,s=f,f(i)};function f(r){var o,a,c,l,u,s=t(r);if(s)return s;var f=(a=(o=e).splitModifiers,c=o.getClassGroupId,l=o.getConflictingClassGroupIds,u=new Set,r.trim().split(i).map(function(e){var t=a(e),n=t.modifiers,r=t.hasImportantModifier,o=t.baseClassName,i=t.maybePostfixModifierPosition,l=c(i?o.substring(0,i):o),u=!!i;if(!l){if(!i||!(l=c(o)))return{isTailwindClass:!1,originalClassName:e};u=!1}var s=(function(e){if(e.length<=1)return e;var t=[],n=[];return e.forEach(function(e){"["===e[0]?(t.push.apply(t,n.sort().concat([e])),n=[]):n.push(e)}),t.push.apply(t,n.sort()),t})(n).join(":");return{isTailwindClass:!0,modifierId:r?s+"!":s,classGroupId:l,originalClassName:e,hasPostfixModifier:u}}).reverse().filter(function(e){if(!e.isTailwindClass)return!0;var t=e.modifierId,n=e.classGroupId,r=e.hasPostfixModifier,o=t+n;return!u.has(o)&&(u.add(o),l(n,r).forEach(function(e){return u.add(t+e)}),!0)}).reverse().map(function(e){return e.originalClassName}).join(" "));return n(r,f),f}return function(){return s(a.apply(null,arguments))}}function l(e){var t=function(t){return t[e]||[]};return t.isThemeGetter=!0,t}var u=/^\[(?:([a-z-]+):)?(.+)\]$/i,s=/^\d+\/\d+$/,f=new Set(["px","full","screen"]),d=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,p=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,h=/^-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;function m(e){return w(e)||f.has(e)||s.test(e)||v(e)}function v(e){return P(e,"length",M)}function g(e){return P(e,"size",A)}function y(e){return P(e,"position",A)}function b(e){return P(e,"url",T)}function x(e){return P(e,"number",w)}function w(e){return!Number.isNaN(Number(e))}function E(e){return e.endsWith("%")&&w(e.slice(0,-1))}function O(e){return N(e)||P(e,"number",N)}function S(e){return u.test(e)}function C(){return!0}function k(e){return d.test(e)}function j(e){return P(e,"",I)}function P(e,t,n){var r=u.exec(e);return!!r&&(r[1]?r[1]===t:n(r[2]))}function M(e){return p.test(e)}function A(){return!1}function T(e){return e.startsWith("url(")}function N(e){return Number.isInteger(Number(e))}function I(e){return h.test(e)}function Z(){var e=l("colors"),t=l("spacing"),n=l("blur"),r=l("brightness"),o=l("borderColor"),i=l("borderRadius"),a=l("borderSpacing"),c=l("borderWidth"),u=l("contrast"),s=l("grayscale"),f=l("hueRotate"),d=l("invert"),p=l("gap"),h=l("gradientColorStops"),P=l("gradientColorStopPositions"),M=l("inset"),A=l("margin"),T=l("opacity"),N=l("padding"),I=l("saturate"),Z=l("scale"),R=l("sepia"),_=l("skew"),D=l("space"),B=l("translate"),L=function(){return["auto","contain","none"]},z=function(){return["auto","hidden","clip","visible","scroll"]},F=function(){return["auto",S,t]},H=function(){return[S,t]},W=function(){return["",m]},q=function(){return["auto",w,S]},V=function(){return["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"]},U=function(){return["solid","dashed","dotted","double","none"]},X=function(){return["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity","plus-lighter"]},G=function(){return["start","end","center","between","around","evenly","stretch"]},K=function(){return["","0",S]},$=function(){return["auto","avoid","all","avoid-page","page","left","right","column"]},Y=function(){return[w,x]},Q=function(){return[w,S]};return{cacheSize:500,theme:{colors:[C],spacing:[m],blur:["none","",k,S],brightness:Y(),borderColor:[e],borderRadius:["none","","full",k,S],borderSpacing:H(),borderWidth:W(),contrast:Y(),grayscale:K(),hueRotate:Q(),invert:K(),gap:H(),gradientColorStops:[e],gradientColorStopPositions:[E,v],inset:F(),margin:F(),opacity:Y(),padding:H(),saturate:Y(),scale:Y(),sepia:K(),skew:Q(),space:H(),translate:H()},classGroups:{aspect:[{aspect:["auto","square","video",S]}],container:["container"],columns:[{columns:[k]}],"break-after":[{"break-after":$()}],"break-before":[{"break-before":$()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none"]}],clear:[{clear:["left","right","both","none"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[].concat(V(),[S])}],overflow:[{overflow:z()}],"overflow-x":[{"overflow-x":z()}],"overflow-y":[{"overflow-y":z()}],overscroll:[{overscroll:L()}],"overscroll-x":[{"overscroll-x":L()}],"overscroll-y":[{"overscroll-y":L()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[M]}],"inset-x":[{"inset-x":[M]}],"inset-y":[{"inset-y":[M]}],start:[{start:[M]}],end:[{end:[M]}],top:[{top:[M]}],right:[{right:[M]}],bottom:[{bottom:[M]}],left:[{left:[M]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",O]}],basis:[{basis:F()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",S]}],grow:[{grow:K()}],shrink:[{shrink:K()}],order:[{order:["first","last","none",O]}],"grid-cols":[{"grid-cols":[C]}],"col-start-end":[{col:["auto",{span:["full",O]},S]}],"col-start":[{"col-start":q()}],"col-end":[{"col-end":q()}],"grid-rows":[{"grid-rows":[C]}],"row-start-end":[{row:["auto",{span:[O]},S]}],"row-start":[{"row-start":q()}],"row-end":[{"row-end":q()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",S]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",S]}],gap:[{gap:[p]}],"gap-x":[{"gap-x":[p]}],"gap-y":[{"gap-y":[p]}],"justify-content":[{justify:["normal"].concat(G())}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal"].concat(G(),["baseline"])}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[].concat(G(),["baseline"])}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[N]}],px:[{px:[N]}],py:[{py:[N]}],ps:[{ps:[N]}],pe:[{pe:[N]}],pt:[{pt:[N]}],pr:[{pr:[N]}],pb:[{pb:[N]}],pl:[{pl:[N]}],m:[{m:[A]}],mx:[{mx:[A]}],my:[{my:[A]}],ms:[{ms:[A]}],me:[{me:[A]}],mt:[{mt:[A]}],mr:[{mr:[A]}],mb:[{mb:[A]}],ml:[{ml:[A]}],"space-x":[{"space-x":[D]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[D]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit",S,t]}],"min-w":[{"min-w":["min","max","fit",S,m]}],"max-w":[{"max-w":["0","none","full","min","max","fit","prose",{screen:[k]},k,S]}],h:[{h:[S,t,"auto","min","max","fit"]}],"min-h":[{"min-h":["min","max","fit",S,m]}],"max-h":[{"max-h":[S,t,"min","max","fit"]}],"font-size":[{text:["base",k,v]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",x]}],"font-family":[{font:[C]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractons"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",S]}],"line-clamp":[{"line-clamp":["none",w,x]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",S,m]}],"list-image":[{"list-image":["none",S]}],"list-style-type":[{list:["none","disc","decimal",S]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[T]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[T]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[].concat(U(),["wavy"])}],"text-decoration-thickness":[{decoration:["auto","from-font",m]}],"underline-offset":[{"underline-offset":["auto",S,m]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],indent:[{indent:H()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",S]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",S]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[T]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[].concat(V(),[y])}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",g]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},b]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[P]}],"gradient-via-pos":[{via:[P]}],"gradient-to-pos":[{to:[P]}],"gradient-from":[{from:[h]}],"gradient-via":[{via:[h]}],"gradient-to":[{to:[h]}],rounded:[{rounded:[i]}],"rounded-s":[{"rounded-s":[i]}],"rounded-e":[{"rounded-e":[i]}],"rounded-t":[{"rounded-t":[i]}],"rounded-r":[{"rounded-r":[i]}],"rounded-b":[{"rounded-b":[i]}],"rounded-l":[{"rounded-l":[i]}],"rounded-ss":[{"rounded-ss":[i]}],"rounded-se":[{"rounded-se":[i]}],"rounded-ee":[{"rounded-ee":[i]}],"rounded-es":[{"rounded-es":[i]}],"rounded-tl":[{"rounded-tl":[i]}],"rounded-tr":[{"rounded-tr":[i]}],"rounded-br":[{"rounded-br":[i]}],"rounded-bl":[{"rounded-bl":[i]}],"border-w":[{border:[c]}],"border-w-x":[{"border-x":[c]}],"border-w-y":[{"border-y":[c]}],"border-w-s":[{"border-s":[c]}],"border-w-e":[{"border-e":[c]}],"border-w-t":[{"border-t":[c]}],"border-w-r":[{"border-r":[c]}],"border-w-b":[{"border-b":[c]}],"border-w-l":[{"border-l":[c]}],"border-opacity":[{"border-opacity":[T]}],"border-style":[{border:[].concat(U(),["hidden"])}],"divide-x":[{"divide-x":[c]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[c]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[T]}],"divide-style":[{divide:U()}],"border-color":[{border:[o]}],"border-color-x":[{"border-x":[o]}],"border-color-y":[{"border-y":[o]}],"border-color-t":[{"border-t":[o]}],"border-color-r":[{"border-r":[o]}],"border-color-b":[{"border-b":[o]}],"border-color-l":[{"border-l":[o]}],"divide-color":[{divide:[o]}],"outline-style":[{outline:[""].concat(U())}],"outline-offset":[{"outline-offset":[S,m]}],"outline-w":[{outline:[m]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:W()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[T]}],"ring-offset-w":[{"ring-offset":[m]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",k,j]}],"shadow-color":[{shadow:[C]}],opacity:[{opacity:[T]}],"mix-blend":[{"mix-blend":X()}],"bg-blend":[{"bg-blend":X()}],filter:[{filter:["","none"]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[u]}],"drop-shadow":[{"drop-shadow":["","none",k,S]}],grayscale:[{grayscale:[s]}],"hue-rotate":[{"hue-rotate":[f]}],invert:[{invert:[d]}],saturate:[{saturate:[I]}],sepia:[{sepia:[R]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[u]}],"backdrop-grayscale":[{"backdrop-grayscale":[s]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[f]}],"backdrop-invert":[{"backdrop-invert":[d]}],"backdrop-opacity":[{"backdrop-opacity":[T]}],"backdrop-saturate":[{"backdrop-saturate":[I]}],"backdrop-sepia":[{"backdrop-sepia":[R]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[a]}],"border-spacing-x":[{"border-spacing-x":[a]}],"border-spacing-y":[{"border-spacing-y":[a]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",S]}],duration:[{duration:Q()}],ease:[{ease:["linear","in","out","in-out",S]}],delay:[{delay:Q()}],animate:[{animate:["none","spin","ping","pulse","bounce",S]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[Z]}],"scale-x":[{"scale-x":[Z]}],"scale-y":[{"scale-y":[Z]}],rotate:[{rotate:[O,S]}],"translate-x":[{"translate-x":[B]}],"translate-y":[{"translate-y":[B]}],"skew-x":[{"skew-x":[_]}],"skew-y":[{"skew-y":[_]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",S]}],accent:[{accent:["auto",e]}],appearance:["appearance-none"],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",S]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":H()}],"scroll-mx":[{"scroll-mx":H()}],"scroll-my":[{"scroll-my":H()}],"scroll-ms":[{"scroll-ms":H()}],"scroll-me":[{"scroll-me":H()}],"scroll-mt":[{"scroll-mt":H()}],"scroll-mr":[{"scroll-mr":H()}],"scroll-mb":[{"scroll-mb":H()}],"scroll-ml":[{"scroll-ml":H()}],"scroll-p":[{"scroll-p":H()}],"scroll-px":[{"scroll-px":H()}],"scroll-py":[{"scroll-py":H()}],"scroll-ps":[{"scroll-ps":H()}],"scroll-pe":[{"scroll-pe":H()}],"scroll-pt":[{"scroll-pt":H()}],"scroll-pr":[{"scroll-pr":H()}],"scroll-pb":[{"scroll-pb":H()}],"scroll-pl":[{"scroll-pl":H()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","pinch-zoom","manipulation",{pan:["x","left","right","y","up","down"]}]}],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",S]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[m,x]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}}var R=Object.prototype.hasOwnProperty,_=new Set(["string","number","boolean"]);let D=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;rr.includes(e),i=e=>e.toString();function a(e){return t=>{e.forEach(e=>{"function"==typeof e?e(t):null!=e&&(e.current=t)})}}function c(e){return t=>"tremor-".concat(e,"-").concat(t)}function l(e,t){let n=o(e);if("white"===e||"black"===e||"transparent"===e||!t||!n){let t=e.includes("#")||e.includes("--")||e.includes("rgb")?"[".concat(e,"]"):e;return{bgColor:"bg-".concat(t),hoverBgColor:"hover:bg-".concat(t),selectBgColor:"ui-selected:bg-".concat(t),textColor:"text-".concat(t),selectTextColor:"ui-selected:text-".concat(t),hoverTextColor:"hover:text-".concat(t),borderColor:"border-".concat(t),selectBorderColor:"ui-selected:border-".concat(t),hoverBorderColor:"hover:border-".concat(t),ringColor:"ring-".concat(t),strokeColor:"stroke-".concat(t),fillColor:"fill-".concat(t)}}return{bgColor:"bg-".concat(e,"-").concat(t),selectBgColor:"ui-selected:bg-".concat(e,"-").concat(t),hoverBgColor:"hover:bg-".concat(e,"-").concat(t),textColor:"text-".concat(e,"-").concat(t),selectTextColor:"ui-selected:text-".concat(e,"-").concat(t),hoverTextColor:"hover:text-".concat(e,"-").concat(t),borderColor:"border-".concat(e,"-").concat(t),selectBorderColor:"ui-selected:border-".concat(e,"-").concat(t),hoverBorderColor:"hover:border-".concat(e,"-").concat(t),ringColor:"ring-".concat(e,"-").concat(t),strokeColor:"stroke-".concat(e,"-").concat(t),fillColor:"fill-".concat(e,"-").concat(t)}}},21467:function(e,t,n){n.d(t,{i:function(){return c}});var r=n(64090),o=n(44329),i=n(54165),a=n(57499);function c(e){return t=>r.createElement(i.ZP,{theme:{token:{motion:!1,zIndexPopupBase:0}}},r.createElement(e,Object.assign({},t)))}t.Z=(e,t,n,i)=>c(c=>{let{prefixCls:l,style:u}=c,s=r.useRef(null),[f,d]=r.useState(0),[p,h]=r.useState(0),[m,v]=(0,o.Z)(!1,{value:c.open}),{getPrefixCls:g}=r.useContext(a.E_),y=g(t||"select",l);r.useEffect(()=>{if(v(!0),"undefined"!=typeof ResizeObserver){let e=new ResizeObserver(e=>{let t=e[0].target;d(t.offsetHeight+8),h(t.offsetWidth)}),t=setInterval(()=>{var r;let o=n?".".concat(n(y)):".".concat(y,"-dropdown"),i=null===(r=s.current)||void 0===r?void 0:r.querySelector(o);i&&(clearInterval(t),e.observe(i))},10);return()=>{clearInterval(t),e.disconnect()}}},[]);let b=Object.assign(Object.assign({},c),{style:Object.assign(Object.assign({},u),{margin:0}),open:m,visible:m,getPopupContainer:()=>s.current});return i&&(b=i(b)),r.createElement("div",{ref:s,style:{paddingBottom:f,position:"relative",minWidth:p}},r.createElement(e,Object.assign({},b)))})},51761:function(e,t,n){n.d(t,{Cn:function(){return u},u6:function(){return a}});var r=n(64090),o=n(24750),i=n(86718);let a=1e3,c={Modal:100,Drawer:100,Popover:100,Popconfirm:100,Tooltip:100,Tour:100},l={SelectLike:50,Dropdown:50,DatePicker:50,Menu:50,ImagePreview:1};function u(e,t){let[,n]=(0,o.ZP)(),u=r.useContext(i.Z);if(void 0!==t)return[t,t];let s=null!=u?u:0;return e in c?(s+=(u?0:n.zIndexPopupBase)+c[e],s=Math.min(s,n.zIndexPopupBase+a)):s+=l[e],[void 0===u?t:s,s]}},47387:function(e,t,n){n.d(t,{m:function(){return c}});let r=()=>({height:0,opacity:0}),o=e=>{let{scrollHeight:t}=e;return{height:t,opacity:1}},i=e=>({height:e?e.offsetHeight:0}),a=(e,t)=>(null==t?void 0:t.deadline)===!0||"height"===t.propertyName,c=(e,t,n)=>void 0!==n?n:"".concat(e,"-").concat(t);t.Z=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"ant";return{motionName:"".concat(e,"-motion-collapse"),onAppearStart:r,onEnterStart:r,onAppearActive:o,onEnterActive:o,onLeaveStart:i,onLeaveActive:r,onAppearEnd:a,onEnterEnd:a,onLeaveEnd:a,motionDeadline:500}}},65823:function(e,t,n){n.d(t,{M2:function(){return a},Tm:function(){return c},l$:function(){return i}});var r,o=n(64090);let{isValidElement:i}=r||(r=n.t(o,2));function a(e){return e&&i(e)&&e.type===o.Fragment}function c(e,t){return i(e)?o.cloneElement(e,"function"==typeof t?t(e.props||{}):t):e}},47794:function(e,t,n){n.d(t,{F:function(){return a},Z:function(){return i}});var r=n(16480),o=n.n(r);function i(e,t,n){return o()({["".concat(e,"-status-success")]:"success"===t,["".concat(e,"-status-warning")]:"warning"===t,["".concat(e,"-status-error")]:"error"===t,["".concat(e,"-status-validating")]:"validating"===t,["".concat(e,"-has-feedback")]:n})}let a=(e,t)=>t||e},76564:function(e,t,n){n.d(t,{G8:function(){return i},ln:function(){return a}});var r=n(64090);function o(){}n(53850);let i=r.createContext({}),a=()=>{let e=()=>{};return e.deprecated=o,e}},86718:function(e,t,n){let r=n(64090).createContext(void 0);t.Z=r},51350:function(e,t,n){n.d(t,{Te:function(){return u},aG:function(){return a},hU:function(){return s},nx:function(){return c}});var r=n(64090),o=n(65823);let i=/^[\u4e00-\u9fa5]{2}$/,a=i.test.bind(i);function c(e){return"danger"===e?{danger:!0}:{type:e}}function l(e){return"string"==typeof e}function u(e){return"text"===e||"link"===e}function s(e,t){let n=!1,i=[];return r.Children.forEach(e,e=>{let t=typeof e,r="string"===t||"number"===t;if(n&&r){let t=i.length-1,n=i[t];i[t]="".concat(n).concat(e)}else i.push(e);n=r}),r.Children.map(i,e=>(function(e,t){if(null==e)return;let n=t?" ":"";return"string"!=typeof e&&"number"!=typeof e&&l(e.type)&&a(e.props.children)?(0,o.Tm)(e,{children:e.props.children.split("").join(n)}):l(e)?a(e)?r.createElement("span",null,e.split("").join(n)):r.createElement("span",null,e):(0,o.M2)(e)?r.createElement("span",null,e):e})(e,t))}},1861:function(e,t,n){n.d(t,{ZP:function(){return eg}});var r=n(64090),o=n(16480),i=n.n(o),a=n(35704),c=n(74084),l=n(73193),u=n(57499),s=n(65823),f=n(76585);let d=e=>{let{componentCls:t,colorPrimary:n}=e;return{[t]:{position:"absolute",background:"transparent",pointerEvents:"none",boxSizing:"border-box",color:"var(--wave-color, ".concat(n,")"),boxShadow:"0 0 0 0 currentcolor",opacity:.2,"&.wave-motion-appear":{transition:["box-shadow 0.4s ".concat(e.motionEaseOutCirc),"opacity 2s ".concat(e.motionEaseOutCirc)].join(","),"&-active":{boxShadow:"0 0 0 6px currentcolor",opacity:0},"&.wave-quick":{transition:["box-shadow 0.3s ".concat(e.motionEaseInOut),"opacity 0.35s ".concat(e.motionEaseInOut)].join(",")}}}}};var p=(0,f.ZP)("Wave",e=>[d(e)]),h=n(48563),m=n(19223),v=n(49367),g=n(37274);function y(e){return e&&"#fff"!==e&&"#ffffff"!==e&&"rgb(255, 255, 255)"!==e&&"rgba(255, 255, 255, 1)"!==e&&function(e){let t=(e||"").match(/rgba?\((\d*), (\d*), (\d*)(, [\d.]*)?\)/);return!t||!t[1]||!t[2]||!t[3]||!(t[1]===t[2]&&t[2]===t[3])}(e)&&!/rgba\((?:\d*, ){3}0\)/.test(e)&&"transparent"!==e}let b="ant-wave-target";function x(e){return Number.isNaN(e)?0:e}let w=e=>{let{className:t,target:n,component:o}=e,a=r.useRef(null),[c,l]=r.useState(null),[u,s]=r.useState([]),[f,d]=r.useState(0),[p,h]=r.useState(0),[w,E]=r.useState(0),[O,S]=r.useState(0),[C,k]=r.useState(!1),j={left:f,top:p,width:w,height:O,borderRadius:u.map(e=>"".concat(e,"px")).join(" ")};function P(){let e=getComputedStyle(n);l(function(e){let{borderTopColor:t,borderColor:n,backgroundColor:r}=getComputedStyle(e);return y(t)?t:y(n)?n:y(r)?r:null}(n));let t="static"===e.position,{borderLeftWidth:r,borderTopWidth:o}=e;d(t?n.offsetLeft:x(-parseFloat(r))),h(t?n.offsetTop:x(-parseFloat(o))),E(n.offsetWidth),S(n.offsetHeight);let{borderTopLeftRadius:i,borderTopRightRadius:a,borderBottomLeftRadius:c,borderBottomRightRadius:u}=e;s([i,a,u,c].map(e=>x(parseFloat(e))))}if(c&&(j["--wave-color"]=c),r.useEffect(()=>{if(n){let e;let t=(0,m.Z)(()=>{P(),k(!0)});return"undefined"!=typeof ResizeObserver&&(e=new ResizeObserver(P)).observe(n),()=>{m.Z.cancel(t),null==e||e.disconnect()}}},[]),!C)return null;let M=("Checkbox"===o||"Radio"===o)&&(null==n?void 0:n.classList.contains(b));return r.createElement(v.ZP,{visible:!0,motionAppear:!0,motionName:"wave-motion",motionDeadline:5e3,onAppearEnd:(e,t)=>{var n;if(t.deadline||"opacity"===t.propertyName){let e=null===(n=a.current)||void 0===n?void 0:n.parentElement;(0,g.v)(e).then(()=>{null==e||e.remove()})}return!1}},e=>{let{className:n}=e;return r.createElement("div",{ref:a,className:i()(t,{"wave-quick":M},n),style:j})})};var E=(e,t)=>{var n;let{component:o}=t;if("Checkbox"===o&&!(null===(n=e.querySelector("input"))||void 0===n?void 0:n.checked))return;let i=document.createElement("div");i.style.position="absolute",i.style.left="0px",i.style.top="0px",null==e||e.insertBefore(i,null==e?void 0:e.firstChild),(0,g.s)(r.createElement(w,Object.assign({},t,{target:e})),i)},O=n(24750),S=e=>{let{children:t,disabled:n,component:o}=e,{getPrefixCls:a}=(0,r.useContext)(u.E_),f=(0,r.useRef)(null),d=a("wave"),[,v]=p(d),g=function(e,t,n){let{wave:o}=r.useContext(u.E_),[,i,a]=(0,O.ZP)(),c=(0,h.zX)(r=>{let c=e.current;if((null==o?void 0:o.disabled)||!c)return;let l=c.querySelector(".".concat(b))||c,{showEffect:u}=o||{};(u||E)(l,{className:t,token:i,component:n,event:r,hashId:a})}),l=r.useRef();return e=>{m.Z.cancel(l.current),l.current=(0,m.Z)(()=>{c(e)})}}(f,i()(d,v),o);if(r.useEffect(()=>{let e=f.current;if(!e||1!==e.nodeType||n)return;let t=t=>{!(0,l.Z)(t.target)||!e.getAttribute||e.getAttribute("disabled")||e.disabled||e.className.includes("disabled")||e.className.includes("-leave")||g(t)};return e.addEventListener("click",t,!0),()=>{e.removeEventListener("click",t,!0)}},[n]),!r.isValidElement(t))return null!=t?t:null;let y=(0,c.Yr)(t)?(0,c.sQ)(t.ref,f):f;return(0,s.Tm)(t,{ref:y})},C=n(17094),k=n(10693),j=n(92801),P=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let M=r.createContext(void 0);var A=n(51350);let T=(0,r.forwardRef)((e,t)=>{let{className:n,style:o,children:a,prefixCls:c}=e,l=i()("".concat(c,"-icon"),n);return r.createElement("span",{ref:t,className:l,style:o},a)});var N=n(66155);let I=(0,r.forwardRef)((e,t)=>{let{prefixCls:n,className:o,style:a,iconClassName:c}=e,l=i()("".concat(n,"-loading-icon"),o);return r.createElement(T,{prefixCls:n,className:l,style:a,ref:t},r.createElement(N.Z,{className:c}))}),Z=()=>({width:0,opacity:0,transform:"scale(0)"}),R=e=>({width:e.scrollWidth,opacity:1,transform:"scale(1)"});var _=e=>{let{prefixCls:t,loading:n,existIcon:o,className:i,style:a}=e,c=!!n;return o?r.createElement(I,{prefixCls:t,className:i,style:a}):r.createElement(v.ZP,{visible:c,motionName:"".concat(t,"-loading-icon-motion"),motionLeave:c,removeOnLeave:!0,onAppearStart:Z,onAppearActive:R,onEnterStart:Z,onEnterActive:R,onLeaveStart:R,onLeaveActive:Z},(e,n)=>{let{className:o,style:c}=e;return r.createElement(I,{prefixCls:t,className:i,style:Object.assign(Object.assign({},a),c),ref:n,iconClassName:o})})},D=n(8985),B=n(11303),L=n(80316);let z=(e,t)=>({["> span, > ".concat(e)]:{"&:not(:last-child)":{["&, & > ".concat(e)]:{"&:not(:disabled)":{borderInlineEndColor:t}}},"&:not(:first-child)":{["&, & > ".concat(e)]:{"&:not(:disabled)":{borderInlineStartColor:t}}}}});var F=e=>{let{componentCls:t,fontSize:n,lineWidth:r,groupBorderColor:o,colorErrorHover:i}=e;return{["".concat(t,"-group")]:[{position:"relative",display:"inline-flex",["> span, > ".concat(t)]:{"&:not(:last-child)":{["&, & > ".concat(t)]:{borderStartEndRadius:0,borderEndEndRadius:0}},"&:not(:first-child)":{marginInlineStart:e.calc(r).mul(-1).equal(),["&, & > ".concat(t)]:{borderStartStartRadius:0,borderEndStartRadius:0}}},[t]:{position:"relative",zIndex:1,"&:hover,\n &:focus,\n &:active":{zIndex:2},"&[disabled]":{zIndex:0}},["".concat(t,"-icon-only")]:{fontSize:n}},z("".concat(t,"-primary"),o),z("".concat(t,"-danger"),i)]}},H=n(49202);let W=e=>{let{paddingInline:t,onlyIconSize:n,paddingBlock:r}=e;return(0,L.TS)(e,{buttonPaddingHorizontal:t,buttonPaddingVertical:r,buttonIconOnlyFontSize:n})},q=e=>{var t,n,r,o,i,a;let c=null!==(t=e.contentFontSize)&&void 0!==t?t:e.fontSize,l=null!==(n=e.contentFontSizeSM)&&void 0!==n?n:e.fontSize,u=null!==(r=e.contentFontSizeLG)&&void 0!==r?r:e.fontSizeLG,s=null!==(o=e.contentLineHeight)&&void 0!==o?o:(0,H.D)(c),f=null!==(i=e.contentLineHeightSM)&&void 0!==i?i:(0,H.D)(l),d=null!==(a=e.contentLineHeightLG)&&void 0!==a?a:(0,H.D)(u);return{fontWeight:400,defaultShadow:"0 ".concat(e.controlOutlineWidth,"px 0 ").concat(e.controlTmpOutline),primaryShadow:"0 ".concat(e.controlOutlineWidth,"px 0 ").concat(e.controlOutline),dangerShadow:"0 ".concat(e.controlOutlineWidth,"px 0 ").concat(e.colorErrorOutline),primaryColor:e.colorTextLightSolid,dangerColor:e.colorTextLightSolid,borderColorDisabled:e.colorBorder,defaultGhostColor:e.colorBgContainer,ghostBg:"transparent",defaultGhostBorderColor:e.colorBgContainer,paddingInline:e.paddingContentHorizontal-e.lineWidth,paddingInlineLG:e.paddingContentHorizontal-e.lineWidth,paddingInlineSM:8-e.lineWidth,onlyIconSize:e.fontSizeLG,onlyIconSizeSM:e.fontSizeLG-2,onlyIconSizeLG:e.fontSizeLG+2,groupBorderColor:e.colorPrimaryHover,linkHoverBg:"transparent",textHoverBg:e.colorBgTextHover,defaultColor:e.colorText,defaultBg:e.colorBgContainer,defaultBorderColor:e.colorBorder,defaultBorderColorDisabled:e.colorBorder,contentFontSize:c,contentFontSizeSM:l,contentFontSizeLG:u,contentLineHeight:s,contentLineHeightSM:f,contentLineHeightLG:d,paddingBlock:Math.max((e.controlHeight-c*s)/2-e.lineWidth,0),paddingBlockSM:Math.max((e.controlHeightSM-l*f)/2-e.lineWidth,0),paddingBlockLG:Math.max((e.controlHeightLG-u*d)/2-e.lineWidth,0)}},V=e=>{let{componentCls:t,iconCls:n,fontWeight:r}=e;return{[t]:{outline:"none",position:"relative",display:"inline-block",fontWeight:r,whiteSpace:"nowrap",textAlign:"center",backgroundImage:"none",background:"transparent",border:"".concat((0,D.bf)(e.lineWidth)," ").concat(e.lineType," transparent"),cursor:"pointer",transition:"all ".concat(e.motionDurationMid," ").concat(e.motionEaseInOut),userSelect:"none",touchAction:"manipulation",color:e.colorText,"&:disabled > *":{pointerEvents:"none"},"> span":{display:"inline-block"},["".concat(t,"-icon")]:{lineHeight:0},["> ".concat(n," + span, > span + ").concat(n)]:{marginInlineStart:e.marginXS},["&:not(".concat(t,"-icon-only) > ").concat(t,"-icon")]:{["&".concat(t,"-loading-icon, &:not(:last-child)")]:{marginInlineEnd:e.marginXS}},"> a":{color:"currentColor"},"&:not(:disabled)":Object.assign({},(0,B.Qy)(e)),["&".concat(t,"-two-chinese-chars::first-letter")]:{letterSpacing:"0.34em"},["&".concat(t,"-two-chinese-chars > *:not(").concat(n,")")]:{marginInlineEnd:"-0.34em",letterSpacing:"0.34em"},["&-icon-only".concat(t,"-compact-item")]:{flex:"none"}}}},U=(e,t,n)=>({["&:not(:disabled):not(".concat(e,"-disabled)")]:{"&:hover":t,"&:active":n}}),X=e=>({minWidth:e.controlHeight,paddingInlineStart:0,paddingInlineEnd:0,borderRadius:"50%"}),G=e=>({borderRadius:e.controlHeight,paddingInlineStart:e.calc(e.controlHeight).div(2).equal(),paddingInlineEnd:e.calc(e.controlHeight).div(2).equal()}),K=e=>({cursor:"not-allowed",borderColor:e.borderColorDisabled,color:e.colorTextDisabled,background:e.colorBgContainerDisabled,boxShadow:"none"}),$=(e,t,n,r,o,i,a,c)=>({["&".concat(e,"-background-ghost")]:Object.assign(Object.assign({color:n||void 0,background:t,borderColor:r||void 0,boxShadow:"none"},U(e,Object.assign({background:t},a),Object.assign({background:t},c))),{"&:disabled":{cursor:"not-allowed",color:o||void 0,borderColor:i||void 0}})}),Y=e=>({["&:disabled, &".concat(e.componentCls,"-disabled")]:Object.assign({},K(e))}),Q=e=>Object.assign({},Y(e)),J=e=>({["&:disabled, &".concat(e.componentCls,"-disabled")]:{cursor:"not-allowed",color:e.colorTextDisabled}}),ee=e=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Q(e)),{background:e.defaultBg,borderColor:e.defaultBorderColor,color:e.defaultColor,boxShadow:e.defaultShadow}),U(e.componentCls,{color:e.colorPrimaryHover,borderColor:e.colorPrimaryHover},{color:e.colorPrimaryActive,borderColor:e.colorPrimaryActive})),$(e.componentCls,e.ghostBg,e.defaultGhostColor,e.defaultGhostBorderColor,e.colorTextDisabled,e.colorBorder)),{["&".concat(e.componentCls,"-dangerous")]:Object.assign(Object.assign(Object.assign({color:e.colorError,borderColor:e.colorError},U(e.componentCls,{color:e.colorErrorHover,borderColor:e.colorErrorBorderHover},{color:e.colorErrorActive,borderColor:e.colorErrorActive})),$(e.componentCls,e.ghostBg,e.colorError,e.colorError,e.colorTextDisabled,e.colorBorder)),Y(e))}),et=e=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Q(e)),{color:e.primaryColor,background:e.colorPrimary,boxShadow:e.primaryShadow}),U(e.componentCls,{color:e.colorTextLightSolid,background:e.colorPrimaryHover},{color:e.colorTextLightSolid,background:e.colorPrimaryActive})),$(e.componentCls,e.ghostBg,e.colorPrimary,e.colorPrimary,e.colorTextDisabled,e.colorBorder,{color:e.colorPrimaryHover,borderColor:e.colorPrimaryHover},{color:e.colorPrimaryActive,borderColor:e.colorPrimaryActive})),{["&".concat(e.componentCls,"-dangerous")]:Object.assign(Object.assign(Object.assign({background:e.colorError,boxShadow:e.dangerShadow,color:e.dangerColor},U(e.componentCls,{background:e.colorErrorHover},{background:e.colorErrorActive})),$(e.componentCls,e.ghostBg,e.colorError,e.colorError,e.colorTextDisabled,e.colorBorder,{color:e.colorErrorHover,borderColor:e.colorErrorHover},{color:e.colorErrorActive,borderColor:e.colorErrorActive})),Y(e))}),en=e=>Object.assign(Object.assign({},ee(e)),{borderStyle:"dashed"}),er=e=>Object.assign(Object.assign(Object.assign({color:e.colorLink},U(e.componentCls,{color:e.colorLinkHover,background:e.linkHoverBg},{color:e.colorLinkActive})),J(e)),{["&".concat(e.componentCls,"-dangerous")]:Object.assign(Object.assign({color:e.colorError},U(e.componentCls,{color:e.colorErrorHover},{color:e.colorErrorActive})),J(e))}),eo=e=>Object.assign(Object.assign(Object.assign({},U(e.componentCls,{color:e.colorText,background:e.textHoverBg},{color:e.colorText,background:e.colorBgTextActive})),J(e)),{["&".concat(e.componentCls,"-dangerous")]:Object.assign(Object.assign({color:e.colorError},J(e)),U(e.componentCls,{color:e.colorErrorHover,background:e.colorErrorBg},{color:e.colorErrorHover,background:e.colorErrorBg}))}),ei=e=>{let{componentCls:t}=e;return{["".concat(t,"-default")]:ee(e),["".concat(t,"-primary")]:et(e),["".concat(t,"-dashed")]:en(e),["".concat(t,"-link")]:er(e),["".concat(t,"-text")]:eo(e),["".concat(t,"-ghost")]:$(e.componentCls,e.ghostBg,e.colorBgContainer,e.colorBgContainer,e.colorTextDisabled,e.colorBorder)}},ea=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",{componentCls:n,controlHeight:r,fontSize:o,lineHeight:i,borderRadius:a,buttonPaddingHorizontal:c,iconCls:l,buttonPaddingVertical:u}=e,s="".concat(n,"-icon-only");return[{["".concat(n).concat(t)]:{fontSize:o,lineHeight:i,height:r,padding:"".concat((0,D.bf)(u)," ").concat((0,D.bf)(c)),borderRadius:a,["&".concat(s)]:{width:r,paddingInlineStart:0,paddingInlineEnd:0,["&".concat(n,"-round")]:{width:"auto"},[l]:{fontSize:e.buttonIconOnlyFontSize}},["&".concat(n,"-loading")]:{opacity:e.opacityLoading,cursor:"default"},["".concat(n,"-loading-icon")]:{transition:"width ".concat(e.motionDurationSlow," ").concat(e.motionEaseInOut,", opacity ").concat(e.motionDurationSlow," ").concat(e.motionEaseInOut)}}},{["".concat(n).concat(n,"-circle").concat(t)]:X(e)},{["".concat(n).concat(n,"-round").concat(t)]:G(e)}]},ec=e=>ea((0,L.TS)(e,{fontSize:e.contentFontSize,lineHeight:e.contentLineHeight})),el=e=>ea((0,L.TS)(e,{controlHeight:e.controlHeightSM,fontSize:e.contentFontSizeSM,lineHeight:e.contentLineHeightSM,padding:e.paddingXS,buttonPaddingHorizontal:e.paddingInlineSM,buttonPaddingVertical:e.paddingBlockSM,borderRadius:e.borderRadiusSM,buttonIconOnlyFontSize:e.onlyIconSizeSM}),"".concat(e.componentCls,"-sm")),eu=e=>ea((0,L.TS)(e,{controlHeight:e.controlHeightLG,fontSize:e.contentFontSizeLG,lineHeight:e.contentLineHeightLG,buttonPaddingHorizontal:e.paddingInlineLG,buttonPaddingVertical:e.paddingBlockLG,borderRadius:e.borderRadiusLG,buttonIconOnlyFontSize:e.onlyIconSizeLG}),"".concat(e.componentCls,"-lg")),es=e=>{let{componentCls:t}=e;return{[t]:{["&".concat(t,"-block")]:{width:"100%"}}}};var ef=(0,f.I$)("Button",e=>{let t=W(e);return[V(t),el(t),ec(t),eu(t),es(t),ei(t),F(t)]},q,{unitless:{fontWeight:!0,contentLineHeight:!0,contentLineHeightSM:!0,contentLineHeightLG:!0}}),ed=n(12288);let ep=e=>{let{componentCls:t,calc:n}=e;return{[t]:{["&-compact-item".concat(t,"-primary")]:{["&:not([disabled]) + ".concat(t,"-compact-item").concat(t,"-primary:not([disabled])")]:{position:"relative","&:before":{position:"absolute",top:n(e.lineWidth).mul(-1).equal(),insetInlineStart:n(e.lineWidth).mul(-1).equal(),display:"inline-block",width:e.lineWidth,height:"calc(100% + ".concat((0,D.bf)(e.lineWidth)," * 2)"),backgroundColor:e.colorPrimaryHover,content:'""'}}},"&-compact-vertical-item":{["&".concat(t,"-primary")]:{["&:not([disabled]) + ".concat(t,"-compact-vertical-item").concat(t,"-primary:not([disabled])")]:{position:"relative","&:before":{position:"absolute",top:n(e.lineWidth).mul(-1).equal(),insetInlineStart:n(e.lineWidth).mul(-1).equal(),display:"inline-block",width:"calc(100% + ".concat((0,D.bf)(e.lineWidth)," * 2)"),height:e.lineWidth,backgroundColor:e.colorPrimaryHover,content:'""'}}}}}}};var eh=(0,f.bk)(["Button","compact"],e=>{let t=W(e);return[(0,ed.c)(t),function(e){var t;let n="".concat(e.componentCls,"-compact-vertical");return{[n]:Object.assign(Object.assign({},{["&-item:not(".concat(n,"-last-item)")]:{marginBottom:e.calc(e.lineWidth).mul(-1).equal()},"&-item":{"&:hover,&:focus,&:active":{zIndex:2},"&[disabled]":{zIndex:0}}}),(t=e.componentCls,{["&-item:not(".concat(n,"-first-item):not(").concat(n,"-last-item)")]:{borderRadius:0},["&-item".concat(n,"-first-item:not(").concat(n,"-last-item)")]:{["&, &".concat(t,"-sm, &").concat(t,"-lg")]:{borderEndEndRadius:0,borderEndStartRadius:0}},["&-item".concat(n,"-last-item:not(").concat(n,"-first-item)")]:{["&, &".concat(t,"-sm, &").concat(t,"-lg")]:{borderStartStartRadius:0,borderStartEndRadius:0}}}))}}(t),ep(t)]},q),em=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let ev=(0,r.forwardRef)((e,t)=>{var n,o;let{loading:l=!1,prefixCls:s,type:f="default",danger:d,shape:p="default",size:h,styles:m,disabled:v,className:g,rootClassName:y,children:b,icon:x,ghost:w=!1,block:E=!1,htmlType:O="button",classNames:P,style:N={}}=e,I=em(e,["loading","prefixCls","type","danger","shape","size","styles","disabled","className","rootClassName","children","icon","ghost","block","htmlType","classNames","style"]),{getPrefixCls:Z,autoInsertSpaceInButton:R,direction:D,button:B}=(0,r.useContext)(u.E_),L=Z("btn",s),[z,F,H]=ef(L),W=(0,r.useContext)(C.Z),q=null!=v?v:W,V=(0,r.useContext)(M),U=(0,r.useMemo)(()=>(function(e){if("object"==typeof e&&e){let t=null==e?void 0:e.delay;return{loading:(t=Number.isNaN(t)||"number"!=typeof t?0:t)<=0,delay:t}}return{loading:!!e,delay:0}})(l),[l]),[X,G]=(0,r.useState)(U.loading),[K,$]=(0,r.useState)(!1),Y=(0,r.createRef)(),Q=(0,c.sQ)(t,Y),J=1===r.Children.count(b)&&!x&&!(0,A.Te)(f);(0,r.useEffect)(()=>{let e=null;return U.delay>0?e=setTimeout(()=>{e=null,G(!0)},U.delay):G(U.loading),function(){e&&(clearTimeout(e),e=null)}},[U]),(0,r.useEffect)(()=>{if(!Q||!Q.current||!1===R)return;let e=Q.current.textContent;J&&(0,A.aG)(e)?K||$(!0):K&&$(!1)},[Q]);let ee=t=>{let{onClick:n}=e;if(X||q){t.preventDefault();return}null==n||n(t)},et=!1!==R,{compactSize:en,compactItemClassnames:er}=(0,j.ri)(L,D),eo=(0,k.Z)(e=>{var t,n;return null!==(n=null!==(t=null!=h?h:en)&&void 0!==t?t:V)&&void 0!==n?n:e}),ei=eo&&({large:"lg",small:"sm",middle:void 0})[eo]||"",ea=X?"loading":x,ec=(0,a.Z)(I,["navigate"]),el=i()(L,F,H,{["".concat(L,"-").concat(p)]:"default"!==p&&p,["".concat(L,"-").concat(f)]:f,["".concat(L,"-").concat(ei)]:ei,["".concat(L,"-icon-only")]:!b&&0!==b&&!!ea,["".concat(L,"-background-ghost")]:w&&!(0,A.Te)(f),["".concat(L,"-loading")]:X,["".concat(L,"-two-chinese-chars")]:K&&et&&!X,["".concat(L,"-block")]:E,["".concat(L,"-dangerous")]:!!d,["".concat(L,"-rtl")]:"rtl"===D},er,g,y,null==B?void 0:B.className),eu=Object.assign(Object.assign({},null==B?void 0:B.style),N),es=i()(null==P?void 0:P.icon,null===(n=null==B?void 0:B.classNames)||void 0===n?void 0:n.icon),ed=Object.assign(Object.assign({},(null==m?void 0:m.icon)||{}),(null===(o=null==B?void 0:B.styles)||void 0===o?void 0:o.icon)||{}),ep=x&&!X?r.createElement(T,{prefixCls:L,className:es,style:ed},x):r.createElement(_,{existIcon:!!x,prefixCls:L,loading:!!X}),ev=b||0===b?(0,A.hU)(b,J&&et):null;if(void 0!==ec.href)return z(r.createElement("a",Object.assign({},ec,{className:i()(el,{["".concat(L,"-disabled")]:q}),href:q?void 0:ec.href,style:eu,onClick:ee,ref:Q,tabIndex:q?-1:0}),ep,ev));let eg=r.createElement("button",Object.assign({},I,{type:O,className:el,style:eu,onClick:ee,disabled:q,ref:Q}),ep,ev,!!er&&r.createElement(eh,{key:"compact",prefixCls:L}));return(0,A.Te)(f)||(eg=r.createElement(S,{component:"Button",disabled:!!X},eg)),z(eg)});ev.Group=e=>{let{getPrefixCls:t,direction:n}=r.useContext(u.E_),{prefixCls:o,size:a,className:c}=e,l=P(e,["prefixCls","size","className"]),s=t("btn-group",o),[,,f]=(0,O.ZP)(),d="";switch(a){case"large":d="lg";break;case"small":d="sm"}let p=i()(s,{["".concat(s,"-").concat(d)]:d,["".concat(s,"-rtl")]:"rtl"===n},c,f);return r.createElement(M.Provider,{value:a},r.createElement("div",Object.assign({},l,{className:p})))},ev.__ANT_BUTTON=!0;var eg=ev},17094:function(e,t,n){n.d(t,{n:function(){return i}});var r=n(64090);let o=r.createContext(!1),i=e=>{let{children:t,disabled:n}=e,i=r.useContext(o);return r.createElement(o.Provider,{value:null!=n?n:i},t)};t.Z=o},97303:function(e,t,n){n.d(t,{q:function(){return i}});var r=n(64090);let o=r.createContext(void 0),i=e=>{let{children:t,size:n}=e,i=r.useContext(o);return r.createElement(o.Provider,{value:n||i},t)};t.Z=o},57499:function(e,t,n){n.d(t,{E_:function(){return i},oR:function(){return o}});var r=n(64090);let o="anticon",i=r.createContext({getPrefixCls:(e,t)=>t||(e?"ant-".concat(e):"ant"),iconPrefixCls:o}),{Consumer:a}=i},92935:function(e,t,n){var r=n(24750);t.Z=e=>{let[,,,,t]=(0,r.ZP)();return t?"".concat(e,"-css-var"):""}},10693:function(e,t,n){var r=n(64090),o=n(97303);t.Z=e=>{let t=r.useContext(o.Z);return r.useMemo(()=>e?"string"==typeof e?null!=e?e:t:e instanceof Function?e(t):t:t,[e,t])}},54165:function(e,t,n){let r,o,i,a;n.d(t,{ZP:function(){return q},w6:function(){return F}});var c=n(64090),l=n.t(c,2),u=n(8985),s=n(67689),f=n(61475),d=n(36597),p=n(76564),h=n(12519),m=n(4678),v=n(33302),g=e=>{let{locale:t={},children:n,_ANT_MARK__:r}=e;c.useEffect(()=>(0,m.f)(t&&t.Modal),[t]);let o=c.useMemo(()=>Object.assign(Object.assign({},t),{exist:!0}),[t]);return c.createElement(v.Z.Provider,{value:o},n)},y=n(79474),b=n(43345),x=n(46864),w=n(57499),E=n(12215),O=n(6336),S=n(22127),C=n(24050);let k="-ant-".concat(Date.now(),"-").concat(Math.random());var j=n(17094),P=n(97303),M=n(92536);let{useId:A}=Object.assign({},l);var T=void 0===A?()=>"":A,N=n(49367),I=n(24750);function Z(e){let{children:t}=e,[,n]=(0,I.ZP)(),{motion:r}=n,o=c.useRef(!1);return(o.current=o.current||!1===r,o.current)?c.createElement(N.zt,{motion:r},t):t}var R=()=>null,_=n(28030),D=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let B=["getTargetContainer","getPopupContainer","renderEmpty","pageHeader","input","pagination","form","select","button"];function L(){return r||"ant"}function z(){return o||w.oR}let F=()=>({getPrefixCls:(e,t)=>t||(e?"".concat(L(),"-").concat(e):L()),getIconPrefixCls:z,getRootPrefixCls:()=>r||L(),getTheme:()=>i,holderRender:a}),H=e=>{let{children:t,csp:n,autoInsertSpaceInButton:r,alert:o,anchor:i,form:a,locale:l,componentSize:m,direction:v,space:E,virtual:O,dropdownMatchSelectWidth:S,popupMatchSelectWidth:C,popupOverflow:k,legacyLocale:A,parentContext:N,iconPrefixCls:I,theme:L,componentDisabled:z,segmented:F,statistic:H,spin:W,calendar:q,carousel:V,cascader:U,collapse:X,typography:G,checkbox:K,descriptions:$,divider:Y,drawer:Q,skeleton:J,steps:ee,image:et,layout:en,list:er,mentions:eo,modal:ei,progress:ea,result:ec,slider:el,breadcrumb:eu,menu:es,pagination:ef,input:ed,empty:ep,badge:eh,radio:em,rate:ev,switch:eg,transfer:ey,avatar:eb,message:ex,tag:ew,table:eE,card:eO,tabs:eS,timeline:eC,timePicker:ek,upload:ej,notification:eP,tree:eM,colorPicker:eA,datePicker:eT,rangePicker:eN,flex:eI,wave:eZ,dropdown:eR,warning:e_}=e,eD=c.useCallback((t,n)=>{let{prefixCls:r}=e;if(n)return n;let o=r||N.getPrefixCls("");return t?"".concat(o,"-").concat(t):o},[N.getPrefixCls,e.prefixCls]),eB=I||N.iconPrefixCls||w.oR,eL=n||N.csp;(0,_.Z)(eB,eL);let ez=function(e,t){(0,p.ln)("ConfigProvider");let n=e||{},r=!1!==n.inherit&&t?t:b.u_,o=T();return(0,f.Z)(()=>{var i,a;if(!e)return t;let c=Object.assign({},r.components);Object.keys(e.components||{}).forEach(t=>{c[t]=Object.assign(Object.assign({},c[t]),e.components[t])});let l="css-var-".concat(o.replace(/:/g,"")),u=(null!==(i=n.cssVar)&&void 0!==i?i:r.cssVar)&&Object.assign(Object.assign(Object.assign({prefix:"ant"},"object"==typeof r.cssVar?r.cssVar:{}),"object"==typeof n.cssVar?n.cssVar:{}),{key:"object"==typeof n.cssVar&&(null===(a=n.cssVar)||void 0===a?void 0:a.key)||l});return Object.assign(Object.assign(Object.assign({},r),n),{token:Object.assign(Object.assign({},r.token),n.token),components:c,cssVar:u})},[n,r],(e,t)=>e.some((e,n)=>{let r=t[n];return!(0,M.Z)(e,r,!0)}))}(L,N.theme),eF={csp:eL,autoInsertSpaceInButton:r,alert:o,anchor:i,locale:l||A,direction:v,space:E,virtual:O,popupMatchSelectWidth:null!=C?C:S,popupOverflow:k,getPrefixCls:eD,iconPrefixCls:eB,theme:ez,segmented:F,statistic:H,spin:W,calendar:q,carousel:V,cascader:U,collapse:X,typography:G,checkbox:K,descriptions:$,divider:Y,drawer:Q,skeleton:J,steps:ee,image:et,input:ed,layout:en,list:er,mentions:eo,modal:ei,progress:ea,result:ec,slider:el,breadcrumb:eu,menu:es,pagination:ef,empty:ep,badge:eh,radio:em,rate:ev,switch:eg,transfer:ey,avatar:eb,message:ex,tag:ew,table:eE,card:eO,tabs:eS,timeline:eC,timePicker:ek,upload:ej,notification:eP,tree:eM,colorPicker:eA,datePicker:eT,rangePicker:eN,flex:eI,wave:eZ,dropdown:eR,warning:e_},eH=Object.assign({},N);Object.keys(eF).forEach(e=>{void 0!==eF[e]&&(eH[e]=eF[e])}),B.forEach(t=>{let n=e[t];n&&(eH[t]=n)});let eW=(0,f.Z)(()=>eH,eH,(e,t)=>{let n=Object.keys(e),r=Object.keys(t);return n.length!==r.length||n.some(n=>e[n]!==t[n])}),eq=c.useMemo(()=>({prefixCls:eB,csp:eL}),[eB,eL]),eV=c.createElement(c.Fragment,null,c.createElement(R,{dropdownMatchSelectWidth:S}),t),eU=c.useMemo(()=>{var e,t,n,r;return(0,d.T)((null===(e=y.Z.Form)||void 0===e?void 0:e.defaultValidateMessages)||{},(null===(n=null===(t=eW.locale)||void 0===t?void 0:t.Form)||void 0===n?void 0:n.defaultValidateMessages)||{},(null===(r=eW.form)||void 0===r?void 0:r.validateMessages)||{},(null==a?void 0:a.validateMessages)||{})},[eW,null==a?void 0:a.validateMessages]);Object.keys(eU).length>0&&(eV=c.createElement(h.Z.Provider,{value:eU},eV)),l&&(eV=c.createElement(g,{locale:l,_ANT_MARK__:"internalMark"},eV)),(eB||eL)&&(eV=c.createElement(s.Z.Provider,{value:eq},eV)),m&&(eV=c.createElement(P.q,{size:m},eV)),eV=c.createElement(Z,null,eV);let eX=c.useMemo(()=>{let e=ez||{},{algorithm:t,token:n,components:r,cssVar:o}=e,i=D(e,["algorithm","token","components","cssVar"]),a=t&&(!Array.isArray(t)||t.length>0)?(0,u.jG)(t):b.uH,c={};Object.entries(r||{}).forEach(e=>{let[t,n]=e,r=Object.assign({},n);"algorithm"in r&&(!0===r.algorithm?r.theme=a:(Array.isArray(r.algorithm)||"function"==typeof r.algorithm)&&(r.theme=(0,u.jG)(r.algorithm)),delete r.algorithm),c[t]=r});let l=Object.assign(Object.assign({},x.Z),n);return Object.assign(Object.assign({},i),{theme:a,token:l,components:c,override:Object.assign({override:l},c),cssVar:o})},[ez]);return L&&(eV=c.createElement(b.Mj.Provider,{value:eX},eV)),eW.warning&&(eV=c.createElement(p.G8.Provider,{value:eW.warning},eV)),void 0!==z&&(eV=c.createElement(j.n,{disabled:z},eV)),c.createElement(w.E_.Provider,{value:eW},eV)},W=e=>{let t=c.useContext(w.E_),n=c.useContext(v.Z);return c.createElement(H,Object.assign({parentContext:t,legacyLocale:n},e))};W.ConfigContext=w.E_,W.SizeContext=P.Z,W.config=e=>{let{prefixCls:t,iconPrefixCls:n,theme:c,holderRender:l}=e;void 0!==t&&(r=t),void 0!==n&&(o=n),"holderRender"in e&&(a=l),c&&(Object.keys(c).some(e=>e.endsWith("Color"))?function(e,t){let n=function(e,t){let n={},r=(e,t)=>{let n=e.clone();return(n=(null==t?void 0:t(n))||n).toRgbString()},o=(e,t)=>{let o=new O.C(e),i=(0,E.R_)(o.toRgbString());n["".concat(t,"-color")]=r(o),n["".concat(t,"-color-disabled")]=i[1],n["".concat(t,"-color-hover")]=i[4],n["".concat(t,"-color-active")]=i[6],n["".concat(t,"-color-outline")]=o.clone().setAlpha(.2).toRgbString(),n["".concat(t,"-color-deprecated-bg")]=i[0],n["".concat(t,"-color-deprecated-border")]=i[2]};if(t.primaryColor){o(t.primaryColor,"primary");let e=new O.C(t.primaryColor),i=(0,E.R_)(e.toRgbString());i.forEach((e,t)=>{n["primary-".concat(t+1)]=e}),n["primary-color-deprecated-l-35"]=r(e,e=>e.lighten(35)),n["primary-color-deprecated-l-20"]=r(e,e=>e.lighten(20)),n["primary-color-deprecated-t-20"]=r(e,e=>e.tint(20)),n["primary-color-deprecated-t-50"]=r(e,e=>e.tint(50)),n["primary-color-deprecated-f-12"]=r(e,e=>e.setAlpha(.12*e.getAlpha()));let a=new O.C(i[0]);n["primary-color-active-deprecated-f-30"]=r(a,e=>e.setAlpha(.3*e.getAlpha())),n["primary-color-active-deprecated-d-02"]=r(a,e=>e.darken(2))}t.successColor&&o(t.successColor,"success"),t.warningColor&&o(t.warningColor,"warning"),t.errorColor&&o(t.errorColor,"error"),t.infoColor&&o(t.infoColor,"info");let i=Object.keys(n).map(t=>"--".concat(e,"-").concat(t,": ").concat(n[t],";"));return"\n :root {\n ".concat(i.join("\n"),"\n }\n ").trim()}(e,t);(0,S.Z)()&&(0,C.hq)(n,"".concat(k,"-dynamic-theme"))}(L(),c):i=c)},W.useConfig=function(){return{componentDisabled:(0,c.useContext)(j.Z),componentSize:(0,c.useContext)(P.Z)}},Object.defineProperty(W,"SizeContext",{get:()=>P.Z});var q=W},47137:function(e,t,n){n.d(t,{RV:function(){return l},Rk:function(){return u},Ux:function(){return f},aM:function(){return s},pg:function(){return d},q3:function(){return a},qI:function(){return c}});var r=n(64090),o=n(76570),i=n(35704);let a=r.createContext({labelAlign:"right",vertical:!1,itemRef:()=>{}}),c=r.createContext(null),l=e=>{let t=(0,i.Z)(e,["prefixCls"]);return r.createElement(o.RV,Object.assign({},t))},u=r.createContext({prefixCls:""}),s=r.createContext({}),f=e=>{let{children:t,status:n,override:o}=e,i=(0,r.useContext)(s),a=(0,r.useMemo)(()=>{let e=Object.assign({},i);return o&&delete e.isFormItemInput,n&&(delete e.status,delete e.hasFeedback,delete e.feedbackIcon),e},[n,o,i]);return r.createElement(s.Provider,{value:a},t)},d=(0,r.createContext)(void 0)},8443:function(e,t,n){var r=n(64090),o=n(47137);let i=["outlined","borderless","filled"];t.Z=function(e){let t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,a=(0,r.useContext)(o.pg);t=void 0!==e?e:!1===n?"borderless":null!=a?a:"outlined";let c=i.includes(t);return[t,c]}},12143:function(e,t,n){n.d(t,{Z:function(){return eY}});var r=n(63787),o=n(16480),i=n.n(o),a=n(49367),c=n(64090),l=n(47387),u=n(47137);function s(e){let[t,n]=c.useState(e);return c.useEffect(()=>{let t=setTimeout(()=>{n(e)},e.length?0:10);return()=>{clearTimeout(t)}},[e]),t}var f=n(8985),d=n(11303),p=n(58854),h=n(46154),m=n(80316),v=n(76585),g=e=>{let{componentCls:t}=e,n="".concat(t,"-show-help"),r="".concat(t,"-show-help-item");return{[n]:{transition:"opacity ".concat(e.motionDurationSlow," ").concat(e.motionEaseInOut),"&-appear, &-enter":{opacity:0,"&-active":{opacity:1}},"&-leave":{opacity:1,"&-active":{opacity:0}},[r]:{overflow:"hidden",transition:"height ".concat(e.motionDurationSlow," ").concat(e.motionEaseInOut,",\n opacity ").concat(e.motionDurationSlow," ").concat(e.motionEaseInOut,",\n transform ").concat(e.motionDurationSlow," ").concat(e.motionEaseInOut," !important"),["&".concat(r,"-appear, &").concat(r,"-enter")]:{transform:"translateY(-5px)",opacity:0,"&-active":{transform:"translateY(0)",opacity:1}},["&".concat(r,"-leave-active")]:{transform:"translateY(-5px)"}}}}};let y=e=>({legend:{display:"block",width:"100%",marginBottom:e.marginLG,padding:0,color:e.colorTextDescription,fontSize:e.fontSizeLG,lineHeight:"inherit",border:0,borderBottom:"".concat((0,f.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorBorder)},'input[type="search"]':{boxSizing:"border-box"},'input[type="radio"], input[type="checkbox"]':{lineHeight:"normal"},'input[type="file"]':{display:"block"},'input[type="range"]':{display:"block",width:"100%"},"select[multiple], select[size]":{height:"auto"},"input[type='file']:focus,\n input[type='radio']:focus,\n input[type='checkbox']:focus":{outline:0,boxShadow:"0 0 0 ".concat((0,f.bf)(e.controlOutlineWidth)," ").concat(e.controlOutline)},output:{display:"block",paddingTop:15,color:e.colorText,fontSize:e.fontSize,lineHeight:e.lineHeight}}),b=(e,t)=>{let{formItemCls:n}=e;return{[n]:{["".concat(n,"-label > label")]:{height:t},["".concat(n,"-control-input")]:{minHeight:t}}}},x=e=>{let{componentCls:t}=e;return{[e.componentCls]:Object.assign(Object.assign(Object.assign({},(0,d.Wf)(e)),y(e)),{["".concat(t,"-text")]:{display:"inline-block",paddingInlineEnd:e.paddingSM},"&-small":Object.assign({},b(e,e.controlHeightSM)),"&-large":Object.assign({},b(e,e.controlHeightLG))})}},w=e=>{let{formItemCls:t,iconCls:n,componentCls:r,rootPrefixCls:o,labelRequiredMarkColor:i,labelColor:a,labelFontSize:c,labelHeight:l,labelColonMarginInlineStart:u,labelColonMarginInlineEnd:s,itemMarginBottom:f}=e;return{[t]:Object.assign(Object.assign({},(0,d.Wf)(e)),{marginBottom:f,verticalAlign:"top","&-with-help":{transition:"none"},["&-hidden,\n &-hidden.".concat(o,"-row")]:{display:"none"},"&-has-warning":{["".concat(t,"-split")]:{color:e.colorError}},"&-has-error":{["".concat(t,"-split")]:{color:e.colorWarning}},["".concat(t,"-label")]:{flexGrow:0,overflow:"hidden",whiteSpace:"nowrap",textAlign:"end",verticalAlign:"middle","&-left":{textAlign:"start"},"&-wrap":{overflow:"unset",lineHeight:e.lineHeight,whiteSpace:"unset"},"> label":{position:"relative",display:"inline-flex",alignItems:"center",maxWidth:"100%",height:l,color:a,fontSize:c,["> ".concat(n)]:{fontSize:e.fontSize,verticalAlign:"top"},["&".concat(t,"-required:not(").concat(t,"-required-mark-optional)::before")]:{display:"inline-block",marginInlineEnd:e.marginXXS,color:i,fontSize:e.fontSize,fontFamily:"SimSun, sans-serif",lineHeight:1,content:'"*"',["".concat(r,"-hide-required-mark &")]:{display:"none"}},["".concat(t,"-optional")]:{display:"inline-block",marginInlineStart:e.marginXXS,color:e.colorTextDescription,["".concat(r,"-hide-required-mark &")]:{display:"none"}},["".concat(t,"-tooltip")]:{color:e.colorTextDescription,cursor:"help",writingMode:"horizontal-tb",marginInlineStart:e.marginXXS},"&::after":{content:'":"',position:"relative",marginBlock:0,marginInlineStart:u,marginInlineEnd:s},["&".concat(t,"-no-colon::after")]:{content:'"\\a0"'}}},["".concat(t,"-control")]:{"--ant-display":"flex",flexDirection:"column",flexGrow:1,["&:first-child:not([class^=\"'".concat(o,"-col-'\"]):not([class*=\"' ").concat(o,"-col-'\"])")]:{width:"100%"},"&-input":{position:"relative",display:"flex",alignItems:"center",minHeight:e.controlHeight,"&-content":{flex:"auto",maxWidth:"100%"}}},[t]:{"&-explain, &-extra":{clear:"both",color:e.colorTextDescription,fontSize:e.fontSize,lineHeight:e.lineHeight},"&-explain-connected":{width:"100%"},"&-extra":{minHeight:e.controlHeightSM,transition:"color ".concat(e.motionDurationMid," ").concat(e.motionEaseOut)},"&-explain":{"&-error":{color:e.colorError},"&-warning":{color:e.colorWarning}}},["&-with-help ".concat(t,"-explain")]:{height:"auto",opacity:1},["".concat(t,"-feedback-icon")]:{fontSize:e.fontSize,textAlign:"center",visibility:"visible",animationName:p.kr,animationDuration:e.motionDurationMid,animationTimingFunction:e.motionEaseOutBack,pointerEvents:"none","&-success":{color:e.colorSuccess},"&-error":{color:e.colorError},"&-warning":{color:e.colorWarning},"&-validating":{color:e.colorPrimary}}})}},E=e=>{let{componentCls:t,formItemCls:n}=e;return{["".concat(t,"-horizontal")]:{["".concat(n,"-label")]:{flexGrow:0},["".concat(n,"-control")]:{flex:"1 1 0",minWidth:0},["".concat(n,"-label[class$='-24'], ").concat(n,"-label[class*='-24 ']")]:{["& + ".concat(n,"-control")]:{minWidth:"unset"}}}}},O=e=>{let{componentCls:t,formItemCls:n}=e;return{["".concat(t,"-inline")]:{display:"flex",flexWrap:"wrap",[n]:{flex:"none",marginInlineEnd:e.margin,marginBottom:0,"&-row":{flexWrap:"nowrap"},["> ".concat(n,"-label,\n > ").concat(n,"-control")]:{display:"inline-block",verticalAlign:"top"},["> ".concat(n,"-label")]:{flex:"none"},["".concat(t,"-text")]:{display:"inline-block"},["".concat(n,"-has-feedback")]:{display:"inline-block"}}}}},S=e=>({padding:e.verticalLabelPadding,margin:e.verticalLabelMargin,whiteSpace:"initial",textAlign:"start","> label":{margin:0,"&::after":{visibility:"hidden"}}}),C=e=>{let{componentCls:t,formItemCls:n,rootPrefixCls:r}=e;return{["".concat(n," ").concat(n,"-label")]:S(e),["".concat(t,":not(").concat(t,"-inline)")]:{[n]:{flexWrap:"wrap",["".concat(n,"-label, ").concat(n,"-control")]:{['&:not([class*=" '.concat(r,'-col-xs"])')]:{flex:"0 0 100%",maxWidth:"100%"}}}}}},k=e=>{let{componentCls:t,formItemCls:n,rootPrefixCls:r}=e;return{["".concat(t,"-vertical")]:{[n]:{"&-row":{flexDirection:"column"},"&-label > label":{height:"auto"},["".concat(t,"-item-control")]:{width:"100%"}}},["".concat(t,"-vertical ").concat(n,"-label,\n .").concat(r,"-col-24").concat(n,"-label,\n .").concat(r,"-col-xl-24").concat(n,"-label")]:S(e),["@media (max-width: ".concat((0,f.bf)(e.screenXSMax),")")]:[C(e),{[t]:{[".".concat(r,"-col-xs-24").concat(n,"-label")]:S(e)}}],["@media (max-width: ".concat((0,f.bf)(e.screenSMMax),")")]:{[t]:{[".".concat(r,"-col-sm-24").concat(n,"-label")]:S(e)}},["@media (max-width: ".concat((0,f.bf)(e.screenMDMax),")")]:{[t]:{[".".concat(r,"-col-md-24").concat(n,"-label")]:S(e)}},["@media (max-width: ".concat((0,f.bf)(e.screenLGMax),")")]:{[t]:{[".".concat(r,"-col-lg-24").concat(n,"-label")]:S(e)}}}},j=(e,t)=>(0,m.TS)(e,{formItemCls:"".concat(e.componentCls,"-item"),rootPrefixCls:t});var P=(0,v.I$)("Form",(e,t)=>{let{rootPrefixCls:n}=t,r=j(e,n);return[x(r),w(r),g(r),E(r),O(r),k(r),(0,h.Z)(r),p.kr]},e=>({labelRequiredMarkColor:e.colorError,labelColor:e.colorTextHeading,labelFontSize:e.fontSize,labelHeight:e.controlHeight,labelColonMarginInlineStart:e.marginXXS/2,labelColonMarginInlineEnd:e.marginXS,itemMarginBottom:e.marginLG,verticalLabelPadding:"0 0 ".concat(e.paddingXS,"px"),verticalLabelMargin:0}),{order:-1e3}),M=n(92935);let A=[];function T(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return{key:"string"==typeof e?e:"".concat(t,"-").concat(r),error:e,errorStatus:n}}var N=e=>{let{help:t,helpStatus:n,errors:o=A,warnings:f=A,className:d,fieldId:p,onVisibleChanged:h}=e,{prefixCls:m}=c.useContext(u.Rk),v="".concat(m,"-item-explain"),g=(0,M.Z)(m),[y,b,x]=P(m,g),w=(0,c.useMemo)(()=>(0,l.Z)(m),[m]),E=s(o),O=s(f),S=c.useMemo(()=>null!=t?[T(t,"help",n)]:[].concat((0,r.Z)(E.map((e,t)=>T(e,"error","error",t))),(0,r.Z)(O.map((e,t)=>T(e,"warning","warning",t)))),[t,n,E,O]),C={};return p&&(C.id="".concat(p,"_help")),y(c.createElement(a.ZP,{motionDeadline:w.motionDeadline,motionName:"".concat(m,"-show-help"),visible:!!S.length,onVisibleChanged:h},e=>{let{className:t,style:n}=e;return c.createElement("div",Object.assign({},C,{className:i()(v,t,x,g,d,b),style:n,role:"alert"}),c.createElement(a.V4,Object.assign({keys:S},(0,l.Z)(m),{motionName:"".concat(m,"-show-help-item"),component:!1}),e=>{let{key:t,error:n,errorStatus:r,className:o,style:a}=e;return c.createElement("div",{key:t,className:i()(o,{["".concat(v,"-").concat(r)]:r}),style:a},n)}))}))},I=n(76570),Z=n(57499),R=n(17094),_=n(10693),D=n(97303);let B=e=>"object"==typeof e&&null!=e&&1===e.nodeType,L=(e,t)=>(!t||"hidden"!==e)&&"visible"!==e&&"clip"!==e,z=(e,t)=>{if(e.clientHeight{let t=(e=>{if(!e.ownerDocument||!e.ownerDocument.defaultView)return null;try{return e.ownerDocument.defaultView.frameElement}catch(e){return null}})(e);return!!t&&(t.clientHeightit||i>e&&a=t&&c>=n?i-e-r:a>t&&cn?a-t+o:0,H=e=>{let t=e.parentElement;return null==t?e.getRootNode().host||null:t},W=(e,t)=>{var n,r,o,i;if("undefined"==typeof document)return[];let{scrollMode:a,block:c,inline:l,boundary:u,skipOverflowHiddenElements:s}=t,f="function"==typeof u?u:e=>e!==u;if(!B(e))throw TypeError("Invalid target");let d=document.scrollingElement||document.documentElement,p=[],h=e;for(;B(h)&&f(h);){if((h=H(h))===d){p.push(h);break}null!=h&&h===document.body&&z(h)&&!z(document.documentElement)||null!=h&&z(h,s)&&p.push(h)}let m=null!=(r=null==(n=window.visualViewport)?void 0:n.width)?r:innerWidth,v=null!=(i=null==(o=window.visualViewport)?void 0:o.height)?i:innerHeight,{scrollX:g,scrollY:y}=window,{height:b,width:x,top:w,right:E,bottom:O,left:S}=e.getBoundingClientRect(),{top:C,right:k,bottom:j,left:P}=(e=>{let t=window.getComputedStyle(e);return{top:parseFloat(t.scrollMarginTop)||0,right:parseFloat(t.scrollMarginRight)||0,bottom:parseFloat(t.scrollMarginBottom)||0,left:parseFloat(t.scrollMarginLeft)||0}})(e),M="start"===c||"nearest"===c?w-C:"end"===c?O+j:w+b/2-C+j,A="center"===l?S+x/2-P+k:"end"===l?E+k:S-P,T=[];for(let e=0;e=0&&S>=0&&O<=v&&E<=m&&w>=o&&O<=u&&S>=s&&E<=i)break;let f=getComputedStyle(t),h=parseInt(f.borderLeftWidth,10),C=parseInt(f.borderTopWidth,10),k=parseInt(f.borderRightWidth,10),j=parseInt(f.borderBottomWidth,10),P=0,N=0,I="offsetWidth"in t?t.offsetWidth-t.clientWidth-h-k:0,Z="offsetHeight"in t?t.offsetHeight-t.clientHeight-C-j:0,R="offsetWidth"in t?0===t.offsetWidth?0:r/t.offsetWidth:0,_="offsetHeight"in t?0===t.offsetHeight?0:n/t.offsetHeight:0;if(d===t)P="start"===c?M:"end"===c?M-v:"nearest"===c?F(y,y+v,v,C,j,y+M,y+M+b,b):M-v/2,N="start"===l?A:"center"===l?A-m/2:"end"===l?A-m:F(g,g+m,m,h,k,g+A,g+A+x,x),P=Math.max(0,P+y),N=Math.max(0,N+g);else{P="start"===c?M-o-C:"end"===c?M-u+j+Z:"nearest"===c?F(o,u,n,C,j+Z,M,M+b,b):M-(o+n/2)+Z/2,N="start"===l?A-s-h:"center"===l?A-(s+r/2)+I/2:"end"===l?A-i+k+I:F(s,i,r,h,k+I,A,A+x,x);let{scrollLeft:e,scrollTop:a}=t;P=0===_?0:Math.max(0,Math.min(a+P/_,t.scrollHeight-n/_+Z)),N=0===R?0:Math.max(0,Math.min(e+N/R,t.scrollWidth-r/R+I)),M+=a-P,A+=e-N}T.push({el:t,top:P,left:N})}return T},q=e=>!1===e?{block:"end",inline:"nearest"}:e===Object(e)&&0!==Object.keys(e).length?e:{block:"start",inline:"nearest"},V=["parentNode"];function U(e){return void 0===e||!1===e?[]:Array.isArray(e)?e:[e]}function X(e,t){if(!e.length)return;let n=e.join("_");return t?"".concat(t,"_").concat(n):V.includes(n)?"".concat("form_item","_").concat(n):n}function G(e,t,n,r,o,i){let a=r;return void 0!==i?a=i:n.validating?a="validating":e.length?a="error":t.length?a="warning":(n.touched||o&&n.validated)&&(a="success"),a}function K(e){return U(e).join("_")}function $(e){let[t]=(0,I.cI)(),n=c.useRef({}),r=c.useMemo(()=>null!=e?e:Object.assign(Object.assign({},t),{__INTERNAL__:{itemRef:e=>t=>{let r=K(e);t?n.current[r]=t:delete n.current[r]}},scrollToField:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=X(U(e),r.__INTERNAL__.name),o=n?document.getElementById(n):null;o&&function(e,t){if(!e.isConnected||!(e=>{let t=e;for(;t&&t.parentNode;){if(t.parentNode===document)return!0;t=t.parentNode instanceof ShadowRoot?t.parentNode.host:t.parentNode}return!1})(e))return;let n=(e=>{let t=window.getComputedStyle(e);return{top:parseFloat(t.scrollMarginTop)||0,right:parseFloat(t.scrollMarginRight)||0,bottom:parseFloat(t.scrollMarginBottom)||0,left:parseFloat(t.scrollMarginLeft)||0}})(e);if("object"==typeof t&&"function"==typeof t.behavior)return t.behavior(W(e,t));let r="boolean"==typeof t||null==t?void 0:t.behavior;for(let{el:o,top:i,left:a}of W(e,q(t))){let e=i-n.top+n.bottom,t=a-n.left+n.right;o.scroll({top:e,left:t,behavior:r})}}(o,Object.assign({scrollMode:"if-needed",block:"nearest"},t))},getFieldInstance:e=>{let t=K(e);return n.current[t]}}),[e,t]);return[r]}var Y=n(12519),Q=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let J=c.forwardRef((e,t)=>{let n=c.useContext(R.Z),{getPrefixCls:r,direction:o,form:a}=c.useContext(Z.E_),{prefixCls:l,className:s,rootClassName:f,size:d,disabled:p=n,form:h,colon:m,labelAlign:v,labelWrap:g,labelCol:y,wrapperCol:b,hideRequiredMark:x,layout:w="horizontal",scrollToFirstError:E,requiredMark:O,onFinishFailed:S,name:C,style:k,feedbackIcons:j,variant:A}=e,T=Q(e,["prefixCls","className","rootClassName","size","disabled","form","colon","labelAlign","labelWrap","labelCol","wrapperCol","hideRequiredMark","layout","scrollToFirstError","requiredMark","onFinishFailed","name","style","feedbackIcons","variant"]),N=(0,_.Z)(d),B=c.useContext(Y.Z),L=(0,c.useMemo)(()=>void 0!==O?O:!x&&(!a||void 0===a.requiredMark||a.requiredMark),[x,O,a]),z=null!=m?m:null==a?void 0:a.colon,F=r("form",l),H=(0,M.Z)(F),[W,q,V]=P(F,H),U=i()(F,"".concat(F,"-").concat(w),{["".concat(F,"-hide-required-mark")]:!1===L,["".concat(F,"-rtl")]:"rtl"===o,["".concat(F,"-").concat(N)]:N},V,H,q,null==a?void 0:a.className,s,f),[X]=$(h),{__INTERNAL__:G}=X;G.name=C;let K=(0,c.useMemo)(()=>({name:C,labelAlign:v,labelCol:y,labelWrap:g,wrapperCol:b,vertical:"vertical"===w,colon:z,requiredMark:L,itemRef:G.itemRef,form:X,feedbackIcons:j}),[C,v,y,b,w,z,L,X,j]);c.useImperativeHandle(t,()=>X);let J=(e,t)=>{if(e){let n={block:"nearest"};"object"==typeof e&&(n=e),X.scrollToField(t,n)}};return W(c.createElement(u.pg.Provider,{value:A},c.createElement(R.n,{disabled:p},c.createElement(D.Z.Provider,{value:N},c.createElement(u.RV,{validateMessages:B},c.createElement(u.q3.Provider,{value:K},c.createElement(I.ZP,Object.assign({id:C},T,{name:C,onFinishFailed:e=>{if(null==S||S(e),e.errorFields.length){let t=e.errorFields[0].name;if(void 0!==E){J(E,t);return}a&&void 0!==a.scrollToFirstError&&J(a.scrollToFirstError,t)}},form:X,style:Object.assign(Object.assign({},null==a?void 0:a.style),k),className:U}))))))))});var ee=n(89211),et=n(74084),en=n(65823),er=n(76564),eo=n(33054);let ei=()=>{let{status:e,errors:t=[],warnings:n=[]}=(0,c.useContext)(u.aM);return{status:e,errors:t,warnings:n}};ei.Context=u.aM;var ea=n(19223),ec=n(73193),el=n(24800),eu=n(35704),es=n(24750);let ef=["xxl","xl","lg","md","sm","xs"],ed=e=>({xs:"(max-width: ".concat(e.screenXSMax,"px)"),sm:"(min-width: ".concat(e.screenSM,"px)"),md:"(min-width: ".concat(e.screenMD,"px)"),lg:"(min-width: ".concat(e.screenLG,"px)"),xl:"(min-width: ".concat(e.screenXL,"px)"),xxl:"(min-width: ".concat(e.screenXXL,"px)")}),ep=e=>{let t=[].concat(ef).reverse();return t.forEach((n,r)=>{let o=n.toUpperCase(),i="screen".concat(o,"Min"),a="screen".concat(o);if(!(e[i]<=e[a]))throw Error("".concat(i,"<=").concat(a," fails : !(").concat(e[i],"<=").concat(e[a],")"));if(r{let{componentCls:t}=e;return{[t]:{position:"relative",maxWidth:"100%",minHeight:1}}},ev=(e,t)=>{let{componentCls:n,gridColumns:r}=e,o={};for(let e=r;e>=0;e--)0===e?(o["".concat(n).concat(t,"-").concat(e)]={display:"none"},o["".concat(n,"-push-").concat(e)]={insetInlineStart:"auto"},o["".concat(n,"-pull-").concat(e)]={insetInlineEnd:"auto"},o["".concat(n).concat(t,"-push-").concat(e)]={insetInlineStart:"auto"},o["".concat(n).concat(t,"-pull-").concat(e)]={insetInlineEnd:"auto"},o["".concat(n).concat(t,"-offset-").concat(e)]={marginInlineStart:0},o["".concat(n).concat(t,"-order-").concat(e)]={order:0}):(o["".concat(n).concat(t,"-").concat(e)]=[{"--ant-display":"block",display:"block"},{display:"var(--ant-display)",flex:"0 0 ".concat(e/r*100,"%"),maxWidth:"".concat(e/r*100,"%")}],o["".concat(n).concat(t,"-push-").concat(e)]={insetInlineStart:"".concat(e/r*100,"%")},o["".concat(n).concat(t,"-pull-").concat(e)]={insetInlineEnd:"".concat(e/r*100,"%")},o["".concat(n).concat(t,"-offset-").concat(e)]={marginInlineStart:"".concat(e/r*100,"%")},o["".concat(n).concat(t,"-order-").concat(e)]={order:e});return o},eg=(e,t)=>ev(e,t),ey=(e,t,n)=>({["@media (min-width: ".concat((0,f.bf)(t),")")]:Object.assign({},eg(e,n))}),eb=(0,v.I$)("Grid",e=>{let{componentCls:t}=e;return{[t]:{display:"flex",flexFlow:"row wrap",minWidth:0,"&::before, &::after":{display:"flex"},"&-no-wrap":{flexWrap:"nowrap"},"&-start":{justifyContent:"flex-start"},"&-center":{justifyContent:"center"},"&-end":{justifyContent:"flex-end"},"&-space-between":{justifyContent:"space-between"},"&-space-around":{justifyContent:"space-around"},"&-space-evenly":{justifyContent:"space-evenly"},"&-top":{alignItems:"flex-start"},"&-middle":{alignItems:"center"},"&-bottom":{alignItems:"flex-end"}}}},()=>({})),ex=(0,v.I$)("Grid",e=>{let t=(0,m.TS)(e,{gridColumns:24}),n={"-sm":t.screenSMMin,"-md":t.screenMDMin,"-lg":t.screenLGMin,"-xl":t.screenXLMin,"-xxl":t.screenXXLMin};return[em(t),eg(t,""),eg(t,"-xs"),Object.keys(n).map(e=>ey(t,n[e],e)).reduce((e,t)=>Object.assign(Object.assign({},e),t),{})]},()=>({}));var ew=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};function eE(e,t){let[n,r]=c.useState("string"==typeof e?e:""),o=()=>{if("string"==typeof e&&r(e),"object"==typeof e)for(let n=0;n{o()},[JSON.stringify(e),t]),n}let eO=c.forwardRef((e,t)=>{let{prefixCls:n,justify:r,align:o,className:a,style:l,children:u,gutter:s=0,wrap:f}=e,d=ew(e,["prefixCls","justify","align","className","style","children","gutter","wrap"]),{getPrefixCls:p,direction:h}=c.useContext(Z.E_),[m,v]=c.useState({xs:!0,sm:!0,md:!0,lg:!0,xl:!0,xxl:!0}),[g,y]=c.useState({xs:!1,sm:!1,md:!1,lg:!1,xl:!1,xxl:!1}),b=eE(o,g),x=eE(r,g),w=c.useRef(s),E=function(){let[,e]=(0,es.ZP)(),t=ed(ep(e));return c.useMemo(()=>{let e=new Map,n=-1,r={};return{matchHandlers:{},dispatch:t=>(r=t,e.forEach(e=>e(r)),e.size>=1),subscribe(t){return e.size||this.register(),n+=1,e.set(n,t),t(r),n},unsubscribe(t){e.delete(t),e.size||this.unregister()},unregister(){Object.keys(t).forEach(e=>{let n=t[e],r=this.matchHandlers[n];null==r||r.mql.removeListener(null==r?void 0:r.listener)}),e.clear()},register(){Object.keys(t).forEach(e=>{let n=t[e],o=t=>{let{matches:n}=t;this.dispatch(Object.assign(Object.assign({},r),{[e]:n}))},i=window.matchMedia(n);i.addListener(o),this.matchHandlers[n]={mql:i,listener:o},o(i)})},responsiveMap:t}},[e])}();c.useEffect(()=>{let e=E.subscribe(e=>{y(e);let t=w.current||0;(!Array.isArray(t)&&"object"==typeof t||Array.isArray(t)&&("object"==typeof t[0]||"object"==typeof t[1]))&&v(e)});return()=>E.unsubscribe(e)},[]);let O=p("row",n),[S,C,k]=eb(O),j=(()=>{let e=[void 0,void 0];return(Array.isArray(s)?s:[s,void 0]).forEach((t,n)=>{if("object"==typeof t)for(let r=0;r0?-(j[0]/2):void 0;A&&(M.marginLeft=A,M.marginRight=A),[,M.rowGap]=j;let[T,N]=j,I=c.useMemo(()=>({gutter:[T,N],wrap:f}),[T,N,f]);return S(c.createElement(eh.Provider,{value:I},c.createElement("div",Object.assign({},d,{className:P,style:Object.assign(Object.assign({},M),l),ref:t}),u)))});var eS=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let eC=["xs","sm","md","lg","xl","xxl"],ek=c.forwardRef((e,t)=>{let{getPrefixCls:n,direction:r}=c.useContext(Z.E_),{gutter:o,wrap:a}=c.useContext(eh),{prefixCls:l,span:u,order:s,offset:f,push:d,pull:p,className:h,children:m,flex:v,style:g}=e,y=eS(e,["prefixCls","span","order","offset","push","pull","className","children","flex","style"]),b=n("col",l),[x,w,E]=ex(b),O={};eC.forEach(t=>{let n={},o=e[t];"number"==typeof o?n.span=o:"object"==typeof o&&(n=o||{}),delete y[t],O=Object.assign(Object.assign({},O),{["".concat(b,"-").concat(t,"-").concat(n.span)]:void 0!==n.span,["".concat(b,"-").concat(t,"-order-").concat(n.order)]:n.order||0===n.order,["".concat(b,"-").concat(t,"-offset-").concat(n.offset)]:n.offset||0===n.offset,["".concat(b,"-").concat(t,"-push-").concat(n.push)]:n.push||0===n.push,["".concat(b,"-").concat(t,"-pull-").concat(n.pull)]:n.pull||0===n.pull,["".concat(b,"-").concat(t,"-flex-").concat(n.flex)]:n.flex||"auto"===n.flex,["".concat(b,"-rtl")]:"rtl"===r})});let S=i()(b,{["".concat(b,"-").concat(u)]:void 0!==u,["".concat(b,"-order-").concat(s)]:s,["".concat(b,"-offset-").concat(f)]:f,["".concat(b,"-push-").concat(d)]:d,["".concat(b,"-pull-").concat(p)]:p},h,O,w,E),C={};if(o&&o[0]>0){let e=o[0]/2;C.paddingLeft=e,C.paddingRight=e}return v&&(C.flex="number"==typeof v?"".concat(v," ").concat(v," auto"):/^\d+(\.\d+)?(px|em|rem|%)$/.test(v)?"0 0 ".concat(v):v,!1!==a||C.minWidth||(C.minWidth=0)),x(c.createElement("div",Object.assign({},y,{style:Object.assign(Object.assign({},C),g),className:S,ref:t}),m))}),ej=e=>{let{formItemCls:t}=e;return{"@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none)":{["".concat(t,"-control")]:{display:"flex"}}}};var eP=(0,v.bk)(["Form","item-item"],(e,t)=>{let{rootPrefixCls:n}=t;return[ej(j(e,n))]}),eM=e=>{let{prefixCls:t,status:n,wrapperCol:r,children:o,errors:a,warnings:l,_internalItemRender:s,extra:f,help:d,fieldId:p,marginBottom:h,onErrorVisibleChanged:m}=e,v="".concat(t,"-item"),g=c.useContext(u.q3),y=r||g.wrapperCol||{},b=i()("".concat(v,"-control"),y.className),x=c.useMemo(()=>Object.assign({},g),[g]);delete x.labelCol,delete x.wrapperCol;let w=c.createElement("div",{className:"".concat(v,"-control-input")},c.createElement("div",{className:"".concat(v,"-control-input-content")},o)),E=c.useMemo(()=>({prefixCls:t,status:n}),[t,n]),O=null!==h||a.length||l.length?c.createElement("div",{style:{display:"flex",flexWrap:"nowrap"}},c.createElement(u.Rk.Provider,{value:E},c.createElement(N,{fieldId:p,errors:a,warnings:l,help:d,helpStatus:n,className:"".concat(v,"-explain-connected"),onVisibleChanged:m})),!!h&&c.createElement("div",{style:{width:0,height:h}})):null,S={};p&&(S.id="".concat(p,"_extra"));let C=f?c.createElement("div",Object.assign({},S,{className:"".concat(v,"-extra")}),f):null,k=s&&"pro_table_render"===s.mark&&s.render?s.render(e,{input:w,errorList:O,extra:C}):c.createElement(c.Fragment,null,w,O,C);return c.createElement(u.q3.Provider,{value:x},c.createElement(ek,Object.assign({},y,{className:b}),k),c.createElement(eP,{prefixCls:t}))},eA=n(14749),eT={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M623.6 316.7C593.6 290.4 554 276 512 276s-81.6 14.5-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56.1 72.7-21.2 8.1-39.2 22.3-52.1 40.9-13.1 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0130.9-44.8c59-22.7 97.1-74.7 97.1-132.5.1-39.3-17.1-76-48.3-103.3zM472 732a40 40 0 1080 0 40 40 0 10-80 0z"}}]},name:"question-circle",theme:"outlined"},eN=n(60688),eI=c.forwardRef(function(e,t){return c.createElement(eN.Z,(0,eA.Z)({},e,{ref:t,icon:eT}))}),eZ=n(79474),eR=n(70595),e_=n(47104),eD=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n},eB=e=>{var t;let{prefixCls:n,label:r,htmlFor:o,labelCol:a,labelAlign:l,colon:s,required:f,requiredMark:d,tooltip:p}=e,[h]=(0,eR.Z)("Form"),{vertical:m,labelAlign:v,labelCol:g,labelWrap:y,colon:b}=c.useContext(u.q3);if(!r)return null;let x=a||g||{},w="".concat(n,"-item-label"),E=i()(w,"left"===(l||v)&&"".concat(w,"-left"),x.className,{["".concat(w,"-wrap")]:!!y}),O=r,S=!0===s||!1!==b&&!1!==s;S&&!m&&"string"==typeof r&&""!==r.trim()&&(O=r.replace(/[:|:]\s*$/,""));let C=p?"object"!=typeof p||c.isValidElement(p)?{title:p}:p:null;if(C){let{icon:e=c.createElement(eI,null)}=C,t=eD(C,["icon"]),r=c.createElement(e_.Z,Object.assign({},t),c.cloneElement(e,{className:"".concat(n,"-item-tooltip"),title:"",onClick:e=>{e.preventDefault()},tabIndex:null}));O=c.createElement(c.Fragment,null,O,r)}let k="optional"===d,j="function"==typeof d;j?O=d(O,{required:!!f}):k&&!f&&(O=c.createElement(c.Fragment,null,O,c.createElement("span",{className:"".concat(n,"-item-optional"),title:""},(null==h?void 0:h.optional)||(null===(t=eZ.Z.Form)||void 0===t?void 0:t.optional))));let P=i()({["".concat(n,"-item-required")]:f,["".concat(n,"-item-required-mark-optional")]:k||j,["".concat(n,"-item-no-colon")]:!S});return c.createElement(ek,Object.assign({},x,{className:E}),c.createElement("label",{htmlFor:o,className:P,title:"string"==typeof r?r:""},O))},eL=n(99537),ez=n(77136),eF=n(20653),eH=n(66155);let eW={success:eL.Z,warning:eF.Z,error:ez.Z,validating:eH.Z};function eq(e){let{children:t,errors:n,warnings:r,hasFeedback:o,validateStatus:a,prefixCls:l,meta:s,noStyle:f}=e,d="".concat(l,"-item"),{feedbackIcons:p}=c.useContext(u.q3),h=G(n,r,s,null,!!o,a),{isFormItemInput:m,status:v,hasFeedback:g,feedbackIcon:y}=c.useContext(u.aM),b=c.useMemo(()=>{var e;let t;if(o){let a=!0!==o&&o.icons||p,l=h&&(null===(e=null==a?void 0:a({status:h,errors:n,warnings:r}))||void 0===e?void 0:e[h]),u=h&&eW[h];t=!1!==l&&u?c.createElement("span",{className:i()("".concat(d,"-feedback-icon"),"".concat(d,"-feedback-icon-").concat(h))},l||c.createElement(u,null)):null}let a={status:h||"",errors:n,warnings:r,hasFeedback:!!o,feedbackIcon:t,isFormItemInput:!0};return f&&(a.status=(null!=h?h:v)||"",a.isFormItemInput=m,a.hasFeedback=!!(null!=o?o:g),a.feedbackIcon=void 0!==o?a.feedbackIcon:y),a},[h,o,f,m,v]);return c.createElement(u.aM.Provider,{value:b},t)}var eV=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};function eU(e){let{prefixCls:t,className:n,rootClassName:r,style:o,help:a,errors:l,warnings:f,validateStatus:d,meta:p,hasFeedback:h,hidden:m,children:v,fieldId:g,required:y,isRequired:b,onSubItemMetaChange:x}=e,w=eV(e,["prefixCls","className","rootClassName","style","help","errors","warnings","validateStatus","meta","hasFeedback","hidden","children","fieldId","required","isRequired","onSubItemMetaChange"]),E="".concat(t,"-item"),{requiredMark:O}=c.useContext(u.q3),S=c.useRef(null),C=s(l),k=s(f),j=null!=a,P=!!(j||l.length||f.length),M=!!S.current&&(0,ec.Z)(S.current),[A,T]=c.useState(null);(0,el.Z)(()=>{P&&S.current&&T(parseInt(getComputedStyle(S.current).marginBottom,10))},[P,M]);let N=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return G(e?C:p.errors,e?k:p.warnings,p,"",!!h,d)}(),I=i()(E,n,r,{["".concat(E,"-with-help")]:j||C.length||k.length,["".concat(E,"-has-feedback")]:N&&h,["".concat(E,"-has-success")]:"success"===N,["".concat(E,"-has-warning")]:"warning"===N,["".concat(E,"-has-error")]:"error"===N,["".concat(E,"-is-validating")]:"validating"===N,["".concat(E,"-hidden")]:m});return c.createElement("div",{className:I,style:o,ref:S},c.createElement(eO,Object.assign({className:"".concat(E,"-row")},(0,eu.Z)(w,["_internalItemRender","colon","dependencies","extra","fieldKey","getValueFromEvent","getValueProps","htmlFor","id","initialValue","isListField","label","labelAlign","labelCol","labelWrap","messageVariables","name","normalize","noStyle","preserve","requiredMark","rules","shouldUpdate","trigger","tooltip","validateFirst","validateTrigger","valuePropName","wrapperCol","validateDebounce"])),c.createElement(eB,Object.assign({htmlFor:g},e,{requiredMark:O,required:null!=y?y:b,prefixCls:t})),c.createElement(eM,Object.assign({},e,p,{errors:C,warnings:k,prefixCls:t,status:N,help:a,marginBottom:A,onErrorVisibleChanged:e=>{e||T(null)}}),c.createElement(u.qI.Provider,{value:x},c.createElement(eq,{prefixCls:t,meta:p,errors:p.errors,warnings:p.warnings,hasFeedback:h,validateStatus:N},v)))),!!A&&c.createElement("div",{className:"".concat(E,"-margin-offset"),style:{marginBottom:-A}}))}let eX=c.memo(e=>{let{children:t}=e;return t},(e,t)=>(function(e,t){let n=Object.keys(e),r=Object.keys(t);return n.length===r.length&&n.every(n=>{let r=e[n],o=t[n];return r===o||"function"==typeof r||"function"==typeof o})})(e.control,t.control)&&e.update===t.update&&e.childProps.length===t.childProps.length&&e.childProps.every((e,n)=>e===t.childProps[n]));function eG(){return{errors:[],warnings:[],touched:!1,validating:!1,name:[],validated:!1}}let eK=function(e){let{name:t,noStyle:n,className:o,dependencies:a,prefixCls:l,shouldUpdate:s,rules:f,children:d,required:p,label:h,messageVariables:m,trigger:v="onChange",validateTrigger:g,hidden:y,help:b}=e,{getPrefixCls:x}=c.useContext(Z.E_),{name:w}=c.useContext(u.q3),E=function(e){if("function"==typeof e)return e;let t=(0,eo.Z)(e);return t.length<=1?t[0]:t}(d),O="function"==typeof E,S=c.useContext(u.qI),{validateTrigger:C}=c.useContext(I.zb),k=void 0!==g?g:C,j=null!=t,A=x("form",l),T=(0,M.Z)(A),[N,R,_]=P(A,T);(0,er.ln)("Form.Item");let D=c.useContext(I.ZM),B=c.useRef(),[L,z]=function(e){let[t,n]=c.useState(e),r=(0,c.useRef)(null),o=(0,c.useRef)([]),i=(0,c.useRef)(!1);return c.useEffect(()=>(i.current=!1,()=>{i.current=!0,ea.Z.cancel(r.current),r.current=null}),[]),[t,function(e){i.current||(null===r.current&&(o.current=[],r.current=(0,ea.Z)(()=>{r.current=null,n(e=>{let t=e;return o.current.forEach(e=>{t=e(t)}),t})})),o.current.push(e))}]}({}),[F,H]=(0,ee.Z)(()=>eG()),W=(e,t)=>{z(n=>{let o=Object.assign({},n),i=[].concat((0,r.Z)(e.name.slice(0,-1)),(0,r.Z)(t)).join("__SPLIT__");return e.destroy?delete o[i]:o[i]=e,o})},[q,V]=c.useMemo(()=>{let e=(0,r.Z)(F.errors),t=(0,r.Z)(F.warnings);return Object.values(L).forEach(n=>{e.push.apply(e,(0,r.Z)(n.errors||[])),t.push.apply(t,(0,r.Z)(n.warnings||[]))}),[e,t]},[L,F.errors,F.warnings]),G=function(){let{itemRef:e}=c.useContext(u.q3),t=c.useRef({});return function(n,r){let o=r&&"object"==typeof r&&r.ref,i=n.join("_");return(t.current.name!==i||t.current.originRef!==o)&&(t.current.name=i,t.current.originRef=o,t.current.ref=(0,et.sQ)(e(n),o)),t.current.ref}}();function K(t,r,a){return n&&!y?c.createElement(eq,{prefixCls:A,hasFeedback:e.hasFeedback,validateStatus:e.validateStatus,meta:F,errors:q,warnings:V,noStyle:!0},t):c.createElement(eU,Object.assign({key:"row"},e,{className:i()(o,_,T,R),prefixCls:A,fieldId:r,isRequired:a,errors:q,warnings:V,meta:F,onSubItemMetaChange:W}),t)}if(!j&&!O&&!a)return N(K(E));let $={};return"string"==typeof h?$.label=h:t&&($.label=String(t)),m&&($=Object.assign(Object.assign({},$),m)),N(c.createElement(I.gN,Object.assign({},e,{messageVariables:$,trigger:v,validateTrigger:k,onMetaChange:e=>{let t=null==D?void 0:D.getKey(e.name);if(H(e.destroy?eG():e,!0),n&&!1!==b&&S){let n=e.name;if(e.destroy)n=B.current||n;else if(void 0!==t){let[e,o]=t;n=[e].concat((0,r.Z)(o)),B.current=n}S(e,n)}}}),(n,o,i)=>{let l=U(t).length&&o?o.name:[],u=X(l,w),d=void 0!==p?p:!!(f&&f.some(e=>{if(e&&"object"==typeof e&&e.required&&!e.warningOnly)return!0;if("function"==typeof e){let t=e(i);return t&&t.required&&!t.warningOnly}return!1})),h=Object.assign({},n),m=null;if(Array.isArray(E)&&j)m=E;else if(O&&(!(s||a)||j));else if(!a||O||j){if((0,en.l$)(E)){let t=Object.assign(Object.assign({},E.props),h);if(t.id||(t.id=u),b||q.length>0||V.length>0||e.extra){let n=[];(b||q.length>0)&&n.push("".concat(u,"_help")),e.extra&&n.push("".concat(u,"_extra")),t["aria-describedby"]=n.join(" ")}q.length>0&&(t["aria-invalid"]="true"),d&&(t["aria-required"]="true"),(0,et.Yr)(E)&&(t.ref=G(l,E)),new Set([].concat((0,r.Z)(U(v)),(0,r.Z)(U(k)))).forEach(e=>{t[e]=function(){for(var t,n,r,o=arguments.length,i=Array(o),a=0;at.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};J.Item=eK,J.List=e=>{var{prefixCls:t,children:n}=e,r=e$(e,["prefixCls","children"]);let{getPrefixCls:o}=c.useContext(Z.E_),i=o("form",t),a=c.useMemo(()=>({prefixCls:i,status:"error"}),[i]);return c.createElement(I.aV,Object.assign({},r),(e,t,r)=>c.createElement(u.Rk.Provider,{value:a},n(e.map(e=>Object.assign(Object.assign({},e),{fieldKey:e.key})),t,{errors:r.errors,warnings:r.warnings})))},J.ErrorList=N,J.useForm=$,J.useFormInstance=function(){let{form:e}=(0,c.useContext)(u.q3);return e},J.useWatch=I.qo,J.Provider=u.RV,J.create=()=>{};var eY=J},12519:function(e,t,n){var r=n(64090);t.Z=(0,r.createContext)(void 0)},88707:function(e,t,n){n.d(t,{Z:function(){return eh}});var r=n(64090),o=n(20383),i=n(14749),a={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M890.5 755.3L537.9 269.2c-12.8-17.6-39-17.6-51.7 0L133.5 755.3A8 8 0 00140 768h75c5.1 0 9.9-2.5 12.9-6.6L512 369.8l284.1 391.6c3 4.1 7.8 6.6 12.9 6.6h75c6.5 0 10.3-7.4 6.5-12.7z"}}]},name:"up",theme:"outlined"},c=n(60688),l=r.forwardRef(function(e,t){return r.createElement(c.Z,(0,i.Z)({},e,{ref:t,icon:a}))}),u=n(16480),s=n.n(u),f=n(50833),d=n(6976),p=n(80406),h=n(6787),m=n(47365),v=n(65127);function g(){return"function"==typeof BigInt}function y(e){return!e&&0!==e&&!Number.isNaN(e)||!String(e).trim()}function b(e){var t=e.trim(),n=t.startsWith("-");n&&(t=t.slice(1)),(t=t.replace(/(\.\d*[^0])0*$/,"$1").replace(/\.0*$/,"").replace(/^0+/,"")).startsWith(".")&&(t="0".concat(t));var r=t||"0",o=r.split("."),i=o[0]||"0",a=o[1]||"0";"0"===i&&"0"===a&&(n=!1);var c=n?"-":"";return{negative:n,negativeStr:c,trimStr:r,integerStr:i,decimalStr:a,fullStr:"".concat(c).concat(r)}}function x(e){var t=String(e);return!Number.isNaN(Number(t))&&t.includes("e")}function w(e){var t=String(e);if(x(e)){var n=Number(t.slice(t.indexOf("e-")+2)),r=t.match(/\.(\d+)/);return null!=r&&r[1]&&(n+=r[1].length),n}return t.includes(".")&&O(t)?t.length-t.indexOf(".")-1:0}function E(e){var t=String(e);if(x(e)){if(e>Number.MAX_SAFE_INTEGER)return String(g()?BigInt(e).toString():Number.MAX_SAFE_INTEGER);if(e=this.add(e.negate().toString()).toNumber()}},{key:"toNumber",value:function(){return this.isNaN()?NaN:Number(this.toString())}},{key:"toString",value:function(){var e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];return e?this.isInvalidate()?"":b("".concat(this.getMark()).concat(this.getIntegerStr(),".").concat(this.getDecimalStr())).fullStr:this.origin}}]),e}(),C=function(){function e(t){if((0,m.Z)(this,e),(0,f.Z)(this,"origin",""),(0,f.Z)(this,"number",void 0),(0,f.Z)(this,"empty",void 0),y(t)){this.empty=!0;return}this.origin=String(t),this.number=Number(t)}return(0,v.Z)(e,[{key:"negate",value:function(){return new e(-this.toNumber())}},{key:"add",value:function(t){if(this.isInvalidate())return new e(t);var n=Number(t);if(Number.isNaN(n))return this;var r=this.number+n;if(r>Number.MAX_SAFE_INTEGER)return new e(Number.MAX_SAFE_INTEGER);if(rNumber.MAX_SAFE_INTEGER)return new e(Number.MAX_SAFE_INTEGER);if(r=this.add(e.negate().toString()).toNumber()}},{key:"toNumber",value:function(){return this.number}},{key:"toString",value:function(){var e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];return e?this.isInvalidate()?"":E(this.number):this.origin}}]),e}();function k(e){return g()?new S(e):new C(e)}function j(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(""===e)return"";var o=b(e),i=o.negativeStr,a=o.integerStr,c=o.decimalStr,l="".concat(t).concat(c),u="".concat(i).concat(a);if(n>=0){var s=Number(c[n]);return s>=5&&!r?j(k(e).add("".concat(i,"0.").concat("0".repeat(n)).concat(10-s)).toString(),t,n,r):0===n?u:"".concat(u).concat(t).concat(c.padEnd(n,"0").slice(0,n))}return".0"===l?u:"".concat(u).concat(l)}var P=n(90089),M=n(24800),A=n(74084),T=n(53850),N=n(76158),I=function(){var e=(0,r.useState)(!1),t=(0,p.Z)(e,2),n=t[0],o=t[1];return(0,M.Z)(function(){o((0,N.Z)())},[]),n},Z=n(19223);function R(e){var t=e.prefixCls,n=e.upNode,o=e.downNode,a=e.upDisabled,c=e.downDisabled,l=e.onStep,u=r.useRef(),d=r.useRef([]),p=r.useRef();p.current=l;var h=function(){clearTimeout(u.current)},m=function(e,t){e.preventDefault(),h(),p.current(t),u.current=setTimeout(function e(){p.current(t),u.current=setTimeout(e,200)},600)};if(r.useEffect(function(){return function(){h(),d.current.forEach(function(e){return Z.Z.cancel(e)})}},[]),I())return null;var v="".concat(t,"-handler"),g=s()(v,"".concat(v,"-up"),(0,f.Z)({},"".concat(v,"-up-disabled"),a)),y=s()(v,"".concat(v,"-down"),(0,f.Z)({},"".concat(v,"-down-disabled"),c)),b=function(){return d.current.push((0,Z.Z)(h))},x={unselectable:"on",role:"button",onMouseUp:b,onMouseLeave:b};return r.createElement("div",{className:"".concat(v,"-wrap")},r.createElement("span",(0,i.Z)({},x,{onMouseDown:function(e){m(e,!0)},"aria-label":"Increase Value","aria-disabled":a,className:g}),n||r.createElement("span",{unselectable:"on",className:"".concat(t,"-handler-up-inner")})),r.createElement("span",(0,i.Z)({},x,{onMouseDown:function(e){m(e,!1)},"aria-label":"Decrease Value","aria-disabled":c,className:y}),o||r.createElement("span",{unselectable:"on",className:"".concat(t,"-handler-down-inner")})))}function _(e){var t="number"==typeof e?E(e):b(e).fullStr;return t.includes(".")?b(t.replace(/(\d)\.(\d)/g,"$1$2.")).fullStr:e+"0"}var D=n(8002),B=["prefixCls","className","style","min","max","step","defaultValue","value","disabled","readOnly","upHandler","downHandler","keyboard","wheel","controls","classNames","stringMode","parser","formatter","precision","decimalSeparator","onChange","onInput","onPressEnter","onStep","changeOnBlur"],L=["disabled","style","prefixCls","value","prefix","suffix","addonBefore","addonAfter","className","classNames"],z=function(e,t){return e||t.isEmpty()?t.toString():t.toNumber()},F=function(e){var t=k(e);return t.isInvalidate()?null:t},H=r.forwardRef(function(e,t){var n,o,a,c,l,u=e.prefixCls,m=void 0===u?"rc-input-number":u,v=e.className,g=e.style,y=e.min,b=e.max,x=e.step,S=void 0===x?1:x,C=e.defaultValue,P=e.value,N=e.disabled,I=e.readOnly,D=e.upHandler,L=e.downHandler,H=e.keyboard,W=e.wheel,q=e.controls,V=(e.classNames,e.stringMode),U=e.parser,X=e.formatter,G=e.precision,K=e.decimalSeparator,$=e.onChange,Y=e.onInput,Q=e.onPressEnter,J=e.onStep,ee=e.changeOnBlur,et=void 0===ee||ee,en=(0,h.Z)(e,B),er="".concat(m,"-input"),eo=r.useRef(null),ei=r.useState(!1),ea=(0,p.Z)(ei,2),ec=ea[0],el=ea[1],eu=r.useRef(!1),es=r.useRef(!1),ef=r.useRef(!1),ed=r.useState(function(){return k(null!=P?P:C)}),ep=(0,p.Z)(ed,2),eh=ep[0],em=ep[1],ev=r.useCallback(function(e,t){return t?void 0:G>=0?G:Math.max(w(e),w(S))},[G,S]),eg=r.useCallback(function(e){var t=String(e);if(U)return U(t);var n=t;return K&&(n=n.replace(K,".")),n.replace(/[^\w.-]+/g,"")},[U,K]),ey=r.useRef(""),eb=r.useCallback(function(e,t){if(X)return X(e,{userTyping:t,input:String(ey.current)});var n="number"==typeof e?E(e):e;if(!t){var r=ev(n,t);O(n)&&(K||r>=0)&&(n=j(n,K||".",r))}return n},[X,ev,K]),ex=r.useState(function(){var e=null!=C?C:P;return eh.isInvalidate()&&["string","number"].includes((0,d.Z)(e))?Number.isNaN(e)?"":e:eb(eh.toString(),!1)}),ew=(0,p.Z)(ex,2),eE=ew[0],eO=ew[1];function eS(e,t){eO(eb(e.isInvalidate()?e.toString(!1):e.toString(!t),t))}ey.current=eE;var eC=r.useMemo(function(){return F(b)},[b,G]),ek=r.useMemo(function(){return F(y)},[y,G]),ej=r.useMemo(function(){return!(!eC||!eh||eh.isInvalidate())&&eC.lessEquals(eh)},[eC,eh]),eP=r.useMemo(function(){return!(!ek||!eh||eh.isInvalidate())&&eh.lessEquals(ek)},[ek,eh]),eM=(n=eo.current,o=(0,r.useRef)(null),[function(){try{var e=n.selectionStart,t=n.selectionEnd,r=n.value,i=r.substring(0,e),a=r.substring(t);o.current={start:e,end:t,value:r,beforeTxt:i,afterTxt:a}}catch(e){}},function(){if(n&&o.current&&ec)try{var e=n.value,t=o.current,r=t.beforeTxt,i=t.afterTxt,a=t.start,c=e.length;if(e.endsWith(i))c=e.length-o.current.afterTxt.length;else if(e.startsWith(r))c=r.length;else{var l=r[a-1],u=e.indexOf(l,a-1);-1!==u&&(c=u+1)}n.setSelectionRange(c,c)}catch(e){(0,T.ZP)(!1,"Something warning of cursor restore. Please fire issue about this: ".concat(e.message))}}]),eA=(0,p.Z)(eM,2),eT=eA[0],eN=eA[1],eI=function(e){return eC&&!e.lessEquals(eC)?eC:ek&&!ek.lessEquals(e)?ek:null},eZ=function(e){return!eI(e)},eR=function(e,t){var n=e,r=eZ(n)||n.isEmpty();if(n.isEmpty()||t||(n=eI(n)||n,r=!0),!I&&!N&&r){var o,i=n.toString(),a=ev(i,t);return a>=0&&!eZ(n=k(j(i,".",a)))&&(n=k(j(i,".",a,!0))),n.equals(eh)||(o=n,void 0===P&&em(o),null==$||$(n.isEmpty()?null:z(V,n)),void 0===P&&eS(n,t)),n}return eh},e_=(a=(0,r.useRef)(0),c=function(){Z.Z.cancel(a.current)},(0,r.useEffect)(function(){return c},[]),function(e){c(),a.current=(0,Z.Z)(function(){e()})}),eD=function e(t){if(eT(),ey.current=t,eO(t),!es.current){var n=k(eg(t));n.isNaN()||eR(n,!0)}null==Y||Y(t),e_(function(){var n=t;U||(n=t.replace(/。/g,".")),n!==t&&e(n)})},eB=function(e){if((!e||!ej)&&(e||!eP)){eu.current=!1;var t,n=k(ef.current?_(S):S);e||(n=n.negate());var r=eR((eh||k(0)).add(n.toString()),!1);null==J||J(z(V,r),{offset:ef.current?_(S):S,type:e?"up":"down"}),null===(t=eo.current)||void 0===t||t.focus()}},eL=function(e){var t=k(eg(eE)),n=t;n=t.isNaN()?eR(eh,e):eR(t,e),void 0!==P?eS(eh,!1):n.isNaN()||eS(n,!1)};return r.useEffect(function(){var e=function(e){!1!==W&&(eB(e.deltaY<0),e.preventDefault())},t=eo.current;if(t)return t.addEventListener("wheel",e),function(){return t.removeEventListener("wheel",e)}},[eB]),(0,M.o)(function(){eh.isInvalidate()||eS(eh,!1)},[G,X]),(0,M.o)(function(){var e=k(P);em(e);var t=k(eg(eE));e.equals(t)&&eu.current&&!X||eS(e,eu.current)},[P]),(0,M.o)(function(){X&&eN()},[eE]),r.createElement("div",{className:s()(m,v,(l={},(0,f.Z)(l,"".concat(m,"-focused"),ec),(0,f.Z)(l,"".concat(m,"-disabled"),N),(0,f.Z)(l,"".concat(m,"-readonly"),I),(0,f.Z)(l,"".concat(m,"-not-a-number"),eh.isNaN()),(0,f.Z)(l,"".concat(m,"-out-of-range"),!eh.isInvalidate()&&!eZ(eh)),l)),style:g,onFocus:function(){el(!0)},onBlur:function(){et&&eL(!1),el(!1),eu.current=!1},onKeyDown:function(e){var t=e.key,n=e.shiftKey;eu.current=!0,ef.current=n,"Enter"===t&&(es.current||(eu.current=!1),eL(!1),null==Q||Q(e)),!1!==H&&!es.current&&["Up","ArrowUp","Down","ArrowDown"].includes(t)&&(eB("Up"===t||"ArrowUp"===t),e.preventDefault())},onKeyUp:function(){eu.current=!1,ef.current=!1},onCompositionStart:function(){es.current=!0},onCompositionEnd:function(){es.current=!1,eD(eo.current.value)},onBeforeInput:function(){eu.current=!0}},(void 0===q||q)&&r.createElement(R,{prefixCls:m,upNode:D,downNode:L,upDisabled:ej,downDisabled:eP,onStep:eB}),r.createElement("div",{className:"".concat(er,"-wrap")},r.createElement("input",(0,i.Z)({autoComplete:"off",role:"spinbutton","aria-valuemin":y,"aria-valuemax":b,"aria-valuenow":eh.isInvalidate()?null:eh.toString(),step:S},en,{ref:(0,A.sQ)(eo,t),className:er,value:eE,onChange:function(e){eD(e.target.value)},disabled:N,readOnly:I}))))}),W=r.forwardRef(function(e,t){var n=e.disabled,o=e.style,a=e.prefixCls,c=e.value,l=e.prefix,u=e.suffix,s=e.addonBefore,f=e.addonAfter,d=e.className,p=e.classNames,m=(0,h.Z)(e,L),v=r.useRef(null);return r.createElement(P.Q,{className:d,triggerFocus:function(e){v.current&&(0,D.nH)(v.current,e)},prefixCls:a,value:c,disabled:n,style:o,prefix:l,suffix:u,addonAfter:f,addonBefore:s,classNames:p,components:{affixWrapper:"div",groupWrapper:"div",wrapper:"div",groupAddon:"div"}},r.createElement(H,(0,i.Z)({prefixCls:a,disabled:n,ref:(0,A.sQ)(v,t),className:null==p?void 0:p.input},m)))});W.displayName="InputNumber";var q=n(47794),V=n(57499),U=n(54165),X=n(17094),G=n(92935),K=n(10693),$=n(47137),Y=n(8443),Q=n(92801),J=n(8985),ee=n(94759),et=n(85980),en=n(61892),er=n(11303),eo=n(12288),ei=n(76585),ea=n(80316),ec=n(6336);let el=(e,t)=>{let{componentCls:n,borderRadiusSM:r,borderRadiusLG:o}=e,i="lg"===t?o:r;return{["&-".concat(t)]:{["".concat(n,"-handler-wrap")]:{borderStartEndRadius:i,borderEndEndRadius:i},["".concat(n,"-handler-up")]:{borderStartEndRadius:i},["".concat(n,"-handler-down")]:{borderEndEndRadius:i}}}},eu=e=>{let{componentCls:t,lineWidth:n,lineType:r,borderRadius:o,fontSizeLG:i,controlHeightLG:a,controlHeightSM:c,colorError:l,paddingInlineSM:u,paddingBlockSM:s,paddingBlockLG:f,paddingInlineLG:d,colorTextDescription:p,motionDurationMid:h,handleHoverColor:m,paddingInline:v,paddingBlock:g,handleBg:y,handleActiveBg:b,colorTextDisabled:x,borderRadiusSM:w,borderRadiusLG:E,controlWidth:O,handleOpacity:S,handleBorderColor:C,filledHandleBg:k,lineHeightLG:j,calc:P}=e;return[{[t]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},(0,er.Wf)(e)),(0,ee.ik)(e)),{display:"inline-block",width:O,margin:0,padding:0,borderRadius:o}),(0,en.qG)(e,{["".concat(t,"-handler-wrap")]:{background:y,["".concat(t,"-handler-down")]:{borderBlockStart:"".concat((0,J.bf)(n)," ").concat(r," ").concat(C)}}})),(0,en.H8)(e,{["".concat(t,"-handler-wrap")]:{background:k,["".concat(t,"-handler-down")]:{borderBlockStart:"".concat((0,J.bf)(n)," ").concat(r," ").concat(C)}},"&:focus-within":{["".concat(t,"-handler-wrap")]:{background:y}}})),(0,en.Mu)(e)),{"&-rtl":{direction:"rtl",["".concat(t,"-input")]:{direction:"rtl"}},"&-lg":{padding:0,fontSize:i,lineHeight:j,borderRadius:E,["input".concat(t,"-input")]:{height:P(a).sub(P(n).mul(2)).equal(),padding:"".concat((0,J.bf)(f)," ").concat((0,J.bf)(d))}},"&-sm":{padding:0,borderRadius:w,["input".concat(t,"-input")]:{height:P(c).sub(P(n).mul(2)).equal(),padding:"".concat((0,J.bf)(s)," ").concat((0,J.bf)(u))}},"&-out-of-range":{["".concat(t,"-input-wrap")]:{input:{color:l}}},"&-group":Object.assign(Object.assign(Object.assign({},(0,er.Wf)(e)),(0,ee.s7)(e)),{"&-wrapper":Object.assign(Object.assign(Object.assign({display:"inline-block",textAlign:"start",verticalAlign:"top",["".concat(t,"-affix-wrapper")]:{width:"100%"},"&-lg":{["".concat(t,"-group-addon")]:{borderRadius:E,fontSize:e.fontSizeLG}},"&-sm":{["".concat(t,"-group-addon")]:{borderRadius:w}}},(0,en.ir)(e)),(0,en.S5)(e)),{["&:not(".concat(t,"-compact-first-item):not(").concat(t,"-compact-last-item)").concat(t,"-compact-item")]:{["".concat(t,", ").concat(t,"-group-addon")]:{borderRadius:0}},["&:not(".concat(t,"-compact-last-item)").concat(t,"-compact-first-item")]:{["".concat(t,", ").concat(t,"-group-addon")]:{borderStartEndRadius:0,borderEndEndRadius:0}},["&:not(".concat(t,"-compact-first-item)").concat(t,"-compact-last-item")]:{["".concat(t,", ").concat(t,"-group-addon")]:{borderStartStartRadius:0,borderEndStartRadius:0}}})}),["&-disabled ".concat(t,"-input")]:{cursor:"not-allowed"},[t]:{"&-input":Object.assign(Object.assign(Object.assign(Object.assign({},(0,er.Wf)(e)),{width:"100%",padding:"".concat((0,J.bf)(g)," ").concat((0,J.bf)(v)),textAlign:"start",backgroundColor:"transparent",border:0,borderRadius:o,outline:0,transition:"all ".concat(h," linear"),appearance:"textfield",fontSize:"inherit"}),(0,ee.nz)(e.colorTextPlaceholder)),{'&[type="number"]::-webkit-inner-spin-button, &[type="number"]::-webkit-outer-spin-button':{margin:0,webkitAppearance:"none",appearance:"none"}})}})},{[t]:Object.assign(Object.assign(Object.assign({["&:hover ".concat(t,"-handler-wrap, &-focused ").concat(t,"-handler-wrap")]:{opacity:1},["".concat(t,"-handler-wrap")]:{position:"absolute",insetBlockStart:0,insetInlineEnd:0,width:e.handleWidth,height:"100%",borderStartStartRadius:0,borderStartEndRadius:o,borderEndEndRadius:o,borderEndStartRadius:0,opacity:S,display:"flex",flexDirection:"column",alignItems:"stretch",transition:"opacity ".concat(h," linear ").concat(h),["".concat(t,"-handler")]:{display:"flex",alignItems:"center",justifyContent:"center",flex:"auto",height:"40%",["\n ".concat(t,"-handler-up-inner,\n ").concat(t,"-handler-down-inner\n ")]:{marginInlineEnd:0,fontSize:e.handleFontSize}}},["".concat(t,"-handler")]:{height:"50%",overflow:"hidden",color:p,fontWeight:"bold",lineHeight:0,textAlign:"center",cursor:"pointer",borderInlineStart:"".concat((0,J.bf)(n)," ").concat(r," ").concat(C),transition:"all ".concat(h," linear"),"&:active":{background:b},"&:hover":{height:"60%",["\n ".concat(t,"-handler-up-inner,\n ").concat(t,"-handler-down-inner\n ")]:{color:m}},"&-up-inner, &-down-inner":Object.assign(Object.assign({},(0,er.Ro)()),{color:p,transition:"all ".concat(h," linear"),userSelect:"none"})},["".concat(t,"-handler-up")]:{borderStartEndRadius:o},["".concat(t,"-handler-down")]:{borderEndEndRadius:o}},el(e,"lg")),el(e,"sm")),{"&-disabled, &-readonly":{["".concat(t,"-handler-wrap")]:{display:"none"},["".concat(t,"-input")]:{color:"inherit"}},["\n ".concat(t,"-handler-up-disabled,\n ").concat(t,"-handler-down-disabled\n ")]:{cursor:"not-allowed"},["\n ".concat(t,"-handler-up-disabled:hover &-handler-up-inner,\n ").concat(t,"-handler-down-disabled:hover &-handler-down-inner\n ")]:{color:x}})}]},es=e=>{let{componentCls:t,paddingBlock:n,paddingInline:r,inputAffixPadding:o,controlWidth:i,borderRadiusLG:a,borderRadiusSM:c,paddingInlineLG:l,paddingInlineSM:u,paddingBlockLG:s,paddingBlockSM:f}=e;return{["".concat(t,"-affix-wrapper")]:Object.assign(Object.assign({["input".concat(t,"-input")]:{padding:"".concat((0,J.bf)(n)," 0")}},(0,ee.ik)(e)),{position:"relative",display:"inline-flex",width:i,padding:0,paddingInlineStart:r,"&-lg":{borderRadius:a,paddingInlineStart:l,["input".concat(t,"-input")]:{padding:"".concat((0,J.bf)(s)," 0")}},"&-sm":{borderRadius:c,paddingInlineStart:u,["input".concat(t,"-input")]:{padding:"".concat((0,J.bf)(f)," 0")}},["&:not(".concat(t,"-disabled):hover")]:{zIndex:1},"&-focused, &:focus":{zIndex:1},["&-disabled > ".concat(t,"-disabled")]:{background:"transparent"},["> div".concat(t)]:{width:"100%",border:"none",outline:"none",["&".concat(t,"-focused")]:{boxShadow:"none !important"}},"&::before":{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'},["".concat(t,"-handler-wrap")]:{zIndex:2},[t]:{color:"inherit","&-prefix, &-suffix":{display:"flex",flex:"none",alignItems:"center",pointerEvents:"none"},"&-prefix":{marginInlineEnd:o},"&-suffix":{position:"absolute",insetBlockStart:0,insetInlineEnd:0,zIndex:1,height:"100%",marginInlineEnd:r,marginInlineStart:o}}})}};var ef=(0,ei.I$)("InputNumber",e=>{let t=(0,ea.TS)(e,(0,et.e)(e));return[eu(t),es(t),(0,eo.c)(t)]},e=>{var t;let n=null!==(t=e.handleVisible)&&void 0!==t?t:"auto";return Object.assign(Object.assign({},(0,et.T)(e)),{controlWidth:90,handleWidth:e.controlHeightSM-2*e.lineWidth,handleFontSize:e.fontSize/2,handleVisible:n,handleActiveBg:e.colorFillAlter,handleBg:e.colorBgContainer,filledHandleBg:new ec.C(e.colorFillSecondary).onBackground(e.colorBgContainer).toHexString(),handleHoverColor:e.colorPrimary,handleBorderColor:e.colorBorder,handleOpacity:!0===n?1:0})},{unitless:{handleOpacity:!0}}),ed=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let ep=r.forwardRef((e,t)=>{let{getPrefixCls:n,direction:i}=r.useContext(V.E_),a=r.useRef(null);r.useImperativeHandle(t,()=>a.current);let{className:c,rootClassName:u,size:f,disabled:d,prefixCls:p,addonBefore:h,addonAfter:m,prefix:v,bordered:g,readOnly:y,status:b,controls:x,variant:w}=e,E=ed(e,["className","rootClassName","size","disabled","prefixCls","addonBefore","addonAfter","prefix","bordered","readOnly","status","controls","variant"]),O=n("input-number",p),S=(0,G.Z)(O),[C,k,j]=ef(O,S),{compactSize:P,compactItemClassnames:M}=(0,Q.ri)(O,i),A=r.createElement(l,{className:"".concat(O,"-handler-up-inner")}),T=r.createElement(o.Z,{className:"".concat(O,"-handler-down-inner")});"object"==typeof x&&(A=void 0===x.upIcon?A:r.createElement("span",{className:"".concat(O,"-handler-up-inner")},x.upIcon),T=void 0===x.downIcon?T:r.createElement("span",{className:"".concat(O,"-handler-down-inner")},x.downIcon));let{hasFeedback:N,status:I,isFormItemInput:Z,feedbackIcon:R}=r.useContext($.aM),_=(0,q.F)(I,b),D=(0,K.Z)(e=>{var t;return null!==(t=null!=f?f:P)&&void 0!==t?t:e}),B=r.useContext(X.Z),[L,z]=(0,Y.Z)(w,g),F=N&&r.createElement(r.Fragment,null,R),H=s()({["".concat(O,"-lg")]:"large"===D,["".concat(O,"-sm")]:"small"===D,["".concat(O,"-rtl")]:"rtl"===i,["".concat(O,"-in-form-item")]:Z},k),U="".concat(O,"-group");return C(r.createElement(W,Object.assign({ref:a,disabled:null!=d?d:B,className:s()(j,S,c,u,M),upHandler:A,downHandler:T,prefixCls:O,readOnly:y,controls:"boolean"==typeof x?x:void 0,prefix:v,suffix:F,addonAfter:m&&r.createElement(Q.BR,null,r.createElement($.Ux,{override:!0,status:!0},m)),addonBefore:h&&r.createElement(Q.BR,null,r.createElement($.Ux,{override:!0,status:!0},h)),classNames:{input:H,variant:s()({["".concat(O,"-").concat(L)]:z},(0,q.Z)(O,_,N)),affixWrapper:s()({["".concat(O,"-affix-wrapper-sm")]:"small"===D,["".concat(O,"-affix-wrapper-lg")]:"large"===D,["".concat(O,"-affix-wrapper-rtl")]:"rtl"===i},k),wrapper:s()({["".concat(U,"-rtl")]:"rtl"===i},k),groupWrapper:s()({["".concat(O,"-group-wrapper-sm")]:"small"===D,["".concat(O,"-group-wrapper-lg")]:"large"===D,["".concat(O,"-group-wrapper-rtl")]:"rtl"===i,["".concat(O,"-group-wrapper-").concat(L)]:z},(0,q.Z)("".concat(O,"-group-wrapper"),_,N),k)}},E)))});ep._InternalPanelDoNotUseOrYouWillBeFired=e=>r.createElement(U.ZP,{theme:{components:{InputNumber:{handleVisible:!0}}}},r.createElement(ep,Object.assign({},e)));var eh=ep},29714:function(e,t,n){n.d(t,{Z:function(){return ei}});var r,o=n(64090),i=n(16480),a=n.n(i),c=n(57499),l=n(47137),u=n(94759),s=n(90089),f=n(74084),d=n(47794),p=n(17094),h=n(10693),m=n(92801);function v(e,t){let n=(0,o.useRef)([]),r=()=>{n.current.push(setTimeout(()=>{var t,n,r,o;(null===(t=e.current)||void 0===t?void 0:t.input)&&(null===(n=e.current)||void 0===n?void 0:n.input.getAttribute("type"))==="password"&&(null===(r=e.current)||void 0===r?void 0:r.input.hasAttribute("value"))&&(null===(o=e.current)||void 0===o||o.input.removeAttribute("value"))}))};return(0,o.useEffect)(()=>(t&&r(),()=>n.current.forEach(e=>{e&&clearTimeout(e)})),[]),r}var g=n(92935),y=n(8443),b=n(77136),x=e=>{let t;return"object"==typeof e&&(null==e?void 0:e.clearIcon)?t=e:e&&(t={clearIcon:o.createElement(b.Z,null)}),t},w=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let E=(0,o.forwardRef)((e,t)=>{var n;let{prefixCls:r,bordered:i=!0,status:b,size:E,disabled:O,onBlur:S,onFocus:C,suffix:k,allowClear:j,addonAfter:P,addonBefore:M,className:A,style:T,styles:N,rootClassName:I,onChange:Z,classNames:R,variant:_}=e,D=w(e,["prefixCls","bordered","status","size","disabled","onBlur","onFocus","suffix","allowClear","addonAfter","addonBefore","className","style","styles","rootClassName","onChange","classNames","variant"]),{getPrefixCls:B,direction:L,input:z}=o.useContext(c.E_),F=B("input",r),H=(0,o.useRef)(null),W=(0,g.Z)(F),[q,V,U]=(0,u.ZP)(F,W),{compactSize:X,compactItemClassnames:G}=(0,m.ri)(F,L),K=(0,h.Z)(e=>{var t;return null!==(t=null!=E?E:X)&&void 0!==t?t:e}),$=o.useContext(p.Z),{status:Y,hasFeedback:Q,feedbackIcon:J}=(0,o.useContext)(l.aM),ee=(0,d.F)(Y,b),et=!!(e.prefix||e.suffix||e.allowClear||e.showCount)||!!Q;(0,o.useRef)(et);let en=v(H,!0),er=(Q||k)&&o.createElement(o.Fragment,null,k,Q&&J),eo=x(j),[ei,ea]=(0,y.Z)(_,i);return q(o.createElement(s.Z,Object.assign({ref:(0,f.sQ)(t,H),prefixCls:F,autoComplete:null==z?void 0:z.autoComplete},D,{disabled:null!=O?O:$,onBlur:e=>{en(),null==S||S(e)},onFocus:e=>{en(),null==C||C(e)},style:Object.assign(Object.assign({},null==z?void 0:z.style),T),styles:Object.assign(Object.assign({},null==z?void 0:z.styles),N),suffix:er,allowClear:eo,className:a()(A,I,U,W,G,null==z?void 0:z.className),onChange:e=>{en(),null==Z||Z(e)},addonAfter:P&&o.createElement(m.BR,null,o.createElement(l.Ux,{override:!0,status:!0},P)),addonBefore:M&&o.createElement(m.BR,null,o.createElement(l.Ux,{override:!0,status:!0},M)),classNames:Object.assign(Object.assign(Object.assign({},R),null==z?void 0:z.classNames),{input:a()({["".concat(F,"-sm")]:"small"===K,["".concat(F,"-lg")]:"large"===K,["".concat(F,"-rtl")]:"rtl"===L},null==R?void 0:R.input,null===(n=null==z?void 0:z.classNames)||void 0===n?void 0:n.input,V),variant:a()({["".concat(F,"-").concat(ei)]:ea},(0,d.Z)(F,ee)),affixWrapper:a()({["".concat(F,"-affix-wrapper-sm")]:"small"===K,["".concat(F,"-affix-wrapper-lg")]:"large"===K,["".concat(F,"-affix-wrapper-rtl")]:"rtl"===L},V),wrapper:a()({["".concat(F,"-group-rtl")]:"rtl"===L},V),groupWrapper:a()({["".concat(F,"-group-wrapper-sm")]:"small"===K,["".concat(F,"-group-wrapper-lg")]:"large"===K,["".concat(F,"-group-wrapper-rtl")]:"rtl"===L,["".concat(F,"-group-wrapper-").concat(ei)]:ea},(0,d.Z)("".concat(F,"-group-wrapper"),ee,Q),V)})})))});var O=n(14749),S={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5zm-63.57-320.64L836 122.88a8 8 0 00-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 000 11.31L155.17 889a8 8 0 0011.31 0l712.15-712.12a8 8 0 000-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 00-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 01146.2-106.69L401.31 546.2A112 112 0 01396 512z"}},{tag:"path",attrs:{d:"M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 00227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 01-112 112z"}}]},name:"eye-invisible",theme:"outlined"},C=n(60688),k=o.forwardRef(function(e,t){return o.createElement(C.Z,(0,O.Z)({},e,{ref:t,icon:S}))}),j={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z"}}]},name:"eye",theme:"outlined"},P=o.forwardRef(function(e,t){return o.createElement(C.Z,(0,O.Z)({},e,{ref:t,icon:j}))}),M=n(35704),A=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let T=e=>e?o.createElement(P,null):o.createElement(k,null),N={click:"onClick",hover:"onMouseOver"},I=o.forwardRef((e,t)=>{let{visibilityToggle:n=!0}=e,r="object"==typeof n&&void 0!==n.visible,[i,l]=(0,o.useState)(()=>!!r&&n.visible),u=(0,o.useRef)(null);o.useEffect(()=>{r&&l(n.visible)},[r,n]);let s=v(u),d=()=>{let{disabled:t}=e;t||(i&&s(),l(e=>{var t;let r=!e;return"object"==typeof n&&(null===(t=n.onVisibleChange)||void 0===t||t.call(n,r)),r}))},{className:p,prefixCls:h,inputPrefixCls:m,size:g}=e,y=A(e,["className","prefixCls","inputPrefixCls","size"]),{getPrefixCls:b}=o.useContext(c.E_),x=b("input",m),w=b("input-password",h),O=n&&(t=>{let{action:n="click",iconRender:r=T}=e,a=N[n]||"",c=r(i);return o.cloneElement(o.isValidElement(c)?c:o.createElement("span",null,c),{[a]:d,className:"".concat(t,"-icon"),key:"passwordIcon",onMouseDown:e=>{e.preventDefault()},onMouseUp:e=>{e.preventDefault()}})})(w),S=a()(w,p,{["".concat(w,"-").concat(g)]:!!g}),C=Object.assign(Object.assign({},(0,M.Z)(y,["suffix","iconRender","visibilityToggle"])),{type:i?"text":"password",className:S,prefixCls:x,suffix:O});return g&&(C.size=g),o.createElement(E,Object.assign({ref:(0,f.sQ)(t,u)},C))});var Z=n(96871),R=n(65823),_=n(1861),D=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let B=o.forwardRef((e,t)=>{let n;let{prefixCls:r,inputPrefixCls:i,className:l,size:u,suffix:s,enterButton:d=!1,addonAfter:p,loading:v,disabled:g,onSearch:y,onChange:b,onCompositionStart:x,onCompositionEnd:w}=e,O=D(e,["prefixCls","inputPrefixCls","className","size","suffix","enterButton","addonAfter","loading","disabled","onSearch","onChange","onCompositionStart","onCompositionEnd"]),{getPrefixCls:S,direction:C}=o.useContext(c.E_),k=o.useRef(!1),j=S("input-search",r),P=S("input",i),{compactSize:M}=(0,m.ri)(j,C),A=(0,h.Z)(e=>{var t;return null!==(t=null!=u?u:M)&&void 0!==t?t:e}),T=o.useRef(null),N=e=>{var t;document.activeElement===(null===(t=T.current)||void 0===t?void 0:t.input)&&e.preventDefault()},I=e=>{var t,n;y&&y(null===(n=null===(t=T.current)||void 0===t?void 0:t.input)||void 0===n?void 0:n.value,e,{source:"input"})},B="boolean"==typeof d?o.createElement(Z.Z,null):null,L="".concat(j,"-button"),z=d||{},F=z.type&&!0===z.type.__ANT_BUTTON;n=F||"button"===z.type?(0,R.Tm)(z,Object.assign({onMouseDown:N,onClick:e=>{var t,n;null===(n=null===(t=null==z?void 0:z.props)||void 0===t?void 0:t.onClick)||void 0===n||n.call(t,e),I(e)},key:"enterButton"},F?{className:L,size:A}:{})):o.createElement(_.ZP,{className:L,type:d?"primary":void 0,size:A,disabled:g,key:"enterButton",onMouseDown:N,onClick:I,loading:v,icon:B},d),p&&(n=[n,(0,R.Tm)(p,{key:"addonAfter"})]);let H=a()(j,{["".concat(j,"-rtl")]:"rtl"===C,["".concat(j,"-").concat(A)]:!!A,["".concat(j,"-with-button")]:!!d},l);return o.createElement(E,Object.assign({ref:(0,f.sQ)(T,t),onPressEnter:e=>{k.current||v||I(e)}},O,{size:A,onCompositionStart:e=>{k.current=!0,null==x||x(e)},onCompositionEnd:e=>{k.current=!1,null==w||w(e)},prefixCls:P,addonAfter:n,suffix:s,onChange:e=>{e&&e.target&&"click"===e.type&&y&&y(e.target.value,e,{source:"clear"}),b&&b(e)},className:H,disabled:g}))});var L=n(50833),z=n(5239),F=n(63787),H=n(80406),W=n(6787),q=n(44607),V=n(8002),U=n(44329),X=n(6976),G=n(46505),K=n(24800),$=n(19223),Y=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","font-variant","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break","white-space"],Q={},J=["prefixCls","onPressEnter","defaultValue","value","autoSize","onResize","className","style","disabled","onChange","onInternalAutoSize"],ee=o.forwardRef(function(e,t){var n=e.prefixCls,i=(e.onPressEnter,e.defaultValue),c=e.value,l=e.autoSize,u=e.onResize,s=e.className,f=e.style,d=e.disabled,p=e.onChange,h=(e.onInternalAutoSize,(0,W.Z)(e,J)),m=(0,U.Z)(i,{value:c,postState:function(e){return null!=e?e:""}}),v=(0,H.Z)(m,2),g=v[0],y=v[1],b=o.useRef();o.useImperativeHandle(t,function(){return{textArea:b.current}});var x=o.useMemo(function(){return l&&"object"===(0,X.Z)(l)?[l.minRows,l.maxRows]:[]},[l]),w=(0,H.Z)(x,2),E=w[0],S=w[1],C=!!l,k=function(){try{if(document.activeElement===b.current){var e=b.current,t=e.selectionStart,n=e.selectionEnd,r=e.scrollTop;b.current.setSelectionRange(t,n),b.current.scrollTop=r}}catch(e){}},j=o.useState(2),P=(0,H.Z)(j,2),M=P[0],A=P[1],T=o.useState(),N=(0,H.Z)(T,2),I=N[0],Z=N[1],R=function(){A(0)};(0,K.Z)(function(){C&&R()},[c,E,S,C]),(0,K.Z)(function(){if(0===M)A(1);else if(1===M){var e=function(e){var t,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;r||((r=document.createElement("textarea")).setAttribute("tab-index","-1"),r.setAttribute("aria-hidden","true"),document.body.appendChild(r)),e.getAttribute("wrap")?r.setAttribute("wrap",e.getAttribute("wrap")):r.removeAttribute("wrap");var a=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e.getAttribute("id")||e.getAttribute("data-reactid")||e.getAttribute("name");if(t&&Q[n])return Q[n];var r=window.getComputedStyle(e),o=r.getPropertyValue("box-sizing")||r.getPropertyValue("-moz-box-sizing")||r.getPropertyValue("-webkit-box-sizing"),i=parseFloat(r.getPropertyValue("padding-bottom"))+parseFloat(r.getPropertyValue("padding-top")),a=parseFloat(r.getPropertyValue("border-bottom-width"))+parseFloat(r.getPropertyValue("border-top-width")),c={sizingStyle:Y.map(function(e){return"".concat(e,":").concat(r.getPropertyValue(e))}).join(";"),paddingSize:i,borderSize:a,boxSizing:o};return t&&n&&(Q[n]=c),c}(e,n),c=a.paddingSize,l=a.borderSize,u=a.boxSizing,s=a.sizingStyle;r.setAttribute("style","".concat(s,";").concat("\n min-height:0 !important;\n max-height:none !important;\n height:0 !important;\n visibility:hidden !important;\n overflow:hidden !important;\n position:absolute !important;\n z-index:-1000 !important;\n top:0 !important;\n right:0 !important;\n pointer-events: none !important;\n")),r.value=e.value||e.placeholder||"";var f=void 0,d=void 0,p=r.scrollHeight;if("border-box"===u?p+=l:"content-box"===u&&(p-=c),null!==o||null!==i){r.value=" ";var h=r.scrollHeight-c;null!==o&&(f=h*o,"border-box"===u&&(f=f+c+l),p=Math.max(f,p)),null!==i&&(d=h*i,"border-box"===u&&(d=d+c+l),t=p>d?"":"hidden",p=Math.min(d,p))}var m={height:p,overflowY:t,resize:"none"};return f&&(m.minHeight=f),d&&(m.maxHeight=d),m}(b.current,!1,E,S);A(2),Z(e)}else k()},[M]);var _=o.useRef(),D=function(){$.Z.cancel(_.current)};o.useEffect(function(){return D},[]);var B=(0,z.Z)((0,z.Z)({},f),C?I:null);return(0===M||1===M)&&(B.overflowY="hidden",B.overflowX="hidden"),o.createElement(G.Z,{onResize:function(e){2===M&&(null==u||u(e),l&&(D(),_.current=(0,$.Z)(function(){R()})))},disabled:!(l||u)},o.createElement("textarea",(0,O.Z)({},h,{ref:b,style:B,className:a()(n,s,(0,L.Z)({},"".concat(n,"-disabled"),d)),disabled:d,value:g,onChange:function(e){y(e.target.value),null==p||p(e)}})))}),et=["defaultValue","value","onFocus","onBlur","onChange","allowClear","maxLength","onCompositionStart","onCompositionEnd","suffix","prefixCls","showCount","count","className","style","disabled","hidden","classNames","styles","onResize"],en=o.forwardRef(function(e,t){var n,r,i,c=e.defaultValue,l=e.value,u=e.onFocus,f=e.onBlur,d=e.onChange,p=e.allowClear,h=e.maxLength,m=e.onCompositionStart,v=e.onCompositionEnd,g=e.suffix,y=e.prefixCls,b=void 0===y?"rc-textarea":y,x=e.showCount,w=e.count,E=e.className,S=e.style,C=e.disabled,k=e.hidden,j=e.classNames,P=e.styles,M=e.onResize,A=(0,W.Z)(e,et),T=(0,U.Z)(c,{value:l,defaultValue:c}),N=(0,H.Z)(T,2),I=N[0],Z=N[1],R=null==I?"":String(I),_=o.useState(!1),D=(0,H.Z)(_,2),B=D[0],X=D[1],G=o.useRef(!1),K=o.useState(null),$=(0,H.Z)(K,2),Y=$[0],Q=$[1],J=(0,o.useRef)(null),en=function(){var e;return null===(e=J.current)||void 0===e?void 0:e.textArea},er=function(){en().focus()};(0,o.useImperativeHandle)(t,function(){return{resizableTextArea:J.current,focus:er,blur:function(){en().blur()}}}),(0,o.useEffect)(function(){X(function(e){return!C&&e})},[C]);var eo=o.useState(null),ei=(0,H.Z)(eo,2),ea=ei[0],ec=ei[1];o.useEffect(function(){if(ea){var e;(e=en()).setSelectionRange.apply(e,(0,F.Z)(ea))}},[ea]);var el=(0,q.Z)(w,x),eu=null!==(n=el.max)&&void 0!==n?n:h,es=Number(eu)>0,ef=el.strategy(R),ed=!!eu&&ef>eu,ep=function(e,t){var n=t;!G.current&&el.exceedFormatter&&el.max&&el.strategy(t)>el.max&&(n=el.exceedFormatter(t,{max:el.max}),t!==n&&ec([en().selectionStart||0,en().selectionEnd||0])),Z(n),(0,V.rJ)(e.currentTarget,e,d,n)},eh=g;el.show&&(i=el.showFormatter?el.showFormatter({value:R,count:ef,maxLength:eu}):"".concat(ef).concat(es?" / ".concat(eu):""),eh=o.createElement(o.Fragment,null,eh,o.createElement("span",{className:a()("".concat(b,"-data-count"),null==j?void 0:j.count),style:null==P?void 0:P.count},i)));var em=!A.autoSize&&!x&&!p;return o.createElement(s.Q,{value:R,allowClear:p,handleReset:function(e){Z(""),er(),(0,V.rJ)(en(),e,d)},suffix:eh,prefixCls:b,classNames:(0,z.Z)((0,z.Z)({},j),{},{affixWrapper:a()(null==j?void 0:j.affixWrapper,(r={},(0,L.Z)(r,"".concat(b,"-show-count"),x),(0,L.Z)(r,"".concat(b,"-textarea-allow-clear"),p),r))}),disabled:C,focused:B,className:a()(E,ed&&"".concat(b,"-out-of-range")),style:(0,z.Z)((0,z.Z)({},S),Y&&!em?{height:"auto"}:{}),dataAttrs:{affixWrapper:{"data-count":"string"==typeof i?i:void 0}},hidden:k},o.createElement(ee,(0,O.Z)({},A,{maxLength:h,onKeyDown:function(e){var t=A.onPressEnter,n=A.onKeyDown;"Enter"===e.key&&t&&t(e),null==n||n(e)},onChange:function(e){ep(e,e.target.value)},onFocus:function(e){X(!0),null==u||u(e)},onBlur:function(e){X(!1),null==f||f(e)},onCompositionStart:function(e){G.current=!0,null==m||m(e)},onCompositionEnd:function(e){G.current=!1,ep(e,e.currentTarget.value),null==v||v(e)},className:a()(null==j?void 0:j.textarea),style:(0,z.Z)((0,z.Z)({},null==P?void 0:P.textarea),{},{resize:null==S?void 0:S.resize}),disabled:C,prefixCls:b,onResize:function(e){var t;null==M||M(e),null!==(t=en())&&void 0!==t&&t.style.height&&Q(!0)},ref:J})))}),er=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let eo=(0,o.forwardRef)((e,t)=>{var n;let r;let{prefixCls:i,bordered:s=!0,size:f,disabled:m,status:v,allowClear:x,classNames:w,rootClassName:E,className:O,variant:S}=e,C=er(e,["prefixCls","bordered","size","disabled","status","allowClear","classNames","rootClassName","className","variant"]),{getPrefixCls:k,direction:j}=o.useContext(c.E_),P=(0,h.Z)(f),M=o.useContext(p.Z),{status:A,hasFeedback:T,feedbackIcon:N}=o.useContext(l.aM),I=(0,d.F)(A,v),Z=o.useRef(null);o.useImperativeHandle(t,()=>{var e;return{resizableTextArea:null===(e=Z.current)||void 0===e?void 0:e.resizableTextArea,focus:e=>{var t,n;!function(e,t){if(!e)return;e.focus(t);let{cursor:n}=t||{};if(n){let t=e.value.length;switch(n){case"start":e.setSelectionRange(0,0);break;case"end":e.setSelectionRange(t,t);break;default:e.setSelectionRange(0,t)}}}(null===(n=null===(t=Z.current)||void 0===t?void 0:t.resizableTextArea)||void 0===n?void 0:n.textArea,e)},blur:()=>{var e;return null===(e=Z.current)||void 0===e?void 0:e.blur()}}});let R=k("input",i);"object"==typeof x&&(null==x?void 0:x.clearIcon)?r=x:x&&(r={clearIcon:o.createElement(b.Z,null)});let _=(0,g.Z)(R),[D,B,L]=(0,u.ZP)(R,_),[z,F]=(0,y.Z)(S,s);return D(o.createElement(en,Object.assign({},C,{disabled:null!=m?m:M,allowClear:r,className:a()(L,_,O,E),classNames:Object.assign(Object.assign({},w),{textarea:a()({["".concat(R,"-sm")]:"small"===P,["".concat(R,"-lg")]:"large"===P},B,null==w?void 0:w.textarea),variant:a()({["".concat(R,"-").concat(z)]:F},(0,d.Z)(R,I)),affixWrapper:a()("".concat(R,"-textarea-affix-wrapper"),{["".concat(R,"-affix-wrapper-rtl")]:"rtl"===j,["".concat(R,"-affix-wrapper-sm")]:"small"===P,["".concat(R,"-affix-wrapper-lg")]:"large"===P,["".concat(R,"-textarea-show-count")]:e.showCount||(null===(n=e.count)||void 0===n?void 0:n.show)},B)}),prefixCls:R,suffix:T&&o.createElement("span",{className:"".concat(R,"-textarea-suffix")},N),ref:Z})))});E.Group=e=>{let{getPrefixCls:t,direction:n}=(0,o.useContext)(c.E_),{prefixCls:r,className:i}=e,s=t("input-group",r),f=t("input"),[d,p]=(0,u.ZP)(f),h=a()(s,{["".concat(s,"-lg")]:"large"===e.size,["".concat(s,"-sm")]:"small"===e.size,["".concat(s,"-compact")]:e.compact,["".concat(s,"-rtl")]:"rtl"===n},p,i),m=(0,o.useContext)(l.aM),v=(0,o.useMemo)(()=>Object.assign(Object.assign({},m),{isFormItemInput:!1}),[m]);return d(o.createElement("span",{className:h,style:e.style,onMouseEnter:e.onMouseEnter,onMouseLeave:e.onMouseLeave,onFocus:e.onFocus,onBlur:e.onBlur},o.createElement(l.aM.Provider,{value:v},e.children)))},E.Search=B,E.TextArea=eo,E.Password=I;var ei=E},94759:function(e,t,n){n.d(t,{ik:function(){return p},nz:function(){return s},s7:function(){return h}});var r=n(8985),o=n(11303),i=n(12288),a=n(76585),c=n(80316),l=n(85980),u=n(61892);let s=e=>({"&::-moz-placeholder":{opacity:1},"&::placeholder":{color:e,userSelect:"none"},"&:placeholder-shown":{textOverflow:"ellipsis"}}),f=e=>{let{paddingBlockLG:t,lineHeightLG:n,borderRadiusLG:o,paddingInlineLG:i}=e;return{padding:"".concat((0,r.bf)(t)," ").concat((0,r.bf)(i)),fontSize:e.inputFontSizeLG,lineHeight:n,borderRadius:o}},d=e=>({padding:"".concat((0,r.bf)(e.paddingBlockSM)," ").concat((0,r.bf)(e.paddingInlineSM)),fontSize:e.inputFontSizeSM,borderRadius:e.borderRadiusSM}),p=e=>Object.assign(Object.assign({position:"relative",display:"inline-block",width:"100%",minWidth:0,padding:"".concat((0,r.bf)(e.paddingBlock)," ").concat((0,r.bf)(e.paddingInline)),color:e.colorText,fontSize:e.inputFontSize,lineHeight:e.lineHeight,borderRadius:e.borderRadius,transition:"all ".concat(e.motionDurationMid)},s(e.colorTextPlaceholder)),{"textarea&":{maxWidth:"100%",height:"auto",minHeight:e.controlHeight,lineHeight:e.lineHeight,verticalAlign:"bottom",transition:"all ".concat(e.motionDurationSlow,", height 0s"),resize:"vertical"},"&-lg":Object.assign({},f(e)),"&-sm":Object.assign({},d(e)),"&-rtl":{direction:"rtl"},"&-textarea-rtl":{direction:"rtl"}}),h=e=>{let{componentCls:t,antCls:n}=e;return{position:"relative",display:"table",width:"100%",borderCollapse:"separate",borderSpacing:0,"&[class*='col-']":{paddingInlineEnd:e.paddingXS,"&:last-child":{paddingInlineEnd:0}},["&-lg ".concat(t,", &-lg > ").concat(t,"-group-addon")]:Object.assign({},f(e)),["&-sm ".concat(t,", &-sm > ").concat(t,"-group-addon")]:Object.assign({},d(e)),["&-lg ".concat(n,"-select-single ").concat(n,"-select-selector")]:{height:e.controlHeightLG},["&-sm ".concat(n,"-select-single ").concat(n,"-select-selector")]:{height:e.controlHeightSM},["> ".concat(t)]:{display:"table-cell","&:not(:first-child):not(:last-child)":{borderRadius:0}},["".concat(t,"-group")]:{"&-addon, &-wrap":{display:"table-cell",width:1,whiteSpace:"nowrap",verticalAlign:"middle","&:not(:first-child):not(:last-child)":{borderRadius:0}},"&-wrap > *":{display:"block !important"},"&-addon":{position:"relative",padding:"0 ".concat((0,r.bf)(e.paddingInline)),color:e.colorText,fontWeight:"normal",fontSize:e.inputFontSize,textAlign:"center",borderRadius:e.borderRadius,transition:"all ".concat(e.motionDurationSlow),lineHeight:1,["".concat(n,"-select")]:{margin:"".concat((0,r.bf)(e.calc(e.paddingBlock).add(1).mul(-1).equal())," ").concat((0,r.bf)(e.calc(e.paddingInline).mul(-1).equal())),["&".concat(n,"-select-single:not(").concat(n,"-select-customize-input):not(").concat(n,"-pagination-size-changer)")]:{["".concat(n,"-select-selector")]:{backgroundColor:"inherit",border:"".concat((0,r.bf)(e.lineWidth)," ").concat(e.lineType," transparent"),boxShadow:"none"}},"&-open, &-focused":{["".concat(n,"-select-selector")]:{color:e.colorPrimary}}},["".concat(n,"-cascader-picker")]:{margin:"-9px ".concat((0,r.bf)(e.calc(e.paddingInline).mul(-1).equal())),backgroundColor:"transparent",["".concat(n,"-cascader-input")]:{textAlign:"start",border:0,boxShadow:"none"}}}},["".concat(t)]:{width:"100%",marginBottom:0,textAlign:"inherit","&:focus":{zIndex:1,borderInlineEndWidth:1},"&:hover":{zIndex:1,borderInlineEndWidth:1,["".concat(t,"-search-with-button &")]:{zIndex:0}}},["> ".concat(t,":first-child, ").concat(t,"-group-addon:first-child")]:{borderStartEndRadius:0,borderEndEndRadius:0,["".concat(n,"-select ").concat(n,"-select-selector")]:{borderStartEndRadius:0,borderEndEndRadius:0}},["> ".concat(t,"-affix-wrapper")]:{["&:not(:first-child) ".concat(t)]:{borderStartStartRadius:0,borderEndStartRadius:0},["&:not(:last-child) ".concat(t)]:{borderStartEndRadius:0,borderEndEndRadius:0}},["> ".concat(t,":last-child, ").concat(t,"-group-addon:last-child")]:{borderStartStartRadius:0,borderEndStartRadius:0,["".concat(n,"-select ").concat(n,"-select-selector")]:{borderStartStartRadius:0,borderEndStartRadius:0}},["".concat(t,"-affix-wrapper")]:{"&:not(:last-child)":{borderStartEndRadius:0,borderEndEndRadius:0,["".concat(t,"-search &")]:{borderStartStartRadius:e.borderRadius,borderEndStartRadius:e.borderRadius}},["&:not(:first-child), ".concat(t,"-search &:not(:first-child)")]:{borderStartStartRadius:0,borderEndStartRadius:0}},["&".concat(t,"-group-compact")]:Object.assign(Object.assign({display:"block"},(0,o.dF)()),{["".concat(t,"-group-addon, ").concat(t,"-group-wrap, > ").concat(t)]:{"&:not(:first-child):not(:last-child)":{borderInlineEndWidth:e.lineWidth,"&:hover":{zIndex:1},"&:focus":{zIndex:1}}},"& > *":{display:"inline-block",float:"none",verticalAlign:"top",borderRadius:0},["\n & > ".concat(t,"-affix-wrapper,\n & > ").concat(t,"-number-affix-wrapper,\n & > ").concat(n,"-picker-range\n ")]:{display:"inline-flex"},"& > *:not(:last-child)":{marginInlineEnd:e.calc(e.lineWidth).mul(-1).equal(),borderInlineEndWidth:e.lineWidth},["".concat(t)]:{float:"none"},["& > ".concat(n,"-select > ").concat(n,"-select-selector,\n & > ").concat(n,"-select-auto-complete ").concat(t,",\n & > ").concat(n,"-cascader-picker ").concat(t,",\n & > ").concat(t,"-group-wrapper ").concat(t)]:{borderInlineEndWidth:e.lineWidth,borderRadius:0,"&:hover":{zIndex:1},"&:focus":{zIndex:1}},["& > ".concat(n,"-select-focused")]:{zIndex:1},["& > ".concat(n,"-select > ").concat(n,"-select-arrow")]:{zIndex:1},["& > *:first-child,\n & > ".concat(n,"-select:first-child > ").concat(n,"-select-selector,\n & > ").concat(n,"-select-auto-complete:first-child ").concat(t,",\n & > ").concat(n,"-cascader-picker:first-child ").concat(t)]:{borderStartStartRadius:e.borderRadius,borderEndStartRadius:e.borderRadius},["& > *:last-child,\n & > ".concat(n,"-select:last-child > ").concat(n,"-select-selector,\n & > ").concat(n,"-cascader-picker:last-child ").concat(t,",\n & > ").concat(n,"-cascader-picker-focused:last-child ").concat(t)]:{borderInlineEndWidth:e.lineWidth,borderStartEndRadius:e.borderRadius,borderEndEndRadius:e.borderRadius},["& > ".concat(n,"-select-auto-complete ").concat(t)]:{verticalAlign:"top"},["".concat(t,"-group-wrapper + ").concat(t,"-group-wrapper")]:{marginInlineStart:e.calc(e.lineWidth).mul(-1).equal(),["".concat(t,"-affix-wrapper")]:{borderRadius:0}},["".concat(t,"-group-wrapper:not(:last-child)")]:{["&".concat(t,"-search > ").concat(t,"-group")]:{["& > ".concat(t,"-group-addon > ").concat(t,"-search-button")]:{borderRadius:0},["& > ".concat(t)]:{borderStartStartRadius:e.borderRadius,borderStartEndRadius:0,borderEndEndRadius:0,borderEndStartRadius:e.borderRadius}}}})}},m=e=>{let{componentCls:t,controlHeightSM:n,lineWidth:r,calc:i}=e,a=i(n).sub(i(r).mul(2)).sub(16).div(2).equal();return{[t]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},(0,o.Wf)(e)),p(e)),(0,u.qG)(e)),(0,u.H8)(e)),(0,u.Mu)(e)),{'&[type="color"]':{height:e.controlHeight,["&".concat(t,"-lg")]:{height:e.controlHeightLG},["&".concat(t,"-sm")]:{height:n,paddingTop:a,paddingBottom:a}},'&[type="search"]::-webkit-search-cancel-button, &[type="search"]::-webkit-search-decoration':{"-webkit-appearance":"none"}})}},v=e=>{let{componentCls:t}=e;return{["".concat(t,"-clear-icon")]:{margin:0,color:e.colorTextQuaternary,fontSize:e.fontSizeIcon,verticalAlign:-1,cursor:"pointer",transition:"color ".concat(e.motionDurationSlow),"&:hover":{color:e.colorTextTertiary},"&:active":{color:e.colorText},"&-hidden":{visibility:"hidden"},"&-has-suffix":{margin:"0 ".concat((0,r.bf)(e.inputAffixPadding))}}}},g=e=>{let{componentCls:t,inputAffixPadding:n,colorTextDescription:r,motionDurationSlow:o,colorIcon:i,colorIconHover:a,iconCls:c}=e;return{["".concat(t,"-affix-wrapper")]:Object.assign(Object.assign(Object.assign(Object.assign({},p(e)),{display:"inline-flex",["&:not(".concat(t,"-disabled):hover")]:{zIndex:1,["".concat(t,"-search-with-button &")]:{zIndex:0}},"&-focused, &:focus":{zIndex:1},["> input".concat(t)]:{padding:0,fontSize:"inherit",border:"none",borderRadius:0,outline:"none",background:"transparent",color:"inherit","&::-ms-reveal":{display:"none"},"&:focus":{boxShadow:"none !important"}},"&::before":{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'},["".concat(t)]:{"&-prefix, &-suffix":{display:"flex",flex:"none",alignItems:"center","> *:not(:last-child)":{marginInlineEnd:e.paddingXS}},"&-show-count-suffix":{color:r},"&-show-count-has-suffix":{marginInlineEnd:e.paddingXXS},"&-prefix":{marginInlineEnd:n},"&-suffix":{marginInlineStart:n}}}),v(e)),{["".concat(c).concat(t,"-password-icon")]:{color:i,cursor:"pointer",transition:"all ".concat(o),"&:hover":{color:a}}})}},y=e=>{let{componentCls:t,borderRadiusLG:n,borderRadiusSM:r}=e;return{["".concat(t,"-group")]:Object.assign(Object.assign(Object.assign({},(0,o.Wf)(e)),h(e)),{"&-rtl":{direction:"rtl"},"&-wrapper":Object.assign(Object.assign(Object.assign({display:"inline-block",width:"100%",textAlign:"start",verticalAlign:"top","&-rtl":{direction:"rtl"},"&-lg":{["".concat(t,"-group-addon")]:{borderRadius:n,fontSize:e.inputFontSizeLG}},"&-sm":{["".concat(t,"-group-addon")]:{borderRadius:r}}},(0,u.ir)(e)),(0,u.S5)(e)),{["&:not(".concat(t,"-compact-first-item):not(").concat(t,"-compact-last-item)").concat(t,"-compact-item")]:{["".concat(t,", ").concat(t,"-group-addon")]:{borderRadius:0}},["&:not(".concat(t,"-compact-last-item)").concat(t,"-compact-first-item")]:{["".concat(t,", ").concat(t,"-group-addon")]:{borderStartEndRadius:0,borderEndEndRadius:0}},["&:not(".concat(t,"-compact-first-item)").concat(t,"-compact-last-item")]:{["".concat(t,", ").concat(t,"-group-addon")]:{borderStartStartRadius:0,borderEndStartRadius:0}}})})}},b=e=>{let{componentCls:t,antCls:n}=e,r="".concat(t,"-search");return{[r]:{["".concat(t)]:{"&:hover, &:focus":{borderColor:e.colorPrimaryHover,["+ ".concat(t,"-group-addon ").concat(r,"-button:not(").concat(n,"-btn-primary)")]:{borderInlineStartColor:e.colorPrimaryHover}}},["".concat(t,"-affix-wrapper")]:{borderRadius:0},["".concat(t,"-lg")]:{lineHeight:e.calc(e.lineHeightLG).sub(2e-4).equal({unit:!1})},["> ".concat(t,"-group")]:{["> ".concat(t,"-group-addon:last-child")]:{insetInlineStart:-1,padding:0,border:0,["".concat(r,"-button")]:{paddingTop:0,paddingBottom:0,borderStartStartRadius:0,borderStartEndRadius:e.borderRadius,borderEndEndRadius:e.borderRadius,borderEndStartRadius:0,boxShadow:"none"},["".concat(r,"-button:not(").concat(n,"-btn-primary)")]:{color:e.colorTextDescription,"&:hover":{color:e.colorPrimaryHover},"&:active":{color:e.colorPrimaryActive},["&".concat(n,"-btn-loading::before")]:{insetInlineStart:0,insetInlineEnd:0,insetBlockStart:0,insetBlockEnd:0}}}},["".concat(r,"-button")]:{height:e.controlHeight,"&:hover, &:focus":{zIndex:1}},["&-large ".concat(r,"-button")]:{height:e.controlHeightLG},["&-small ".concat(r,"-button")]:{height:e.controlHeightSM},"&-rtl":{direction:"rtl"},["&".concat(t,"-compact-item")]:{["&:not(".concat(t,"-compact-last-item)")]:{["".concat(t,"-group-addon")]:{["".concat(t,"-search-button")]:{marginInlineEnd:e.calc(e.lineWidth).mul(-1).equal(),borderRadius:0}}},["&:not(".concat(t,"-compact-first-item)")]:{["".concat(t,",").concat(t,"-affix-wrapper")]:{borderRadius:0}},["> ".concat(t,"-group-addon ").concat(t,"-search-button,\n > ").concat(t,",\n ").concat(t,"-affix-wrapper")]:{"&:hover,&:focus,&:active":{zIndex:2}},["> ".concat(t,"-affix-wrapper-focused")]:{zIndex:2}}}}},x=e=>{let{componentCls:t,paddingLG:n}=e,r="".concat(t,"-textarea");return{[r]:{position:"relative","&-show-count":{["> ".concat(t)]:{height:"100%"},["".concat(t,"-data-count")]:{position:"absolute",bottom:e.calc(e.fontSize).mul(e.lineHeight).mul(-1).equal(),insetInlineEnd:0,color:e.colorTextDescription,whiteSpace:"nowrap",pointerEvents:"none"}},"&-allow-clear":{["> ".concat(t)]:{paddingInlineEnd:n}},["&-affix-wrapper".concat(r,"-has-feedback")]:{["".concat(t)]:{paddingInlineEnd:n}},["&-affix-wrapper".concat(t,"-affix-wrapper")]:{padding:0,["> textarea".concat(t)]:{fontSize:"inherit",border:"none",outline:"none",background:"transparent","&:focus":{boxShadow:"none !important"}},["".concat(t,"-suffix")]:{margin:0,"> *:not(:last-child)":{marginInline:0},["".concat(t,"-clear-icon")]:{position:"absolute",insetInlineEnd:e.paddingXS,insetBlockStart:e.paddingXS},["".concat(r,"-suffix")]:{position:"absolute",top:0,insetInlineEnd:e.paddingInline,bottom:0,zIndex:1,display:"inline-flex",alignItems:"center",margin:"auto",pointerEvents:"none"}}}}}},w=e=>{let{componentCls:t}=e;return{["".concat(t,"-out-of-range")]:{["&, & input, & textarea, ".concat(t,"-show-count-suffix, ").concat(t,"-data-count")]:{color:e.colorError}}}};t.ZP=(0,a.I$)("Input",e=>{let t=(0,c.TS)(e,(0,l.e)(e));return[m(t),x(t),g(t),y(t),b(t),w(t),(0,i.c)(t)]},l.T)},85980:function(e,t,n){n.d(t,{T:function(){return i},e:function(){return o}});var r=n(80316);function o(e){return(0,r.TS)(e,{inputAffixPadding:e.paddingXXS})}let i=e=>{let{controlHeight:t,fontSize:n,lineHeight:r,lineWidth:o,controlHeightSM:i,controlHeightLG:a,fontSizeLG:c,lineHeightLG:l,paddingSM:u,controlPaddingHorizontalSM:s,controlPaddingHorizontal:f,colorFillAlter:d,colorPrimaryHover:p,colorPrimary:h,controlOutlineWidth:m,controlOutline:v,colorErrorOutline:g,colorWarningOutline:y,colorBgContainer:b}=e;return{paddingBlock:Math.max(Math.round((t-n*r)/2*10)/10-o,0),paddingBlockSM:Math.max(Math.round((i-n*r)/2*10)/10-o,0),paddingBlockLG:Math.ceil((a-c*l)/2*10)/10-o,paddingInline:u-o,paddingInlineSM:s-o,paddingInlineLG:f-o,addonBg:d,activeBorderColor:h,hoverBorderColor:p,activeShadow:"0 0 0 ".concat(m,"px ").concat(v),errorActiveShadow:"0 0 0 ".concat(m,"px ").concat(g),warningActiveShadow:"0 0 0 ".concat(m,"px ").concat(y),hoverBg:b,activeBg:b,inputFontSize:n,inputFontSizeLG:c,inputFontSizeSM:n}}},61892:function(e,t,n){n.d(t,{H8:function(){return m},Mu:function(){return d},S5:function(){return g},ir:function(){return f},qG:function(){return u}});var r=n(8985),o=n(80316);let i=e=>({borderColor:e.hoverBorderColor,backgroundColor:e.hoverBg}),a=e=>({color:e.colorTextDisabled,backgroundColor:e.colorBgContainerDisabled,borderColor:e.colorBorder,boxShadow:"none",cursor:"not-allowed",opacity:1,"&:hover:not([disabled])":Object.assign({},i((0,o.TS)(e,{hoverBorderColor:e.colorBorder,hoverBg:e.colorBgContainerDisabled})))}),c=(e,t)=>({background:e.colorBgContainer,borderWidth:e.lineWidth,borderStyle:e.lineType,borderColor:t.borderColor,"&:hover":{borderColor:t.hoverBorderColor,backgroundColor:e.hoverBg},"&:focus, &:focus-within":{borderColor:t.activeBorderColor,boxShadow:t.activeShadow,outline:0,backgroundColor:e.activeBg}}),l=(e,t)=>({["&".concat(e.componentCls,"-status-").concat(t.status,":not(").concat(e.componentCls,"-disabled)")]:Object.assign(Object.assign({},c(e,t)),{["".concat(e.componentCls,"-prefix, ").concat(e.componentCls,"-suffix")]:{color:t.affixColor}})}),u=(e,t)=>({"&-outlined":Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},c(e,{borderColor:e.colorBorder,hoverBorderColor:e.colorPrimaryHover,activeBorderColor:e.colorPrimary,activeShadow:e.activeShadow})),{["&".concat(e.componentCls,"-disabled, &[disabled]")]:Object.assign({},a(e))}),l(e,{status:"error",borderColor:e.colorError,hoverBorderColor:e.colorErrorBorderHover,activeBorderColor:e.colorError,activeShadow:e.errorActiveShadow,affixColor:e.colorError})),l(e,{status:"warning",borderColor:e.colorWarning,hoverBorderColor:e.colorWarningBorderHover,activeBorderColor:e.colorWarning,activeShadow:e.warningActiveShadow,affixColor:e.colorWarning})),t)}),s=(e,t)=>({["&".concat(e.componentCls,"-group-wrapper-status-").concat(t.status)]:{["".concat(e.componentCls,"-group-addon")]:{borderColor:t.addonBorderColor,color:t.addonColor}}}),f=e=>({"&-outlined":Object.assign(Object.assign(Object.assign({["".concat(e.componentCls,"-group")]:{"&-addon":{background:e.addonBg,border:"".concat((0,r.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorBorder)},"&-addon:first-child":{borderInlineEnd:0},"&-addon:last-child":{borderInlineStart:0}}},s(e,{status:"error",addonBorderColor:e.colorError,addonColor:e.colorErrorText})),s(e,{status:"warning",addonBorderColor:e.colorWarning,addonColor:e.colorWarningText})),{["&".concat(e.componentCls,"-group-wrapper-disabled")]:{["".concat(e.componentCls,"-group-addon")]:Object.assign({},a(e))}})}),d=(e,t)=>({"&-borderless":Object.assign({background:"transparent",border:"none","&:focus, &:focus-within":{outline:"none"},["&".concat(e.componentCls,"-disabled, &[disabled]")]:{color:e.colorTextDisabled}},t)}),p=(e,t)=>({background:t.bg,borderWidth:e.lineWidth,borderStyle:e.lineType,borderColor:"transparent","input&, & input, textarea&, & textarea":{color:null==t?void 0:t.inputColor},"&:hover":{background:t.hoverBg},"&:focus, &:focus-within":{outline:0,borderColor:t.activeBorderColor,backgroundColor:e.activeBg}}),h=(e,t)=>({["&".concat(e.componentCls,"-status-").concat(t.status,":not(").concat(e.componentCls,"-disabled)")]:Object.assign(Object.assign({},p(e,t)),{["".concat(e.componentCls,"-prefix, ").concat(e.componentCls,"-suffix")]:{color:t.affixColor}})}),m=(e,t)=>({"&-filled":Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},p(e,{bg:e.colorFillTertiary,hoverBg:e.colorFillSecondary,activeBorderColor:e.colorPrimary})),{["&".concat(e.componentCls,"-disabled, &[disabled]")]:Object.assign({},a(e))}),h(e,{status:"error",bg:e.colorErrorBg,hoverBg:e.colorErrorBgHover,activeBorderColor:e.colorError,inputColor:e.colorErrorText,affixColor:e.colorError})),h(e,{status:"warning",bg:e.colorWarningBg,hoverBg:e.colorWarningBgHover,activeBorderColor:e.colorWarning,inputColor:e.colorWarningText,affixColor:e.colorWarning})),t)}),v=(e,t)=>({["&".concat(e.componentCls,"-group-wrapper-status-").concat(t.status)]:{["".concat(e.componentCls,"-group-addon")]:{background:t.addonBg,color:t.addonColor}}}),g=e=>({"&-filled":Object.assign(Object.assign(Object.assign({["".concat(e.componentCls,"-group")]:{"&-addon":{background:e.colorFillTertiary},["".concat(e.componentCls,"-filled:not(:focus):not(:focus-within)")]:{"&:not(:first-child)":{borderInlineStart:"".concat((0,r.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorSplit)},"&:not(:last-child)":{borderInlineEnd:"".concat((0,r.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorSplit)}}}},v(e,{status:"error",addonBg:e.colorErrorBg,addonColor:e.colorErrorText})),v(e,{status:"warning",addonBg:e.colorWarningBg,addonColor:e.colorWarningText})),{["&".concat(e.componentCls,"-group-wrapper-disabled")]:{["".concat(e.componentCls,"-group")]:{"&-addon":{background:e.colorFillTertiary,color:e.colorTextDisabled},"&-addon:first-child":{borderInlineStart:"".concat((0,r.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorBorder),borderTop:"".concat((0,r.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorBorder),borderBottom:"".concat((0,r.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorBorder)},"&-addon:last-child":{borderInlineEnd:"".concat((0,r.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorBorder),borderTop:"".concat((0,r.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorBorder),borderBottom:"".concat((0,r.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorBorder)}}}})})},25839:function(e,t,n){let r;n.d(t,{D:function(){return w},Z:function(){return O}});var o=n(64090),i=n(14749),a={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"bars",theme:"outlined"},c=n(60688),l=o.forwardRef(function(e,t){return o.createElement(c.Z,(0,i.Z)({},e,{ref:t,icon:a}))}),u={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"}}]},name:"left",theme:"outlined"},s=o.forwardRef(function(e,t){return o.createElement(c.Z,(0,i.Z)({},e,{ref:t,icon:u}))}),f={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"}}]},name:"right",theme:"outlined"},d=o.forwardRef(function(e,t){return o.createElement(c.Z,(0,i.Z)({},e,{ref:t,icon:f}))}),p=n(16480),h=n.n(p),m=n(35704),v=e=>!isNaN(parseFloat(e))&&isFinite(e),g=n(57499),y=n(31747),b=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let x={xs:"479.98px",sm:"575.98px",md:"767.98px",lg:"991.98px",xl:"1199.98px",xxl:"1599.98px"},w=o.createContext({}),E=(r=0,function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return r+=1,"".concat(e).concat(r)});var O=o.forwardRef((e,t)=>{let{prefixCls:n,className:r,trigger:i,children:a,defaultCollapsed:c=!1,theme:u="dark",style:f={},collapsible:p=!1,reverseArrow:O=!1,width:S=200,collapsedWidth:C=80,zeroWidthTriggerStyle:k,breakpoint:j,onCollapse:P,onBreakpoint:M}=e,A=b(e,["prefixCls","className","trigger","children","defaultCollapsed","theme","style","collapsible","reverseArrow","width","collapsedWidth","zeroWidthTriggerStyle","breakpoint","onCollapse","onBreakpoint"]),{siderHook:T}=(0,o.useContext)(y.V),[N,I]=(0,o.useState)("collapsed"in e?e.collapsed:c),[Z,R]=(0,o.useState)(!1);(0,o.useEffect)(()=>{"collapsed"in e&&I(e.collapsed)},[e.collapsed]);let _=(t,n)=>{"collapsed"in e||I(t),null==P||P(t,n)},D=(0,o.useRef)();D.current=e=>{R(e.matches),null==M||M(e.matches),N!==e.matches&&_(e.matches,"responsive")},(0,o.useEffect)(()=>{let e;function t(e){return D.current(e)}{let{matchMedia:n}=window;if(n&&j&&j in x){e=n("screen and (max-width: ".concat(x[j],")"));try{e.addEventListener("change",t)}catch(n){e.addListener(t)}t(e)}}return()=>{try{null==e||e.removeEventListener("change",t)}catch(n){null==e||e.removeListener(t)}}},[j]),(0,o.useEffect)(()=>{let e=E("ant-sider-");return T.addSider(e),()=>T.removeSider(e)},[]);let B=()=>{_(!N,"clickTrigger")},{getPrefixCls:L}=(0,o.useContext)(g.E_),z=o.useMemo(()=>({siderCollapsed:N}),[N]);return o.createElement(w.Provider,{value:z},(()=>{let e=L("layout-sider",n),c=(0,m.Z)(A,["collapsed"]),g=N?C:S,y=v(g)?"".concat(g,"px"):String(g),b=0===parseFloat(String(C||0))?o.createElement("span",{onClick:B,className:h()("".concat(e,"-zero-width-trigger"),"".concat(e,"-zero-width-trigger-").concat(O?"right":"left")),style:k},i||o.createElement(l,null)):null,x={expanded:O?o.createElement(d,null):o.createElement(s,null),collapsed:O?o.createElement(s,null):o.createElement(d,null)}[N?"collapsed":"expanded"],w=null!==i?b||o.createElement("div",{className:"".concat(e,"-trigger"),onClick:B,style:{width:y}},i||x):null,E=Object.assign(Object.assign({},f),{flex:"0 0 ".concat(y),maxWidth:y,minWidth:y,width:y}),j=h()(e,"".concat(e,"-").concat(u),{["".concat(e,"-collapsed")]:!!N,["".concat(e,"-has-trigger")]:p&&null!==i&&!b,["".concat(e,"-below")]:!!Z,["".concat(e,"-zero-width")]:0===parseFloat(y)},r);return o.createElement("aside",Object.assign({className:j},c,{style:E,ref:t}),o.createElement("div",{className:"".concat(e,"-children")},a),p||Z&&b?w:null)})())})},31747:function(e,t,n){n.d(t,{V:function(){return r}});let r=n(64090).createContext({siderHook:{addSider:()=>null,removeSider:()=>null}})},33509:function(e,t,n){n.d(t,{default:function(){return C}});var r=n(63787),o=n(64090),i=n(16480),a=n.n(i),c=n(35704),l=n(57499),u=n(31747),s=n(33054),f=n(25839),d=n(8985),p=n(76585),h=e=>{let{componentCls:t,bodyBg:n,lightSiderBg:r,lightTriggerBg:o,lightTriggerColor:i}=e;return{["".concat(t,"-sider-light")]:{background:r,["".concat(t,"-sider-trigger")]:{color:i,background:o},["".concat(t,"-sider-zero-width-trigger")]:{color:i,background:o,border:"1px solid ".concat(n),borderInlineStart:0}}}};let m=e=>{let{antCls:t,componentCls:n,colorText:r,triggerColor:o,footerBg:i,triggerBg:a,headerHeight:c,headerPadding:l,headerColor:u,footerPadding:s,triggerHeight:f,zeroTriggerHeight:p,zeroTriggerWidth:m,motionDurationMid:v,motionDurationSlow:g,fontSize:y,borderRadius:b,bodyBg:x,headerBg:w,siderBg:E}=e;return{[n]:Object.assign(Object.assign({display:"flex",flex:"auto",flexDirection:"column",minHeight:0,background:x,"&, *":{boxSizing:"border-box"},["&".concat(n,"-has-sider")]:{flexDirection:"row",["> ".concat(n,", > ").concat(n,"-content")]:{width:0}},["".concat(n,"-header, &").concat(n,"-footer")]:{flex:"0 0 auto"},["".concat(n,"-sider")]:{position:"relative",minWidth:0,background:E,transition:"all ".concat(v,", background 0s"),"&-children":{height:"100%",marginTop:-.1,paddingTop:.1,["".concat(t,"-menu").concat(t,"-menu-inline-collapsed")]:{width:"auto"}},"&-has-trigger":{paddingBottom:f},"&-right":{order:1},"&-trigger":{position:"fixed",bottom:0,zIndex:1,height:f,color:o,lineHeight:(0,d.bf)(f),textAlign:"center",background:a,cursor:"pointer",transition:"all ".concat(v)},"&-zero-width":{"> *":{overflow:"hidden"},"&-trigger":{position:"absolute",top:c,insetInlineEnd:e.calc(m).mul(-1).equal(),zIndex:1,width:m,height:p,color:o,fontSize:e.fontSizeXL,display:"flex",alignItems:"center",justifyContent:"center",background:E,borderStartStartRadius:0,borderStartEndRadius:b,borderEndEndRadius:b,borderEndStartRadius:0,cursor:"pointer",transition:"background ".concat(g," ease"),"&::after":{position:"absolute",inset:0,background:"transparent",transition:"all ".concat(g),content:'""'},"&:hover::after":{background:"rgba(255, 255, 255, 0.2)"},"&-right":{insetInlineStart:e.calc(m).mul(-1).equal(),borderStartStartRadius:b,borderStartEndRadius:0,borderEndEndRadius:0,borderEndStartRadius:b}}}}},h(e)),{"&-rtl":{direction:"rtl"}}),["".concat(n,"-header")]:{height:c,padding:l,color:u,lineHeight:(0,d.bf)(c),background:w,["".concat(t,"-menu")]:{lineHeight:"inherit"}},["".concat(n,"-footer")]:{padding:s,color:r,fontSize:y,background:i},["".concat(n,"-content")]:{flex:"auto",minHeight:0}}};var v=(0,p.I$)("Layout",e=>[m(e)],e=>{let{colorBgLayout:t,controlHeight:n,controlHeightLG:r,colorText:o,controlHeightSM:i,marginXXS:a,colorTextLightSolid:c,colorBgContainer:l}=e,u=1.25*r;return{colorBgHeader:"#001529",colorBgBody:t,colorBgTrigger:"#002140",bodyBg:t,headerBg:"#001529",headerHeight:2*n,headerPadding:"0 ".concat(u,"px"),headerColor:o,footerPadding:"".concat(i,"px ").concat(u,"px"),footerBg:t,siderBg:"#001529",triggerHeight:r+2*a,triggerBg:"#002140",triggerColor:c,zeroTriggerWidth:r,zeroTriggerHeight:r,lightSiderBg:l,lightTriggerBg:l,lightTriggerColor:o}},{deprecatedTokens:[["colorBgBody","bodyBg"],["colorBgHeader","headerBg"],["colorBgTrigger","triggerBg"]]}),g=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};function y(e){let{suffixCls:t,tagName:n,displayName:r}=e;return e=>o.forwardRef((r,i)=>o.createElement(e,Object.assign({ref:i,suffixCls:t,tagName:n},r)))}let b=o.forwardRef((e,t)=>{let{prefixCls:n,suffixCls:r,className:i,tagName:c}=e,u=g(e,["prefixCls","suffixCls","className","tagName"]),{getPrefixCls:s}=o.useContext(l.E_),f=s("layout",n),[d,p,h]=v(f),m=r?"".concat(f,"-").concat(r):f;return d(o.createElement(c,Object.assign({className:a()(n||m,i,p,h),ref:t},u)))}),x=o.forwardRef((e,t)=>{let{direction:n}=o.useContext(l.E_),[i,d]=o.useState([]),{prefixCls:p,className:h,rootClassName:m,children:y,hasSider:b,tagName:x,style:w}=e,E=g(e,["prefixCls","className","rootClassName","children","hasSider","tagName","style"]),O=(0,c.Z)(E,["suffixCls"]),{getPrefixCls:S,layout:C}=o.useContext(l.E_),k=S("layout",p),j="boolean"==typeof b?b:!!i.length||(0,s.Z)(y).some(e=>e.type===f.Z),[P,M,A]=v(k),T=a()(k,{["".concat(k,"-has-sider")]:j,["".concat(k,"-rtl")]:"rtl"===n},null==C?void 0:C.className,h,m,M,A),N=o.useMemo(()=>({siderHook:{addSider:e=>{d(t=>[].concat((0,r.Z)(t),[e]))},removeSider:e=>{d(t=>t.filter(t=>t!==e))}}}),[]);return P(o.createElement(u.V.Provider,{value:N},o.createElement(x,Object.assign({ref:t,className:T,style:Object.assign(Object.assign({},null==C?void 0:C.style),w)},O),y)))}),w=y({tagName:"div",displayName:"Layout"})(x),E=y({suffixCls:"header",tagName:"header",displayName:"Header"})(b),O=y({suffixCls:"footer",tagName:"footer",displayName:"Footer"})(b),S=y({suffixCls:"content",tagName:"main",displayName:"Content"})(b);w.Header=E,w.Footer=O,w.Content=S,w.Sider=f.Z,w._InternalSiderContext=f.D;var C=w},33302:function(e,t,n){let r=(0,n(64090).createContext)(void 0);t.Z=r},79474:function(e,t,n){n.d(t,{Z:function(){return a}});var r={placeholder:"Select time",rangePlaceholder:["Start time","End time"]};let o={lang:Object.assign({placeholder:"Select date",yearPlaceholder:"Select year",quarterPlaceholder:"Select quarter",monthPlaceholder:"Select month",weekPlaceholder:"Select week",rangePlaceholder:["Start date","End date"],rangeYearPlaceholder:["Start year","End year"],rangeQuarterPlaceholder:["Start quarter","End quarter"],rangeMonthPlaceholder:["Start month","End month"],rangeWeekPlaceholder:["Start week","End week"]},{locale:"en_US",today:"Today",now:"Now",backToToday:"Back to today",ok:"OK",clear:"Clear",month:"Month",year:"Year",timeSelect:"select time",dateSelect:"select date",weekSelect:"Choose a week",monthSelect:"Choose a month",yearSelect:"Choose a year",decadeSelect:"Choose a decade",yearFormat:"YYYY",dateFormat:"M/D/YYYY",dayFormat:"D",dateTimeFormat:"M/D/YYYY HH:mm:ss",monthBeforeYear:!0,previousMonth:"Previous month (PageUp)",nextMonth:"Next month (PageDown)",previousYear:"Last year (Control + left)",nextYear:"Next year (Control + right)",previousDecade:"Last decade",nextDecade:"Next decade",previousCentury:"Last century",nextCentury:"Next century"}),timePickerLocale:Object.assign({},r)},i="${label} is not a valid ${type}";var a={locale:"en",Pagination:{items_per_page:"/ page",jump_to:"Go to",jump_to_confirm:"confirm",page:"Page",prev_page:"Previous Page",next_page:"Next Page",prev_5:"Previous 5 Pages",next_5:"Next 5 Pages",prev_3:"Previous 3 Pages",next_3:"Next 3 Pages",page_size:"Page Size"},DatePicker:o,TimePicker:r,Calendar:o,global:{placeholder:"Please select"},Table:{filterTitle:"Filter menu",filterConfirm:"OK",filterReset:"Reset",filterEmptyText:"No filters",filterCheckall:"Select all items",filterSearchPlaceholder:"Search in filters",emptyText:"No data",selectAll:"Select current page",selectInvert:"Invert current page",selectNone:"Clear all data",selectionAll:"Select all data",sortTitle:"Sort",expand:"Expand row",collapse:"Collapse row",triggerDesc:"Click to sort descending",triggerAsc:"Click to sort ascending",cancelSort:"Click to cancel sorting"},Tour:{Next:"Next",Previous:"Previous",Finish:"Finish"},Modal:{okText:"OK",cancelText:"Cancel",justOkText:"OK"},Popconfirm:{okText:"OK",cancelText:"Cancel"},Transfer:{titles:["",""],searchPlaceholder:"Search here",itemUnit:"item",itemsUnit:"items",remove:"Remove",selectCurrent:"Select current page",removeCurrent:"Remove current page",selectAll:"Select all data",removeAll:"Remove all data",selectInvert:"Invert current page"},Upload:{uploading:"Uploading...",removeFile:"Remove file",uploadError:"Upload error",previewFile:"Preview file",downloadFile:"Download file"},Empty:{description:"No data"},Icon:{icon:"icon"},Text:{edit:"Edit",copy:"Copy",copied:"Copied",expand:"Expand"},PageHeader:{back:"Back"},Form:{optional:"(optional)",defaultValidateMessages:{default:"Field validation error for ${label}",required:"Please enter ${label}",enum:"${label} must be one of [${enum}]",whitespace:"${label} cannot be a blank character",date:{format:"${label} date format is invalid",parse:"${label} cannot be converted to a date",invalid:"${label} is an invalid date"},types:{string:i,method:i,array:i,object:i,number:i,date:i,boolean:i,integer:i,float:i,regexp:i,email:i,url:i,hex:i},string:{len:"${label} must be ${len} characters",min:"${label} must be at least ${min} characters",max:"${label} must be up to ${max} characters",range:"${label} must be between ${min}-${max} characters"},number:{len:"${label} must be equal to ${len}",min:"${label} must be minimum ${min}",max:"${label} must be maximum ${max}",range:"${label} must be between ${min}-${max}"},array:{len:"Must be ${len} ${label}",min:"At least ${min} ${label}",max:"At most ${max} ${label}",range:"The amount of ${label} must be between ${min}-${max}"},pattern:{mismatch:"${label} does not match the pattern ${pattern}"}}},Image:{preview:"Preview"},QRCode:{expired:"QR code expired",refresh:"Refresh",scanned:"Scanned"},ColorPicker:{presetEmpty:"Empty"}}},70595:function(e,t,n){var r=n(64090),o=n(33302),i=n(79474);t.Z=(e,t)=>{let n=r.useContext(o.Z);return[r.useMemo(()=>{var r;let o=t||i.Z[e],a=null!==(r=null==n?void 0:n[e])&&void 0!==r?r:{};return Object.assign(Object.assign({},"function"==typeof o?o():o),a||{})},[e,t,n]),r.useMemo(()=>{let e=null==n?void 0:n.locale;return(null==n?void 0:n.exist)&&!e?i.Z.locale:e},[n])]}},30569:function(e,t,n){n.d(t,{Z:function(){return tg}});var r=n(64090),o=n(14749),i=n(50833),a=n(5239),c=n(63787),l=n(80406),u=n(6787),s=n(16480),f=n.n(s),d=n(54739),p=n(44329),h=n(92536),m=n(53850),v=n(89542),g=r.createContext(null);function y(e,t){return void 0===e?null:"".concat(e,"-").concat(t)}function b(e){return y(r.useContext(g),e)}var x=n(61475),w=["children","locked"],E=r.createContext(null);function O(e){var t=e.children,n=e.locked,o=(0,u.Z)(e,w),i=r.useContext(E),c=(0,x.Z)(function(){var e;return e=(0,a.Z)({},i),Object.keys(o).forEach(function(t){var n=o[t];void 0!==n&&(e[t]=n)}),e},[i,o],function(e,t){return!n&&(e[0]!==t[0]||!(0,h.Z)(e[1],t[1],!0))});return r.createElement(E.Provider,{value:c},t)}var S=r.createContext(null);function C(){return r.useContext(S)}var k=r.createContext([]);function j(e){var t=r.useContext(k);return r.useMemo(function(){return void 0!==e?[].concat((0,c.Z)(t),[e]):t},[t,e])}var P=r.createContext(null),M=r.createContext({}),A=n(73193);function T(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if((0,A.Z)(e)){var n=e.nodeName.toLowerCase(),r=["input","select","textarea","button"].includes(n)||e.isContentEditable||"a"===n&&!!e.getAttribute("href"),o=e.getAttribute("tabindex"),i=Number(o),a=null;return o&&!Number.isNaN(i)?a=i:r&&null===a&&(a=0),r&&e.disabled&&(a=null),null!==a&&(a>=0||t&&a<0)}return!1}var N=n(4295),I=n(19223),Z=N.Z.LEFT,R=N.Z.RIGHT,_=N.Z.UP,D=N.Z.DOWN,B=N.Z.ENTER,L=N.Z.ESC,z=N.Z.HOME,F=N.Z.END,H=[_,D,Z,R];function W(e,t){return(function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=(0,c.Z)(e.querySelectorAll("*")).filter(function(e){return T(e,t)});return T(e,t)&&n.unshift(e),n})(e,!0).filter(function(e){return t.has(e)})}function q(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;if(!e)return null;var o=W(e,t),i=o.length,a=o.findIndex(function(e){return n===e});return r<0?-1===a?a=i-1:a-=1:r>0&&(a+=1),o[a=(a+i)%i]}var V=function(e,t){var n=new Set,r=new Map,o=new Map;return e.forEach(function(e){var i=document.querySelector("[data-menu-id='".concat(y(t,e),"']"));i&&(n.add(i),o.set(i,e),r.set(e,i))}),{elements:n,key2element:r,element2key:o}},U="__RC_UTIL_PATH_SPLIT__",X=function(e){return e.join(U)},G="rc-menu-more";function K(e){var t=r.useRef(e);t.current=e;var n=r.useCallback(function(){for(var e,n=arguments.length,r=Array(n),o=0;o1&&(S.motionAppear=!1);var C=S.onVisibleChanged;return(S.onVisibleChanged=function(e){return v.current||e||x(!0),null==C?void 0:C(e)},b)?null:r.createElement(O,{mode:u,locked:!v.current},r.createElement(ek.ZP,(0,o.Z)({visible:w},S,{forceRender:d,removeOnLeave:!1,leavedClassName:"".concat(f,"-hidden")}),function(e){var n=e.className,o=e.style;return r.createElement(ev,{id:t,className:n,style:o},c)}))}var eP=["style","className","title","eventKey","warnKey","disabled","internalPopupClose","children","itemIcon","expandIcon","popupClassName","popupOffset","popupStyle","onClick","onMouseEnter","onMouseLeave","onTitleClick","onTitleMouseEnter","onTitleMouseLeave"],eM=["active"],eA=function(e){var t,n=e.style,c=e.className,s=e.title,p=e.eventKey,h=(e.warnKey,e.disabled),m=e.internalPopupClose,v=e.children,g=e.itemIcon,y=e.expandIcon,x=e.popupClassName,w=e.popupOffset,S=e.popupStyle,C=e.onClick,k=e.onMouseEnter,A=e.onMouseLeave,T=e.onTitleClick,N=e.onTitleMouseEnter,I=e.onTitleMouseLeave,Z=(0,u.Z)(e,eP),R=b(p),_=r.useContext(E),D=_.prefixCls,B=_.mode,L=_.openKeys,z=_.disabled,F=_.overflowDisabled,H=_.activeKey,W=_.selectedKeys,q=_.itemIcon,V=_.expandIcon,U=_.onItemClick,X=_.onOpenChange,G=_.onActive,$=r.useContext(M)._internalRenderSubMenuItem,Y=r.useContext(P).isSubPathKey,Q=j(),J="".concat(D,"-submenu"),ee=z||h,et=r.useRef(),en=r.useRef(),er=null!=y?y:V,ec=L.includes(p),eu=!F&&ec,es=Y(W,p),ef=eo(p,ee,N,I),ed=ef.active,ep=(0,u.Z)(ef,eM),eh=r.useState(!1),em=(0,l.Z)(eh,2),eg=em[0],ey=em[1],eb=function(e){ee||ey(e)},ex=r.useMemo(function(){return ed||"inline"!==B&&(eg||Y([H],p))},[B,ed,H,eg,p,Y]),ew=ei(Q.length),eE=K(function(e){null==C||C(el(e)),U(e)}),eO=R&&"".concat(R,"-popup"),eS=r.createElement("div",(0,o.Z)({role:"menuitem",style:ew,className:"".concat(J,"-title"),tabIndex:ee?null:-1,ref:et,title:"string"==typeof s?s:null,"data-menu-id":F&&R?null:R,"aria-expanded":eu,"aria-haspopup":!0,"aria-controls":eO,"aria-disabled":ee,onClick:function(e){ee||(null==T||T({key:p,domEvent:e}),"inline"===B&&X(p,!ec))},onFocus:function(){G(p)}},ep),s,r.createElement(ea,{icon:"horizontal"!==B?er:void 0,props:(0,a.Z)((0,a.Z)({},e),{},{isOpen:eu,isSubMenu:!0})},r.createElement("i",{className:"".concat(J,"-arrow")}))),ek=r.useRef(B);if("inline"!==B&&Q.length>1?ek.current="vertical":ek.current=B,!F){var eA=ek.current;eS=r.createElement(eC,{mode:eA,prefixCls:J,visible:!m&&eu&&"inline"!==B,popupClassName:x,popupOffset:w,popupStyle:S,popup:r.createElement(O,{mode:"horizontal"===eA?"vertical":eA},r.createElement(ev,{id:eO,ref:en},v)),disabled:ee,onVisibleChange:function(e){"inline"!==B&&X(p,e)}},eS)}var eT=r.createElement(d.Z.Item,(0,o.Z)({role:"none"},Z,{component:"li",style:n,className:f()(J,"".concat(J,"-").concat(B),c,(t={},(0,i.Z)(t,"".concat(J,"-open"),eu),(0,i.Z)(t,"".concat(J,"-active"),ex),(0,i.Z)(t,"".concat(J,"-selected"),es),(0,i.Z)(t,"".concat(J,"-disabled"),ee),t)),onMouseEnter:function(e){eb(!0),null==k||k({key:p,domEvent:e})},onMouseLeave:function(e){eb(!1),null==A||A({key:p,domEvent:e})}}),eS,!F&&r.createElement(ej,{id:eO,open:eu,keyPath:Q},v));return $&&(eT=$(eT,e,{selected:es,active:ex,open:eu,disabled:ee})),r.createElement(O,{onItemClick:eE,mode:"horizontal"===B?"vertical":B,itemIcon:null!=g?g:q,expandIcon:er},eT)};function eT(e){var t,n=e.eventKey,o=e.children,i=j(n),a=ey(o,i),c=C();return r.useEffect(function(){if(c)return c.registerPath(n,i),function(){c.unregisterPath(n,i)}},[i]),t=c?a:r.createElement(eA,e,a),r.createElement(k.Provider,{value:i},t)}var eN=n(6976),eI=["className","title","eventKey","children"],eZ=["children"],eR=function(e){var t=e.className,n=e.title,i=(e.eventKey,e.children),a=(0,u.Z)(e,eI),c=r.useContext(E).prefixCls,l="".concat(c,"-item-group");return r.createElement("li",(0,o.Z)({role:"presentation"},a,{onClick:function(e){return e.stopPropagation()},className:f()(l,t)}),r.createElement("div",{role:"presentation",className:"".concat(l,"-title"),title:"string"==typeof n?n:void 0},n),r.createElement("ul",{role:"group",className:"".concat(l,"-list")},i))};function e_(e){var t=e.children,n=(0,u.Z)(e,eZ),o=ey(t,j(n.eventKey));return C()?o:r.createElement(eR,(0,en.Z)(n,["warnKey"]),o)}function eD(e){var t=e.className,n=e.style,o=r.useContext(E).prefixCls;return C()?null:r.createElement("li",{role:"separator",className:f()("".concat(o,"-item-divider"),t),style:n})}var eB=["label","children","key","type"],eL=["prefixCls","rootClassName","style","className","tabIndex","items","children","direction","id","mode","inlineCollapsed","disabled","disabledOverflow","subMenuOpenDelay","subMenuCloseDelay","forceSubMenuRender","defaultOpenKeys","openKeys","activeKey","defaultActiveFirst","selectable","multiple","defaultSelectedKeys","selectedKeys","onSelect","onDeselect","inlineIndent","motion","defaultMotions","triggerSubMenuAction","builtinPlacements","itemIcon","expandIcon","overflowedIndicator","overflowedIndicatorPopupClassName","getPopupContainer","onClick","onOpenChange","onKeyDown","openAnimation","openTransitionName","_internalRenderMenuItem","_internalRenderSubMenuItem"],ez=[],eF=r.forwardRef(function(e,t){var n,s,m,y,b,x,w,E,C,k,j,A,T,N,Q,J,ee,et,en,er,eo,ei,ea,ec,eu,es,ef,ed=e.prefixCls,ep=void 0===ed?"rc-menu":ed,em=e.rootClassName,ev=e.style,eg=e.className,eb=e.tabIndex,ex=e.items,ew=e.children,eE=e.direction,eO=e.id,eS=e.mode,eC=void 0===eS?"vertical":eS,ek=e.inlineCollapsed,ej=e.disabled,eP=e.disabledOverflow,eM=e.subMenuOpenDelay,eA=e.subMenuCloseDelay,eI=e.forceSubMenuRender,eZ=e.defaultOpenKeys,eR=e.openKeys,eF=e.activeKey,eH=e.defaultActiveFirst,eW=e.selectable,eq=void 0===eW||eW,eV=e.multiple,eU=void 0!==eV&&eV,eX=e.defaultSelectedKeys,eG=e.selectedKeys,eK=e.onSelect,e$=e.onDeselect,eY=e.inlineIndent,eQ=e.motion,eJ=e.defaultMotions,e0=e.triggerSubMenuAction,e1=e.builtinPlacements,e2=e.itemIcon,e4=e.expandIcon,e5=e.overflowedIndicator,e6=void 0===e5?"...":e5,e3=e.overflowedIndicatorPopupClassName,e8=e.getPopupContainer,e9=e.onClick,e7=e.onOpenChange,te=e.onKeyDown,tt=(e.openAnimation,e.openTransitionName,e._internalRenderMenuItem),tn=e._internalRenderSubMenuItem,tr=(0,u.Z)(e,eL),to=r.useMemo(function(){var e;return e=ew,ex&&(e=function e(t){return(t||[]).map(function(t,n){if(t&&"object"===(0,eN.Z)(t)){var i=t.label,a=t.children,c=t.key,l=t.type,s=(0,u.Z)(t,eB),f=null!=c?c:"tmp-".concat(n);return a||"group"===l?"group"===l?r.createElement(e_,(0,o.Z)({key:f},s,{title:i}),e(a)):r.createElement(eT,(0,o.Z)({key:f},s,{title:i}),e(a)):"divider"===l?r.createElement(eD,(0,o.Z)({key:f},s)):r.createElement(eh,(0,o.Z)({key:f},s),i)}return null}).filter(function(e){return e})}(ex)),ey(e,ez)},[ew,ex]),ti=r.useState(!1),ta=(0,l.Z)(ti,2),tc=ta[0],tl=ta[1],tu=r.useRef(),ts=(n=(0,p.Z)(eO,{value:eO}),m=(s=(0,l.Z)(n,2))[0],y=s[1],r.useEffect(function(){Y+=1;var e="".concat($,"-").concat(Y);y("rc-menu-uuid-".concat(e))},[]),m),tf="rtl"===eE,td=(0,p.Z)(eZ,{value:eR,postState:function(e){return e||ez}}),tp=(0,l.Z)(td,2),th=tp[0],tm=tp[1],tv=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];function n(){tm(e),null==e7||e7(e)}t?(0,v.flushSync)(n):n()},tg=r.useState(th),ty=(0,l.Z)(tg,2),tb=ty[0],tx=ty[1],tw=r.useRef(!1),tE=r.useMemo(function(){return("inline"===eC||"vertical"===eC)&&ek?["vertical",ek]:[eC,!1]},[eC,ek]),tO=(0,l.Z)(tE,2),tS=tO[0],tC=tO[1],tk="inline"===tS,tj=r.useState(tS),tP=(0,l.Z)(tj,2),tM=tP[0],tA=tP[1],tT=r.useState(tC),tN=(0,l.Z)(tT,2),tI=tN[0],tZ=tN[1];r.useEffect(function(){tA(tS),tZ(tC),tw.current&&(tk?tm(tb):tv(ez))},[tS,tC]);var tR=r.useState(0),t_=(0,l.Z)(tR,2),tD=t_[0],tB=t_[1],tL=tD>=to.length-1||"horizontal"!==tM||eP;r.useEffect(function(){tk&&tx(th)},[th]),r.useEffect(function(){return tw.current=!0,function(){tw.current=!1}},[]);var tz=(b=r.useState({}),x=(0,l.Z)(b,2)[1],w=(0,r.useRef)(new Map),E=(0,r.useRef)(new Map),C=r.useState([]),j=(k=(0,l.Z)(C,2))[0],A=k[1],T=(0,r.useRef)(0),N=(0,r.useRef)(!1),Q=function(){N.current||x({})},J=(0,r.useCallback)(function(e,t){var n=X(t);E.current.set(n,e),w.current.set(e,n),T.current+=1;var r=T.current;Promise.resolve().then(function(){r===T.current&&Q()})},[]),ee=(0,r.useCallback)(function(e,t){var n=X(t);E.current.delete(n),w.current.delete(e)},[]),et=(0,r.useCallback)(function(e){A(e)},[]),en=(0,r.useCallback)(function(e,t){var n=(w.current.get(e)||"").split(U);return t&&j.includes(n[0])&&n.unshift(G),n},[j]),er=(0,r.useCallback)(function(e,t){return e.some(function(e){return en(e,!0).includes(t)})},[en]),eo=(0,r.useCallback)(function(e){var t="".concat(w.current.get(e)).concat(U),n=new Set;return(0,c.Z)(E.current.keys()).forEach(function(e){e.startsWith(t)&&n.add(E.current.get(e))}),n},[]),r.useEffect(function(){return function(){N.current=!0}},[]),{registerPath:J,unregisterPath:ee,refreshOverflowKeys:et,isSubPathKey:er,getKeyPath:en,getKeys:function(){var e=(0,c.Z)(w.current.keys());return j.length&&e.push(G),e},getSubPathKeys:eo}),tF=tz.registerPath,tH=tz.unregisterPath,tW=tz.refreshOverflowKeys,tq=tz.isSubPathKey,tV=tz.getKeyPath,tU=tz.getKeys,tX=tz.getSubPathKeys,tG=r.useMemo(function(){return{registerPath:tF,unregisterPath:tH}},[tF,tH]),tK=r.useMemo(function(){return{isSubPathKey:tq}},[tq]);r.useEffect(function(){tW(tL?ez:to.slice(tD+1).map(function(e){return e.key}))},[tD,tL]);var t$=(0,p.Z)(eF||eH&&(null===(es=to[0])||void 0===es?void 0:es.key),{value:eF}),tY=(0,l.Z)(t$,2),tQ=tY[0],tJ=tY[1],t0=K(function(e){tJ(e)}),t1=K(function(){tJ(void 0)});(0,r.useImperativeHandle)(t,function(){return{list:tu.current,focus:function(e){var t,n,r=V(tU(),ts),o=r.elements,i=r.key2element,a=r.element2key,c=W(tu.current,o),l=null!=tQ?tQ:c[0]?a.get(c[0]):null===(t=to.find(function(e){return!e.props.disabled}))||void 0===t?void 0:t.key,u=i.get(l);l&&u&&(null==u||null===(n=u.focus)||void 0===n||n.call(u,e))}}});var t2=(0,p.Z)(eX||[],{value:eG,postState:function(e){return Array.isArray(e)?e:null==e?ez:[e]}}),t4=(0,l.Z)(t2,2),t5=t4[0],t6=t4[1],t3=function(e){if(eq){var t,n=e.key,r=t5.includes(n);t6(t=eU?r?t5.filter(function(e){return e!==n}):[].concat((0,c.Z)(t5),[n]):[n]);var o=(0,a.Z)((0,a.Z)({},e),{},{selectedKeys:t});r?null==e$||e$(o):null==eK||eK(o)}!eU&&th.length&&"inline"!==tM&&tv(ez)},t8=K(function(e){null==e9||e9(el(e)),t3(e)}),t9=K(function(e,t){var n=th.filter(function(t){return t!==e});if(t)n.push(e);else if("inline"!==tM){var r=tX(e);n=n.filter(function(e){return!r.has(e)})}(0,h.Z)(th,n,!0)||tv(n,!0)}),t7=(ei=function(e,t){var n=null!=t?t:!th.includes(e);t9(e,n)},ea=r.useRef(),(ec=r.useRef()).current=tQ,eu=function(){I.Z.cancel(ea.current)},r.useEffect(function(){return function(){eu()}},[]),function(e){var t=e.which;if([].concat(H,[B,L,z,F]).includes(t)){var n=tU(),r=V(n,ts),o=r,a=o.elements,c=o.key2element,l=o.element2key,u=function(e,t){for(var n=e||document.activeElement;n;){if(t.has(n))return n;n=n.parentElement}return null}(c.get(tQ),a),s=l.get(u),f=function(e,t,n,r){var o,a,c,l,u="prev",s="next",f="children",d="parent";if("inline"===e&&r===B)return{inlineTrigger:!0};var p=(o={},(0,i.Z)(o,_,u),(0,i.Z)(o,D,s),o),h=(a={},(0,i.Z)(a,Z,n?s:u),(0,i.Z)(a,R,n?u:s),(0,i.Z)(a,D,f),(0,i.Z)(a,B,f),a),m=(c={},(0,i.Z)(c,_,u),(0,i.Z)(c,D,s),(0,i.Z)(c,B,f),(0,i.Z)(c,L,d),(0,i.Z)(c,Z,n?f:d),(0,i.Z)(c,R,n?d:f),c);switch(null===(l=({inline:p,horizontal:h,vertical:m,inlineSub:p,horizontalSub:m,verticalSub:m})["".concat(e).concat(t?"":"Sub")])||void 0===l?void 0:l[r]){case u:return{offset:-1,sibling:!0};case s:return{offset:1,sibling:!0};case d:return{offset:-1,sibling:!1};case f:return{offset:1,sibling:!1};default:return null}}(tM,1===tV(s,!0).length,tf,t);if(!f&&t!==z&&t!==F)return;(H.includes(t)||[z,F].includes(t))&&e.preventDefault();var d=function(e){if(e){var t=e,n=e.querySelector("a");null!=n&&n.getAttribute("href")&&(t=n);var r=l.get(e);tJ(r),eu(),ea.current=(0,I.Z)(function(){ec.current===r&&t.focus()})}};if([z,F].includes(t)||f.sibling||!u){var p,h=W(p=u&&"inline"!==tM?function(e){for(var t=e;t;){if(t.getAttribute("data-menu-list"))return t;t=t.parentElement}return null}(u):tu.current,a);d(t===z?h[0]:t===F?h[h.length-1]:q(p,a,u,f.offset))}else if(f.inlineTrigger)ei(s);else if(f.offset>0)ei(s,!0),eu(),ea.current=(0,I.Z)(function(){r=V(n,ts);var e=u.getAttribute("aria-controls");d(q(document.getElementById(e),r.elements))},5);else if(f.offset<0){var m=tV(s,!0),v=m[m.length-2],g=c.get(v);ei(v,!1),d(g)}}null==te||te(e)});r.useEffect(function(){tl(!0)},[]);var ne=r.useMemo(function(){return{_internalRenderMenuItem:tt,_internalRenderSubMenuItem:tn}},[tt,tn]),nt="horizontal"!==tM||eP?to:to.map(function(e,t){return r.createElement(O,{key:e.key,overflowDisabled:t>tD},e)}),nn=r.createElement(d.Z,(0,o.Z)({id:eO,ref:tu,prefixCls:"".concat(ep,"-overflow"),component:"ul",itemComponent:eh,className:f()(ep,"".concat(ep,"-root"),"".concat(ep,"-").concat(tM),eg,(ef={},(0,i.Z)(ef,"".concat(ep,"-inline-collapsed"),tI),(0,i.Z)(ef,"".concat(ep,"-rtl"),tf),ef),em),dir:eE,style:ev,role:"menu",tabIndex:void 0===eb?0:eb,data:nt,renderRawItem:function(e){return e},renderRawRest:function(e){var t=e.length,n=t?to.slice(-t):null;return r.createElement(eT,{eventKey:G,title:e6,disabled:tL,internalPopupClose:0===t,popupClassName:e3},n)},maxCount:"horizontal"!==tM||eP?d.Z.INVALIDATE:d.Z.RESPONSIVE,ssr:"full","data-menu-list":!0,onVisibleChange:function(e){tB(e)},onKeyDown:t7},tr));return r.createElement(M.Provider,{value:ne},r.createElement(g.Provider,{value:ts},r.createElement(O,{prefixCls:ep,rootClassName:em,mode:tM,openKeys:th,rtl:tf,disabled:ej,motion:tc?eQ:null,defaultMotions:tc?eJ:null,activeKey:tQ,onActive:t0,onInactive:t1,selectedKeys:t5,inlineIndent:void 0===eY?24:eY,subMenuOpenDelay:void 0===eM?.1:eM,subMenuCloseDelay:void 0===eA?.1:eA,forceSubMenuRender:eI,builtinPlacements:e1,triggerSubMenuAction:void 0===e0?"hover":e0,getPopupContainer:e8,itemIcon:e2,expandIcon:e4,onItemClick:t8,onOpenChange:t9},r.createElement(P.Provider,{value:tK},nn),r.createElement("div",{style:{display:"none"},"aria-hidden":!0},r.createElement(S.Provider,{value:tG},to)))))});eF.Item=eh,eF.SubMenu=eT,eF.ItemGroup=e_,eF.Divider=eD;var eH=n(25839),eW={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M176 511a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"ellipsis",theme:"outlined"},eq=n(60688),eV=r.forwardRef(function(e,t){return r.createElement(eq.Z,(0,o.Z)({},e,{ref:t,icon:eW}))}),eU=n(48563),eX=n(47387),eG=n(65823),eK=n(57499),e$=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n},eY=e=>{let{prefixCls:t,className:n,dashed:o}=e,i=e$(e,["prefixCls","className","dashed"]),{getPrefixCls:a}=r.useContext(eK.E_),c=a("menu",t),l=f()({["".concat(c,"-item-divider-dashed")]:!!o},n);return r.createElement(eD,Object.assign({className:l},i))},eQ=n(47104);let eJ=(0,r.createContext)({prefixCls:"",firstLevel:!0,inlineCollapsed:!1});var e0=e=>{var t;let{className:n,children:o,icon:i,title:a,danger:c}=e,{prefixCls:l,firstLevel:u,direction:s,disableMenuItemTitleTooltip:d,inlineCollapsed:p}=r.useContext(eJ),{siderCollapsed:h}=r.useContext(eH.D),m=a;void 0===a?m=u?o:"":!1===a&&(m="");let v={title:m};h||p||(v.title=null,v.open=!1);let g=(0,eg.Z)(o).length,y=r.createElement(eh,Object.assign({},(0,en.Z)(e,["title","icon","danger"]),{className:f()({["".concat(l,"-item-danger")]:c,["".concat(l,"-item-only-child")]:(i?g+1:g)===1},n),title:"string"==typeof a?a:void 0}),(0,eG.Tm)(i,{className:f()((0,eG.l$)(i)?null===(t=i.props)||void 0===t?void 0:t.className:"","".concat(l,"-item-icon"))}),(e=>{let t=r.createElement("span",{className:"".concat(l,"-title-content")},o);return(!i||(0,eG.l$)(o)&&"span"===o.type)&&o&&e&&u&&"string"==typeof o?r.createElement("div",{className:"".concat(l,"-inline-collapsed-noicon")},o.charAt(0)):t})(p));return d||(y=r.createElement(eQ.Z,Object.assign({},v,{placement:"rtl"===s?"left":"right",overlayClassName:"".concat(l,"-inline-collapsed-tooltip")}),y)),y},e1=n(51761),e2=e=>{var t;let n;let{popupClassName:o,icon:i,title:a,theme:c}=e,l=r.useContext(eJ),{prefixCls:u,inlineCollapsed:s,theme:d}=l,p=j();if(i){let e=(0,eG.l$)(a)&&"span"===a.type;n=r.createElement(r.Fragment,null,(0,eG.Tm)(i,{className:f()((0,eG.l$)(i)?null===(t=i.props)||void 0===t?void 0:t.className:"","".concat(u,"-item-icon"))}),e?a:r.createElement("span",{className:"".concat(u,"-title-content")},a))}else n=s&&!p.length&&a&&"string"==typeof a?r.createElement("div",{className:"".concat(u,"-inline-collapsed-noicon")},a.charAt(0)):r.createElement("span",{className:"".concat(u,"-title-content")},a);let h=r.useMemo(()=>Object.assign(Object.assign({},l),{firstLevel:!1}),[l]),[m]=(0,e1.Cn)("Menu");return r.createElement(eJ.Provider,{value:h},r.createElement(eT,Object.assign({},(0,en.Z)(e,["icon"]),{title:n,popupClassName:f()(u,o,"".concat(u,"-").concat(c||d)),popupStyle:{zIndex:m}})))},e4=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let e5=r.createContext(null);var e6=n(8985),e3=n(6336),e8=n(11303),e9=n(46154),e7=n(202),te=n(58854),tt=n(76585),tn=n(80316),tr=e=>{let{componentCls:t,motionDurationSlow:n,horizontalLineHeight:r,colorSplit:o,lineWidth:i,lineType:a,itemPaddingInline:c}=e;return{["".concat(t,"-horizontal")]:{lineHeight:r,border:0,borderBottom:"".concat((0,e6.bf)(i)," ").concat(a," ").concat(o),boxShadow:"none","&::after":{display:"block",clear:"both",height:0,content:'"\\20"'},["".concat(t,"-item, ").concat(t,"-submenu")]:{position:"relative",display:"inline-block",verticalAlign:"bottom",paddingInline:c},["> ".concat(t,"-item:hover,\n > ").concat(t,"-item-active,\n > ").concat(t,"-submenu ").concat(t,"-submenu-title:hover")]:{backgroundColor:"transparent"},["".concat(t,"-item, ").concat(t,"-submenu-title")]:{transition:["border-color ".concat(n),"background ".concat(n)].join(",")},["".concat(t,"-submenu-arrow")]:{display:"none"}}}},to=e=>{let{componentCls:t,menuArrowOffset:n,calc:r}=e;return{["".concat(t,"-rtl")]:{direction:"rtl"},["".concat(t,"-submenu-rtl")]:{transformOrigin:"100% 0"},["".concat(t,"-rtl").concat(t,"-vertical,\n ").concat(t,"-submenu-rtl ").concat(t,"-vertical")]:{["".concat(t,"-submenu-arrow")]:{"&::before":{transform:"rotate(-45deg) translateY(".concat((0,e6.bf)(r(n).mul(-1).equal()),")")},"&::after":{transform:"rotate(45deg) translateY(".concat((0,e6.bf)(n),")")}}}}};let ti=e=>Object.assign({},(0,e8.oN)(e));var ta=(e,t)=>{let{componentCls:n,itemColor:r,itemSelectedColor:o,groupTitleColor:i,itemBg:a,subMenuItemBg:c,itemSelectedBg:l,activeBarHeight:u,activeBarWidth:s,activeBarBorderWidth:f,motionDurationSlow:d,motionEaseInOut:p,motionEaseOut:h,itemPaddingInline:m,motionDurationMid:v,itemHoverColor:g,lineType:y,colorSplit:b,itemDisabledColor:x,dangerItemColor:w,dangerItemHoverColor:E,dangerItemSelectedColor:O,dangerItemActiveBg:S,dangerItemSelectedBg:C,popupBg:k,itemHoverBg:j,itemActiveBg:P,menuSubMenuBg:M,horizontalItemSelectedColor:A,horizontalItemSelectedBg:T,horizontalItemBorderRadius:N,horizontalItemHoverBg:I}=e;return{["".concat(n,"-").concat(t,", ").concat(n,"-").concat(t," > ").concat(n)]:{color:r,background:a,["&".concat(n,"-root:focus-visible")]:Object.assign({},ti(e)),["".concat(n,"-item-group-title")]:{color:i},["".concat(n,"-submenu-selected")]:{["> ".concat(n,"-submenu-title")]:{color:o}},["".concat(n,"-item-disabled, ").concat(n,"-submenu-disabled")]:{color:"".concat(x," !important")},["".concat(n,"-item:not(").concat(n,"-item-selected):not(").concat(n,"-submenu-selected)")]:{["&:hover, > ".concat(n,"-submenu-title:hover")]:{color:g}},["&:not(".concat(n,"-horizontal)")]:{["".concat(n,"-item:not(").concat(n,"-item-selected)")]:{"&:hover":{backgroundColor:j},"&:active":{backgroundColor:P}},["".concat(n,"-submenu-title")]:{"&:hover":{backgroundColor:j},"&:active":{backgroundColor:P}}},["".concat(n,"-item-danger")]:{color:w,["&".concat(n,"-item:hover")]:{["&:not(".concat(n,"-item-selected):not(").concat(n,"-submenu-selected)")]:{color:E}},["&".concat(n,"-item:active")]:{background:S}},["".concat(n,"-item a")]:{"&, &:hover":{color:"inherit"}},["".concat(n,"-item-selected")]:{color:o,["&".concat(n,"-item-danger")]:{color:O},"a, a:hover":{color:"inherit"}},["& ".concat(n,"-item-selected")]:{backgroundColor:l,["&".concat(n,"-item-danger")]:{backgroundColor:C}},["".concat(n,"-item, ").concat(n,"-submenu-title")]:{["&:not(".concat(n,"-item-disabled):focus-visible")]:Object.assign({},ti(e))},["&".concat(n,"-submenu > ").concat(n)]:{backgroundColor:M},["&".concat(n,"-popup > ").concat(n)]:{backgroundColor:k},["&".concat(n,"-submenu-popup > ").concat(n)]:{backgroundColor:k},["&".concat(n,"-horizontal")]:Object.assign(Object.assign({},"dark"===t?{borderBottom:0}:{}),{["> ".concat(n,"-item, > ").concat(n,"-submenu")]:{top:f,marginTop:e.calc(f).mul(-1).equal(),marginBottom:0,borderRadius:N,"&::after":{position:"absolute",insetInline:m,bottom:0,borderBottom:"".concat((0,e6.bf)(u)," solid transparent"),transition:"border-color ".concat(d," ").concat(p),content:'""'},"&:hover, &-active, &-open":{background:I,"&::after":{borderBottomWidth:u,borderBottomColor:A}},"&-selected":{color:A,backgroundColor:T,"&:hover":{backgroundColor:T},"&::after":{borderBottomWidth:u,borderBottomColor:A}}}}),["&".concat(n,"-root")]:{["&".concat(n,"-inline, &").concat(n,"-vertical")]:{borderInlineEnd:"".concat((0,e6.bf)(f)," ").concat(y," ").concat(b)}},["&".concat(n,"-inline")]:{["".concat(n,"-sub").concat(n,"-inline")]:{background:c},["".concat(n,"-item")]:{position:"relative","&::after":{position:"absolute",insetBlock:0,insetInlineEnd:0,borderInlineEnd:"".concat((0,e6.bf)(s)," solid ").concat(o),transform:"scaleY(0.0001)",opacity:0,transition:["transform ".concat(v," ").concat(h),"opacity ".concat(v," ").concat(h)].join(","),content:'""'},["&".concat(n,"-item-danger")]:{"&::after":{borderInlineEndColor:O}}},["".concat(n,"-selected, ").concat(n,"-item-selected")]:{"&::after":{transform:"scaleY(1)",opacity:1,transition:["transform ".concat(v," ").concat(p),"opacity ".concat(v," ").concat(p)].join(",")}}}}}};let tc=e=>{let{componentCls:t,itemHeight:n,itemMarginInline:r,padding:o,menuArrowSize:i,marginXS:a,itemMarginBlock:c,itemWidth:l}=e,u=e.calc(i).add(o).add(a).equal();return{["".concat(t,"-item")]:{position:"relative",overflow:"hidden"},["".concat(t,"-item, ").concat(t,"-submenu-title")]:{height:n,lineHeight:(0,e6.bf)(n),paddingInline:o,overflow:"hidden",textOverflow:"ellipsis",marginInline:r,marginBlock:c,width:l},["> ".concat(t,"-item,\n > ").concat(t,"-submenu > ").concat(t,"-submenu-title")]:{height:n,lineHeight:(0,e6.bf)(n)},["".concat(t,"-item-group-list ").concat(t,"-submenu-title,\n ").concat(t,"-submenu-title")]:{paddingInlineEnd:u}}};var tl=e=>{let{componentCls:t,iconCls:n,itemHeight:r,colorTextLightSolid:o,dropdownWidth:i,controlHeightLG:a,motionDurationMid:c,motionEaseOut:l,paddingXL:u,itemMarginInline:s,fontSizeLG:f,motionDurationSlow:d,paddingXS:p,boxShadowSecondary:h,collapsedWidth:m,collapsedIconSize:v}=e,g={height:r,lineHeight:(0,e6.bf)(r),listStylePosition:"inside",listStyleType:"disc"};return[{[t]:{"&-inline, &-vertical":Object.assign({["&".concat(t,"-root")]:{boxShadow:"none"}},tc(e))},["".concat(t,"-submenu-popup")]:{["".concat(t,"-vertical")]:Object.assign(Object.assign({},tc(e)),{boxShadow:h})}},{["".concat(t,"-submenu-popup ").concat(t,"-vertical").concat(t,"-sub")]:{minWidth:i,maxHeight:"calc(100vh - ".concat((0,e6.bf)(e.calc(a).mul(2.5).equal()),")"),padding:"0",overflow:"hidden",borderInlineEnd:0,"&:not([class*='-active'])":{overflowX:"hidden",overflowY:"auto"}}},{["".concat(t,"-inline")]:{width:"100%",["&".concat(t,"-root")]:{["".concat(t,"-item, ").concat(t,"-submenu-title")]:{display:"flex",alignItems:"center",transition:["border-color ".concat(d),"background ".concat(d),"padding ".concat(c," ").concat(l)].join(","),["> ".concat(t,"-title-content")]:{flex:"auto",minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},"> *":{flex:"none"}}},["".concat(t,"-sub").concat(t,"-inline")]:{padding:0,border:0,borderRadius:0,boxShadow:"none",["& > ".concat(t,"-submenu > ").concat(t,"-submenu-title")]:g,["& ".concat(t,"-item-group-title")]:{paddingInlineStart:u}},["".concat(t,"-item")]:g}},{["".concat(t,"-inline-collapsed")]:{width:m,["&".concat(t,"-root")]:{["".concat(t,"-item, ").concat(t,"-submenu ").concat(t,"-submenu-title")]:{["> ".concat(t,"-inline-collapsed-noicon")]:{fontSize:f,textAlign:"center"}}},["> ".concat(t,"-item,\n > ").concat(t,"-item-group > ").concat(t,"-item-group-list > ").concat(t,"-item,\n > ").concat(t,"-item-group > ").concat(t,"-item-group-list > ").concat(t,"-submenu > ").concat(t,"-submenu-title,\n > ").concat(t,"-submenu > ").concat(t,"-submenu-title")]:{insetInlineStart:0,paddingInline:"calc(50% - ".concat((0,e6.bf)(e.calc(f).div(2).equal())," - ").concat((0,e6.bf)(s),")"),textOverflow:"clip",["\n ".concat(t,"-submenu-arrow,\n ").concat(t,"-submenu-expand-icon\n ")]:{opacity:0},["".concat(t,"-item-icon, ").concat(n)]:{margin:0,fontSize:v,lineHeight:(0,e6.bf)(r),"+ span":{display:"inline-block",opacity:0}}},["".concat(t,"-item-icon, ").concat(n)]:{display:"inline-block"},"&-tooltip":{pointerEvents:"none",["".concat(t,"-item-icon, ").concat(n)]:{display:"none"},"a, a:hover":{color:o}},["".concat(t,"-item-group-title")]:Object.assign(Object.assign({},e8.vS),{paddingInline:p})}}]};let tu=e=>{let{componentCls:t,motionDurationSlow:n,motionDurationMid:r,motionEaseInOut:o,motionEaseOut:i,iconCls:a,iconSize:c,iconMarginInlineEnd:l}=e;return{["".concat(t,"-item, ").concat(t,"-submenu-title")]:{position:"relative",display:"block",margin:0,whiteSpace:"nowrap",cursor:"pointer",transition:["border-color ".concat(n),"background ".concat(n),"padding ".concat(n," ").concat(o)].join(","),["".concat(t,"-item-icon, ").concat(a)]:{minWidth:c,fontSize:c,transition:["font-size ".concat(r," ").concat(i),"margin ".concat(n," ").concat(o),"color ".concat(n)].join(","),"+ span":{marginInlineStart:l,opacity:1,transition:["opacity ".concat(n," ").concat(o),"margin ".concat(n),"color ".concat(n)].join(",")}},["".concat(t,"-item-icon")]:Object.assign({},(0,e8.Ro)()),["&".concat(t,"-item-only-child")]:{["> ".concat(a,", > ").concat(t,"-item-icon")]:{marginInlineEnd:0}}},["".concat(t,"-item-disabled, ").concat(t,"-submenu-disabled")]:{background:"none !important",cursor:"not-allowed","&::after":{borderColor:"transparent !important"},a:{color:"inherit !important"},["> ".concat(t,"-submenu-title")]:{color:"inherit !important",cursor:"not-allowed"}}}},ts=e=>{let{componentCls:t,motionDurationSlow:n,motionEaseInOut:r,borderRadius:o,menuArrowSize:i,menuArrowOffset:a}=e;return{["".concat(t,"-submenu")]:{"&-expand-icon, &-arrow":{position:"absolute",top:"50%",insetInlineEnd:e.margin,width:i,color:"currentcolor",transform:"translateY(-50%)",transition:"transform ".concat(n," ").concat(r,", opacity ").concat(n)},"&-arrow":{"&::before, &::after":{position:"absolute",width:e.calc(i).mul(.6).equal(),height:e.calc(i).mul(.15).equal(),backgroundColor:"currentcolor",borderRadius:o,transition:["background ".concat(n," ").concat(r),"transform ".concat(n," ").concat(r),"top ".concat(n," ").concat(r),"color ".concat(n," ").concat(r)].join(","),content:'""'},"&::before":{transform:"rotate(45deg) translateY(".concat((0,e6.bf)(e.calc(a).mul(-1).equal()),")")},"&::after":{transform:"rotate(-45deg) translateY(".concat((0,e6.bf)(a),")")}}}}},tf=e=>{let{antCls:t,componentCls:n,fontSize:r,motionDurationSlow:o,motionDurationMid:i,motionEaseInOut:a,paddingXS:c,padding:l,colorSplit:u,lineWidth:s,zIndexPopup:f,borderRadiusLG:d,subMenuItemBorderRadius:p,menuArrowSize:h,menuArrowOffset:m,lineType:v,menuPanelMaskInset:g,groupTitleLineHeight:y,groupTitleFontSize:b}=e;return[{"":{["".concat(n)]:Object.assign(Object.assign({},(0,e8.dF)()),{"&-hidden":{display:"none"}})},["".concat(n,"-submenu-hidden")]:{display:"none"}},{[n]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},(0,e8.Wf)(e)),(0,e8.dF)()),{marginBottom:0,paddingInlineStart:0,fontSize:r,lineHeight:0,listStyle:"none",outline:"none",transition:"width ".concat(o," cubic-bezier(0.2, 0, 0, 1) 0s"),"ul, ol":{margin:0,padding:0,listStyle:"none"},"&-overflow":{display:"flex",["".concat(n,"-item")]:{flex:"none"}},["".concat(n,"-item, ").concat(n,"-submenu, ").concat(n,"-submenu-title")]:{borderRadius:e.itemBorderRadius},["".concat(n,"-item-group-title")]:{padding:"".concat((0,e6.bf)(c)," ").concat((0,e6.bf)(l)),fontSize:b,lineHeight:y,transition:"all ".concat(o)},["&-horizontal ".concat(n,"-submenu")]:{transition:["border-color ".concat(o," ").concat(a),"background ".concat(o," ").concat(a)].join(",")},["".concat(n,"-submenu, ").concat(n,"-submenu-inline")]:{transition:["border-color ".concat(o," ").concat(a),"background ".concat(o," ").concat(a),"padding ".concat(i," ").concat(a)].join(",")},["".concat(n,"-submenu ").concat(n,"-sub")]:{cursor:"initial",transition:["background ".concat(o," ").concat(a),"padding ".concat(o," ").concat(a)].join(",")},["".concat(n,"-title-content")]:{transition:"color ".concat(o),["> ".concat(t,"-typography-ellipsis-single-line")]:{display:"inline",verticalAlign:"unset"}},["".concat(n,"-item a")]:{"&::before":{position:"absolute",inset:0,backgroundColor:"transparent",content:'""'}},["".concat(n,"-item-divider")]:{overflow:"hidden",lineHeight:0,borderColor:u,borderStyle:v,borderWidth:0,borderTopWidth:s,marginBlock:s,padding:0,"&-dashed":{borderStyle:"dashed"}}}),tu(e)),{["".concat(n,"-item-group")]:{["".concat(n,"-item-group-list")]:{margin:0,padding:0,["".concat(n,"-item, ").concat(n,"-submenu-title")]:{paddingInline:"".concat((0,e6.bf)(e.calc(r).mul(2).equal())," ").concat((0,e6.bf)(l))}}},"&-submenu":{"&-popup":{position:"absolute",zIndex:f,borderRadius:d,boxShadow:"none",transformOrigin:"0 0",["&".concat(n,"-submenu")]:{background:"transparent"},"&::before":{position:"absolute",inset:"".concat((0,e6.bf)(g)," 0 0"),zIndex:-1,width:"100%",height:"100%",opacity:0,content:'""'}},"&-placement-rightTop::before":{top:0,insetInlineStart:g},"\n &-placement-leftTop,\n &-placement-bottomRight,\n ":{transformOrigin:"100% 0"},"\n &-placement-leftBottom,\n &-placement-topRight,\n ":{transformOrigin:"100% 100%"},"\n &-placement-rightBottom,\n &-placement-topLeft,\n ":{transformOrigin:"0 100%"},"\n &-placement-bottomLeft,\n &-placement-rightTop,\n ":{transformOrigin:"0 0"},"\n &-placement-leftTop,\n &-placement-leftBottom\n ":{paddingInlineEnd:e.paddingXS},"\n &-placement-rightTop,\n &-placement-rightBottom\n ":{paddingInlineStart:e.paddingXS},"\n &-placement-topRight,\n &-placement-topLeft\n ":{paddingBottom:e.paddingXS},"\n &-placement-bottomRight,\n &-placement-bottomLeft\n ":{paddingTop:e.paddingXS},["> ".concat(n)]:Object.assign(Object.assign(Object.assign({borderRadius:d},tu(e)),ts(e)),{["".concat(n,"-item, ").concat(n,"-submenu > ").concat(n,"-submenu-title")]:{borderRadius:p},["".concat(n,"-submenu-title::after")]:{transition:"transform ".concat(o," ").concat(a)}})}}),ts(e)),{["&-inline-collapsed ".concat(n,"-submenu-arrow,\n &-inline ").concat(n,"-submenu-arrow")]:{"&::before":{transform:"rotate(-45deg) translateX(".concat((0,e6.bf)(m),")")},"&::after":{transform:"rotate(45deg) translateX(".concat((0,e6.bf)(e.calc(m).mul(-1).equal()),")")}},["".concat(n,"-submenu-open").concat(n,"-submenu-inline > ").concat(n,"-submenu-title > ").concat(n,"-submenu-arrow")]:{transform:"translateY(".concat((0,e6.bf)(e.calc(h).mul(.2).mul(-1).equal()),")"),"&::after":{transform:"rotate(-45deg) translateX(".concat((0,e6.bf)(e.calc(m).mul(-1).equal()),")")},"&::before":{transform:"rotate(45deg) translateX(".concat((0,e6.bf)(m),")")}}})},{["".concat(t,"-layout-header")]:{[n]:{lineHeight:"inherit"}}}]},td=e=>{var t,n,r;let{colorPrimary:o,colorError:i,colorTextDisabled:a,colorErrorBg:c,colorText:l,colorTextDescription:u,colorBgContainer:s,colorFillAlter:f,colorFillContent:d,lineWidth:p,lineWidthBold:h,controlItemBgActive:m,colorBgTextHover:v,controlHeightLG:g,lineHeight:y,colorBgElevated:b,marginXXS:x,padding:w,fontSize:E,controlHeightSM:O,fontSizeLG:S,colorTextLightSolid:C,colorErrorHover:k}=e,j=null!==(t=e.activeBarWidth)&&void 0!==t?t:0,P=null!==(n=e.activeBarBorderWidth)&&void 0!==n?n:p,M=null!==(r=e.itemMarginInline)&&void 0!==r?r:e.marginXXS,A=new e3.C(C).setAlpha(.65).toRgbString();return{dropdownWidth:160,zIndexPopup:e.zIndexPopupBase+50,radiusItem:e.borderRadiusLG,itemBorderRadius:e.borderRadiusLG,radiusSubMenuItem:e.borderRadiusSM,subMenuItemBorderRadius:e.borderRadiusSM,colorItemText:l,itemColor:l,colorItemTextHover:l,itemHoverColor:l,colorItemTextHoverHorizontal:o,horizontalItemHoverColor:o,colorGroupTitle:u,groupTitleColor:u,colorItemTextSelected:o,itemSelectedColor:o,colorItemTextSelectedHorizontal:o,horizontalItemSelectedColor:o,colorItemBg:s,itemBg:s,colorItemBgHover:v,itemHoverBg:v,colorItemBgActive:d,itemActiveBg:m,colorSubItemBg:f,subMenuItemBg:f,colorItemBgSelected:m,itemSelectedBg:m,colorItemBgSelectedHorizontal:"transparent",horizontalItemSelectedBg:"transparent",colorActiveBarWidth:0,activeBarWidth:j,colorActiveBarHeight:h,activeBarHeight:h,colorActiveBarBorderSize:p,activeBarBorderWidth:P,colorItemTextDisabled:a,itemDisabledColor:a,colorDangerItemText:i,dangerItemColor:i,colorDangerItemTextHover:i,dangerItemHoverColor:i,colorDangerItemTextSelected:i,dangerItemSelectedColor:i,colorDangerItemBgActive:c,dangerItemActiveBg:c,colorDangerItemBgSelected:c,dangerItemSelectedBg:c,itemMarginInline:M,horizontalItemBorderRadius:0,horizontalItemHoverBg:"transparent",itemHeight:g,groupTitleLineHeight:y,collapsedWidth:2*g,popupBg:b,itemMarginBlock:x,itemPaddingInline:w,horizontalLineHeight:"".concat(1.15*g,"px"),iconSize:E,iconMarginInlineEnd:O-E,collapsedIconSize:S,groupTitleFontSize:E,darkItemDisabledColor:new e3.C(C).setAlpha(.25).toRgbString(),darkItemColor:A,darkDangerItemColor:i,darkItemBg:"#001529",darkPopupBg:"#001529",darkSubMenuItemBg:"#000c17",darkItemSelectedColor:C,darkItemSelectedBg:o,darkDangerItemSelectedBg:i,darkItemHoverBg:"transparent",darkGroupTitleColor:A,darkItemHoverColor:C,darkDangerItemHoverColor:k,darkDangerItemSelectedColor:C,darkDangerItemActiveBg:i,itemWidth:j?"calc(100% + ".concat(P,"px)"):"calc(100% - ".concat(2*M,"px)")}};var tp=n(92935),th=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let tm=(0,r.forwardRef)((e,t)=>{var n,o;let i;let a=r.useContext(e5),c=a||{},{getPrefixCls:l,getPopupContainer:u,direction:s,menu:d}=r.useContext(eK.E_),p=l(),{prefixCls:h,className:m,style:v,theme:g="light",expandIcon:y,_internalDisableMenuItemTitleTooltip:b,inlineCollapsed:x,siderCollapsed:w,items:E,children:O,rootClassName:S,mode:C,selectable:k,onClick:j,overflowedIndicatorPopupClassName:P}=e,M=th(e,["prefixCls","className","style","theme","expandIcon","_internalDisableMenuItemTitleTooltip","inlineCollapsed","siderCollapsed","items","children","rootClassName","mode","selectable","onClick","overflowedIndicatorPopupClassName"]),A=(0,en.Z)(M,["collapsedWidth"]),T=r.useMemo(()=>E?function e(t){return(t||[]).map((t,n)=>{if(t&&"object"==typeof t){let{label:o,children:i,key:a,type:c}=t,l=e4(t,["label","children","key","type"]),u=null!=a?a:"tmp-".concat(n);return i||"group"===c?"group"===c?r.createElement(e_,Object.assign({key:u},l,{title:o}),e(i)):r.createElement(e2,Object.assign({key:u},l,{title:o}),e(i)):"divider"===c?r.createElement(eY,Object.assign({key:u},l)):r.createElement(e0,Object.assign({key:u},l),o)}return null}).filter(e=>e)}(E):E,[E])||O;null===(n=c.validator)||void 0===n||n.call(c,{mode:C});let N=(0,eU.zX)(function(){var e;null==j||j.apply(void 0,arguments),null===(e=c.onClick)||void 0===e||e.call(c)}),I=c.mode||C,Z=null!=k?k:c.selectable,R=r.useMemo(()=>void 0!==w?w:x,[x,w]),_={horizontal:{motionName:"".concat(p,"-slide-up")},inline:(0,eX.Z)(p),other:{motionName:"".concat(p,"-zoom-big")}},D=l("menu",h||c.prefixCls),B=(0,tp.Z)(D),[L,z,F]=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,n=!(arguments.length>2)||void 0===arguments[2]||arguments[2];return(0,tt.I$)("Menu",e=>{let{colorBgElevated:t,colorPrimary:n,colorTextLightSolid:r,controlHeightLG:o,fontSize:i,darkItemColor:a,darkDangerItemColor:c,darkItemBg:l,darkSubMenuItemBg:u,darkItemSelectedColor:s,darkItemSelectedBg:f,darkDangerItemSelectedBg:d,darkItemHoverBg:p,darkGroupTitleColor:h,darkItemHoverColor:m,darkItemDisabledColor:v,darkDangerItemHoverColor:g,darkDangerItemSelectedColor:y,darkDangerItemActiveBg:b,popupBg:x,darkPopupBg:w}=e,E=e.calc(i).div(7).mul(5).equal(),O=(0,tn.TS)(e,{menuArrowSize:E,menuHorizontalHeight:e.calc(o).mul(1.15).equal(),menuArrowOffset:e.calc(E).mul(.25).equal(),menuPanelMaskInset:-7,menuSubMenuBg:t,calc:e.calc,popupBg:x}),S=(0,tn.TS)(O,{itemColor:a,itemHoverColor:m,groupTitleColor:h,itemSelectedColor:s,itemBg:l,popupBg:w,subMenuItemBg:u,itemActiveBg:"transparent",itemSelectedBg:f,activeBarHeight:0,activeBarBorderWidth:0,itemHoverBg:p,itemDisabledColor:v,dangerItemColor:c,dangerItemHoverColor:g,dangerItemSelectedColor:y,dangerItemActiveBg:b,dangerItemSelectedBg:d,menuSubMenuBg:u,horizontalItemSelectedColor:r,horizontalItemSelectedBg:n});return[tf(O),tr(O),tl(O),ta(O,"light"),ta(S,"dark"),to(O),(0,e9.Z)(O),(0,e7.oN)(O,"slide-up"),(0,e7.oN)(O,"slide-down"),(0,te._y)(O,"zoom-big")]},td,{deprecatedTokens:[["colorGroupTitle","groupTitleColor"],["radiusItem","itemBorderRadius"],["radiusSubMenuItem","subMenuItemBorderRadius"],["colorItemText","itemColor"],["colorItemTextHover","itemHoverColor"],["colorItemTextHoverHorizontal","horizontalItemHoverColor"],["colorItemTextSelected","itemSelectedColor"],["colorItemTextSelectedHorizontal","horizontalItemSelectedColor"],["colorItemTextDisabled","itemDisabledColor"],["colorDangerItemText","dangerItemColor"],["colorDangerItemTextHover","dangerItemHoverColor"],["colorDangerItemTextSelected","dangerItemSelectedColor"],["colorDangerItemBgActive","dangerItemActiveBg"],["colorDangerItemBgSelected","dangerItemSelectedBg"],["colorItemBg","itemBg"],["colorItemBgHover","itemHoverBg"],["colorSubItemBg","subMenuItemBg"],["colorItemBgActive","itemActiveBg"],["colorItemBgSelectedHorizontal","horizontalItemSelectedBg"],["colorActiveBarWidth","activeBarWidth"],["colorActiveBarHeight","activeBarHeight"],["colorActiveBarBorderSize","activeBarBorderWidth"],["colorItemBgSelected","itemSelectedBg"]],injectStyle:n,unitless:{groupTitleLineHeight:!0}})(e,t)}(D,B,!a),H=f()("".concat(D,"-").concat(g),null==d?void 0:d.className,m);if("function"==typeof y)i=y;else if(null===y||!1===y)i=null;else if(null===c.expandIcon||!1===c.expandIcon)i=null;else{let e=null!=y?y:c.expandIcon;i=(0,eG.Tm)(e,{className:f()("".concat(D,"-submenu-expand-icon"),(0,eG.l$)(e)?null===(o=e.props)||void 0===o?void 0:o.className:"")})}let W=r.useMemo(()=>({prefixCls:D,inlineCollapsed:R||!1,direction:s,firstLevel:!0,theme:g,mode:I,disableMenuItemTitleTooltip:b}),[D,R,s,b,g]);return L(r.createElement(e5.Provider,{value:null},r.createElement(eJ.Provider,{value:W},r.createElement(eF,Object.assign({getPopupContainer:u,overflowedIndicator:r.createElement(eV,null),overflowedIndicatorPopupClassName:f()(D,"".concat(D,"-").concat(g),P),mode:I,selectable:Z,onClick:N},A,{inlineCollapsed:R,style:Object.assign(Object.assign({},null==d?void 0:d.style),v),className:H,prefixCls:D,direction:s,defaultMotions:_,expandIcon:i,ref:t,rootClassName:f()(S,z,c.rootClassName,F,B)}),T))))}),tv=(0,r.forwardRef)((e,t)=>{let n=(0,r.useRef)(null),o=r.useContext(eH.D);return(0,r.useImperativeHandle)(t,()=>({menu:n.current,focus:e=>{var t;null===(t=n.current)||void 0===t||t.focus(e)}})),r.createElement(tm,Object.assign({ref:n},e,o))});tv.Item=e0,tv.SubMenu=e2,tv.Divider=eY,tv.ItemGroup=e_;var tg=tv},80588:function(e,t,n){n.d(t,{ZP:function(){return es}});var r=n(63787),o=n(64090),i=n(37274);let a=o.createContext({});var c=n(57499),l=n(54165),u=n(99537),s=n(77136),f=n(20653),d=n(40388),p=n(66155),h=n(16480),m=n.n(h),v=n(80406),g=n(6787),y=n(5239),b=n(89542),x=n(14749),w=n(50833),E=n(49367),O=n(4295),S=o.forwardRef(function(e,t){var n=e.prefixCls,r=e.style,i=e.className,a=e.duration,c=void 0===a?4.5:a,l=e.eventKey,u=e.content,s=e.closable,f=e.closeIcon,d=e.props,p=e.onClick,h=e.onNoticeClose,g=e.times,y=e.hovering,b=o.useState(!1),E=(0,v.Z)(b,2),S=E[0],C=E[1],k=y||S,j=function(){h(l)};o.useEffect(function(){if(!k&&c>0){var e=setTimeout(function(){j()},1e3*c);return function(){clearTimeout(e)}}},[c,k,g]);var P="".concat(n,"-notice");return o.createElement("div",(0,x.Z)({},d,{ref:t,className:m()(P,i,(0,w.Z)({},"".concat(P,"-closable"),s)),style:r,onMouseEnter:function(e){var t;C(!0),null==d||null===(t=d.onMouseEnter)||void 0===t||t.call(d,e)},onMouseLeave:function(e){var t;C(!1),null==d||null===(t=d.onMouseLeave)||void 0===t||t.call(d,e)},onClick:p}),o.createElement("div",{className:"".concat(P,"-content")},u),s&&o.createElement("a",{tabIndex:0,className:"".concat(P,"-close"),onKeyDown:function(e){("Enter"===e.key||"Enter"===e.code||e.keyCode===O.Z.ENTER)&&j()},onClick:function(e){e.preventDefault(),e.stopPropagation(),j()}},void 0===f?"x":f))}),C=o.createContext({}),k=function(e){var t=e.children,n=e.classNames;return o.createElement(C.Provider,{value:{classNames:n}},t)},j=n(6976),P=function(e){var t,n,r,o={offset:8,threshold:3,gap:16};return e&&"object"===(0,j.Z)(e)&&(o.offset=null!==(t=e.offset)&&void 0!==t?t:8,o.threshold=null!==(n=e.threshold)&&void 0!==n?n:3,o.gap=null!==(r=e.gap)&&void 0!==r?r:16),[!!e,o]},M=["className","style","classNames","styles"],A=function(e){var t,n=e.configList,i=e.placement,a=e.prefixCls,c=e.className,l=e.style,u=e.motion,s=e.onAllNoticeRemoved,f=e.onNoticeClose,d=e.stack,p=(0,o.useContext)(C).classNames,h=(0,o.useRef)({}),b=(0,o.useState)(null),O=(0,v.Z)(b,2),k=O[0],j=O[1],A=(0,o.useState)([]),T=(0,v.Z)(A,2),N=T[0],I=T[1],Z=n.map(function(e){return{config:e,key:String(e.key)}}),R=P(d),_=(0,v.Z)(R,2),D=_[0],B=_[1],L=B.offset,z=B.threshold,F=B.gap,H=D&&(N.length>0||Z.length<=z),W="function"==typeof u?u(i):u;return(0,o.useEffect)(function(){D&&N.length>1&&I(function(e){return e.filter(function(e){return Z.some(function(t){return e===t.key})})})},[N,Z,D]),(0,o.useEffect)(function(){var e,t;D&&h.current[null===(e=Z[Z.length-1])||void 0===e?void 0:e.key]&&j(h.current[null===(t=Z[Z.length-1])||void 0===t?void 0:t.key])},[Z,D]),o.createElement(E.V4,(0,x.Z)({key:i,className:m()(a,"".concat(a,"-").concat(i),null==p?void 0:p.list,c,(t={},(0,w.Z)(t,"".concat(a,"-stack"),!!D),(0,w.Z)(t,"".concat(a,"-stack-expanded"),H),t)),style:l,keys:Z,motionAppear:!0},W,{onAllRemoved:function(){s(i)}}),function(e,t){var n=e.config,c=e.className,l=e.style,u=e.index,s=n.key,d=n.times,v=String(s),b=n.className,w=n.style,E=n.classNames,O=n.styles,C=(0,g.Z)(n,M),j=Z.findIndex(function(e){return e.key===v}),P={};if(D){var A=Z.length-1-(j>-1?j:u-1),T="top"===i||"bottom"===i?"-50%":"0";if(A>0){P.height=H?null===(R=h.current[v])||void 0===R?void 0:R.offsetHeight:null==k?void 0:k.offsetHeight;for(var R,_,B,z,W=0,q=0;q-1?h.current[v]=e:delete h.current[v]},prefixCls:a,classNames:E,styles:O,className:m()(b,null==p?void 0:p.notice),style:w,times:d,key:s,eventKey:s,onNoticeClose:f,hovering:D&&N.length>0})))})},T=o.forwardRef(function(e,t){var n=e.prefixCls,i=void 0===n?"rc-notification":n,a=e.container,c=e.motion,l=e.maxCount,u=e.className,s=e.style,f=e.onAllRemoved,d=e.stack,p=e.renderNotifications,h=o.useState([]),m=(0,v.Z)(h,2),g=m[0],x=m[1],w=function(e){var t,n=g.find(function(t){return t.key===e});null==n||null===(t=n.onClose)||void 0===t||t.call(n),x(function(t){return t.filter(function(t){return t.key!==e})})};o.useImperativeHandle(t,function(){return{open:function(e){x(function(t){var n,o=(0,r.Z)(t),i=o.findIndex(function(t){return t.key===e.key}),a=(0,y.Z)({},e);return i>=0?(a.times=((null===(n=t[i])||void 0===n?void 0:n.times)||0)+1,o[i]=a):(a.times=0,o.push(a)),l>0&&o.length>l&&(o=o.slice(-l)),o})},close:function(e){w(e)},destroy:function(){x([])}}});var E=o.useState({}),O=(0,v.Z)(E,2),S=O[0],C=O[1];o.useEffect(function(){var e={};g.forEach(function(t){var n=t.placement,r=void 0===n?"topRight":n;r&&(e[r]=e[r]||[],e[r].push(t))}),Object.keys(S).forEach(function(t){e[t]=e[t]||[]}),C(e)},[g]);var k=function(e){C(function(t){var n=(0,y.Z)({},t);return(n[e]||[]).length||delete n[e],n})},j=o.useRef(!1);if(o.useEffect(function(){Object.keys(S).length>0?j.current=!0:j.current&&(null==f||f(),j.current=!1)},[S]),!a)return null;var P=Object.keys(S);return(0,b.createPortal)(o.createElement(o.Fragment,null,P.map(function(e){var t=S[e],n=o.createElement(A,{key:e,configList:t,placement:e,prefixCls:i,className:null==u?void 0:u(e),style:null==s?void 0:s(e),motion:c,onNoticeClose:w,onAllNoticeRemoved:k,stack:d});return p?p(n,{prefixCls:i,key:e}):n})),a)}),N=["getContainer","motion","prefixCls","maxCount","className","style","onAllRemoved","stack","renderNotifications"],I=function(){return document.body},Z=0,R=n(8985),_=n(51761),D=n(11303),B=n(76585),L=n(80316);let z=e=>{let{componentCls:t,iconCls:n,boxShadow:r,colorText:o,colorSuccess:i,colorError:a,colorWarning:c,colorInfo:l,fontSizeLG:u,motionEaseInOutCirc:s,motionDurationSlow:f,marginXS:d,paddingXS:p,borderRadiusLG:h,zIndexPopup:m,contentPadding:v,contentBg:g}=e,y="".concat(t,"-notice"),b=new R.E4("MessageMoveIn",{"0%":{padding:0,transform:"translateY(-100%)",opacity:0},"100%":{padding:p,transform:"translateY(0)",opacity:1}}),x=new R.E4("MessageMoveOut",{"0%":{maxHeight:e.height,padding:p,opacity:1},"100%":{maxHeight:0,padding:0,opacity:0}}),w={padding:p,textAlign:"center",["".concat(t,"-custom-content > ").concat(n)]:{verticalAlign:"text-bottom",marginInlineEnd:d,fontSize:u},["".concat(y,"-content")]:{display:"inline-block",padding:v,background:g,borderRadius:h,boxShadow:r,pointerEvents:"all"},["".concat(t,"-success > ").concat(n)]:{color:i},["".concat(t,"-error > ").concat(n)]:{color:a},["".concat(t,"-warning > ").concat(n)]:{color:c},["".concat(t,"-info > ").concat(n,",\n ").concat(t,"-loading > ").concat(n)]:{color:l}};return[{[t]:Object.assign(Object.assign({},(0,D.Wf)(e)),{color:o,position:"fixed",top:d,width:"100%",pointerEvents:"none",zIndex:m,["".concat(t,"-move-up")]:{animationFillMode:"forwards"},["\n ".concat(t,"-move-up-appear,\n ").concat(t,"-move-up-enter\n ")]:{animationName:b,animationDuration:f,animationPlayState:"paused",animationTimingFunction:s},["\n ".concat(t,"-move-up-appear").concat(t,"-move-up-appear-active,\n ").concat(t,"-move-up-enter").concat(t,"-move-up-enter-active\n ")]:{animationPlayState:"running"},["".concat(t,"-move-up-leave")]:{animationName:x,animationDuration:f,animationPlayState:"paused",animationTimingFunction:s},["".concat(t,"-move-up-leave").concat(t,"-move-up-leave-active")]:{animationPlayState:"running"},"&-rtl":{direction:"rtl",span:{direction:"rtl"}}})},{[t]:{["".concat(y,"-wrapper")]:Object.assign({},w)}},{["".concat(t,"-notice-pure-panel")]:Object.assign(Object.assign({},w),{padding:0,textAlign:"start"})}]};var F=(0,B.I$)("Message",e=>[z((0,L.TS)(e,{height:150}))],e=>({zIndexPopup:e.zIndexPopupBase+_.u6+10,contentBg:e.colorBgElevated,contentPadding:"".concat((e.controlHeightLG-e.fontSize*e.lineHeight)/2,"px ").concat(e.paddingSM,"px")})),H=n(92935),W=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let q={info:o.createElement(d.Z,null),success:o.createElement(u.Z,null),error:o.createElement(s.Z,null),warning:o.createElement(f.Z,null),loading:o.createElement(p.Z,null)},V=e=>{let{prefixCls:t,type:n,icon:r,children:i}=e;return o.createElement("div",{className:m()("".concat(t,"-custom-content"),"".concat(t,"-").concat(n))},r||q[n],o.createElement("span",null,i))};var U=n(81303),X=n(76564);function G(e){let t;let n=new Promise(n=>{t=e(()=>{n(!0)})}),r=()=>{null==t||t()};return r.then=(e,t)=>n.then(e,t),r.promise=n,r}var K=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let $=e=>{let{children:t,prefixCls:n}=e,r=(0,H.Z)(n),[i,a,c]=F(n,r);return i(o.createElement(k,{classNames:{list:m()(a,c,r)}},t))},Y=(e,t)=>{let{prefixCls:n,key:r}=t;return o.createElement($,{prefixCls:n,key:r},e)},Q=o.forwardRef((e,t)=>{let{top:n,prefixCls:i,getContainer:a,maxCount:l,duration:u=3,rtl:s,transitionName:f,onAllRemoved:d}=e,{getPrefixCls:p,getPopupContainer:h,message:y,direction:b}=o.useContext(c.E_),x=i||p("message"),w=o.createElement("span",{className:"".concat(x,"-close-x")},o.createElement(U.Z,{className:"".concat(x,"-close-icon")})),[E,O]=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.getContainer,n=void 0===t?I:t,i=e.motion,a=e.prefixCls,c=e.maxCount,l=e.className,u=e.style,s=e.onAllRemoved,f=e.stack,d=e.renderNotifications,p=(0,g.Z)(e,N),h=o.useState(),m=(0,v.Z)(h,2),y=m[0],b=m[1],x=o.useRef(),w=o.createElement(T,{container:y,ref:x,prefixCls:a,motion:i,maxCount:c,className:l,style:u,onAllRemoved:s,stack:f,renderNotifications:d}),E=o.useState([]),O=(0,v.Z)(E,2),S=O[0],C=O[1],k=o.useMemo(function(){return{open:function(e){var t=function(){for(var e={},t=arguments.length,n=Array(t),r=0;r({left:"50%",transform:"translateX(-50%)",top:null!=n?n:8}),className:()=>m()({["".concat(x,"-rtl")]:null!=s?s:"rtl"===b}),motion:()=>({motionName:null!=f?f:"".concat(x,"-move-up")}),closable:!1,closeIcon:w,duration:u,getContainer:()=>(null==a?void 0:a())||(null==h?void 0:h())||document.body,maxCount:l,onAllRemoved:d,renderNotifications:Y});return o.useImperativeHandle(t,()=>Object.assign(Object.assign({},E),{prefixCls:x,message:y})),O}),J=0;function ee(e){let t=o.useRef(null);return(0,X.ln)("Message"),[o.useMemo(()=>{let e=e=>{var n;null===(n=t.current)||void 0===n||n.close(e)},n=n=>{if(!t.current){let e=()=>{};return e.then=()=>{},e}let{open:r,prefixCls:i,message:a}=t.current,c="".concat(i,"-notice"),{content:l,icon:u,type:s,key:f,className:d,style:p,onClose:h}=n,v=K(n,["content","icon","type","key","className","style","onClose"]),g=f;return null==g&&(J+=1,g="antd-message-".concat(J)),G(t=>(r(Object.assign(Object.assign({},v),{key:g,content:o.createElement(V,{prefixCls:i,type:s,icon:u},l),placement:"top",className:m()(s&&"".concat(c,"-").concat(s),d,null==a?void 0:a.className),style:Object.assign(Object.assign({},null==a?void 0:a.style),p),onClose:()=>{null==h||h(),t()}})),()=>{e(g)}))},r={open:n,destroy:n=>{var r;void 0!==n?e(n):null===(r=t.current)||void 0===r||r.destroy()}};return["info","success","warning","error","loading"].forEach(e=>{r[e]=(t,r,o)=>{let i,a;return"function"==typeof r?a=r:(i=r,a=o),n(Object.assign(Object.assign({onClose:a,duration:i},t&&"object"==typeof t&&"content"in t?t:{content:t}),{type:e}))}}),r},[]),o.createElement(Q,Object.assign({key:"message-holder"},e,{ref:t}))]}let et=null,en=e=>e(),er=[],eo={};function ei(){let{getContainer:e,duration:t,rtl:n,maxCount:r,top:o}=eo,i=(null==e?void 0:e())||document.body;return{getContainer:()=>i,duration:t,rtl:n,maxCount:r,top:o}}let ea=o.forwardRef((e,t)=>{let{messageConfig:n,sync:r}=e,{getPrefixCls:i}=(0,o.useContext)(c.E_),l=eo.prefixCls||i("message"),u=(0,o.useContext)(a),[s,f]=ee(Object.assign(Object.assign(Object.assign({},n),{prefixCls:l}),u.message));return o.useImperativeHandle(t,()=>{let e=Object.assign({},s);return Object.keys(e).forEach(t=>{e[t]=function(){return r(),s[t].apply(s,arguments)}}),{instance:e,sync:r}}),f}),ec=o.forwardRef((e,t)=>{let[n,r]=o.useState(ei),i=()=>{r(ei)};o.useEffect(i,[]);let a=(0,l.w6)(),c=a.getRootPrefixCls(),u=a.getIconPrefixCls(),s=a.getTheme(),f=o.createElement(ea,{ref:t,sync:i,messageConfig:n});return o.createElement(l.ZP,{prefixCls:c,iconPrefixCls:u,theme:s},a.holderRender?a.holderRender(f):f)});function el(){if(!et){let e=document.createDocumentFragment(),t={fragment:e};et=t,en(()=>{(0,i.s)(o.createElement(ec,{ref:e=>{let{instance:n,sync:r}=e||{};Promise.resolve().then(()=>{!t.instance&&n&&(t.instance=n,t.sync=r,el())})}}),e)});return}et.instance&&(er.forEach(e=>{let{type:t,skipped:n}=e;if(!n)switch(t){case"open":en(()=>{let t=et.instance.open(Object.assign(Object.assign({},eo),e.config));null==t||t.then(e.resolve),e.setCloseFn(t)});break;case"destroy":en(()=>{null==et||et.instance.destroy(e.key)});break;default:en(()=>{var n;let o=(n=et.instance)[t].apply(n,(0,r.Z)(e.args));null==o||o.then(e.resolve),e.setCloseFn(o)})}}),er=[])}let eu={open:function(e){let t=G(t=>{let n;let r={type:"open",config:e,resolve:t,setCloseFn:e=>{n=e}};return er.push(r),()=>{n?en(()=>{n()}):r.skipped=!0}});return el(),t},destroy:function(e){er.push({type:"destroy",key:e}),el()},config:function(e){eo=Object.assign(Object.assign({},eo),e),en(()=>{var e;null===(e=null==et?void 0:et.sync)||void 0===e||e.call(et)})},useMessage:function(e){return ee(e)},_InternalPanelDoNotUseOrYouWillBeFired:e=>{let{prefixCls:t,className:n,type:r,icon:i,content:a}=e,l=W(e,["prefixCls","className","type","icon","content"]),{getPrefixCls:u}=o.useContext(c.E_),s=t||u("message"),f=(0,H.Z)(s),[d,p,h]=F(s,f);return d(o.createElement(S,Object.assign({},l,{prefixCls:s,className:m()(n,p,"".concat(s,"-notice-pure-panel"),h,f),eventKey:"pure",duration:null,content:o.createElement(V,{prefixCls:s,type:r,icon:i},a)})))}};["success","info","warning","error","loading"].forEach(e=>{eu[e]=function(){for(var t=arguments.length,n=Array(t),r=0;r{let r;let o={type:e,args:t,resolve:n,setCloseFn:e=>{r=e}};return er.push(o),()=>{r?en(()=>{r()}):o.skipped=!0}});return el(),n}(e,n)}});var es=eu},77171:function(e,t,n){let r;n.d(t,{Z:function(){return eY}});var o=n(63787),i=n(64090),a=n(37274),c=n(57499),l=n(54165),u=n(99537),s=n(77136),f=n(20653),d=n(40388),p=n(16480),h=n.n(p),m=n(51761),v=n(47387),g=n(70595),y=n(24750),b=n(89211),x=n(1861),w=n(51350),E=e=>{let{type:t,children:n,prefixCls:r,buttonProps:o,close:a,autoFocus:c,emitEvent:l,isSilent:u,quitOnNullishReturnValue:s,actionFn:f}=e,d=i.useRef(!1),p=i.useRef(null),[h,m]=(0,b.Z)(!1),v=function(){null==a||a.apply(void 0,arguments)};i.useEffect(()=>{let e=null;return c&&(e=setTimeout(()=>{var e;null===(e=p.current)||void 0===e||e.focus()})),()=>{e&&clearTimeout(e)}},[]);let g=e=>{e&&e.then&&(m(!0),e.then(function(){m(!1,!0),v.apply(void 0,arguments),d.current=!1},e=>{if(m(!1,!0),d.current=!1,null==u||!u())return Promise.reject(e)}))};return i.createElement(x.ZP,Object.assign({},(0,w.nx)(t),{onClick:e=>{let t;if(!d.current){if(d.current=!0,!f){v();return}if(l){var n;if(t=f(e),s&&!((n=t)&&n.then)){d.current=!1,v(e);return}}else if(f.length)t=f(a),d.current=!1;else if(!(t=f())){v();return}g(t)}},loading:h,prefixCls:r},o,{ref:p}),n)};let O=i.createContext({}),{Provider:S}=O;var C=()=>{let{autoFocusButton:e,cancelButtonProps:t,cancelTextLocale:n,isSilent:r,mergedOkCancel:o,rootPrefixCls:a,close:c,onCancel:l,onConfirm:u}=(0,i.useContext)(O);return o?i.createElement(E,{isSilent:r,actionFn:l,close:function(){null==c||c.apply(void 0,arguments),null==u||u(!1)},autoFocus:"cancel"===e,buttonProps:t,prefixCls:"".concat(a,"-btn")},n):null},k=()=>{let{autoFocusButton:e,close:t,isSilent:n,okButtonProps:r,rootPrefixCls:o,okTextLocale:a,okType:c,onConfirm:l,onOk:u}=(0,i.useContext)(O);return i.createElement(E,{isSilent:n,type:c||"primary",actionFn:u,close:function(){null==t||t.apply(void 0,arguments),null==l||l(!0)},autoFocus:"ok"===e,buttonProps:r,prefixCls:"".concat(o,"-btn")},a)},j=n(81303),P=n(14749),M=n(80406),A=n(88804),T=i.createContext({}),N=n(5239),I=n(31506),Z=n(91010),R=n(4295),_=n(72480);function D(e,t,n){var r=t;return!r&&n&&(r="".concat(e,"-").concat(n)),r}function B(e,t){var n=e["page".concat(t?"Y":"X","Offset")],r="scroll".concat(t?"Top":"Left");if("number"!=typeof n){var o=e.document;"number"!=typeof(n=o.documentElement[r])&&(n=o.body[r])}return n}var L=n(49367),z=n(74084),F=i.memo(function(e){return e.children},function(e,t){return!t.shouldUpdate}),H={width:0,height:0,overflow:"hidden",outline:"none"},W=i.forwardRef(function(e,t){var n,r,o,a=e.prefixCls,c=e.className,l=e.style,u=e.title,s=e.ariaId,f=e.footer,d=e.closable,p=e.closeIcon,m=e.onClose,v=e.children,g=e.bodyStyle,y=e.bodyProps,b=e.modalRender,x=e.onMouseDown,w=e.onMouseUp,E=e.holderRef,O=e.visible,S=e.forceRender,C=e.width,k=e.height,j=e.classNames,M=e.styles,A=i.useContext(T).panel,I=(0,z.x1)(E,A),Z=(0,i.useRef)(),R=(0,i.useRef)();i.useImperativeHandle(t,function(){return{focus:function(){var e;null===(e=Z.current)||void 0===e||e.focus()},changeActive:function(e){var t=document.activeElement;e&&t===R.current?Z.current.focus():e||t!==Z.current||R.current.focus()}}});var _={};void 0!==C&&(_.width=C),void 0!==k&&(_.height=k),f&&(n=i.createElement("div",{className:h()("".concat(a,"-footer"),null==j?void 0:j.footer),style:(0,N.Z)({},null==M?void 0:M.footer)},f)),u&&(r=i.createElement("div",{className:h()("".concat(a,"-header"),null==j?void 0:j.header),style:(0,N.Z)({},null==M?void 0:M.header)},i.createElement("div",{className:"".concat(a,"-title"),id:s},u))),d&&(o=i.createElement("button",{type:"button",onClick:m,"aria-label":"Close",className:"".concat(a,"-close")},p||i.createElement("span",{className:"".concat(a,"-close-x")})));var D=i.createElement("div",{className:h()("".concat(a,"-content"),null==j?void 0:j.content),style:null==M?void 0:M.content},o,r,i.createElement("div",(0,P.Z)({className:h()("".concat(a,"-body"),null==j?void 0:j.body),style:(0,N.Z)((0,N.Z)({},g),null==M?void 0:M.body)},y),v),n);return i.createElement("div",{key:"dialog-element",role:"dialog","aria-labelledby":u?s:null,"aria-modal":"true",ref:I,style:(0,N.Z)((0,N.Z)({},l),_),className:h()(a,c),onMouseDown:x,onMouseUp:w},i.createElement("div",{tabIndex:0,ref:Z,style:H,"aria-hidden":"true"}),i.createElement(F,{shouldUpdate:O||S},b?b(D):D),i.createElement("div",{tabIndex:0,ref:R,style:H,"aria-hidden":"true"}))}),q=i.forwardRef(function(e,t){var n=e.prefixCls,r=e.title,o=e.style,a=e.className,c=e.visible,l=e.forceRender,u=e.destroyOnClose,s=e.motionName,f=e.ariaId,d=e.onVisibleChanged,p=e.mousePosition,m=(0,i.useRef)(),v=i.useState(),g=(0,M.Z)(v,2),y=g[0],b=g[1],x={};function w(){var e,t,n,r,o,i=(n={left:(t=(e=m.current).getBoundingClientRect()).left,top:t.top},o=(r=e.ownerDocument).defaultView||r.parentWindow,n.left+=B(o),n.top+=B(o,!0),n);b(p?"".concat(p.x-i.left,"px ").concat(p.y-i.top,"px"):"")}return y&&(x.transformOrigin=y),i.createElement(L.ZP,{visible:c,onVisibleChanged:d,onAppearPrepare:w,onEnterPrepare:w,forceRender:l,motionName:s,removeOnLeave:u,ref:m},function(c,l){var u=c.className,s=c.style;return i.createElement(W,(0,P.Z)({},e,{ref:t,title:r,ariaId:f,prefixCls:n,holderRef:l,style:(0,N.Z)((0,N.Z)((0,N.Z)({},s),o),x),className:h()(a,u)}))})});function V(e){var t=e.prefixCls,n=e.style,r=e.visible,o=e.maskProps,a=e.motionName,c=e.className;return i.createElement(L.ZP,{key:"mask",visible:r,motionName:a,leavedClassName:"".concat(t,"-mask-hidden")},function(e,r){var a=e.className,l=e.style;return i.createElement("div",(0,P.Z)({ref:r,style:(0,N.Z)((0,N.Z)({},l),n),className:h()("".concat(t,"-mask"),a,c)},o))})}function U(e){var t=e.prefixCls,n=void 0===t?"rc-dialog":t,r=e.zIndex,o=e.visible,a=void 0!==o&&o,c=e.keyboard,l=void 0===c||c,u=e.focusTriggerAfterClose,s=void 0===u||u,f=e.wrapStyle,d=e.wrapClassName,p=e.wrapProps,m=e.onClose,v=e.afterOpenChange,g=e.afterClose,y=e.transitionName,b=e.animation,x=e.closable,w=e.mask,E=void 0===w||w,O=e.maskTransitionName,S=e.maskAnimation,C=e.maskClosable,k=e.maskStyle,j=e.maskProps,A=e.rootClassName,T=e.classNames,B=e.styles,L=(0,i.useRef)(),z=(0,i.useRef)(),F=(0,i.useRef)(),H=i.useState(a),W=(0,M.Z)(H,2),U=W[0],X=W[1],G=(0,Z.Z)();function K(e){null==m||m(e)}var $=(0,i.useRef)(!1),Y=(0,i.useRef)(),Q=null;return(void 0===C||C)&&(Q=function(e){$.current?$.current=!1:z.current===e.target&&K(e)}),(0,i.useEffect)(function(){a&&(X(!0),(0,I.Z)(z.current,document.activeElement)||(L.current=document.activeElement))},[a]),(0,i.useEffect)(function(){return function(){clearTimeout(Y.current)}},[]),i.createElement("div",(0,P.Z)({className:h()("".concat(n,"-root"),A)},(0,_.Z)(e,{data:!0})),i.createElement(V,{prefixCls:n,visible:E&&a,motionName:D(n,O,S),style:(0,N.Z)((0,N.Z)({zIndex:r},k),null==B?void 0:B.mask),maskProps:j,className:null==T?void 0:T.mask}),i.createElement("div",(0,P.Z)({tabIndex:-1,onKeyDown:function(e){if(l&&e.keyCode===R.Z.ESC){e.stopPropagation(),K(e);return}a&&e.keyCode===R.Z.TAB&&F.current.changeActive(!e.shiftKey)},className:h()("".concat(n,"-wrap"),d,null==T?void 0:T.wrapper),ref:z,onClick:Q,style:(0,N.Z)((0,N.Z)((0,N.Z)({zIndex:r},f),null==B?void 0:B.wrapper),{},{display:U?null:"none"})},p),i.createElement(q,(0,P.Z)({},e,{onMouseDown:function(){clearTimeout(Y.current),$.current=!0},onMouseUp:function(){Y.current=setTimeout(function(){$.current=!1})},ref:F,closable:void 0===x||x,ariaId:G,prefixCls:n,visible:a&&U,onClose:K,onVisibleChanged:function(e){if(e)!function(){if(!(0,I.Z)(z.current,document.activeElement)){var e;null===(e=F.current)||void 0===e||e.focus()}}();else{if(X(!1),E&&L.current&&s){try{L.current.focus({preventScroll:!0})}catch(e){}L.current=null}U&&(null==g||g())}null==v||v(e)},motionName:D(n,y,b)}))))}q.displayName="Content",n(53850);var X=function(e){var t=e.visible,n=e.getContainer,r=e.forceRender,o=e.destroyOnClose,a=void 0!==o&&o,c=e.afterClose,l=e.panelRef,u=i.useState(t),s=(0,M.Z)(u,2),f=s[0],d=s[1],p=i.useMemo(function(){return{panel:l}},[l]);return(i.useEffect(function(){t&&d(!0)},[t]),r||!a||f)?i.createElement(T.Provider,{value:p},i.createElement(A.Z,{open:t||r||f,autoDestroy:!1,getContainer:n,autoLock:t||f},i.createElement(U,(0,P.Z)({},e,{destroyOnClose:a,afterClose:function(){null==c||c(),d(!1)}})))):null};X.displayName="Dialog";var G=function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:i.createElement(j.Z,null),o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if("boolean"==typeof e?!e:void 0===t?!o:!1===t||null===t)return[!1,null];let a="boolean"==typeof t||null==t?r:t;return[!0,n?n(a):a]},K=n(22127),$=n(86718),Y=n(47137),Q=n(92801),J=n(48563);function ee(){}let et=i.createContext({add:ee,remove:ee});var en=n(17094),er=()=>{let{cancelButtonProps:e,cancelTextLocale:t,onCancel:n}=(0,i.useContext)(O);return i.createElement(x.ZP,Object.assign({onClick:n},e),t)},eo=()=>{let{confirmLoading:e,okButtonProps:t,okType:n,okTextLocale:r,onOk:o}=(0,i.useContext)(O);return i.createElement(x.ZP,Object.assign({},(0,w.nx)(n),{loading:e,onClick:o},t),r)},ei=n(4678);function ea(e,t){return i.createElement("span",{className:"".concat(e,"-close-x")},t||i.createElement(j.Z,{className:"".concat(e,"-close-icon")}))}let ec=e=>{let t;let{okText:n,okType:r="primary",cancelText:a,confirmLoading:c,onOk:l,onCancel:u,okButtonProps:s,cancelButtonProps:f,footer:d}=e,[p]=(0,g.Z)("Modal",(0,ei.A)()),h={confirmLoading:c,okButtonProps:s,cancelButtonProps:f,okTextLocale:n||(null==p?void 0:p.okText),cancelTextLocale:a||(null==p?void 0:p.cancelText),okType:r,onOk:l,onCancel:u},m=i.useMemo(()=>h,(0,o.Z)(Object.values(h)));return"function"==typeof d||void 0===d?(t=i.createElement(i.Fragment,null,i.createElement(er,null),i.createElement(eo,null)),"function"==typeof d&&(t=d(t,{OkBtn:eo,CancelBtn:er})),t=i.createElement(S,{value:m},t)):t=d,i.createElement(en.n,{disabled:!1},t)};var el=n(11303),eu=n(8985),es=n(59353);let ef=new eu.E4("antFadeIn",{"0%":{opacity:0},"100%":{opacity:1}}),ed=new eu.E4("antFadeOut",{"0%":{opacity:1},"100%":{opacity:0}}),ep=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],{antCls:n}=e,r="".concat(n,"-fade"),o=t?"&":"";return[(0,es.R)(r,ef,ed,e.motionDurationMid,t),{["\n ".concat(o).concat(r,"-enter,\n ").concat(o).concat(r,"-appear\n ")]:{opacity:0,animationTimingFunction:"linear"},["".concat(o).concat(r,"-leave")]:{animationTimingFunction:"linear"}}]};var eh=n(58854),em=n(80316),ev=n(76585);function eg(e){return{position:e,inset:0}}let ey=e=>{let{componentCls:t,antCls:n}=e;return[{["".concat(t,"-root")]:{["".concat(t).concat(n,"-zoom-enter, ").concat(t).concat(n,"-zoom-appear")]:{transform:"none",opacity:0,animationDuration:e.motionDurationSlow,userSelect:"none"},["".concat(t).concat(n,"-zoom-leave ").concat(t,"-content")]:{pointerEvents:"none"},["".concat(t,"-mask")]:Object.assign(Object.assign({},eg("fixed")),{zIndex:e.zIndexPopupBase,height:"100%",backgroundColor:e.colorBgMask,pointerEvents:"none",["".concat(t,"-hidden")]:{display:"none"}}),["".concat(t,"-wrap")]:Object.assign(Object.assign({},eg("fixed")),{zIndex:e.zIndexPopupBase,overflow:"auto",outline:0,WebkitOverflowScrolling:"touch",["&:has(".concat(t).concat(n,"-zoom-enter), &:has(").concat(t).concat(n,"-zoom-appear)")]:{pointerEvents:"none"}})}},{["".concat(t,"-root")]:ep(e)}]},eb=e=>{let{componentCls:t}=e;return[{["".concat(t,"-root")]:{["".concat(t,"-wrap-rtl")]:{direction:"rtl"},["".concat(t,"-centered")]:{textAlign:"center","&::before":{display:"inline-block",width:0,height:"100%",verticalAlign:"middle",content:'""'},[t]:{top:0,display:"inline-block",paddingBottom:0,textAlign:"start",verticalAlign:"middle"}},["@media (max-width: ".concat(e.screenSMMax,"px)")]:{[t]:{maxWidth:"calc(100vw - 16px)",margin:"".concat((0,eu.bf)(e.marginXS)," auto")},["".concat(t,"-centered")]:{[t]:{flex:1}}}}},{[t]:Object.assign(Object.assign({},(0,el.Wf)(e)),{pointerEvents:"none",position:"relative",top:100,width:"auto",maxWidth:"calc(100vw - ".concat((0,eu.bf)(e.calc(e.margin).mul(2).equal()),")"),margin:"0 auto",paddingBottom:e.paddingLG,["".concat(t,"-title")]:{margin:0,color:e.titleColor,fontWeight:e.fontWeightStrong,fontSize:e.titleFontSize,lineHeight:e.titleLineHeight,wordWrap:"break-word"},["".concat(t,"-content")]:{position:"relative",backgroundColor:e.contentBg,backgroundClip:"padding-box",border:0,borderRadius:e.borderRadiusLG,boxShadow:e.boxShadow,pointerEvents:"auto",padding:e.contentPadding},["".concat(t,"-close")]:Object.assign({position:"absolute",top:e.calc(e.modalHeaderHeight).sub(e.modalCloseBtnSize).div(2).equal(),insetInlineEnd:e.calc(e.modalHeaderHeight).sub(e.modalCloseBtnSize).div(2).equal(),zIndex:e.calc(e.zIndexPopupBase).add(10).equal(),padding:0,color:e.modalCloseIconColor,fontWeight:e.fontWeightStrong,lineHeight:1,textDecoration:"none",background:"transparent",borderRadius:e.borderRadiusSM,width:e.modalCloseBtnSize,height:e.modalCloseBtnSize,border:0,outline:0,cursor:"pointer",transition:"color ".concat(e.motionDurationMid,", background-color ").concat(e.motionDurationMid),"&-x":{display:"flex",fontSize:e.fontSizeLG,fontStyle:"normal",lineHeight:"".concat((0,eu.bf)(e.modalCloseBtnSize)),justifyContent:"center",textTransform:"none",textRendering:"auto"},"&:hover":{color:e.modalIconHoverColor,backgroundColor:e.closeBtnHoverBg,textDecoration:"none"},"&:active":{backgroundColor:e.closeBtnActiveBg}},(0,el.Qy)(e)),["".concat(t,"-header")]:{color:e.colorText,background:e.headerBg,borderRadius:"".concat((0,eu.bf)(e.borderRadiusLG)," ").concat((0,eu.bf)(e.borderRadiusLG)," 0 0"),marginBottom:e.headerMarginBottom,padding:e.headerPadding,borderBottom:e.headerBorderBottom},["".concat(t,"-body")]:{fontSize:e.fontSize,lineHeight:e.lineHeight,wordWrap:"break-word",padding:e.bodyPadding},["".concat(t,"-footer")]:{textAlign:"end",background:e.footerBg,marginTop:e.footerMarginTop,padding:e.footerPadding,borderTop:e.footerBorderTop,borderRadius:e.footerBorderRadius,["> ".concat(e.antCls,"-btn + ").concat(e.antCls,"-btn")]:{marginInlineStart:e.marginXS}},["".concat(t,"-open")]:{overflow:"hidden"}})},{["".concat(t,"-pure-panel")]:{top:"auto",padding:0,display:"flex",flexDirection:"column",["".concat(t,"-content,\n ").concat(t,"-body,\n ").concat(t,"-confirm-body-wrapper")]:{display:"flex",flexDirection:"column",flex:"auto"},["".concat(t,"-confirm-body")]:{marginBottom:"auto"}}}]},ex=e=>{let{componentCls:t}=e;return{["".concat(t,"-root")]:{["".concat(t,"-wrap-rtl")]:{direction:"rtl",["".concat(t,"-confirm-body")]:{direction:"rtl"}}}}},ew=e=>{let t=e.padding,n=e.fontSizeHeading5,r=e.lineHeightHeading5;return(0,em.TS)(e,{modalHeaderHeight:e.calc(e.calc(r).mul(n).equal()).add(e.calc(t).mul(2).equal()).equal(),modalFooterBorderColorSplit:e.colorSplit,modalFooterBorderStyle:e.lineType,modalFooterBorderWidth:e.lineWidth,modalIconHoverColor:e.colorIconHover,modalCloseIconColor:e.colorIcon,modalCloseBtnSize:e.fontHeight,modalConfirmIconSize:e.fontHeight,modalTitleHeight:e.calc(e.titleFontSize).mul(e.titleLineHeight).equal()})},eE=e=>({footerBg:"transparent",headerBg:e.colorBgElevated,titleLineHeight:e.lineHeightHeading5,titleFontSize:e.fontSizeHeading5,contentBg:e.colorBgElevated,titleColor:e.colorTextHeading,closeBtnHoverBg:e.wireframe?"transparent":e.colorFillContent,closeBtnActiveBg:e.wireframe?"transparent":e.colorFillContentHover,contentPadding:e.wireframe?0:"".concat((0,eu.bf)(e.paddingMD)," ").concat((0,eu.bf)(e.paddingContentHorizontalLG)),headerPadding:e.wireframe?"".concat((0,eu.bf)(e.padding)," ").concat((0,eu.bf)(e.paddingLG)):0,headerBorderBottom:e.wireframe?"".concat((0,eu.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorSplit):"none",headerMarginBottom:e.wireframe?0:e.marginXS,bodyPadding:e.wireframe?e.paddingLG:0,footerPadding:e.wireframe?"".concat((0,eu.bf)(e.paddingXS)," ").concat((0,eu.bf)(e.padding)):0,footerBorderTop:e.wireframe?"".concat((0,eu.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorSplit):"none",footerBorderRadius:e.wireframe?"0 0 ".concat((0,eu.bf)(e.borderRadiusLG)," ").concat((0,eu.bf)(e.borderRadiusLG)):0,footerMarginTop:e.wireframe?0:e.marginSM,confirmBodyPadding:e.wireframe?"".concat((0,eu.bf)(2*e.padding)," ").concat((0,eu.bf)(2*e.padding)," ").concat((0,eu.bf)(e.paddingLG)):0,confirmIconMarginInlineEnd:e.wireframe?e.margin:e.marginSM,confirmBtnsMarginTop:e.wireframe?e.marginLG:e.marginSM});var eO=(0,ev.I$)("Modal",e=>{let t=ew(e);return[eb(t),ex(t),ey(t),(0,eh._y)(t,"zoom")]},eE,{unitless:{titleLineHeight:!0}}),eS=n(92935),eC=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};(0,K.Z)()&&window.document.documentElement&&document.documentElement.addEventListener("click",e=>{r={x:e.pageX,y:e.pageY},setTimeout(()=>{r=null},100)},!0);var ek=e=>{var t;let{getPopupContainer:n,getPrefixCls:o,direction:a,modal:l}=i.useContext(c.E_),u=t=>{let{onCancel:n}=e;null==n||n(t)},{prefixCls:s,className:f,rootClassName:d,open:p,wrapClassName:g,centered:y,getContainer:b,closeIcon:x,closable:w,focusTriggerAfterClose:E=!0,style:O,visible:S,width:C=520,footer:k,classNames:P,styles:M}=e,A=eC(e,["prefixCls","className","rootClassName","open","wrapClassName","centered","getContainer","closeIcon","closable","focusTriggerAfterClose","style","visible","width","footer","classNames","styles"]),T=o("modal",s),N=o(),I=(0,eS.Z)(T),[Z,R,_]=eO(T,I),D=h()(g,{["".concat(T,"-centered")]:!!y,["".concat(T,"-wrap-rtl")]:"rtl"===a}),B=null!==k&&i.createElement(ec,Object.assign({},e,{onOk:t=>{let{onOk:n}=e;null==n||n(t)},onCancel:u})),[L,z]=G(w,x,e=>ea(T,e),i.createElement(j.Z,{className:"".concat(T,"-close-icon")}),!0),F=function(e){let t=i.useContext(et),n=i.useRef();return(0,J.zX)(r=>{if(r){let o=e?r.querySelector(e):r;t.add(o),n.current=o}else t.remove(n.current)})}(".".concat(T,"-content")),[H,W]=(0,m.Cn)("Modal",A.zIndex);return Z(i.createElement(Q.BR,null,i.createElement(Y.Ux,{status:!0,override:!0},i.createElement($.Z.Provider,{value:W},i.createElement(X,Object.assign({width:C},A,{zIndex:H,getContainer:void 0===b?n:b,prefixCls:T,rootClassName:h()(R,d,_,I),footer:B,visible:null!=p?p:S,mousePosition:null!==(t=A.mousePosition)&&void 0!==t?t:r,onClose:u,closable:L,closeIcon:z,focusTriggerAfterClose:E,transitionName:(0,v.m)(N,"zoom",e.transitionName),maskTransitionName:(0,v.m)(N,"fade",e.maskTransitionName),className:h()(R,f,null==l?void 0:l.className),style:Object.assign(Object.assign({},null==l?void 0:l.style),O),classNames:Object.assign(Object.assign({wrapper:D},null==l?void 0:l.classNames),P),styles:Object.assign(Object.assign({},null==l?void 0:l.styles),M),panelRef:F}))))))};let ej=e=>{let{componentCls:t,titleFontSize:n,titleLineHeight:r,modalConfirmIconSize:o,fontSize:i,lineHeight:a,modalTitleHeight:c,fontHeight:l,confirmBodyPadding:u}=e,s="".concat(t,"-confirm");return{[s]:{"&-rtl":{direction:"rtl"},["".concat(e.antCls,"-modal-header")]:{display:"none"},["".concat(s,"-body-wrapper")]:Object.assign({},(0,el.dF)()),["&".concat(t," ").concat(t,"-body")]:{padding:u},["".concat(s,"-body")]:{display:"flex",flexWrap:"nowrap",alignItems:"start",["> ".concat(e.iconCls)]:{flex:"none",fontSize:o,marginInlineEnd:e.confirmIconMarginInlineEnd,marginTop:e.calc(e.calc(l).sub(o).equal()).div(2).equal()},["&-has-title > ".concat(e.iconCls)]:{marginTop:e.calc(e.calc(c).sub(o).equal()).div(2).equal()}},["".concat(s,"-paragraph")]:{display:"flex",flexDirection:"column",flex:"auto",rowGap:e.marginXS,maxWidth:"calc(100% - ".concat((0,eu.bf)(e.calc(e.modalConfirmIconSize).add(e.marginSM).equal()),")")},["".concat(s,"-title")]:{color:e.colorTextHeading,fontWeight:e.fontWeightStrong,fontSize:n,lineHeight:r},["".concat(s,"-content")]:{color:e.colorText,fontSize:i,lineHeight:a},["".concat(s,"-btns")]:{textAlign:"end",marginTop:e.confirmBtnsMarginTop,["".concat(e.antCls,"-btn + ").concat(e.antCls,"-btn")]:{marginBottom:0,marginInlineStart:e.marginXS}}},["".concat(s,"-error ").concat(s,"-body > ").concat(e.iconCls)]:{color:e.colorError},["".concat(s,"-warning ").concat(s,"-body > ").concat(e.iconCls,",\n ").concat(s,"-confirm ").concat(s,"-body > ").concat(e.iconCls)]:{color:e.colorWarning},["".concat(s,"-info ").concat(s,"-body > ").concat(e.iconCls)]:{color:e.colorInfo},["".concat(s,"-success ").concat(s,"-body > ").concat(e.iconCls)]:{color:e.colorSuccess}}};var eP=(0,ev.bk)(["Modal","confirm"],e=>[ej(ew(e))],eE,{order:-1e3}),eM=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};function eA(e){let{prefixCls:t,icon:n,okText:r,cancelText:a,confirmPrefixCls:c,type:l,okCancel:p,footer:m,locale:v}=e,y=eM(e,["prefixCls","icon","okText","cancelText","confirmPrefixCls","type","okCancel","footer","locale"]),b=n;if(!n&&null!==n)switch(l){case"info":b=i.createElement(d.Z,null);break;case"success":b=i.createElement(u.Z,null);break;case"error":b=i.createElement(s.Z,null);break;default:b=i.createElement(f.Z,null)}let x=null!=p?p:"confirm"===l,w=null!==e.autoFocusButton&&(e.autoFocusButton||"ok"),[E]=(0,g.Z)("Modal"),O=v||E,j=r||(x?null==O?void 0:O.okText:null==O?void 0:O.justOkText),P=Object.assign({autoFocusButton:w,cancelTextLocale:a||(null==O?void 0:O.cancelText),okTextLocale:j,mergedOkCancel:x},y),M=i.useMemo(()=>P,(0,o.Z)(Object.values(P))),A=i.createElement(i.Fragment,null,i.createElement(C,null),i.createElement(k,null)),T=void 0!==e.title&&null!==e.title,N="".concat(c,"-body");return i.createElement("div",{className:"".concat(c,"-body-wrapper")},i.createElement("div",{className:h()(N,{["".concat(N,"-has-title")]:T})},b,i.createElement("div",{className:"".concat(c,"-paragraph")},T&&i.createElement("span",{className:"".concat(c,"-title")},e.title),i.createElement("div",{className:"".concat(c,"-content")},e.content))),void 0===m||"function"==typeof m?i.createElement(S,{value:M},i.createElement("div",{className:"".concat(c,"-btns")},"function"==typeof m?m(A,{OkBtn:k,CancelBtn:C}):A)):m,i.createElement(eP,{prefixCls:t}))}let eT=e=>{let{close:t,zIndex:n,afterClose:r,open:o,keyboard:a,centered:c,getContainer:l,maskStyle:u,direction:s,prefixCls:f,wrapClassName:d,rootPrefixCls:p,bodyStyle:g,closable:b=!1,closeIcon:x,modalRender:w,focusTriggerAfterClose:E,onConfirm:O,styles:S}=e,C="".concat(f,"-confirm"),k=e.width||416,j=e.style||{},P=void 0===e.mask||e.mask,M=void 0!==e.maskClosable&&e.maskClosable,A=h()(C,"".concat(C,"-").concat(e.type),{["".concat(C,"-rtl")]:"rtl"===s},e.className),[,T]=(0,y.ZP)(),N=i.useMemo(()=>void 0!==n?n:T.zIndexPopupBase+m.u6,[n,T]);return i.createElement(ek,{prefixCls:f,className:A,wrapClassName:h()({["".concat(C,"-centered")]:!!e.centered},d),onCancel:()=>{null==t||t({triggerCancel:!0}),null==O||O(!1)},open:o,title:"",footer:null,transitionName:(0,v.m)(p||"","zoom",e.transitionName),maskTransitionName:(0,v.m)(p||"","fade",e.maskTransitionName),mask:P,maskClosable:M,style:j,styles:Object.assign({body:g,mask:u},S),width:k,zIndex:N,afterClose:r,keyboard:a,centered:c,getContainer:l,closable:b,closeIcon:x,modalRender:w,focusTriggerAfterClose:E},i.createElement(eA,Object.assign({},e,{confirmPrefixCls:C})))};var eN=e=>{let{rootPrefixCls:t,iconPrefixCls:n,direction:r,theme:o}=e;return i.createElement(l.ZP,{prefixCls:t,iconPrefixCls:n,direction:r,theme:o},i.createElement(eT,Object.assign({},e)))},eI=[];let eZ="",eR=e=>{var t,n;let{prefixCls:r,getContainer:o,direction:a}=e,l=(0,ei.A)(),u=(0,i.useContext)(c.E_),s=eZ||u.getPrefixCls(),f=r||"".concat(s,"-modal"),d=o;return!1===d&&(d=void 0),i.createElement(eN,Object.assign({},e,{rootPrefixCls:s,prefixCls:f,iconPrefixCls:u.iconPrefixCls,theme:u.theme,direction:null!=a?a:u.direction,locale:null!==(n=null===(t=u.locale)||void 0===t?void 0:t.Modal)&&void 0!==n?n:l,getContainer:d}))};function e_(e){let t;let n=(0,l.w6)(),r=document.createDocumentFragment(),c=Object.assign(Object.assign({},e),{close:f,open:!0});function u(){for(var t=arguments.length,n=Array(t),i=0;ie&&e.triggerCancel);e.onCancel&&c&&e.onCancel.apply(e,[()=>{}].concat((0,o.Z)(n.slice(1))));for(let e=0;e{let t=n.getPrefixCls(void 0,eZ),o=n.getIconPrefixCls(),c=n.getTheme(),u=i.createElement(eR,Object.assign({},e));(0,a.s)(i.createElement(l.ZP,{prefixCls:t,iconPrefixCls:o,theme:c},n.holderRender?n.holderRender(u):u),r)})}function f(){for(var t=arguments.length,n=Array(t),r=0;r{"function"==typeof e.afterClose&&e.afterClose(),u.apply(this,n)}})).visible&&delete c.visible,s(c)}return s(c),eI.push(f),{destroy:f,update:function(e){s(c="function"==typeof e?e(c):Object.assign(Object.assign({},c),e))}}}function eD(e){return Object.assign(Object.assign({},e),{type:"warning"})}function eB(e){return Object.assign(Object.assign({},e),{type:"info"})}function eL(e){return Object.assign(Object.assign({},e),{type:"success"})}function ez(e){return Object.assign(Object.assign({},e),{type:"error"})}function eF(e){return Object.assign(Object.assign({},e),{type:"confirm"})}var eH=n(21467),eW=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n},eq=(0,eH.i)(e=>{let{prefixCls:t,className:n,closeIcon:r,closable:o,type:a,title:l,children:u,footer:s}=e,f=eW(e,["prefixCls","className","closeIcon","closable","type","title","children","footer"]),{getPrefixCls:d}=i.useContext(c.E_),p=d(),m=t||d("modal"),v=(0,eS.Z)(p),[g,y,b]=eO(m,v),x="".concat(m,"-confirm"),w={};return w=a?{closable:null!=o&&o,title:"",footer:"",children:i.createElement(eA,Object.assign({},e,{prefixCls:m,confirmPrefixCls:x,rootPrefixCls:p,content:u}))}:{closable:null==o||o,title:l,footer:null!==s&&i.createElement(ec,Object.assign({},e)),children:u},g(i.createElement(W,Object.assign({prefixCls:m,className:h()(y,"".concat(m,"-pure-panel"),a&&x,a&&"".concat(x,"-").concat(a),n,b,v)},f,{closeIcon:ea(m,r),closable:o},w)))}),eV=n(79474),eU=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n},eX=i.forwardRef((e,t)=>{var n,{afterClose:r,config:a}=e,l=eU(e,["afterClose","config"]);let[u,s]=i.useState(!0),[f,d]=i.useState(a),{direction:p,getPrefixCls:h}=i.useContext(c.E_),m=h("modal"),v=h(),y=function(){s(!1);for(var e=arguments.length,t=Array(e),n=0;ne&&e.triggerCancel);f.onCancel&&r&&f.onCancel.apply(f,[()=>{}].concat((0,o.Z)(t.slice(1))))};i.useImperativeHandle(t,()=>({destroy:y,update:e=>{d(t=>Object.assign(Object.assign({},t),e))}}));let b=null!==(n=f.okCancel)&&void 0!==n?n:"confirm"===f.type,[x]=(0,g.Z)("Modal",eV.Z.Modal);return i.createElement(eN,Object.assign({prefixCls:m,rootPrefixCls:v},f,{close:y,open:u,afterClose:()=>{var e;r(),null===(e=f.afterClose)||void 0===e||e.call(f)},okText:f.okText||(b?null==x?void 0:x.okText:null==x?void 0:x.justOkText),direction:f.direction||p,cancelText:f.cancelText||(null==x?void 0:x.cancelText)},l))});let eG=0,eK=i.memo(i.forwardRef((e,t)=>{let[n,r]=function(){let[e,t]=i.useState([]);return[e,i.useCallback(e=>(t(t=>[].concat((0,o.Z)(t),[e])),()=>{t(t=>t.filter(t=>t!==e))}),[])]}();return i.useImperativeHandle(t,()=>({patchElement:r}),[]),i.createElement(i.Fragment,null,n)}));function e$(e){return e_(eD(e))}ek.useModal=function(){let e=i.useRef(null),[t,n]=i.useState([]);i.useEffect(()=>{t.length&&((0,o.Z)(t).forEach(e=>{e()}),n([]))},[t]);let r=i.useCallback(t=>function(r){var a;let c,l;eG+=1;let u=i.createRef(),s=new Promise(e=>{c=e}),f=!1,d=i.createElement(eX,{key:"modal-".concat(eG),config:t(r),ref:u,afterClose:()=>{null==l||l()},isSilent:()=>f,onConfirm:e=>{c(e)}});return(l=null===(a=e.current)||void 0===a?void 0:a.patchElement(d))&&eI.push(l),{destroy:()=>{function e(){var e;null===(e=u.current)||void 0===e||e.destroy()}u.current?e():n(t=>[].concat((0,o.Z)(t),[e]))},update:e=>{function t(){var t;null===(t=u.current)||void 0===t||t.update(e)}u.current?t():n(e=>[].concat((0,o.Z)(e),[t]))},then:e=>(f=!0,s.then(e))}},[]);return[i.useMemo(()=>({info:r(eB),success:r(eL),error:r(ez),warning:r(eD),confirm:r(eF)}),[]),i.createElement(eK,{key:"modal-holder",ref:e})]},ek.info=function(e){return e_(eB(e))},ek.success=function(e){return e_(eL(e))},ek.error=function(e){return e_(ez(e))},ek.warning=e$,ek.warn=e$,ek.confirm=function(e){return e_(eF(e))},ek.destroyAll=function(){for(;eI.length;){let e=eI.pop();e&&e()}},ek.config=function(e){let{rootPrefixCls:t}=e;eZ=t},ek._InternalPanelDoNotUseOrYouWillBeFired=eq;var eY=ek},4678:function(e,t,n){n.d(t,{A:function(){return l},f:function(){return c}});var r=n(79474);let o=Object.assign({},r.Z.Modal),i=[],a=()=>i.reduce((e,t)=>Object.assign(Object.assign({},e),t),r.Z.Modal);function c(e){if(e){let t=Object.assign({},e);return i.push(t),o=a(),()=>{i=i.filter(e=>e!==t),o=a()}}o=Object.assign({},r.Z.Modal)}function l(){return o}},13969:function(e,t,n){n.d(t,{default:function(){return tD}});var r=n(64090),o=n(16480),i=n.n(o),a=n(14749),c=n(63787),l=n(50833),u=n(5239),s=n(80406),f=n(6787),d=n(6976),p=n(44329),h=n(53850),m=n(24800),v=n(76158),g=n(4295),y=n(74084),b=function(e){var t=e.className,n=e.customizeIcon,o=e.customizeIconProps,a=e.children,c=e.onMouseDown,l=e.onClick,u="function"==typeof n?n(o):n;return r.createElement("span",{className:t,onMouseDown:function(e){e.preventDefault(),null==c||c(e)},style:{userSelect:"none",WebkitUserSelect:"none"},unselectable:"on",onClick:l,"aria-hidden":!0},void 0!==u?u:r.createElement("span",{className:i()(t.split(/\s+/).map(function(e){return"".concat(e,"-icon")}))},a))},x=function(e,t,n,o,i){var a=arguments.length>5&&void 0!==arguments[5]&&arguments[5],c=arguments.length>6?arguments[6]:void 0,l=arguments.length>7?arguments[7]:void 0,u=r.useMemo(function(){return"object"===(0,d.Z)(o)?o.clearIcon:i||void 0},[o,i]);return{allowClear:r.useMemo(function(){return!a&&!!o&&(!!n.length||!!c)&&!("combobox"===l&&""===c)},[o,a,n.length,c,l]),clearIcon:r.createElement(b,{className:"".concat(e,"-clear"),onMouseDown:t,customizeIcon:u},"\xd7")}},w=r.createContext(null);function E(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:250,t=r.useRef(null),n=r.useRef(null);return r.useEffect(function(){return function(){window.clearTimeout(n.current)}},[]),[function(){return t.current},function(r){(r||null===t.current)&&(t.current=r),window.clearTimeout(n.current),n.current=window.setTimeout(function(){t.current=null},e)}]}var O=n(72480),S=n(54739),C=r.forwardRef(function(e,t){var n,o=e.prefixCls,a=e.id,c=e.inputElement,l=e.disabled,s=e.tabIndex,f=e.autoFocus,d=e.autoComplete,p=e.editable,m=e.activeDescendantId,v=e.value,g=e.maxLength,b=e.onKeyDown,x=e.onMouseDown,w=e.onChange,E=e.onPaste,O=e.onCompositionStart,S=e.onCompositionEnd,C=e.open,k=e.attrs,j=c||r.createElement("input",null),P=j,M=P.ref,A=P.props,T=A.onKeyDown,N=A.onChange,I=A.onMouseDown,Z=A.onCompositionStart,R=A.onCompositionEnd,_=A.style;return(0,h.Kp)(!("maxLength"in j.props),"Passing 'maxLength' to input element directly may not work because input in BaseSelect is controlled."),j=r.cloneElement(j,(0,u.Z)((0,u.Z)((0,u.Z)({type:"search"},A),{},{id:a,ref:(0,y.sQ)(t,M),disabled:l,tabIndex:s,autoComplete:d||"off",autoFocus:f,className:i()("".concat(o,"-selection-search-input"),null===(n=j)||void 0===n||null===(n=n.props)||void 0===n?void 0:n.className),role:"combobox","aria-expanded":C||!1,"aria-haspopup":"listbox","aria-owns":"".concat(a,"_list"),"aria-autocomplete":"list","aria-controls":"".concat(a,"_list"),"aria-activedescendant":C?m:void 0},k),{},{value:p?v:"",maxLength:g,readOnly:!p,unselectable:p?null:"on",style:(0,u.Z)((0,u.Z)({},_),{},{opacity:p?null:0}),onKeyDown:function(e){b(e),T&&T(e)},onMouseDown:function(e){x(e),I&&I(e)},onChange:function(e){w(e),N&&N(e)},onCompositionStart:function(e){O(e),Z&&Z(e)},onCompositionEnd:function(e){S(e),R&&R(e)},onPaste:E}))});function k(e){return Array.isArray(e)?e:void 0!==e?[e]:[]}var j=window.document&&window.document.documentElement;function P(e){return["string","number"].includes((0,d.Z)(e))}function M(e){var t=void 0;return e&&(P(e.title)?t=e.title.toString():P(e.label)&&(t=e.label.toString())),t}function A(e){var t;return null!==(t=e.key)&&void 0!==t?t:e.value}var T=function(e){e.preventDefault(),e.stopPropagation()},N=function(e){var t,n,o=e.id,a=e.prefixCls,c=e.values,u=e.open,f=e.searchValue,d=e.autoClearSearchValue,p=e.inputRef,h=e.placeholder,m=e.disabled,v=e.mode,g=e.showSearch,y=e.autoFocus,x=e.autoComplete,w=e.activeDescendantId,E=e.tabIndex,k=e.removeIcon,P=e.maxTagCount,N=e.maxTagTextLength,I=e.maxTagPlaceholder,Z=void 0===I?function(e){return"+ ".concat(e.length," ...")}:I,R=e.tagRender,_=e.onToggleOpen,D=e.onRemove,B=e.onInputChange,L=e.onInputPaste,z=e.onInputKeyDown,F=e.onInputMouseDown,H=e.onInputCompositionStart,W=e.onInputCompositionEnd,q=r.useRef(null),V=(0,r.useState)(0),U=(0,s.Z)(V,2),X=U[0],G=U[1],K=(0,r.useState)(!1),$=(0,s.Z)(K,2),Y=$[0],Q=$[1],J="".concat(a,"-selection"),ee=u||"multiple"===v&&!1===d||"tags"===v?f:"",et="tags"===v||"multiple"===v&&!1===d||g&&(u||Y);t=function(){G(q.current.scrollWidth)},n=[ee],j?r.useLayoutEffect(t,n):r.useEffect(t,n);var en=function(e,t,n,o,a){return r.createElement("span",{title:M(e),className:i()("".concat(J,"-item"),(0,l.Z)({},"".concat(J,"-item-disabled"),n))},r.createElement("span",{className:"".concat(J,"-item-content")},t),o&&r.createElement(b,{className:"".concat(J,"-item-remove"),onMouseDown:T,onClick:a,customizeIcon:k},"\xd7"))},er=r.createElement("div",{className:"".concat(J,"-search"),style:{width:X},onFocus:function(){Q(!0)},onBlur:function(){Q(!1)}},r.createElement(C,{ref:p,open:u,prefixCls:a,id:o,inputElement:null,disabled:m,autoFocus:y,autoComplete:x,editable:et,activeDescendantId:w,value:ee,onKeyDown:z,onMouseDown:F,onChange:B,onPaste:L,onCompositionStart:H,onCompositionEnd:W,tabIndex:E,attrs:(0,O.Z)(e,!0)}),r.createElement("span",{ref:q,className:"".concat(J,"-search-mirror"),"aria-hidden":!0},ee,"\xa0")),eo=r.createElement(S.Z,{prefixCls:"".concat(J,"-overflow"),data:c,renderItem:function(e){var t,n=e.disabled,o=e.label,i=e.value,a=!m&&!n,c=o;if("number"==typeof N&&("string"==typeof o||"number"==typeof o)){var l=String(c);l.length>N&&(c="".concat(l.slice(0,N),"..."))}var s=function(t){t&&t.stopPropagation(),D(e)};return"function"==typeof R?(t=c,r.createElement("span",{onMouseDown:function(e){T(e),_(!u)}},R({label:t,value:i,disabled:n,closable:a,onClose:s}))):en(e,c,n,a,s)},renderRest:function(e){var t="function"==typeof Z?Z(e):Z;return en({title:t},t,!1)},suffix:er,itemKey:A,maxCount:P});return r.createElement(r.Fragment,null,eo,!c.length&&!ee&&r.createElement("span",{className:"".concat(J,"-placeholder")},h))},I=function(e){var t=e.inputElement,n=e.prefixCls,o=e.id,i=e.inputRef,a=e.disabled,c=e.autoFocus,l=e.autoComplete,u=e.activeDescendantId,f=e.mode,d=e.open,p=e.values,h=e.placeholder,m=e.tabIndex,v=e.showSearch,g=e.searchValue,y=e.activeValue,b=e.maxLength,x=e.onInputKeyDown,w=e.onInputMouseDown,E=e.onInputChange,S=e.onInputPaste,k=e.onInputCompositionStart,j=e.onInputCompositionEnd,P=e.title,A=r.useState(!1),T=(0,s.Z)(A,2),N=T[0],I=T[1],Z="combobox"===f,R=Z||v,_=p[0],D=g||"";Z&&y&&!N&&(D=y),r.useEffect(function(){Z&&I(!1)},[Z,y]);var B=("combobox"===f||!!d||!!v)&&!!D,L=void 0===P?M(_):P,z=r.useMemo(function(){return _?null:r.createElement("span",{className:"".concat(n,"-selection-placeholder"),style:B?{visibility:"hidden"}:void 0},h)},[_,B,h,n]);return r.createElement(r.Fragment,null,r.createElement("span",{className:"".concat(n,"-selection-search")},r.createElement(C,{ref:i,prefixCls:n,id:o,open:d,inputElement:t,disabled:a,autoFocus:c,autoComplete:l,editable:R,activeDescendantId:u,value:D,onKeyDown:x,onMouseDown:w,onChange:function(e){I(!0),E(e)},onPaste:S,onCompositionStart:k,onCompositionEnd:j,tabIndex:m,attrs:(0,O.Z)(e,!0),maxLength:Z?b:void 0})),!Z&&_?r.createElement("span",{className:"".concat(n,"-selection-item"),title:L,style:B?{visibility:"hidden"}:void 0},_.label):null,z)},Z=r.forwardRef(function(e,t){var n=(0,r.useRef)(null),o=(0,r.useRef)(!1),i=e.prefixCls,c=e.open,l=e.mode,u=e.showSearch,f=e.tokenWithEnter,d=e.autoClearSearchValue,p=e.onSearch,h=e.onSearchSubmit,m=e.onToggleOpen,v=e.onInputKeyDown,y=e.domRef;r.useImperativeHandle(t,function(){return{focus:function(){n.current.focus()},blur:function(){n.current.blur()}}});var b=E(0),x=(0,s.Z)(b,2),w=x[0],O=x[1],S=(0,r.useRef)(null),C=function(e){!1!==p(e,!0,o.current)&&m(!0)},k={inputRef:n,onInputKeyDown:function(e){var t=e.which;(t===g.Z.UP||t===g.Z.DOWN)&&e.preventDefault(),v&&v(e),t!==g.Z.ENTER||"tags"!==l||o.current||c||null==h||h(e.target.value),[g.Z.ESC,g.Z.SHIFT,g.Z.BACKSPACE,g.Z.TAB,g.Z.WIN_KEY,g.Z.ALT,g.Z.META,g.Z.WIN_KEY_RIGHT,g.Z.CTRL,g.Z.SEMICOLON,g.Z.EQUALS,g.Z.CAPS_LOCK,g.Z.CONTEXT_MENU,g.Z.F1,g.Z.F2,g.Z.F3,g.Z.F4,g.Z.F5,g.Z.F6,g.Z.F7,g.Z.F8,g.Z.F9,g.Z.F10,g.Z.F11,g.Z.F12].includes(t)||m(!0)},onInputMouseDown:function(){O(!0)},onInputChange:function(e){var t=e.target.value;if(f&&S.current&&/[\r\n]/.test(S.current)){var n=S.current.replace(/[\r\n]+$/,"").replace(/\r\n/g," ").replace(/[\r\n]/g," ");t=t.replace(n,S.current)}S.current=null,C(t)},onInputPaste:function(e){var t=e.clipboardData,n=null==t?void 0:t.getData("text");S.current=n||""},onInputCompositionStart:function(){o.current=!0},onInputCompositionEnd:function(e){o.current=!1,"combobox"!==l&&C(e.target.value)}},j="multiple"===l||"tags"===l?r.createElement(N,(0,a.Z)({},e,k)):r.createElement(I,(0,a.Z)({},e,k));return r.createElement("div",{ref:y,className:"".concat(i,"-selector"),onClick:function(e){e.target!==n.current&&(void 0!==document.body.style.msTouchAction?setTimeout(function(){n.current.focus()}):n.current.focus())},onMouseDown:function(e){var t=w();e.target===n.current||t||"combobox"===l||e.preventDefault(),("combobox"===l||u&&t)&&c||(c&&!1!==d&&p("",!0,!1),m())}},j)}),R=n(44101),_=["prefixCls","disabled","visible","children","popupElement","animation","transitionName","dropdownStyle","dropdownClassName","direction","placement","builtinPlacements","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","getPopupContainer","empty","getTriggerDOMNode","onPopupVisibleChange","onPopupMouseEnter"],D=function(e){var t=!0===e?0:1;return{bottomLeft:{points:["tl","bl"],offset:[0,4],overflow:{adjustX:t,adjustY:1},htmlRegion:"scroll"},bottomRight:{points:["tr","br"],offset:[0,4],overflow:{adjustX:t,adjustY:1},htmlRegion:"scroll"},topLeft:{points:["bl","tl"],offset:[0,-4],overflow:{adjustX:t,adjustY:1},htmlRegion:"scroll"},topRight:{points:["br","tr"],offset:[0,-4],overflow:{adjustX:t,adjustY:1},htmlRegion:"scroll"}}},B=r.forwardRef(function(e,t){var n=e.prefixCls,o=(e.disabled,e.visible),c=e.children,s=e.popupElement,d=e.animation,p=e.transitionName,h=e.dropdownStyle,m=e.dropdownClassName,v=e.direction,g=e.placement,y=e.builtinPlacements,b=e.dropdownMatchSelectWidth,x=e.dropdownRender,w=e.dropdownAlign,E=e.getPopupContainer,O=e.empty,S=e.getTriggerDOMNode,C=e.onPopupVisibleChange,k=e.onPopupMouseEnter,j=(0,f.Z)(e,_),P="".concat(n,"-dropdown"),M=s;x&&(M=x(s));var A=r.useMemo(function(){return y||D(b)},[y,b]),T=d?"".concat(P,"-").concat(d):p,N="number"==typeof b,I=r.useMemo(function(){return N?null:!1===b?"minWidth":"width"},[b,N]),Z=h;N&&(Z=(0,u.Z)((0,u.Z)({},Z),{},{width:b}));var B=r.useRef(null);return r.useImperativeHandle(t,function(){return{getPopupElement:function(){return B.current}}}),r.createElement(R.Z,(0,a.Z)({},j,{showAction:C?["click"]:[],hideAction:C?["click"]:[],popupPlacement:g||("rtl"===(void 0===v?"ltr":v)?"bottomRight":"bottomLeft"),builtinPlacements:A,prefixCls:P,popupTransitionName:T,popup:r.createElement("div",{ref:B,onMouseEnter:k},M),stretch:I,popupAlign:w,popupVisible:o,getPopupContainer:E,popupClassName:i()(m,(0,l.Z)({},"".concat(P,"-empty"),O)),popupStyle:Z,getTriggerDOMNode:S,onPopupVisibleChange:C}),c)}),L=n(56721);function z(e,t){var n,r=e.key;return("value"in e&&(n=e.value),null!=r)?r:void 0!==n?n:"rc-index-key-".concat(t)}function F(e,t){var n=e||{},r=n.label,o=n.value,i=n.options,a=n.groupLabel,c=r||(t?"children":"label");return{label:c,value:o||"value",options:i||"options",groupLabel:a||c}}function H(e){var t=(0,u.Z)({},e);return"props"in t||Object.defineProperty(t,"props",{get:function(){return(0,h.ZP)(!1,"Return type is option instead of Option instance. Please read value directly instead of reading from `props`."),t}}),t}var W=function(e,t,n){if(!t||!t.length)return null;var r=!1,o=function e(t,n){var o=(0,L.Z)(n),i=o[0],a=o.slice(1);if(!i)return[t];var l=t.split(i);return r=r||l.length>1,l.reduce(function(t,n){return[].concat((0,c.Z)(t),(0,c.Z)(e(n,a)))},[]).filter(Boolean)}(e,t);return r?void 0!==n?o.slice(0,n):o:null},q=r.createContext(null),V=["id","prefixCls","className","showSearch","tagRender","direction","omitDomProps","displayValues","onDisplayValuesChange","emptyOptions","notFoundContent","onClear","mode","disabled","loading","getInputElement","getRawInputElement","open","defaultOpen","onDropdownVisibleChange","activeValue","onActiveValueChange","activeDescendantId","searchValue","autoClearSearchValue","onSearch","onSearchSplit","tokenSeparators","allowClear","suffixIcon","clearIcon","OptionList","animation","transitionName","dropdownStyle","dropdownClassName","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","placement","builtinPlacements","getPopupContainer","showAction","onFocus","onBlur","onKeyUp","onKeyDown","onMouseDown"],U=["value","onChange","removeIcon","placeholder","autoFocus","maxTagCount","maxTagTextLength","maxTagPlaceholder","choiceTransitionName","onInputKeyDown","onPopupScroll","tabIndex"],X=function(e){return"tags"===e||"multiple"===e},G=r.forwardRef(function(e,t){var n,o,h,O,S,C,k,j,P=e.id,M=e.prefixCls,A=e.className,T=e.showSearch,N=e.tagRender,I=e.direction,R=e.omitDomProps,_=e.displayValues,D=e.onDisplayValuesChange,L=e.emptyOptions,z=e.notFoundContent,F=void 0===z?"Not Found":z,H=e.onClear,G=e.mode,K=e.disabled,$=e.loading,Y=e.getInputElement,Q=e.getRawInputElement,J=e.open,ee=e.defaultOpen,et=e.onDropdownVisibleChange,en=e.activeValue,er=e.onActiveValueChange,eo=e.activeDescendantId,ei=e.searchValue,ea=e.autoClearSearchValue,ec=e.onSearch,el=e.onSearchSplit,eu=e.tokenSeparators,es=e.allowClear,ef=e.suffixIcon,ed=e.clearIcon,ep=e.OptionList,eh=e.animation,em=e.transitionName,ev=e.dropdownStyle,eg=e.dropdownClassName,ey=e.dropdownMatchSelectWidth,eb=e.dropdownRender,ex=e.dropdownAlign,ew=e.placement,eE=e.builtinPlacements,eO=e.getPopupContainer,eS=e.showAction,eC=void 0===eS?[]:eS,ek=e.onFocus,ej=e.onBlur,eP=e.onKeyUp,eM=e.onKeyDown,eA=e.onMouseDown,eT=(0,f.Z)(e,V),eN=X(G),eI=(void 0!==T?T:eN)||"combobox"===G,eZ=(0,u.Z)({},eT);U.forEach(function(e){delete eZ[e]}),null==R||R.forEach(function(e){delete eZ[e]});var eR=r.useState(!1),e_=(0,s.Z)(eR,2),eD=e_[0],eB=e_[1];r.useEffect(function(){eB((0,v.Z)())},[]);var eL=r.useRef(null),ez=r.useRef(null),eF=r.useRef(null),eH=r.useRef(null),eW=r.useRef(null),eq=r.useRef(!1),eV=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,t=r.useState(!1),n=(0,s.Z)(t,2),o=n[0],i=n[1],a=r.useRef(null),c=function(){window.clearTimeout(a.current)};return r.useEffect(function(){return c},[]),[o,function(t,n){c(),a.current=window.setTimeout(function(){i(t),n&&n()},e)},c]}(),eU=(0,s.Z)(eV,3),eX=eU[0],eG=eU[1],eK=eU[2];r.useImperativeHandle(t,function(){var e,t;return{focus:null===(e=eH.current)||void 0===e?void 0:e.focus,blur:null===(t=eH.current)||void 0===t?void 0:t.blur,scrollTo:function(e){var t;return null===(t=eW.current)||void 0===t?void 0:t.scrollTo(e)}}});var e$=r.useMemo(function(){if("combobox"!==G)return ei;var e,t=null===(e=_[0])||void 0===e?void 0:e.value;return"string"==typeof t||"number"==typeof t?String(t):""},[ei,G,_]),eY="combobox"===G&&"function"==typeof Y&&Y()||null,eQ="function"==typeof Q&&Q(),eJ=(0,y.x1)(ez,null==eQ||null===(O=eQ.props)||void 0===O?void 0:O.ref),e0=r.useState(!1),e1=(0,s.Z)(e0,2),e2=e1[0],e4=e1[1];(0,m.Z)(function(){e4(!0)},[]);var e5=(0,p.Z)(!1,{defaultValue:ee,value:J}),e6=(0,s.Z)(e5,2),e3=e6[0],e8=e6[1],e9=!!e2&&e3,e7=!F&&L;(K||e7&&e9&&"combobox"===G)&&(e9=!1);var te=!e7&&e9,tt=r.useCallback(function(e){var t=void 0!==e?e:!e9;K||(e8(t),e9!==t&&(null==et||et(t)))},[K,e9,e8,et]),tn=r.useMemo(function(){return(eu||[]).some(function(e){return["\n","\r\n"].includes(e)})},[eu]),tr=r.useContext(q)||{},to=tr.maxCount,ti=tr.rawValues,ta=function(e,t,n){if(!((null==ti?void 0:ti.size)>=to)){var r=!0,o=e;null==er||er(null);var i=W(e,eu,to&&to-ti.size),a=n?null:i;return"combobox"!==G&&a&&(o="",null==el||el(a),tt(!1),r=!1),ec&&e$!==o&&ec(o,{source:t?"typing":"effect"}),r}};r.useEffect(function(){e9||eN||"combobox"===G||ta("",!1,!1)},[e9]),r.useEffect(function(){e3&&K&&e8(!1),K&&!eq.current&&eG(!1)},[K]);var tc=E(),tl=(0,s.Z)(tc,2),tu=tl[0],ts=tl[1],tf=r.useRef(!1),td=[];r.useEffect(function(){return function(){td.forEach(function(e){return clearTimeout(e)}),td.splice(0,td.length)}},[]);var tp=r.useState({}),th=(0,s.Z)(tp,2)[1];eQ&&(C=function(e){tt(e)}),n=function(){var e;return[eL.current,null===(e=eF.current)||void 0===e?void 0:e.getPopupElement()]},o=!!eQ,(h=r.useRef(null)).current={open:te,triggerOpen:tt,customizedTrigger:o},r.useEffect(function(){function e(e){if(null===(t=h.current)||void 0===t||!t.customizedTrigger){var t,r=e.target;r.shadowRoot&&e.composed&&(r=e.composedPath()[0]||r),h.current.open&&n().filter(function(e){return e}).every(function(e){return!e.contains(r)&&e!==r})&&h.current.triggerOpen(!1)}}return window.addEventListener("mousedown",e),function(){return window.removeEventListener("mousedown",e)}},[]);var tm=r.useMemo(function(){return(0,u.Z)((0,u.Z)({},e),{},{notFoundContent:F,open:e9,triggerOpen:te,id:P,showSearch:eI,multiple:eN,toggleOpen:tt})},[e,F,te,e9,P,eI,eN,tt]),tv=!!ef||$;tv&&(k=r.createElement(b,{className:i()("".concat(M,"-arrow"),(0,l.Z)({},"".concat(M,"-arrow-loading"),$)),customizeIcon:ef,customizeIconProps:{loading:$,searchValue:e$,open:e9,focused:eX,showSearch:eI}}));var tg=x(M,function(){var e;null==H||H(),null===(e=eH.current)||void 0===e||e.focus(),D([],{type:"clear",values:_}),ta("",!1,!1)},_,es,ed,K,e$,G),ty=tg.allowClear,tb=tg.clearIcon,tx=r.createElement(ep,{ref:eW}),tw=i()(M,A,(S={},(0,l.Z)(S,"".concat(M,"-focused"),eX),(0,l.Z)(S,"".concat(M,"-multiple"),eN),(0,l.Z)(S,"".concat(M,"-single"),!eN),(0,l.Z)(S,"".concat(M,"-allow-clear"),es),(0,l.Z)(S,"".concat(M,"-show-arrow"),tv),(0,l.Z)(S,"".concat(M,"-disabled"),K),(0,l.Z)(S,"".concat(M,"-loading"),$),(0,l.Z)(S,"".concat(M,"-open"),e9),(0,l.Z)(S,"".concat(M,"-customize-input"),eY),(0,l.Z)(S,"".concat(M,"-show-search"),eI),S)),tE=r.createElement(B,{ref:eF,disabled:K,prefixCls:M,visible:te,popupElement:tx,animation:eh,transitionName:em,dropdownStyle:ev,dropdownClassName:eg,direction:I,dropdownMatchSelectWidth:ey,dropdownRender:eb,dropdownAlign:ex,placement:ew,builtinPlacements:eE,getPopupContainer:eO,empty:L,getTriggerDOMNode:function(){return ez.current},onPopupVisibleChange:C,onPopupMouseEnter:function(){th({})}},eQ?r.cloneElement(eQ,{ref:eJ}):r.createElement(Z,(0,a.Z)({},e,{domRef:ez,prefixCls:M,inputElement:eY,ref:eH,id:P,showSearch:eI,autoClearSearchValue:ea,mode:G,activeDescendantId:eo,tagRender:N,values:_,open:e9,onToggleOpen:tt,activeValue:en,searchValue:e$,onSearch:ta,onSearchSubmit:function(e){e&&e.trim()&&ec(e,{source:"submit"})},onRemove:function(e){D(_.filter(function(t){return t!==e}),{type:"remove",values:[e]})},tokenWithEnter:tn})));return j=eQ?tE:r.createElement("div",(0,a.Z)({className:tw},eZ,{ref:eL,onMouseDown:function(e){var t,n=e.target,r=null===(t=eF.current)||void 0===t?void 0:t.getPopupElement();if(r&&r.contains(n)){var o=setTimeout(function(){var e,t=td.indexOf(o);-1!==t&&td.splice(t,1),eK(),eD||r.contains(document.activeElement)||null===(e=eH.current)||void 0===e||e.focus()});td.push(o)}for(var i=arguments.length,a=Array(i>1?i-1:0),c=1;c=0;a-=1){var l=o[a];if(!l.disabled){o.splice(a,1),i=l;break}}i&&D(o,{type:"remove",values:[i]})}for(var u=arguments.length,s=Array(u>1?u-1:0),f=1;f1?n-1:0),o=1;o0?null:"hidden"},$={position:"absolute",background:"rgba(0, 0, 0, 0.5)",borderRadius:99,cursor:"pointer",userSelect:"none"};return m?(K.height=8,K.left=0,K.right=0,K.bottom=0,$.height="100%",$.width=v,N?$.left=W:$.right=W):(K.width=8,K.top=0,K.bottom=0,N?K.right=0:K.left=0,$.width="100%",$.height=v,$.top=W),r.createElement("div",{ref:I,className:i()(G,(n={},(0,l.Z)(n,"".concat(G,"-horizontal"),m),(0,l.Z)(n,"".concat(G,"-vertical"),!m),(0,l.Z)(n,"".concat(G,"-visible"),D),n)),style:(0,u.Z)((0,u.Z)({},K),y),onMouseDown:function(e){e.stopPropagation(),e.preventDefault()},onMouseMove:z},r.createElement("div",{ref:Z,className:i()("".concat(G,"-thumb"),(0,l.Z)({},"".concat(G,"-thumb-moving"),E)),style:(0,u.Z)((0,u.Z)({},$),b),onMouseDown:V}))});function ei(e){var t=e.children,n=e.setRef,o=r.useCallback(function(e){n(e)},[]);return r.cloneElement(t,{ref:o})}var ea=n(97472),ec=n(47365),el=n(65127),eu=function(){function e(){(0,ec.Z)(this,e),this.maps=void 0,this.id=0,this.maps=Object.create(null)}return(0,el.Z)(e,[{key:"set",value:function(e,t){this.maps[e]=t,this.id+=1}},{key:"get",value:function(e){return this.maps[e]}}]),e}(),es=n(48563),ef=("undefined"==typeof navigator?"undefined":(0,d.Z)(navigator))==="object"&&/Firefox/i.test(navigator.userAgent);function ed(e,t){var n=(0,r.useRef)(!1),o=(0,r.useRef)(null),i=(0,r.useRef)({top:e,bottom:t});return i.current.top=e,i.current.bottom=t,function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e<0&&i.current.top||e>0&&i.current.bottom;return t&&r?(clearTimeout(o.current),n.current=!1):(!r||n.current)&&(clearTimeout(o.current),n.current=!0,o.current=setTimeout(function(){n.current=!1},50)),!n.current&&r}}var ep=14/15;function eh(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=e/t*100;return isNaN(n)&&(n=0),Math.floor(n=Math.min(n=Math.max(n,20),e/2))}var em=["prefixCls","className","height","itemHeight","fullHeight","style","data","children","itemKey","virtual","direction","scrollWidth","component","onScroll","onVirtualScroll","onVisibleChange","innerProps","extraRender","styles"],ev=[],eg={overflowY:"auto",overflowAnchor:"none"},ey=r.forwardRef(function(e,t){var n,o,c,p,h,v,g,y,b,x,w,E,O,S,C,k,j,P,M,A,T,N,I,Z,R,_,D,B,L,z,F,H,W,q,V,U=e.prefixCls,X=void 0===U?"rc-virtual-list":U,G=e.className,K=e.height,$=e.itemHeight,Y=e.fullHeight,Q=e.style,er=e.data,ec=e.children,el=e.itemKey,ey=e.virtual,eb=e.direction,ex=e.scrollWidth,ew=e.component,eE=e.onScroll,eO=e.onVirtualScroll,eS=e.onVisibleChange,eC=e.innerProps,ek=e.extraRender,ej=e.styles,eP=(0,f.Z)(e,em),eM=!!(!1!==ey&&K&&$),eA=eM&&er&&($*er.length>K||!!ex),eT="rtl"===eb,eN=i()(X,(0,l.Z)({},"".concat(X,"-rtl"),eT),G),eI=er||ev,eZ=(0,r.useRef)(),eR=(0,r.useRef)(),e_=(0,r.useState)(0),eD=(0,s.Z)(e_,2),eB=eD[0],eL=eD[1],ez=(0,r.useState)(0),eF=(0,s.Z)(ez,2),eH=eF[0],eW=eF[1],eq=(0,r.useState)(!1),eV=(0,s.Z)(eq,2),eU=eV[0],eX=eV[1],eG=function(){eX(!0)},eK=function(){eX(!1)},e$=r.useCallback(function(e){return"function"==typeof el?el(e):null==e?void 0:e[el]},[el]);function eY(e){eL(function(t){var n,r=(n="function"==typeof e?e(t):e,Number.isNaN(td.current)||(n=Math.min(n,td.current)),n=Math.max(n,0));return eZ.current.scrollTop=r,r})}var eQ=(0,r.useRef)({start:0,end:eI.length}),eJ=(0,r.useRef)(),e0=(o=r.useState(eI),p=(c=(0,s.Z)(o,2))[0],h=c[1],v=r.useState(null),y=(g=(0,s.Z)(v,2))[0],b=g[1],r.useEffect(function(){var e=function(e,t,n){var r,o,i=e.length,a=t.length;if(0===i&&0===a)return null;i0&&void 0!==arguments[0]&&arguments[0];d();var t=function(){l.current.forEach(function(e,t){if(e&&e.offsetParent){var n=(0,ea.Z)(e),r=n.offsetHeight;u.current.get(t)!==r&&u.current.set(t,n.offsetHeight)}}),c(function(e){return e+1})};e?t():f.current=(0,en.Z)(t)}return(0,r.useEffect)(function(){return d},[]),[function(r,o){var i=e(r),a=l.current.get(i);o?(l.current.set(i,o),p()):l.current.delete(i),!a!=!o&&(o?null==t||t(r):null==n||n(r))},p,u.current,a]}(e$,null,null),e4=(0,s.Z)(e2,4),e5=e4[0],e6=e4[1],e3=e4[2],e8=e4[3],e9=r.useMemo(function(){if(!eM)return{scrollHeight:void 0,start:0,end:eI.length-1,offset:void 0};if(!eA)return{scrollHeight:(null===(e=eR.current)||void 0===e?void 0:e.offsetHeight)||0,start:0,end:eI.length-1,offset:void 0};for(var e,t,n,r,o=0,i=eI.length,a=0;a=eB&&void 0===t&&(t=a,n=o),u>eB+K&&void 0===r&&(r=a),o=u}return void 0===t&&(t=0,n=0,r=Math.ceil(K/$)),void 0===r&&(r=eI.length-1),{scrollHeight:o,start:t,end:r=Math.min(r+1,eI.length-1),offset:n}},[eA,eM,eB,eI,e8,K]),e7=e9.scrollHeight,te=e9.start,tt=e9.end,tn=e9.offset;eQ.current.start=te,eQ.current.end=tt;var tr=r.useState({width:0,height:K}),to=(0,s.Z)(tr,2),ti=to[0],ta=to[1],tc=(0,r.useRef)(),tl=(0,r.useRef)(),tu=r.useMemo(function(){return eh(ti.width,ex)},[ti.width,ex]),ts=r.useMemo(function(){return eh(ti.height,e7)},[ti.height,e7]),tf=e7-K,td=(0,r.useRef)(tf);td.current=tf;var tp=eB<=0,th=eB>=tf,tm=ed(tp,th),tv=function(){return{x:eT?-eH:eH,y:eB}},tg=(0,r.useRef)(tv()),ty=(0,es.zX)(function(){if(eO){var e=tv();(tg.current.x!==e.x||tg.current.y!==e.y)&&(eO(e),tg.current=e)}});function tb(e,t){t?((0,J.flushSync)(function(){eW(e)}),ty()):eY(e)}var tx=function(e){var t=e,n=ex-ti.width;return Math.min(t=Math.max(t,0),n)},tw=(0,es.zX)(function(e,t){t?((0,J.flushSync)(function(){eW(function(t){return tx(t+(eT?-e:e))})}),ty()):eY(function(t){return t+e})}),tE=(x=!!ex,w=(0,r.useRef)(0),E=(0,r.useRef)(null),O=(0,r.useRef)(null),S=(0,r.useRef)(!1),C=ed(tp,th),k=(0,r.useRef)(null),j=(0,r.useRef)(null),[function(e){if(eM){en.Z.cancel(j.current),j.current=(0,en.Z)(function(){k.current=null},2);var t,n=e.deltaX,r=e.deltaY,o=e.shiftKey,i=n,a=r;("sx"===k.current||!k.current&&o&&r&&!n)&&(i=r,a=0,k.current="sx");var c=Math.abs(i),l=Math.abs(a);(null===k.current&&(k.current=x&&c>l?"x":"y"),"y"===k.current)?(t=a,en.Z.cancel(E.current),w.current+=t,O.current=t,C(t)||(ef||e.preventDefault(),E.current=(0,en.Z)(function(){var e=S.current?10:1;tw(w.current*e),w.current=0}))):(tw(i,!0),ef||e.preventDefault())}},function(e){eM&&(S.current=e.detail===O.current)}]),tO=(0,s.Z)(tE,2),tS=tO[0],tC=tO[1];P=function(e,t){return!tm(e,t)&&(tS({preventDefault:function(){},deltaY:e}),!0)},A=(0,r.useRef)(!1),T=(0,r.useRef)(0),N=(0,r.useRef)(null),I=(0,r.useRef)(null),Z=function(e){if(A.current){var t=Math.ceil(e.touches[0].pageY),n=T.current-t;T.current=t,P(n)&&e.preventDefault(),clearInterval(I.current),I.current=setInterval(function(){(!P(n*=ep,!0)||.1>=Math.abs(n))&&clearInterval(I.current)},16)}},R=function(){A.current=!1,M()},_=function(e){M(),1!==e.touches.length||A.current||(A.current=!0,T.current=Math.ceil(e.touches[0].pageY),N.current=e.target,N.current.addEventListener("touchmove",Z),N.current.addEventListener("touchend",R))},M=function(){N.current&&(N.current.removeEventListener("touchmove",Z),N.current.removeEventListener("touchend",R))},(0,m.Z)(function(){return eM&&eZ.current.addEventListener("touchstart",_),function(){var e;null===(e=eZ.current)||void 0===e||e.removeEventListener("touchstart",_),M(),clearInterval(I.current)}},[eM]),(0,m.Z)(function(){function e(e){eM&&e.preventDefault()}var t=eZ.current;return t.addEventListener("wheel",tS),t.addEventListener("DOMMouseScroll",tC),t.addEventListener("MozMousePixelScroll",e),function(){t.removeEventListener("wheel",tS),t.removeEventListener("DOMMouseScroll",tC),t.removeEventListener("MozMousePixelScroll",e)}},[eM]),(0,m.Z)(function(){ex&&eW(function(e){return tx(e)})},[ti.width,ex]);var tk=function(){var e,t;null===(e=tc.current)||void 0===e||e.delayHidden(),null===(t=tl.current)||void 0===t||t.delayHidden()},tj=(D=r.useRef(),B=r.useState(null),z=(L=(0,s.Z)(B,2))[0],F=L[1],(0,m.Z)(function(){if(z&&z.times<10){if(!eZ.current){F(function(e){return(0,u.Z)({},e)});return}e6(!0);var e=z.targetAlign,t=z.originAlign,n=z.index,r=z.offset,o=eZ.current.clientHeight,i=!1,a=e,c=null;if(o){for(var l=e||t,s=0,f=0,d=0,p=Math.min(eI.length-1,n),h=0;h<=p;h+=1){var m=e$(eI[h]);f=s;var v=e3.get(m);s=d=f+(void 0===v?$:v)}for(var g="top"===l?r:o-r,y=p;y>=0;y-=1){var b=e$(eI[y]),x=e3.get(b);if(void 0===x){i=!0;break}if((g-=x)<=0)break}switch(l){case"top":c=f-r;break;case"bottom":c=d-o+r;break;default:var w=eZ.current.scrollTop;fw+o&&(a="bottom")}null!==c&&eY(c),c!==z.lastTop&&(i=!0)}i&&F((0,u.Z)((0,u.Z)({},z),{},{times:z.times+1,targetAlign:a,lastTop:c}))}},[z,eZ.current]),function(e){if(null==e){tk();return}if(en.Z.cancel(D.current),"number"==typeof e)eY(e);else if(e&&"object"===(0,d.Z)(e)){var t,n=e.align;t="index"in e?e.index:eI.findIndex(function(t){return e$(t)===e.key});var r=e.offset;F({times:0,index:t,offset:void 0===r?0:r,originAlign:n})}});r.useImperativeHandle(t,function(){return{getScrollInfo:tv,scrollTo:function(e){e&&"object"===(0,d.Z)(e)&&("left"in e||"top"in e)?(void 0!==e.left&&eW(tx(e.left)),tj(e.top)):tj(e)}}}),(0,m.Z)(function(){eS&&eS(eI.slice(te,tt+1),eI)},[te,tt,eI]);var tP=(H=r.useMemo(function(){return[new Map,[]]},[eI,e3.id,$]),q=(W=(0,s.Z)(H,2))[0],V=W[1],function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,n=q.get(e),r=q.get(t);if(void 0===n||void 0===r)for(var o=eI.length,i=V.length;iK&&r.createElement(eo,{ref:tc,prefixCls:X,scrollOffset:eB,scrollRange:e7,rtl:eT,onScroll:tb,onStartMove:eG,onStopMove:eK,spinSize:ts,containerSize:ti.height,style:null==ej?void 0:ej.verticalScrollBar,thumbStyle:null==ej?void 0:ej.verticalScrollBarThumb}),eA&&ex&&r.createElement(eo,{ref:tl,prefixCls:X,scrollOffset:eH,scrollRange:ex,rtl:eT,onScroll:tb,onStartMove:eG,onStopMove:eK,spinSize:tu,containerSize:ti.width,horizontal:!0,style:null==ej?void 0:ej.horizontalScrollBar,thumbStyle:null==ej?void 0:ej.horizontalScrollBarThumb}))});ey.displayName="List";var eb=["disabled","title","children","style","className"];function ex(e){return"string"==typeof e||"number"==typeof e}var ew=r.forwardRef(function(e,t){var n=r.useContext(w),o=n.prefixCls,u=n.id,d=n.open,p=n.multiple,h=n.mode,m=n.searchValue,v=n.toggleOpen,y=n.notFoundContent,x=n.onPopupScroll,E=r.useContext(q),S=E.maxCount,C=E.flattenOptions,k=E.onActiveValue,j=E.defaultActiveFirstOption,P=E.onSelect,M=E.menuItemSelectedIcon,A=E.rawValues,T=E.fieldNames,N=E.virtual,I=E.direction,Z=E.listHeight,R=E.listItemHeight,_=E.optionRender,D="".concat(o,"-item"),B=(0,Y.Z)(function(){return C},[d,C],function(e,t){return t[0]&&e[1]!==t[1]}),L=r.useRef(null),z=r.useMemo(function(){return p&&void 0!==S&&(null==A?void 0:A.size)>=S},[p,S,null==A?void 0:A.size]),F=function(e){e.preventDefault()},H=function(e){var t;null===(t=L.current)||void 0===t||t.scrollTo("number"==typeof e?{index:e}:e)},W=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=B.length,r=0;r1&&void 0!==arguments[1]&&arguments[1];G(e);var n={source:t?"keyboard":"mouse"},r=B[e];if(!r){k(null,-1,n);return}k(r.value,e,n)};(0,r.useEffect)(function(){K(!1!==j?W(0):-1)},[B.length,m]);var $=r.useCallback(function(e){return A.has(e)&&"combobox"!==h},[h,(0,c.Z)(A).toString(),A.size]);(0,r.useEffect)(function(){var e,t=setTimeout(function(){if(!p&&d&&1===A.size){var e=Array.from(A)[0],t=B.findIndex(function(t){return t.data.value===e});-1!==t&&(K(t),H(t))}});return d&&(null===(e=L.current)||void 0===e||e.scrollTo(void 0)),function(){return clearTimeout(t)}},[d,m]);var J=function(e){void 0!==e&&P(e,{selected:!A.has(e)}),p||v(!1)};if(r.useImperativeHandle(t,function(){return{onKeyDown:function(e){var t=e.which,n=e.ctrlKey;switch(t){case g.Z.N:case g.Z.P:case g.Z.UP:case g.Z.DOWN:var r=0;if(t===g.Z.UP?r=-1:t===g.Z.DOWN?r=1:/(mac\sos|macintosh)/i.test(navigator.appVersion)&&n&&(t===g.Z.N?r=1:t===g.Z.P&&(r=-1)),0!==r){var o=W(X+r,r);H(o),K(o,!0)}break;case g.Z.ENTER:var i,a=B[X];!a||null!=a&&null!==(i=a.data)&&void 0!==i&&i.disabled||z?J(void 0):J(a.value),d&&e.preventDefault();break;case g.Z.ESC:v(!1),d&&e.stopPropagation()}},onKeyUp:function(){},scrollTo:function(e){H(e)}}}),0===B.length)return r.createElement("div",{role:"listbox",id:"".concat(u,"_list"),className:"".concat(D,"-empty"),onMouseDown:F},y);var ee=Object.keys(T).map(function(e){return T[e]}),et=function(e){return e.label};function en(e,t){return{role:e.group?"presentation":"option",id:"".concat(u,"_list_").concat(t)}}var er=function(e){var t=B[e];if(!t)return null;var n=t.data||{},o=n.value,i=t.group,c=(0,O.Z)(n,!0),l=et(t);return t?r.createElement("div",(0,a.Z)({"aria-label":"string"!=typeof l||i?null:l},c,{key:e},en(t,e),{"aria-selected":$(o)}),o):null},eo={role:"listbox",id:"".concat(u,"_list")};return r.createElement(r.Fragment,null,N&&r.createElement("div",(0,a.Z)({},eo,{style:{height:0,width:0,overflow:"hidden"}}),er(X-1),er(X),er(X+1)),r.createElement(ey,{itemKey:"key",ref:L,data:B,height:Z,itemHeight:R,fullHeight:!1,onMouseDown:F,onScroll:x,virtual:N,direction:I,innerProps:N?null:eo},function(e,t){var n=e.group,o=e.groupOption,c=e.data,u=e.label,s=e.value,d=c.key;if(n){var p,h,m=null!==(h=c.title)&&void 0!==h?h:ex(u)?u.toString():void 0;return r.createElement("div",{className:i()(D,"".concat(D,"-group")),title:m},void 0!==u?u:d)}var v=c.disabled,g=c.title,y=(c.children,c.style),x=c.className,w=(0,f.Z)(c,eb),E=(0,Q.Z)(w,ee),S=$(s),C=v||!S&&z,k="".concat(D,"-option"),j=i()(D,k,x,(p={},(0,l.Z)(p,"".concat(k,"-grouped"),o),(0,l.Z)(p,"".concat(k,"-active"),X===t&&!C),(0,l.Z)(p,"".concat(k,"-disabled"),C),(0,l.Z)(p,"".concat(k,"-selected"),S),p)),P=et(e),A=!M||"function"==typeof M||S,T="number"==typeof P?P:P||s,I=ex(T)?T.toString():void 0;return void 0!==g&&(I=g),r.createElement("div",(0,a.Z)({},(0,O.Z)(E),N?{}:en(e,t),{"aria-selected":S,className:j,title:I,onMouseMove:function(){X===t||C||K(t)},onClick:function(){C||J(s)},style:y}),r.createElement("div",{className:"".concat(k,"-content")},"function"==typeof _?_(e,{index:t}):T),r.isValidElement(M)||S,A&&r.createElement(b,{className:"".concat(D,"-option-state"),customizeIcon:M,customizeIconProps:{value:s,disabled:C,isSelected:S}},S?"✓":null))}))});function eE(e,t){return k(e).join("").toUpperCase().includes(t)}var eO=n(22127),eS=0,eC=(0,eO.Z)(),ek=n(33054),ej=["children","value"],eP=["children"];function eM(e){var t=r.useRef();return t.current=e,r.useCallback(function(){return t.current.apply(t,arguments)},[])}var eA=["id","mode","prefixCls","backfill","fieldNames","inputValue","searchValue","onSearch","autoClearSearchValue","onSelect","onDeselect","dropdownMatchSelectWidth","filterOption","filterSort","optionFilterProp","optionLabelProp","options","optionRender","children","defaultActiveFirstOption","menuItemSelectedIcon","virtual","direction","listHeight","listItemHeight","value","defaultValue","labelInValue","onChange","maxCount"],eT=["inputValue"],eN=r.forwardRef(function(e,t){var n,o,i,h,m,v,g,y=e.id,b=e.mode,x=e.prefixCls,w=e.backfill,E=e.fieldNames,O=e.inputValue,S=e.searchValue,C=e.onSearch,j=e.autoClearSearchValue,P=void 0===j||j,M=e.onSelect,A=e.onDeselect,T=e.dropdownMatchSelectWidth,N=void 0===T||T,I=e.filterOption,Z=e.filterSort,R=e.optionFilterProp,_=e.optionLabelProp,D=e.options,B=e.optionRender,L=e.children,W=e.defaultActiveFirstOption,V=e.menuItemSelectedIcon,U=e.virtual,K=e.direction,$=e.listHeight,Y=void 0===$?200:$,Q=e.listItemHeight,J=void 0===Q?20:Q,ee=e.value,et=e.defaultValue,en=e.labelInValue,er=e.onChange,eo=e.maxCount,ei=(0,f.Z)(e,eA),ea=(n=r.useState(),i=(o=(0,s.Z)(n,2))[0],h=o[1],r.useEffect(function(){var e;h("rc_select_".concat((eC?(e=eS,eS+=1):e="TEST_OR_SSR",e)))},[]),y||i),ec=X(b),el=!!(!D&&L),eu=r.useMemo(function(){return(void 0!==I||"combobox"!==b)&&I},[I,b]),es=r.useMemo(function(){return F(E,el)},[JSON.stringify(E),el]),ef=(0,p.Z)("",{value:void 0!==S?S:O,postState:function(e){return e||""}}),ed=(0,s.Z)(ef,2),ep=ed[0],eh=ed[1],em=r.useMemo(function(){var e=D;D||(e=function e(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return(0,ek.Z)(t).map(function(t,o){if(!r.isValidElement(t)||!t.type)return null;var i,a,c,l,s,d=t.type.isSelectOptGroup,p=t.key,h=t.props,m=h.children,v=(0,f.Z)(h,eP);return n||!d?(i=t.key,c=(a=t.props).children,l=a.value,s=(0,f.Z)(a,ej),(0,u.Z)({key:i,value:void 0!==l?l:i,children:c},s)):(0,u.Z)((0,u.Z)({key:"__RC_SELECT_GRP__".concat(null===p?o:p,"__"),label:p},v),{},{options:e(m)})}).filter(function(e){return e})}(L));var t=new Map,n=new Map,o=function(e,t,n){n&&"string"==typeof n&&e.set(t[n],t)};return function e(r){for(var i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=0;a1&&void 0!==arguments[1]?arguments[1]:{},n=t.fieldNames,r=t.childrenAsData,o=[],i=F(n,!1),a=i.label,c=i.value,l=i.options,u=i.groupLabel;return!function e(t,n){Array.isArray(t)&&t.forEach(function(t){if(!n&&l in t){var i=t[u];void 0===i&&r&&(i=t.label),o.push({key:z(t,o.length),group:!0,data:t,label:i}),e(t[l],!0)}else{var s=t[c];o.push({key:z(t,o.length),groupOption:n,data:t,label:t[a],value:s})}})}(e,!1),o}(eW,{fieldNames:es,childrenAsData:el})},[eW,es,el]),eV=function(e){var t=eb(e);if(eI(t),er&&(t.length!==e_.length||t.some(function(e,t){var n;return(null===(n=e_[t])||void 0===n?void 0:n.value)!==(null==e?void 0:e.value)}))){var n=en?t:t.map(function(e){return e.value}),r=t.map(function(e){return H(eD(e.value))});er(ec?n:n[0],ec?r:r[0])}},eU=r.useState(null),eX=(0,s.Z)(eU,2),eG=eX[0],eK=eX[1],e$=r.useState(0),eY=(0,s.Z)(e$,2),eQ=eY[0],eJ=eY[1],e0=void 0!==W?W:"combobox"!==b,e1=r.useCallback(function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.source;eJ(t),w&&"combobox"===b&&null!==e&&"keyboard"===(void 0===r?"keyboard":r)&&eK(String(e))},[w,b]),e2=function(e,t,n){var r=function(){var t,n=eD(e);return[en?{label:null==n?void 0:n[es.label],value:e,key:null!==(t=null==n?void 0:n.key)&&void 0!==t?t:e}:e,H(n)]};if(t&&M){var o=r(),i=(0,s.Z)(o,2);M(i[0],i[1])}else if(!t&&A&&"clear"!==n){var a=r(),c=(0,s.Z)(a,2);A(c[0],c[1])}},e4=eM(function(e,t){var n=!ec||t.selected;eV(n?ec?[].concat((0,c.Z)(e_),[e]):[e]:e_.filter(function(t){return t.value!==e})),e2(e,n),"combobox"===b?eK(""):(!X||P)&&(eh(""),eK(""))}),e5=r.useMemo(function(){var e=!1!==U&&!1!==N;return(0,u.Z)((0,u.Z)({},em),{},{flattenOptions:eq,onActiveValue:e1,defaultActiveFirstOption:e0,onSelect:e4,menuItemSelectedIcon:V,rawValues:eL,fieldNames:es,virtual:e,direction:K,listHeight:Y,listItemHeight:J,childrenAsData:el,maxCount:eo,optionRender:B})},[eo,em,eq,e1,e0,e4,V,eL,es,U,N,K,Y,J,el,B]);return r.createElement(q.Provider,{value:e5},r.createElement(G,(0,a.Z)({},ei,{id:ea,prefixCls:void 0===x?"rc-select":x,ref:t,omitDomProps:eT,mode:b,displayValues:eB,onDisplayValuesChange:function(e,t){eV(e);var n=t.type,r=t.values;("remove"===n||"clear"===n)&&r.forEach(function(e){e2(e.value,!1,n)})},direction:K,searchValue:ep,onSearch:function(e,t){if(eh(e),eK(null),"submit"===t.source){var n=(e||"").trim();n&&(eV(Array.from(new Set([].concat((0,c.Z)(eL),[n])))),e2(n,!0),eh(""));return}"blur"!==t.source&&("combobox"===b&&eV(e),null==C||C(e))},autoClearSearchValue:P,onSearchSplit:function(e){var t=e;"tags"!==b&&(t=e.map(function(e){var t=eg.get(e);return null==t?void 0:t.value}).filter(function(e){return void 0!==e}));var n=Array.from(new Set([].concat((0,c.Z)(eL),(0,c.Z)(t))));eV(n),n.forEach(function(e){e2(e,!0)})},dropdownMatchSelectWidth:N,OptionList:ew,emptyOptions:!eq.length,activeValue:eG,activeDescendantId:"".concat(ea,"_list_").concat(eQ)})))});eN.Option=$,eN.OptGroup=K;var eI=n(51761),eZ=n(47387),eR=n(21467),e_=n(47794),eD=n(57499),eB=n(70595),eL=n(6336),ez=n(24750),eF=n(76585),eH=n(80316);let eW=e=>{let{componentCls:t,margin:n,marginXS:r,marginXL:o,fontSize:i,lineHeight:a}=e;return{[t]:{marginInline:r,fontSize:i,lineHeight:a,textAlign:"center",["".concat(t,"-image")]:{height:e.emptyImgHeight,marginBottom:r,opacity:e.opacityImage,img:{height:"100%"},svg:{maxWidth:"100%",height:"100%",margin:"auto"}},["".concat(t,"-description")]:{color:e.colorText},["".concat(t,"-footer")]:{marginTop:n},"&-normal":{marginBlock:o,color:e.colorTextDisabled,["".concat(t,"-description")]:{color:e.colorTextDisabled},["".concat(t,"-image")]:{height:e.emptyImgHeightMD}},"&-small":{marginBlock:r,color:e.colorTextDisabled,["".concat(t,"-image")]:{height:e.emptyImgHeightSM}}}}};var eq=(0,eF.I$)("Empty",e=>{let{componentCls:t,controlHeightLG:n,calc:r}=e;return[eW((0,eH.TS)(e,{emptyImgCls:"".concat(t,"-img"),emptyImgHeight:r(n).mul(2.5).equal(),emptyImgHeightMD:n,emptyImgHeightSM:r(n).mul(.875).equal()}))]}),eV=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let eU=r.createElement(()=>{let[,e]=(0,ez.ZP)(),t=new eL.C(e.colorBgBase).toHsl().l<.5?{opacity:.65}:{};return r.createElement("svg",{style:t,width:"184",height:"152",viewBox:"0 0 184 152",xmlns:"http://www.w3.org/2000/svg"},r.createElement("g",{fill:"none",fillRule:"evenodd"},r.createElement("g",{transform:"translate(24 31.67)"},r.createElement("ellipse",{fillOpacity:".8",fill:"#F5F5F7",cx:"67.797",cy:"106.89",rx:"67.797",ry:"12.668"}),r.createElement("path",{d:"M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z",fill:"#AEB8C2"}),r.createElement("path",{d:"M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z",fill:"url(#linearGradient-1)",transform:"translate(13.56)"}),r.createElement("path",{d:"M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z",fill:"#F5F5F7"}),r.createElement("path",{d:"M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z",fill:"#DCE0E6"})),r.createElement("path",{d:"M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z",fill:"#DCE0E6"}),r.createElement("g",{transform:"translate(149.65 15.383)",fill:"#FFF"},r.createElement("ellipse",{cx:"20.654",cy:"3.167",rx:"2.849",ry:"2.815"}),r.createElement("path",{d:"M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z"}))))},null),eX=r.createElement(()=>{let[,e]=(0,ez.ZP)(),{colorFill:t,colorFillTertiary:n,colorFillQuaternary:o,colorBgContainer:i}=e,{borderColor:a,shadowColor:c,contentColor:l}=(0,r.useMemo)(()=>({borderColor:new eL.C(t).onBackground(i).toHexShortString(),shadowColor:new eL.C(n).onBackground(i).toHexShortString(),contentColor:new eL.C(o).onBackground(i).toHexShortString()}),[t,n,o,i]);return r.createElement("svg",{width:"64",height:"41",viewBox:"0 0 64 41",xmlns:"http://www.w3.org/2000/svg"},r.createElement("g",{transform:"translate(0 1)",fill:"none",fillRule:"evenodd"},r.createElement("ellipse",{fill:c,cx:"32",cy:"33",rx:"32",ry:"7"}),r.createElement("g",{fillRule:"nonzero",stroke:a},r.createElement("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"}),r.createElement("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",fill:l}))))},null),eG=e=>{var{className:t,rootClassName:n,prefixCls:o,image:a=eU,description:c,children:l,imageStyle:u,style:s}=e,f=eV(e,["className","rootClassName","prefixCls","image","description","children","imageStyle","style"]);let{getPrefixCls:d,direction:p,empty:h}=r.useContext(eD.E_),m=d("empty",o),[v,g,y]=eq(m),[b]=(0,eB.Z)("Empty"),x=void 0!==c?c:null==b?void 0:b.description,w=null;return w="string"==typeof a?r.createElement("img",{alt:"string"==typeof x?x:"empty",src:a}):a,v(r.createElement("div",Object.assign({className:i()(g,y,m,null==h?void 0:h.className,{["".concat(m,"-normal")]:a===eX,["".concat(m,"-rtl")]:"rtl"===p},t,n),style:Object.assign(Object.assign({},null==h?void 0:h.style),s)},f),r.createElement("div",{className:"".concat(m,"-image"),style:u},w),x&&r.createElement("div",{className:"".concat(m,"-description")},x),l&&r.createElement("div",{className:"".concat(m,"-footer")},l)))};eG.PRESENTED_IMAGE_DEFAULT=eU,eG.PRESENTED_IMAGE_SIMPLE=eX;var eK=e=>{let{componentName:t}=e,{getPrefixCls:n}=(0,r.useContext)(eD.E_),o=n("empty");switch(t){case"Table":case"List":return r.createElement(eG,{image:eG.PRESENTED_IMAGE_SIMPLE});case"Select":case"TreeSelect":case"Cascader":case"Transfer":case"Mentions":return r.createElement(eG,{image:eG.PRESENTED_IMAGE_SIMPLE,className:"".concat(o,"-small")});default:return r.createElement(eG,null)}},e$=n(17094),eY=n(92935),eQ=n(10693),eJ=n(47137),e0=n(8443),e1=n(92801);let e2=e=>{let t={overflow:{adjustX:!0,adjustY:!0,shiftY:!0},htmlRegion:"scroll"===e?"scroll":"visible",dynamicInset:!0};return{bottomLeft:Object.assign(Object.assign({},t),{points:["tl","bl"],offset:[0,4]}),bottomRight:Object.assign(Object.assign({},t),{points:["tr","br"],offset:[0,4]}),topLeft:Object.assign(Object.assign({},t),{points:["bl","tl"],offset:[0,-4]}),topRight:Object.assign(Object.assign({},t),{points:["br","tr"],offset:[0,-4]})}};var e4=n(11303),e5=n(12288),e6=n(202),e3=n(8985),e8=n(59353);let e9=new e3.E4("antMoveDownIn",{"0%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),e7=new e3.E4("antMoveDownOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0}}),te=new e3.E4("antMoveLeftIn",{"0%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),tt=new e3.E4("antMoveLeftOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),tn=new e3.E4("antMoveRightIn",{"0%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),tr=new e3.E4("antMoveRightOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),to={"move-up":{inKeyframes:new e3.E4("antMoveUpIn",{"0%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),outKeyframes:new e3.E4("antMoveUpOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0}})},"move-down":{inKeyframes:e9,outKeyframes:e7},"move-left":{inKeyframes:te,outKeyframes:tt},"move-right":{inKeyframes:tn,outKeyframes:tr}},ti=(e,t)=>{let{antCls:n}=e,r="".concat(n,"-").concat(t),{inKeyframes:o,outKeyframes:i}=to[t];return[(0,e8.R)(r,o,i,e.motionDurationMid),{["\n ".concat(r,"-enter,\n ").concat(r,"-appear\n ")]:{opacity:0,animationTimingFunction:e.motionEaseOutCirc},["".concat(r,"-leave")]:{animationTimingFunction:e.motionEaseInOutCirc}}]},ta=e=>{let{optionHeight:t,optionFontSize:n,optionLineHeight:r,optionPadding:o}=e;return{position:"relative",display:"block",minHeight:t,padding:o,color:e.colorText,fontWeight:"normal",fontSize:n,lineHeight:r,boxSizing:"border-box"}};var tc=e=>{let{antCls:t,componentCls:n}=e,r="".concat(n,"-item"),o="&".concat(t,"-slide-up-enter").concat(t,"-slide-up-enter-active"),i="&".concat(t,"-slide-up-appear").concat(t,"-slide-up-appear-active"),a="&".concat(t,"-slide-up-leave").concat(t,"-slide-up-leave-active"),c="".concat(n,"-dropdown-placement-");return[{["".concat(n,"-dropdown")]:Object.assign(Object.assign({},(0,e4.Wf)(e)),{position:"absolute",top:-9999,zIndex:e.zIndexPopup,boxSizing:"border-box",padding:e.paddingXXS,overflow:"hidden",fontSize:e.fontSize,fontVariant:"initial",backgroundColor:e.colorBgElevated,borderRadius:e.borderRadiusLG,outline:"none",boxShadow:e.boxShadowSecondary,["\n ".concat(o).concat(c,"bottomLeft,\n ").concat(i).concat(c,"bottomLeft\n ")]:{animationName:e6.fJ},["\n ".concat(o).concat(c,"topLeft,\n ").concat(i).concat(c,"topLeft,\n ").concat(o).concat(c,"topRight,\n ").concat(i).concat(c,"topRight\n ")]:{animationName:e6.Qt},["".concat(a).concat(c,"bottomLeft")]:{animationName:e6.Uw},["\n ".concat(a).concat(c,"topLeft,\n ").concat(a).concat(c,"topRight\n ")]:{animationName:e6.ly},"&-hidden":{display:"none"},["".concat(r)]:Object.assign(Object.assign({},ta(e)),{cursor:"pointer",transition:"background ".concat(e.motionDurationSlow," ease"),borderRadius:e.borderRadiusSM,"&-group":{color:e.colorTextDescription,fontSize:e.fontSizeSM,cursor:"default"},"&-option":{display:"flex","&-content":Object.assign({flex:"auto"},e4.vS),"&-state":{flex:"none",display:"flex",alignItems:"center"},["&-active:not(".concat(r,"-option-disabled)")]:{backgroundColor:e.optionActiveBg},["&-selected:not(".concat(r,"-option-disabled)")]:{color:e.optionSelectedColor,fontWeight:e.optionSelectedFontWeight,backgroundColor:e.optionSelectedBg,["".concat(r,"-option-state")]:{color:e.colorPrimary},["&:has(+ ".concat(r,"-option-selected:not(").concat(r,"-option-disabled))")]:{borderEndStartRadius:0,borderEndEndRadius:0,["& + ".concat(r,"-option-selected:not(").concat(r,"-option-disabled)")]:{borderStartStartRadius:0,borderStartEndRadius:0}}},"&-disabled":{["&".concat(r,"-option-selected")]:{backgroundColor:e.colorBgContainerDisabled},color:e.colorTextDisabled,cursor:"not-allowed"},"&-grouped":{paddingInlineStart:e.calc(e.controlPaddingHorizontal).mul(2).equal()}}}),"&-rtl":{direction:"rtl"}})},(0,e6.oN)(e,"slide-up"),(0,e6.oN)(e,"slide-down"),ti(e,"move-up"),ti(e,"move-down")]};let tl=e=>{let{multipleSelectItemHeight:t,selectHeight:n,lineWidth:r}=e;return e.calc(n).sub(t).div(2).sub(r).equal()};function tu(e,t){let{componentCls:n,iconCls:r}=e,o="".concat(n,"-selection-overflow"),i=e.multipleSelectItemHeight,a=tl(e),c=t?"".concat(n,"-").concat(t):"";return{["".concat(n,"-multiple").concat(c)]:{fontSize:e.fontSize,[o]:{position:"relative",display:"flex",flex:"auto",flexWrap:"wrap",maxWidth:"100%","&-item":{flex:"none",alignSelf:"center",maxWidth:"100%",display:"inline-flex"}},["".concat(n,"-selector")]:{display:"flex",flexWrap:"wrap",alignItems:"center",height:"100%",paddingInline:e.calc(2).mul(2).equal(),paddingBlock:e.calc(a).sub(2).equal(),borderRadius:e.borderRadius,["".concat(n,"-show-search&")]:{cursor:"text"},["".concat(n,"-disabled&")]:{background:e.multipleSelectorBgDisabled,cursor:"not-allowed"},"&:after":{display:"inline-block",width:0,margin:"".concat((0,e3.bf)(2)," 0"),lineHeight:(0,e3.bf)(i),visibility:"hidden",content:'"\\a0"'}},["\n &".concat(n,"-show-arrow ").concat(n,"-selector,\n &").concat(n,"-allow-clear ").concat(n,"-selector\n ")]:{paddingInlineEnd:e.calc(e.fontSizeIcon).add(e.controlPaddingHorizontal).equal()},["".concat(n,"-selection-item")]:{display:"flex",alignSelf:"center",flex:"none",boxSizing:"border-box",maxWidth:"100%",height:i,marginTop:2,marginBottom:2,lineHeight:(0,e3.bf)(e.calc(i).sub(e.calc(e.lineWidth).mul(2)).equal()),borderRadius:e.borderRadiusSM,cursor:"default",transition:"font-size ".concat(e.motionDurationSlow,", line-height ").concat(e.motionDurationSlow,", height ").concat(e.motionDurationSlow),marginInlineEnd:e.calc(2).mul(2).equal(),paddingInlineStart:e.paddingXS,paddingInlineEnd:e.calc(e.paddingXS).div(2).equal(),["".concat(n,"-disabled&")]:{color:e.multipleItemColorDisabled,borderColor:e.multipleItemBorderColorDisabled,cursor:"not-allowed"},"&-content":{display:"inline-block",marginInlineEnd:e.calc(e.paddingXS).div(2).equal(),overflow:"hidden",whiteSpace:"pre",textOverflow:"ellipsis"},"&-remove":Object.assign(Object.assign({},(0,e4.Ro)()),{display:"inline-flex",alignItems:"center",color:e.colorIcon,fontWeight:"bold",fontSize:10,lineHeight:"inherit",cursor:"pointer",["> ".concat(r)]:{verticalAlign:"-0.2em"},"&:hover":{color:e.colorIconHover}})},["".concat(o,"-item + ").concat(o,"-item")]:{["".concat(n,"-selection-search")]:{marginInlineStart:0}},["".concat(o,"-item-suffix")]:{height:"100%"},["".concat(n,"-selection-search")]:{display:"inline-flex",position:"relative",maxWidth:"100%",marginInlineStart:e.calc(e.inputPaddingHorizontalBase).sub(a).equal(),"\n &-input,\n &-mirror\n ":{height:i,fontFamily:e.fontFamily,lineHeight:(0,e3.bf)(i),transition:"all ".concat(e.motionDurationSlow)},"&-input":{width:"100%",minWidth:4.1},"&-mirror":{position:"absolute",top:0,insetInlineStart:0,insetInlineEnd:"auto",zIndex:999,whiteSpace:"pre",visibility:"hidden"}},["".concat(n,"-selection-placeholder")]:{position:"absolute",top:"50%",insetInlineStart:e.inputPaddingHorizontalBase,insetInlineEnd:e.inputPaddingHorizontalBase,transform:"translateY(-50%)",transition:"all ".concat(e.motionDurationSlow)}}}}var ts=e=>{let{componentCls:t}=e,n=(0,eH.TS)(e,{selectHeight:e.controlHeightSM,multipleSelectItemHeight:e.controlHeightXS,borderRadius:e.borderRadiusSM,borderRadiusSM:e.borderRadiusXS}),r=(0,eH.TS)(e,{fontSize:e.fontSizeLG,selectHeight:e.controlHeightLG,multipleSelectItemHeight:e.multipleItemHeightLG,borderRadius:e.borderRadiusLG,borderRadiusSM:e.borderRadius});return[tu(e),tu(n,"sm"),{["".concat(t,"-multiple").concat(t,"-sm")]:{["".concat(t,"-selection-placeholder")]:{insetInline:e.calc(e.controlPaddingHorizontalSM).sub(e.lineWidth).equal()},["".concat(t,"-selection-search")]:{marginInlineStart:2}}},tu(r,"lg")]};function tf(e,t){let{componentCls:n,inputPaddingHorizontalBase:r,borderRadius:o}=e,i=e.calc(e.controlHeight).sub(e.calc(e.lineWidth).mul(2)).equal(),a=t?"".concat(n,"-").concat(t):"";return{["".concat(n,"-single").concat(a)]:{fontSize:e.fontSize,height:e.controlHeight,["".concat(n,"-selector")]:Object.assign(Object.assign({},(0,e4.Wf)(e,!0)),{display:"flex",borderRadius:o,["".concat(n,"-selection-search")]:{position:"absolute",top:0,insetInlineStart:r,insetInlineEnd:r,bottom:0,"&-input":{width:"100%",WebkitAppearance:"textfield"}},["\n ".concat(n,"-selection-item,\n ").concat(n,"-selection-placeholder\n ")]:{padding:0,lineHeight:(0,e3.bf)(i),transition:"all ".concat(e.motionDurationSlow,", visibility 0s"),alignSelf:"center"},["".concat(n,"-selection-placeholder")]:{transition:"none",pointerEvents:"none"},[["&:after","".concat(n,"-selection-item:empty:after"),"".concat(n,"-selection-placeholder:empty:after")].join(",")]:{display:"inline-block",width:0,visibility:"hidden",content:'"\\a0"'}}),["\n &".concat(n,"-show-arrow ").concat(n,"-selection-item,\n &").concat(n,"-show-arrow ").concat(n,"-selection-placeholder\n ")]:{paddingInlineEnd:e.showArrowPaddingInlineEnd},["&".concat(n,"-open ").concat(n,"-selection-item")]:{color:e.colorTextPlaceholder},["&:not(".concat(n,"-customize-input)")]:{["".concat(n,"-selector")]:{width:"100%",height:"100%",padding:"0 ".concat((0,e3.bf)(r)),["".concat(n,"-selection-search-input")]:{height:i},"&:after":{lineHeight:(0,e3.bf)(i)}}},["&".concat(n,"-customize-input")]:{["".concat(n,"-selector")]:{"&:after":{display:"none"},["".concat(n,"-selection-search")]:{position:"static",width:"100%"},["".concat(n,"-selection-placeholder")]:{position:"absolute",insetInlineStart:0,insetInlineEnd:0,padding:"0 ".concat((0,e3.bf)(r)),"&:after":{display:"none"}}}}}}}let td=(e,t)=>{let{componentCls:n,antCls:r,controlOutlineWidth:o}=e;return{["&:not(".concat(n,"-customize-input) ").concat(n,"-selector")]:{border:"".concat((0,e3.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(t.borderColor),background:e.selectorBg},["&:not(".concat(n,"-disabled):not(").concat(n,"-customize-input):not(").concat(r,"-pagination-size-changer)")]:{["&:hover ".concat(n,"-selector")]:{borderColor:t.hoverBorderHover},["".concat(n,"-focused& ").concat(n,"-selector")]:{borderColor:t.activeBorderColor,boxShadow:"0 0 0 ".concat((0,e3.bf)(o)," ").concat(t.activeShadowColor),outline:0}}}},tp=(e,t)=>({["&".concat(e.componentCls,"-status-").concat(t.status)]:Object.assign({},td(e,t))}),th=e=>({"&-outlined":Object.assign(Object.assign(Object.assign(Object.assign({},td(e,{borderColor:e.colorBorder,hoverBorderHover:e.colorPrimaryHover,activeBorderColor:e.colorPrimary,activeShadowColor:e.controlOutline})),tp(e,{status:"error",borderColor:e.colorError,hoverBorderHover:e.colorErrorHover,activeBorderColor:e.colorError,activeShadowColor:e.colorErrorOutline})),tp(e,{status:"warning",borderColor:e.colorWarning,hoverBorderHover:e.colorWarningHover,activeBorderColor:e.colorWarning,activeShadowColor:e.colorWarningOutline})),{["&".concat(e.componentCls,"-disabled")]:{["&:not(".concat(e.componentCls,"-customize-input) ").concat(e.componentCls,"-selector")]:{background:e.colorBgContainerDisabled,color:e.colorTextDisabled}},["&".concat(e.componentCls,"-multiple ").concat(e.componentCls,"-selection-item")]:{background:e.multipleItemBg,border:"".concat((0,e3.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.multipleItemBorderColor)}})}),tm=(e,t)=>{let{componentCls:n,antCls:r}=e;return{["&:not(".concat(n,"-customize-input) ").concat(n,"-selector")]:{background:t.bg,border:"".concat((0,e3.bf)(e.lineWidth)," ").concat(e.lineType," transparent"),color:t.color},["&:not(".concat(n,"-disabled):not(").concat(n,"-customize-input):not(").concat(r,"-pagination-size-changer)")]:{["&:hover ".concat(n,"-selector")]:{background:t.hoverBg},["".concat(n,"-focused& ").concat(n,"-selector")]:{background:e.selectorBg,borderColor:t.activeBorderColor,outline:0}}}},tv=(e,t)=>({["&".concat(e.componentCls,"-status-").concat(t.status)]:Object.assign({},tm(e,t))}),tg=e=>({"&-filled":Object.assign(Object.assign(Object.assign(Object.assign({},tm(e,{bg:e.colorFillTertiary,hoverBg:e.colorFillSecondary,activeBorderColor:e.colorPrimary,color:e.colorText})),tv(e,{status:"error",bg:e.colorErrorBg,hoverBg:e.colorErrorBgHover,activeBorderColor:e.colorError,color:e.colorError})),tv(e,{status:"warning",bg:e.colorWarningBg,hoverBg:e.colorWarningBgHover,activeBorderColor:e.colorWarning,color:e.colorWarning})),{["&".concat(e.componentCls,"-disabled")]:{["&:not(".concat(e.componentCls,"-customize-input) ").concat(e.componentCls,"-selector")]:{borderColor:e.colorBorder,background:e.colorBgContainerDisabled,color:e.colorTextDisabled}},["&".concat(e.componentCls,"-multiple ").concat(e.componentCls,"-selection-item")]:{background:e.colorBgContainer,border:"".concat((0,e3.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.colorSplit)}})}),ty=e=>({"&-borderless":{["".concat(e.componentCls,"-selector")]:{background:"transparent",borderColor:"transparent"},["&".concat(e.componentCls,"-disabled")]:{["&:not(".concat(e.componentCls,"-customize-input) ").concat(e.componentCls,"-selector")]:{color:e.colorTextDisabled}},["&".concat(e.componentCls,"-multiple ").concat(e.componentCls,"-selection-item")]:{background:e.multipleItemBg,border:"".concat((0,e3.bf)(e.lineWidth)," ").concat(e.lineType," ").concat(e.multipleItemBorderColor)}}});var tb=e=>({[e.componentCls]:Object.assign(Object.assign(Object.assign({},th(e)),tg(e)),ty(e))});let tx=e=>{let{componentCls:t}=e;return{position:"relative",transition:"all ".concat(e.motionDurationMid," ").concat(e.motionEaseInOut),input:{cursor:"pointer"},["".concat(t,"-show-search&")]:{cursor:"text",input:{cursor:"auto",color:"inherit",height:"100%"}},["".concat(t,"-disabled&")]:{cursor:"not-allowed",input:{cursor:"not-allowed"}}}},tw=e=>{let{componentCls:t}=e;return{["".concat(t,"-selection-search-input")]:{margin:0,padding:0,background:"transparent",border:"none",outline:"none",appearance:"none",fontFamily:"inherit","&::-webkit-search-cancel-button":{display:"none","-webkit-appearance":"none"}}}},tE=e=>{let{antCls:t,componentCls:n,inputPaddingHorizontalBase:r,iconCls:o}=e;return{[n]:Object.assign(Object.assign({},(0,e4.Wf)(e)),{position:"relative",display:"inline-block",cursor:"pointer",["&:not(".concat(n,"-customize-input) ").concat(n,"-selector")]:Object.assign(Object.assign({},tx(e)),tw(e)),["".concat(n,"-selection-item")]:Object.assign(Object.assign({flex:1,fontWeight:"normal",position:"relative",userSelect:"none"},e4.vS),{["> ".concat(t,"-typography")]:{display:"inline"}}),["".concat(n,"-selection-placeholder")]:Object.assign(Object.assign({},e4.vS),{flex:1,color:e.colorTextPlaceholder,pointerEvents:"none"}),["".concat(n,"-arrow")]:Object.assign(Object.assign({},(0,e4.Ro)()),{position:"absolute",top:"50%",insetInlineStart:"auto",insetInlineEnd:r,height:e.fontSizeIcon,marginTop:e.calc(e.fontSizeIcon).mul(-1).div(2).equal(),color:e.colorTextQuaternary,fontSize:e.fontSizeIcon,lineHeight:1,textAlign:"center",pointerEvents:"none",display:"flex",alignItems:"center",transition:"opacity ".concat(e.motionDurationSlow," ease"),[o]:{verticalAlign:"top",transition:"transform ".concat(e.motionDurationSlow),"> svg":{verticalAlign:"top"},["&:not(".concat(n,"-suffix)")]:{pointerEvents:"auto"}},["".concat(n,"-disabled &")]:{cursor:"not-allowed"},"> *:not(:last-child)":{marginInlineEnd:8}}),["".concat(n,"-clear")]:{position:"absolute",top:"50%",insetInlineStart:"auto",insetInlineEnd:r,zIndex:1,display:"inline-block",width:e.fontSizeIcon,height:e.fontSizeIcon,marginTop:e.calc(e.fontSizeIcon).mul(-1).div(2).equal(),color:e.colorTextQuaternary,fontSize:e.fontSizeIcon,fontStyle:"normal",lineHeight:1,textAlign:"center",textTransform:"none",cursor:"pointer",opacity:0,transition:"color ".concat(e.motionDurationMid," ease, opacity ").concat(e.motionDurationSlow," ease"),textRendering:"auto","&:before":{display:"block"},"&:hover":{color:e.colorTextTertiary}},"&:hover":{["".concat(n,"-clear")]:{opacity:1},["".concat(n,"-arrow:not(:last-child)")]:{opacity:0}}}),["".concat(n,"-has-feedback")]:{["".concat(n,"-clear")]:{insetInlineEnd:e.calc(r).add(e.fontSize).add(e.paddingXS).equal()}}}},tO=e=>{let{componentCls:t}=e;return[{[t]:{["&".concat(t,"-in-form-item")]:{width:"100%"}}},tE(e),function(e){let{componentCls:t}=e,n=e.calc(e.controlPaddingHorizontalSM).sub(e.lineWidth).equal();return[tf(e),tf((0,eH.TS)(e,{controlHeight:e.controlHeightSM,borderRadius:e.borderRadiusSM}),"sm"),{["".concat(t,"-single").concat(t,"-sm")]:{["&:not(".concat(t,"-customize-input)")]:{["".concat(t,"-selection-search")]:{insetInlineStart:n,insetInlineEnd:n},["".concat(t,"-selector")]:{padding:"0 ".concat((0,e3.bf)(n))},["&".concat(t,"-show-arrow ").concat(t,"-selection-search")]:{insetInlineEnd:e.calc(n).add(e.calc(e.fontSize).mul(1.5)).equal()},["\n &".concat(t,"-show-arrow ").concat(t,"-selection-item,\n &").concat(t,"-show-arrow ").concat(t,"-selection-placeholder\n ")]:{paddingInlineEnd:e.calc(e.fontSize).mul(1.5).equal()}}}},tf((0,eH.TS)(e,{controlHeight:e.singleItemHeightLG,fontSize:e.fontSizeLG,borderRadius:e.borderRadiusLG}),"lg")]}(e),ts(e),tc(e),{["".concat(t,"-rtl")]:{direction:"rtl"}},(0,e5.c)(e,{borderElCls:"".concat(t,"-selector"),focusElCls:"".concat(t,"-focused")})]};var tS=(0,eF.I$)("Select",(e,t)=>{let{rootPrefixCls:n}=t,r=(0,eH.TS)(e,{rootPrefixCls:n,inputPaddingHorizontalBase:e.calc(e.paddingSM).sub(1).equal(),multipleSelectItemHeight:e.multipleItemHeight,selectHeight:e.controlHeight});return[tO(r),tb(r)]},e=>{let{fontSize:t,lineHeight:n,controlHeight:r,controlPaddingHorizontal:o,zIndexPopupBase:i,colorText:a,fontWeightStrong:c,controlItemBgActive:l,controlItemBgHover:u,colorBgContainer:s,colorFillSecondary:f,controlHeightLG:d,controlHeightSM:p,colorBgContainerDisabled:h,colorTextDisabled:m}=e;return{zIndexPopup:i+50,optionSelectedColor:a,optionSelectedFontWeight:c,optionSelectedBg:l,optionActiveBg:u,optionPadding:"".concat((r-t*n)/2,"px ").concat(o,"px"),optionFontSize:t,optionLineHeight:n,optionHeight:r,selectorBg:s,clearBg:s,singleItemHeightLG:d,multipleItemBg:f,multipleItemBorderColor:"transparent",multipleItemHeight:p,multipleItemHeightLG:r,multipleSelectorBgDisabled:h,multipleItemColorDisabled:m,multipleItemBorderColorDisabled:"transparent",showArrowPaddingInlineEnd:Math.ceil(1.25*e.fontSize)}},{unitless:{optionLineHeight:!0,optionSelectedFontWeight:!0}}),tC={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"}}]},name:"check",theme:"outlined"},tk=n(60688),tj=r.forwardRef(function(e,t){return r.createElement(tk.Z,(0,a.Z)({},e,{ref:t,icon:tC}))}),tP=n(77136),tM=n(81303),tA=n(20383),tT=n(66155),tN=n(96871),tI=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let tZ="SECRET_COMBOBOX_MODE_DO_NOT_USE",tR=r.forwardRef((e,t)=>{var n,o,a;let c;let{prefixCls:l,bordered:u,className:s,rootClassName:f,getPopupContainer:d,popupClassName:p,dropdownClassName:h,listHeight:m=256,placement:v,listItemHeight:g,size:y,disabled:b,notFoundContent:x,status:w,builtinPlacements:E,dropdownMatchSelectWidth:O,popupMatchSelectWidth:S,direction:C,style:k,allowClear:j,variant:P,dropdownStyle:M,transitionName:A,tagRender:T,maxCount:N}=e,I=tI(e,["prefixCls","bordered","className","rootClassName","getPopupContainer","popupClassName","dropdownClassName","listHeight","placement","listItemHeight","size","disabled","notFoundContent","status","builtinPlacements","dropdownMatchSelectWidth","popupMatchSelectWidth","direction","style","allowClear","variant","dropdownStyle","transitionName","tagRender","maxCount"]),{getPopupContainer:Z,getPrefixCls:R,renderEmpty:_,direction:D,virtual:B,popupMatchSelectWidth:L,popupOverflow:z,select:F}=r.useContext(eD.E_),[,H]=(0,ez.ZP)(),W=null!=g?g:null==H?void 0:H.controlHeight,q=R("select",l),V=R(),U=null!=C?C:D,{compactSize:X,compactItemClassnames:G}=(0,e1.ri)(q,U),[K,$]=(0,e0.Z)(P,u),Y=(0,eY.Z)(q),[J,ee,et]=tS(q,Y),en=r.useMemo(()=>{let{mode:t}=e;return"combobox"===t?void 0:t===tZ?"combobox":t},[e.mode]),er="multiple"===en||"tags"===en,eo=(o=e.suffixIcon,void 0!==(a=e.showArrow)?a:null!==o),ei=null!==(n=null!=S?S:O)&&void 0!==n?n:L,{status:ea,hasFeedback:ec,isFormItemInput:el,feedbackIcon:eu}=r.useContext(eJ.aM),es=(0,e_.F)(ea,w);c=void 0!==x?x:"combobox"===en?null:(null==_?void 0:_("Select"))||r.createElement(eK,{componentName:"Select"});let{suffixIcon:ef,itemIcon:ed,removeIcon:ep,clearIcon:eh}=function(e){let{suffixIcon:t,clearIcon:n,menuItemSelectedIcon:o,removeIcon:i,loading:a,multiple:c,hasFeedback:l,prefixCls:u,showSuffixIcon:s,feedbackIcon:f,showArrow:d,componentName:p}=e,h=null!=n?n:r.createElement(tP.Z,null),m=e=>null!==t||l||d?r.createElement(r.Fragment,null,!1!==s&&e,l&&f):null,v=null;if(void 0!==t)v=m(t);else if(a)v=m(r.createElement(tT.Z,{spin:!0}));else{let e="".concat(u,"-suffix");v=t=>{let{open:n,showSearch:o}=t;return n&&o?m(r.createElement(tN.Z,{className:e})):m(r.createElement(tA.Z,{className:e}))}}let g=null;return g=void 0!==o?o:c?r.createElement(tj,null):null,{clearIcon:h,suffixIcon:v,itemIcon:g,removeIcon:void 0!==i?i:r.createElement(tM.Z,null)}}(Object.assign(Object.assign({},I),{multiple:er,hasFeedback:ec,feedbackIcon:eu,showSuffixIcon:eo,prefixCls:q,componentName:"Select"})),em=(0,Q.Z)(I,["suffixIcon","itemIcon"]),ev=i()(p||h,{["".concat(q,"-dropdown-").concat(U)]:"rtl"===U},f,et,Y,ee),eg=(0,eQ.Z)(e=>{var t;return null!==(t=null!=y?y:X)&&void 0!==t?t:e}),ey=r.useContext(e$.Z),eb=i()({["".concat(q,"-lg")]:"large"===eg,["".concat(q,"-sm")]:"small"===eg,["".concat(q,"-rtl")]:"rtl"===U,["".concat(q,"-").concat(K)]:$,["".concat(q,"-in-form-item")]:el},(0,e_.Z)(q,es,ec),G,null==F?void 0:F.className,s,f,et,Y,ee),ex=r.useMemo(()=>void 0!==v?v:"rtl"===U?"bottomRight":"bottomLeft",[v,U]),[ew]=(0,eI.Cn)("SelectLike",null==M?void 0:M.zIndex);return J(r.createElement(eN,Object.assign({ref:t,virtual:B,showSearch:null==F?void 0:F.showSearch},em,{style:Object.assign(Object.assign({},null==F?void 0:F.style),k),dropdownMatchSelectWidth:ei,transitionName:(0,eZ.m)(V,"slide-up",A),builtinPlacements:E||e2(z),listHeight:m,listItemHeight:W,mode:en,prefixCls:q,placement:ex,direction:U,suffixIcon:ef,menuItemSelectedIcon:ed,removeIcon:ep,allowClear:!0===j?{clearIcon:eh}:j,notFoundContent:c,className:eb,getPopupContainer:d||Z,dropdownClassName:ev,disabled:null!=b?b:ey,dropdownStyle:Object.assign(Object.assign({},M),{zIndex:ew}),maxCount:er?N:void 0,tagRender:er?T:void 0})))}),t_=(0,eR.Z)(tR);tR.SECRET_COMBOBOX_MODE_DO_NOT_USE=tZ,tR.Option=$,tR.OptGroup=K,tR._InternalPanelDoNotUseOrYouWillBeFired=t_;var tD=tR},92801:function(e,t,n){n.d(t,{BR:function(){return l},ri:function(){return c}});var r=n(16480),o=n.n(r);n(33054);var i=n(64090);let a=i.createContext(null),c=(e,t)=>{let n=i.useContext(a),r=i.useMemo(()=>{if(!n)return"";let{compactDirection:r,isFirstItem:i,isLastItem:a}=n,c="vertical"===r?"-vertical-":"-";return o()("".concat(e,"-compact").concat(c,"item"),{["".concat(e,"-compact").concat(c,"first-item")]:i,["".concat(e,"-compact").concat(c,"last-item")]:a,["".concat(e,"-compact").concat(c,"item-rtl")]:"rtl"===t})},[e,t,n]);return{compactSize:null==n?void 0:n.compactSize,compactDirection:null==n?void 0:n.compactDirection,compactItemClassnames:r}},l=e=>{let{children:t}=e;return i.createElement(a.Provider,{value:null},t)}},12288:function(e,t,n){n.d(t,{c:function(){return r}});function r(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{focus:!0},{componentCls:n}=e,r="".concat(n,"-compact");return{[r]:Object.assign(Object.assign({},function(e,t,n){let{focusElCls:r,focus:o,borderElCls:i}=n,a=i?"> *":"",c=["hover",o?"focus":null,"active"].filter(Boolean).map(e=>"&:".concat(e," ").concat(a)).join(",");return{["&-item:not(".concat(t,"-last-item)")]:{marginInlineEnd:e.calc(e.lineWidth).mul(-1).equal()},"&-item":Object.assign(Object.assign({[c]:{zIndex:2}},r?{["&".concat(r)]:{zIndex:2}}:{}),{["&[disabled] ".concat(a)]:{zIndex:0}})}}(e,r,t)),function(e,t,n){let{borderElCls:r}=n,o=r?"> ".concat(r):"";return{["&-item:not(".concat(t,"-first-item):not(").concat(t,"-last-item) ").concat(o)]:{borderRadius:0},["&-item:not(".concat(t,"-last-item)").concat(t,"-first-item")]:{["& ".concat(o,", &").concat(e,"-sm ").concat(o,", &").concat(e,"-lg ").concat(o)]:{borderStartEndRadius:0,borderEndEndRadius:0}},["&-item:not(".concat(t,"-first-item)").concat(t,"-last-item")]:{["& ".concat(o,", &").concat(e,"-sm ").concat(o,", &").concat(e,"-lg ").concat(o)]:{borderStartStartRadius:0,borderEndStartRadius:0}}}}(n,r,t))}}},11303:function(e,t,n){n.d(t,{Lx:function(){return l},Qy:function(){return f},Ro:function(){return a},Wf:function(){return i},dF:function(){return c},du:function(){return u},oN:function(){return s},vS:function(){return o}});var r=n(8985);let o={overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},i=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{boxSizing:"border-box",margin:0,padding:0,color:e.colorText,fontSize:e.fontSize,lineHeight:e.lineHeight,listStyle:"none",fontFamily:t?"inherit":e.fontFamily}},a=()=>({display:"inline-flex",alignItems:"center",color:"inherit",fontStyle:"normal",lineHeight:0,textAlign:"center",textTransform:"none",verticalAlign:"-0.125em",textRendering:"optimizeLegibility","-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale","> *":{lineHeight:1},svg:{display:"inline-block"}}),c=()=>({"&::before":{display:"table",content:'""'},"&::after":{display:"table",clear:"both",content:'""'}}),l=e=>({a:{color:e.colorLink,textDecoration:e.linkDecoration,backgroundColor:"transparent",outline:"none",cursor:"pointer",transition:"color ".concat(e.motionDurationSlow),"-webkit-text-decoration-skip":"objects","&:hover":{color:e.colorLinkHover},"&:active":{color:e.colorLinkActive},"&:active,\n &:hover":{textDecoration:e.linkHoverDecoration,outline:0},"&:focus":{textDecoration:e.linkFocusDecoration,outline:0},"&[disabled]":{color:e.colorTextDisabled,cursor:"not-allowed"}}}),u=(e,t)=>{let{fontFamily:n,fontSize:r}=e,o='[class^="'.concat(t,'"], [class*=" ').concat(t,'"]');return{[o]:{fontFamily:n,fontSize:r,boxSizing:"border-box","&::before, &::after":{boxSizing:"border-box"},[o]:{boxSizing:"border-box","&::before, &::after":{boxSizing:"border-box"}}}}},s=e=>({outline:"".concat((0,r.bf)(e.lineWidthFocus)," solid ").concat(e.colorPrimaryBorder),outlineOffset:1,transition:"outline-offset 0s, outline 0s"}),f=e=>({"&:focus-visible":Object.assign({},s(e))})},46154:function(e,t){t.Z=e=>({[e.componentCls]:{["".concat(e.antCls,"-motion-collapse-legacy")]:{overflow:"hidden","&-active":{transition:"height ".concat(e.motionDurationMid," ").concat(e.motionEaseInOut,",\n opacity ").concat(e.motionDurationMid," ").concat(e.motionEaseInOut," !important")}},["".concat(e.antCls,"-motion-collapse")]:{overflow:"hidden",transition:"height ".concat(e.motionDurationMid," ").concat(e.motionEaseInOut,",\n opacity ").concat(e.motionDurationMid," ").concat(e.motionEaseInOut," !important")}}})},59353:function(e,t,n){n.d(t,{R:function(){return i}});let r=e=>({animationDuration:e,animationFillMode:"both"}),o=e=>({animationDuration:e,animationFillMode:"both"}),i=function(e,t,n,i){let a=arguments.length>4&&void 0!==arguments[4]&&arguments[4],c=a?"&":"";return{["\n ".concat(c).concat(e,"-enter,\n ").concat(c).concat(e,"-appear\n ")]:Object.assign(Object.assign({},r(i)),{animationPlayState:"paused"}),["".concat(c).concat(e,"-leave")]:Object.assign(Object.assign({},o(i)),{animationPlayState:"paused"}),["\n ".concat(c).concat(e,"-enter").concat(e,"-enter-active,\n ").concat(c).concat(e,"-appear").concat(e,"-appear-active\n ")]:{animationName:t,animationPlayState:"running"},["".concat(c).concat(e,"-leave").concat(e,"-leave-active")]:{animationName:n,animationPlayState:"running",pointerEvents:"none"}}}},202:function(e,t,n){n.d(t,{Qt:function(){return c},Uw:function(){return a},fJ:function(){return i},ly:function(){return l},oN:function(){return f}});var r=n(8985),o=n(59353);let i=new r.E4("antSlideUpIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1}}),a=new r.E4("antSlideUpOut",{"0%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0}}),c=new r.E4("antSlideDownIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1}}),l=new r.E4("antSlideDownOut",{"0%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0}}),u=new r.E4("antSlideLeftIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1}}),s={"slide-up":{inKeyframes:i,outKeyframes:a},"slide-down":{inKeyframes:c,outKeyframes:l},"slide-left":{inKeyframes:u,outKeyframes:new r.E4("antSlideLeftOut",{"0%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0}})},"slide-right":{inKeyframes:new r.E4("antSlideRightIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1}}),outKeyframes:new r.E4("antSlideRightOut",{"0%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0}})}},f=(e,t)=>{let{antCls:n}=e,r="".concat(n,"-").concat(t),{inKeyframes:i,outKeyframes:a}=s[t];return[(0,o.R)(r,i,a,e.motionDurationMid),{["\n ".concat(r,"-enter,\n ").concat(r,"-appear\n ")]:{transform:"scale(0)",transformOrigin:"0% 0%",opacity:0,animationTimingFunction:e.motionEaseOutQuint,"&-prepare":{transform:"scale(1)"}},["".concat(r,"-leave")]:{animationTimingFunction:e.motionEaseInQuint}}]}},58854:function(e,t,n){n.d(t,{_y:function(){return m},kr:function(){return i}});var r=n(8985),o=n(59353);let i=new r.E4("antZoomIn",{"0%":{transform:"scale(0.2)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),a=new r.E4("antZoomOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.2)",opacity:0}}),c=new r.E4("antZoomBigIn",{"0%":{transform:"scale(0.8)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),l=new r.E4("antZoomBigOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.8)",opacity:0}}),u=new r.E4("antZoomUpIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 0%"}}),s=new r.E4("antZoomUpOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 0%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0}}),f=new r.E4("antZoomLeftIn",{"0%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"0% 50%"}}),d=new r.E4("antZoomLeftOut",{"0%":{transform:"scale(1)",transformOrigin:"0% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0}}),p=new r.E4("antZoomRightIn",{"0%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"100% 50%"}}),h={zoom:{inKeyframes:i,outKeyframes:a},"zoom-big":{inKeyframes:c,outKeyframes:l},"zoom-big-fast":{inKeyframes:c,outKeyframes:l},"zoom-left":{inKeyframes:f,outKeyframes:d},"zoom-right":{inKeyframes:p,outKeyframes:new r.E4("antZoomRightOut",{"0%":{transform:"scale(1)",transformOrigin:"100% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0}})},"zoom-up":{inKeyframes:u,outKeyframes:s},"zoom-down":{inKeyframes:new r.E4("antZoomDownIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 100%"}}),outKeyframes:new r.E4("antZoomDownOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 100%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0}})}},m=(e,t)=>{let{antCls:n}=e,r="".concat(n,"-").concat(t),{inKeyframes:i,outKeyframes:a}=h[t];return[(0,o.R)(r,i,a,"zoom-big-fast"===t?e.motionDurationFast:e.motionDurationMid),{["\n ".concat(r,"-enter,\n ").concat(r,"-appear\n ")]:{transform:"scale(0)",opacity:0,animationTimingFunction:e.motionEaseOutCirc,"&-prepare":{transform:"none"}},["".concat(r,"-leave")]:{animationTimingFunction:e.motionEaseInOutCirc}}]}},43345:function(e,t,n){n.d(t,{Mj:function(){return y},u_:function(){return g},uH:function(){return v}});var r=n(64090),o=n(8985),i=n(12215),a=e=>{let{controlHeight:t}=e;return{controlHeightSM:.75*t,controlHeightXS:.5*t,controlHeightLG:1.25*t}},c=n(46864),l=n(6336),u=e=>{let t=e,n=e,r=e,o=e;return e<6&&e>=5?t=e+1:e<16&&e>=6?t=e+2:e>=16&&(t=16),e<7&&e>=5?n=4:e<8&&e>=7?n=5:e<14&&e>=8?n=6:e<16&&e>=14?n=7:e>=16&&(n=8),e<6&&e>=2?r=1:e>=6&&(r=2),e>4&&e<8?o=4:e>=8&&(o=6),{borderRadius:e,borderRadiusXS:r,borderRadiusSM:n,borderRadiusLG:t,borderRadiusOuter:o}};let s=(e,t)=>new l.C(e).setAlpha(t).toRgbString(),f=(e,t)=>new l.C(e).darken(t).toHexString(),d=e=>{let t=(0,i.R_)(e);return{1:t[0],2:t[1],3:t[2],4:t[3],5:t[4],6:t[5],7:t[6],8:t[4],9:t[5],10:t[6]}},p=(e,t)=>{let n=e||"#fff",r=t||"#000";return{colorBgBase:n,colorTextBase:r,colorText:s(r,.88),colorTextSecondary:s(r,.65),colorTextTertiary:s(r,.45),colorTextQuaternary:s(r,.25),colorFill:s(r,.15),colorFillSecondary:s(r,.06),colorFillTertiary:s(r,.04),colorFillQuaternary:s(r,.02),colorBgLayout:f(n,4),colorBgContainer:f(n,0),colorBgElevated:f(n,0),colorBgSpotlight:s(r,.85),colorBgBlur:"transparent",colorBorder:f(n,15),colorBorderSecondary:f(n,6)}};var h=n(49202),m=e=>{let t=(0,h.Z)(e),n=t.map(e=>e.size),r=t.map(e=>e.lineHeight),o=n[1],i=n[0],a=n[2],c=r[1],l=r[0],u=r[2];return{fontSizeSM:i,fontSize:o,fontSizeLG:a,fontSizeXL:n[3],fontSizeHeading1:n[6],fontSizeHeading2:n[5],fontSizeHeading3:n[4],fontSizeHeading4:n[3],fontSizeHeading5:n[2],lineHeight:c,lineHeightLG:u,lineHeightSM:l,fontHeight:Math.round(c*o),fontHeightLG:Math.round(u*a),fontHeightSM:Math.round(l*i),lineHeightHeading1:r[6],lineHeightHeading2:r[5],lineHeightHeading3:r[4],lineHeightHeading4:r[3],lineHeightHeading5:r[2]}};let v=(0,o.jG)(function(e){let t=Object.keys(c.M).map(t=>{let n=(0,i.R_)(e[t]);return Array(10).fill(1).reduce((e,r,o)=>(e["".concat(t,"-").concat(o+1)]=n[o],e["".concat(t).concat(o+1)]=n[o],e),{})}).reduce((e,t)=>e=Object.assign(Object.assign({},e),t),{});return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},e),t),function(e,t){let{generateColorPalettes:n,generateNeutralColorPalettes:r}=t,{colorSuccess:o,colorWarning:i,colorError:a,colorInfo:c,colorPrimary:u,colorBgBase:s,colorTextBase:f}=e,d=n(u),p=n(o),h=n(i),m=n(a),v=n(c),g=r(s,f),y=n(e.colorLink||e.colorInfo);return Object.assign(Object.assign({},g),{colorPrimaryBg:d[1],colorPrimaryBgHover:d[2],colorPrimaryBorder:d[3],colorPrimaryBorderHover:d[4],colorPrimaryHover:d[5],colorPrimary:d[6],colorPrimaryActive:d[7],colorPrimaryTextHover:d[8],colorPrimaryText:d[9],colorPrimaryTextActive:d[10],colorSuccessBg:p[1],colorSuccessBgHover:p[2],colorSuccessBorder:p[3],colorSuccessBorderHover:p[4],colorSuccessHover:p[4],colorSuccess:p[6],colorSuccessActive:p[7],colorSuccessTextHover:p[8],colorSuccessText:p[9],colorSuccessTextActive:p[10],colorErrorBg:m[1],colorErrorBgHover:m[2],colorErrorBorder:m[3],colorErrorBorderHover:m[4],colorErrorHover:m[5],colorError:m[6],colorErrorActive:m[7],colorErrorTextHover:m[8],colorErrorText:m[9],colorErrorTextActive:m[10],colorWarningBg:h[1],colorWarningBgHover:h[2],colorWarningBorder:h[3],colorWarningBorderHover:h[4],colorWarningHover:h[4],colorWarning:h[6],colorWarningActive:h[7],colorWarningTextHover:h[8],colorWarningText:h[9],colorWarningTextActive:h[10],colorInfoBg:v[1],colorInfoBgHover:v[2],colorInfoBorder:v[3],colorInfoBorderHover:v[4],colorInfoHover:v[4],colorInfo:v[6],colorInfoActive:v[7],colorInfoTextHover:v[8],colorInfoText:v[9],colorInfoTextActive:v[10],colorLinkHover:y[4],colorLink:y[6],colorLinkActive:y[7],colorBgMask:new l.C("#000").setAlpha(.45).toRgbString(),colorWhite:"#fff"})}(e,{generateColorPalettes:d,generateNeutralColorPalettes:p})),m(e.fontSize)),function(e){let{sizeUnit:t,sizeStep:n}=e;return{sizeXXL:t*(n+8),sizeXL:t*(n+4),sizeLG:t*(n+2),sizeMD:t*(n+1),sizeMS:t*n,size:t*n,sizeSM:t*(n-1),sizeXS:t*(n-2),sizeXXS:t*(n-3)}}(e)),a(e)),function(e){let{motionUnit:t,motionBase:n,borderRadius:r,lineWidth:o}=e;return Object.assign({motionDurationFast:"".concat((n+t).toFixed(1),"s"),motionDurationMid:"".concat((n+2*t).toFixed(1),"s"),motionDurationSlow:"".concat((n+3*t).toFixed(1),"s"),lineWidthBold:o+1},u(r))}(e))}),g={token:c.Z,override:{override:c.Z},hashed:!0},y=r.createContext(g)},46864:function(e,t,n){n.d(t,{M:function(){return r}});let r={blue:"#1677ff",purple:"#722ED1",cyan:"#13C2C2",green:"#52C41A",magenta:"#EB2F96",pink:"#eb2f96",red:"#F5222D",orange:"#FA8C16",yellow:"#FADB14",volcano:"#FA541C",geekblue:"#2F54EB",gold:"#FAAD14",lime:"#A0D911"},o=Object.assign(Object.assign({},r),{colorPrimary:"#1677ff",colorSuccess:"#52c41a",colorWarning:"#faad14",colorError:"#ff4d4f",colorInfo:"#1677ff",colorLink:"",colorTextBase:"",colorBgBase:"",fontFamily:"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,\n'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\n'Noto Color Emoji'",fontFamilyCode:"'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace",fontSize:14,lineWidth:1,lineType:"solid",motionUnit:.1,motionBase:0,motionEaseOutCirc:"cubic-bezier(0.08, 0.82, 0.17, 1)",motionEaseInOutCirc:"cubic-bezier(0.78, 0.14, 0.15, 0.86)",motionEaseOut:"cubic-bezier(0.215, 0.61, 0.355, 1)",motionEaseInOut:"cubic-bezier(0.645, 0.045, 0.355, 1)",motionEaseOutBack:"cubic-bezier(0.12, 0.4, 0.29, 1.46)",motionEaseInBack:"cubic-bezier(0.71, -0.46, 0.88, 0.6)",motionEaseInQuint:"cubic-bezier(0.755, 0.05, 0.855, 0.06)",motionEaseOutQuint:"cubic-bezier(0.23, 1, 0.32, 1)",borderRadius:6,sizeUnit:4,sizeStep:4,sizePopupArrow:16,controlHeight:32,zIndexBase:0,zIndexPopupBase:1e3,opacityImage:1,wireframe:!1,motion:!0});t.Z=o},49202:function(e,t,n){function r(e){return(e+8)/e}function o(e){let t=Array(10).fill(null).map((t,n)=>{let r=e*Math.pow(2.71828,(n-1)/5);return 2*Math.floor((n>1?Math.floor(r):Math.ceil(r))/2)});return t[1]=e,t.map(e=>({size:e,lineHeight:r(e)}))}n.d(t,{D:function(){return r},Z:function(){return o}})},24750:function(e,t,n){n.d(t,{ZP:function(){return g},ID:function(){return h},NJ:function(){return p}});var r=n(64090),o=n(8985),i=n(43345),a=n(46864),c=n(6336);function l(e){return e>=0&&e<=255}var u=function(e,t){let{r:n,g:r,b:o,a:i}=new c.C(e).toRgb();if(i<1)return e;let{r:a,g:u,b:s}=new c.C(t).toRgb();for(let e=.01;e<=1;e+=.01){let t=Math.round((n-a*(1-e))/e),i=Math.round((r-u*(1-e))/e),f=Math.round((o-s*(1-e))/e);if(l(t)&&l(i)&&l(f))return new c.C({r:t,g:i,b:f,a:Math.round(100*e)/100}).toRgbString()}return new c.C({r:n,g:r,b:o,a:1}).toRgbString()},s=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};function f(e){let{override:t}=e,n=s(e,["override"]),r=Object.assign({},t);Object.keys(a.Z).forEach(e=>{delete r[e]});let o=Object.assign(Object.assign({},n),r);return!1===o.motion&&(o.motionDurationFast="0s",o.motionDurationMid="0s",o.motionDurationSlow="0s"),Object.assign(Object.assign(Object.assign({},o),{colorFillContent:o.colorFillSecondary,colorFillContentHover:o.colorFill,colorFillAlter:o.colorFillQuaternary,colorBgContainerDisabled:o.colorFillTertiary,colorBorderBg:o.colorBgContainer,colorSplit:u(o.colorBorderSecondary,o.colorBgContainer),colorTextPlaceholder:o.colorTextQuaternary,colorTextDisabled:o.colorTextQuaternary,colorTextHeading:o.colorText,colorTextLabel:o.colorTextSecondary,colorTextDescription:o.colorTextTertiary,colorTextLightSolid:o.colorWhite,colorHighlight:o.colorError,colorBgTextHover:o.colorFillSecondary,colorBgTextActive:o.colorFill,colorIcon:o.colorTextTertiary,colorIconHover:o.colorText,colorErrorOutline:u(o.colorErrorBg,o.colorBgContainer),colorWarningOutline:u(o.colorWarningBg,o.colorBgContainer),fontSizeIcon:o.fontSizeSM,lineWidthFocus:4*o.lineWidth,lineWidth:o.lineWidth,controlOutlineWidth:2*o.lineWidth,controlInteractiveSize:o.controlHeight/2,controlItemBgHover:o.colorFillTertiary,controlItemBgActive:o.colorPrimaryBg,controlItemBgActiveHover:o.colorPrimaryBgHover,controlItemBgActiveDisabled:o.colorFill,controlTmpOutline:o.colorFillQuaternary,controlOutline:u(o.colorPrimaryBg,o.colorBgContainer),lineType:o.lineType,borderRadius:o.borderRadius,borderRadiusXS:o.borderRadiusXS,borderRadiusSM:o.borderRadiusSM,borderRadiusLG:o.borderRadiusLG,fontWeightStrong:600,opacityLoading:.65,linkDecoration:"none",linkHoverDecoration:"none",linkFocusDecoration:"none",controlPaddingHorizontal:12,controlPaddingHorizontalSM:8,paddingXXS:o.sizeXXS,paddingXS:o.sizeXS,paddingSM:o.sizeSM,padding:o.size,paddingMD:o.sizeMD,paddingLG:o.sizeLG,paddingXL:o.sizeXL,paddingContentHorizontalLG:o.sizeLG,paddingContentVerticalLG:o.sizeMS,paddingContentHorizontal:o.sizeMS,paddingContentVertical:o.sizeSM,paddingContentHorizontalSM:o.size,paddingContentVerticalSM:o.sizeXS,marginXXS:o.sizeXXS,marginXS:o.sizeXS,marginSM:o.sizeSM,margin:o.size,marginMD:o.sizeMD,marginLG:o.sizeLG,marginXL:o.sizeXL,marginXXL:o.sizeXXL,boxShadow:"\n 0 6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 9px 28px 8px rgba(0, 0, 0, 0.05)\n ",boxShadowSecondary:"\n 0 6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 9px 28px 8px rgba(0, 0, 0, 0.05)\n ",boxShadowTertiary:"\n 0 1px 2px 0 rgba(0, 0, 0, 0.03),\n 0 1px 6px -1px rgba(0, 0, 0, 0.02),\n 0 2px 4px 0 rgba(0, 0, 0, 0.02)\n ",screenXS:480,screenXSMin:480,screenXSMax:575,screenSM:576,screenSMMin:576,screenSMMax:767,screenMD:768,screenMDMin:768,screenMDMax:991,screenLG:992,screenLGMin:992,screenLGMax:1199,screenXL:1200,screenXLMin:1200,screenXLMax:1599,screenXXL:1600,screenXXLMin:1600,boxShadowPopoverArrow:"2px 2px 5px rgba(0, 0, 0, 0.05)",boxShadowCard:"\n 0 1px 2px -2px ".concat(new c.C("rgba(0, 0, 0, 0.16)").toRgbString(),",\n 0 3px 6px 0 ").concat(new c.C("rgba(0, 0, 0, 0.12)").toRgbString(),",\n 0 5px 12px 4px ").concat(new c.C("rgba(0, 0, 0, 0.09)").toRgbString(),"\n "),boxShadowDrawerRight:"\n -6px 0 16px 0 rgba(0, 0, 0, 0.08),\n -3px 0 6px -4px rgba(0, 0, 0, 0.12),\n -9px 0 28px 8px rgba(0, 0, 0, 0.05)\n ",boxShadowDrawerLeft:"\n 6px 0 16px 0 rgba(0, 0, 0, 0.08),\n 3px 0 6px -4px rgba(0, 0, 0, 0.12),\n 9px 0 28px 8px rgba(0, 0, 0, 0.05)\n ",boxShadowDrawerUp:"\n 0 6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 9px 28px 8px rgba(0, 0, 0, 0.05)\n ",boxShadowDrawerDown:"\n 0 -6px 16px 0 rgba(0, 0, 0, 0.08),\n 0 -3px 6px -4px rgba(0, 0, 0, 0.12),\n 0 -9px 28px 8px rgba(0, 0, 0, 0.05)\n ",boxShadowTabsOverflowLeft:"inset 10px 0 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowRight:"inset -10px 0 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowTop:"inset 0 10px 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowBottom:"inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08)"}),r)}var d=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let p={lineHeight:!0,lineHeightSM:!0,lineHeightLG:!0,lineHeightHeading1:!0,lineHeightHeading2:!0,lineHeightHeading3:!0,lineHeightHeading4:!0,lineHeightHeading5:!0,opacityLoading:!0,fontWeightStrong:!0,zIndexPopupBase:!0,zIndexBase:!0},h={size:!0,sizeSM:!0,sizeLG:!0,sizeMD:!0,sizeXS:!0,sizeXXS:!0,sizeMS:!0,sizeXL:!0,sizeXXL:!0,sizeUnit:!0,sizeStep:!0,motionBase:!0,motionUnit:!0},m={screenXS:!0,screenXSMin:!0,screenXSMax:!0,screenSM:!0,screenSMMin:!0,screenSMMax:!0,screenMD:!0,screenMDMin:!0,screenMDMax:!0,screenLG:!0,screenLGMin:!0,screenLGMax:!0,screenXL:!0,screenXLMin:!0,screenXLMax:!0,screenXXL:!0,screenXXLMin:!0},v=(e,t,n)=>{let r=n.getDerivativeToken(e),{override:o}=t,i=d(t,["override"]),a=Object.assign(Object.assign({},r),{override:o});return a=f(a),i&&Object.entries(i).forEach(e=>{let[t,n]=e,{theme:r}=n,o=d(n,["theme"]),i=o;r&&(i=v(Object.assign(Object.assign({},a),o),{override:o},r)),a[t]=i}),a};function g(){let{token:e,hashed:t,theme:n,override:c,cssVar:l}=r.useContext(i.Mj),u="".concat("5.13.2","-").concat(t||""),s=n||i.uH,[d,g,y]=(0,o.fp)(s,[a.Z,e],{salt:u,override:c,getComputedToken:v,formatToken:f,cssVar:l&&{prefix:l.prefix,key:l.key,unitless:p,ignore:h,preserve:m}});return[s,y,t?g:"",d,l]}},76585:function(e,t,n){n.d(t,{ZP:function(){return C},I$:function(){return P},bk:function(){return k}});var r=n(64090),o=n(8985);n(48563);var i=n(57499),a=n(11303),c=n(24750),l=n(47365),u=n(65127),s=n(72784),f=n(29676),d=n(68605),p=n(27478);let h=(0,u.Z)(function e(){(0,l.Z)(this,e)}),m=function(e){function t(e){var n,r,o;return(0,l.Z)(this,t),r=t,r=(0,d.Z)(r),(n=(0,s.Z)(this,(0,f.Z)()?Reflect.construct(r,o||[],(0,d.Z)(this).constructor):r.apply(this,o))).result=0,e instanceof t?n.result=e.result:"number"==typeof e&&(n.result=e),n}return(0,p.Z)(t,e),(0,u.Z)(t,[{key:"add",value:function(e){return e instanceof t?this.result+=e.result:"number"==typeof e&&(this.result+=e),this}},{key:"sub",value:function(e){return e instanceof t?this.result-=e.result:"number"==typeof e&&(this.result-=e),this}},{key:"mul",value:function(e){return e instanceof t?this.result*=e.result:"number"==typeof e&&(this.result*=e),this}},{key:"div",value:function(e){return e instanceof t?this.result/=e.result:"number"==typeof e&&(this.result/=e),this}},{key:"equal",value:function(){return this.result}}]),t}(h),v="CALC_UNIT";function g(e){return"number"==typeof e?"".concat(e).concat(v):e}let y=function(e){function t(e){var n,r,o;return(0,l.Z)(this,t),r=t,r=(0,d.Z)(r),(n=(0,s.Z)(this,(0,f.Z)()?Reflect.construct(r,o||[],(0,d.Z)(this).constructor):r.apply(this,o))).result="",e instanceof t?n.result="(".concat(e.result,")"):"number"==typeof e?n.result=g(e):"string"==typeof e&&(n.result=e),n}return(0,p.Z)(t,e),(0,u.Z)(t,[{key:"add",value:function(e){return e instanceof t?this.result="".concat(this.result," + ").concat(e.getResult()):("number"==typeof e||"string"==typeof e)&&(this.result="".concat(this.result," + ").concat(g(e))),this.lowPriority=!0,this}},{key:"sub",value:function(e){return e instanceof t?this.result="".concat(this.result," - ").concat(e.getResult()):("number"==typeof e||"string"==typeof e)&&(this.result="".concat(this.result," - ").concat(g(e))),this.lowPriority=!0,this}},{key:"mul",value:function(e){return this.lowPriority&&(this.result="(".concat(this.result,")")),e instanceof t?this.result="".concat(this.result," * ").concat(e.getResult(!0)):("number"==typeof e||"string"==typeof e)&&(this.result="".concat(this.result," * ").concat(e)),this.lowPriority=!1,this}},{key:"div",value:function(e){return this.lowPriority&&(this.result="(".concat(this.result,")")),e instanceof t?this.result="".concat(this.result," / ").concat(e.getResult(!0)):("number"==typeof e||"string"==typeof e)&&(this.result="".concat(this.result," / ").concat(e)),this.lowPriority=!1,this}},{key:"getResult",value:function(e){return this.lowPriority||e?"(".concat(this.result,")"):this.result}},{key:"equal",value:function(e){let{unit:t=!0}=e||{},n=RegExp("".concat(v),"g");return(this.result=this.result.replace(n,t?"px":""),void 0!==this.lowPriority)?"calc(".concat(this.result,")"):this.result}}]),t}(h);var b=e=>{let t="css"===e?y:m;return e=>new t(e)},x=n(80316),w=n(28030);let E=(e,t,n)=>{var r;return"function"==typeof n?n((0,x.TS)(t,null!==(r=t[e])&&void 0!==r?r:{})):null!=n?n:{}},O=(e,t,n,r)=>{let o=Object.assign({},t[e]);if(null==r?void 0:r.deprecatedTokens){let{deprecatedTokens:e}=r;e.forEach(e=>{var t;let[n,r]=e;((null==o?void 0:o[n])||(null==o?void 0:o[r]))&&(null!==(t=o[r])&&void 0!==t||(o[r]=null==o?void 0:o[n]))})}let i=Object.assign(Object.assign({},n),o);return Object.keys(i).forEach(e=>{i[e]===t[e]&&delete i[e]}),i},S=(e,t)=>"".concat([t,e.replace(/([A-Z]+)([A-Z][a-z]+)/g,"$1-$2").replace(/([a-z])([A-Z])/g,"$1-$2")].filter(Boolean).join("-"));function C(e,t,n){let l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},u=Array.isArray(e)?e:[e,e],[s]=u,f=u.join("-");return e=>{let[u,d,p,h,m]=(0,c.ZP)(),{getPrefixCls:v,iconPrefixCls:g,csp:y}=(0,r.useContext)(i.E_),C=v(),k=m?"css":"js",j=b(k),{max:P,min:M}="js"===k?{max:Math.max,min:Math.min}:{max:function(){for(var e=arguments.length,t=Array(e),n=0;n(0,o.bf)(e)).join(","),")")},min:function(){for(var e=arguments.length,t=Array(e),n=0;n(0,o.bf)(e)).join(","),")")}},A={theme:u,token:h,hashId:p,nonce:()=>null==y?void 0:y.nonce,clientOnly:l.clientOnly,order:l.order||-999};return(0,o.xy)(Object.assign(Object.assign({},A),{clientOnly:!1,path:["Shared",C]}),()=>[{"&":(0,a.Lx)(h)}]),(0,w.Z)(g,y),[(0,o.xy)(Object.assign(Object.assign({},A),{path:[f,e,g]}),()=>{if(!1===l.injectStyle)return[];let{token:r,flush:i}=(0,x.ZP)(h),c=E(s,d,n),u=".".concat(e),f=O(s,d,c,{deprecatedTokens:l.deprecatedTokens});m&&Object.keys(c).forEach(e=>{c[e]="var(".concat((0,o.ks)(e,S(s,m.prefix)),")")});let v=(0,x.TS)(r,{componentCls:u,prefixCls:e,iconCls:".".concat(g),antCls:".".concat(C),calc:j,max:P,min:M},m?c:f),y=t(v,{hashId:p,prefixCls:e,rootPrefixCls:C,iconPrefixCls:g});return i(s,f),[!1===l.resetStyle?null:(0,a.du)(v,e),y]}),p]}}let k=(e,t,n,r)=>{let o=C(e,t,n,Object.assign({resetStyle:!1,order:-998},r));return e=>{let{prefixCls:t}=e;return o(t),null}},j=(e,t,n)=>{function i(t){return"".concat(e).concat(t.slice(0,1).toUpperCase()).concat(t.slice(1))}let{unitless:a={},injectStyle:l=!0}=null!=n?n:{},u={[i("zIndexPopup")]:!0};Object.keys(a).forEach(e=>{u[i(e)]=a[e]});let s=r=>{let{rootCls:a,cssVar:l}=r,[,s]=(0,c.ZP)();return(0,o.CI)({path:[e],prefix:l.prefix,key:null==l?void 0:l.key,unitless:Object.assign(Object.assign({},c.NJ),u),ignore:c.ID,token:s,scope:a},()=>{let r=E(e,s,t),o=O(e,s,r,{deprecatedTokens:null==n?void 0:n.deprecatedTokens});return Object.keys(r).forEach(e=>{o[i(e)]=o[e],delete o[e]}),o}),null};return t=>{let[,,,,n]=(0,c.ZP)();return[o=>l&&n?r.createElement(r.Fragment,null,r.createElement(s,{rootCls:t,cssVar:n,component:e}),o):o,null==n?void 0:n.key]}},P=(e,t,n,r)=>{let o=C(e,t,n,r),i=j(Array.isArray(e)?e[0]:e,n,r);return function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,[,n]=o(e),[r,a]=i(t);return[r,n,a]}}},80316:function(e,t,n){n.d(t,{TS:function(){return i}});let r="undefined"!=typeof CSSINJS_STATISTIC,o=!0;function i(){for(var e=arguments.length,t=Array(e),n=0;n{Object.keys(e).forEach(t=>{Object.defineProperty(i,t,{configurable:!0,enumerable:!0,get:()=>e[t]})})}),o=!0,i}let a={};function c(){}t.ZP=e=>{let t;let n=e,i=c;return r&&"undefined"!=typeof Proxy&&(t=new Set,n=new Proxy(e,{get:(e,n)=>(o&&t.add(n),e[n])}),i=(e,n)=>{var r;a[e]={global:Array.from(t),component:Object.assign(Object.assign({},null===(r=a[e])||void 0===r?void 0:r.component),n)}}),{token:n,keys:t,flush:i}}},28030:function(e,t,n){var r=n(8985),o=n(11303),i=n(24750);t.Z=(e,t)=>{let[n,a]=(0,i.ZP)();return(0,r.xy)({theme:n,token:a,hashId:"",path:["ant-design-icons",e],nonce:()=>null==t?void 0:t.nonce},()=>[{[".".concat(e)]:Object.assign(Object.assign({},(0,o.Ro)()),{[".".concat(e," .").concat(e,"-icon")]:{display:"block"}})}])}},47104:function(e,t,n){n.d(t,{Z:function(){return V}});var r=n(64090),o=n(16480),i=n.n(o);function a(e){var t=e.children,n=e.prefixCls,o=e.id,a=e.overlayInnerStyle,c=e.className,l=e.style;return r.createElement("div",{className:i()("".concat(n,"-content"),c),style:l},r.createElement("div",{className:"".concat(n,"-inner"),id:o,role:"tooltip",style:a},"function"==typeof t?t():t))}var c=n(14749),l=n(5239),u=n(6787),s=n(44101),f={shiftX:64,adjustY:1},d={adjustX:1,shiftY:!0},p=[0,0],h={left:{points:["cr","cl"],overflow:d,offset:[-4,0],targetOffset:p},right:{points:["cl","cr"],overflow:d,offset:[4,0],targetOffset:p},top:{points:["bc","tc"],overflow:f,offset:[0,-4],targetOffset:p},bottom:{points:["tc","bc"],overflow:f,offset:[0,4],targetOffset:p},topLeft:{points:["bl","tl"],overflow:f,offset:[0,-4],targetOffset:p},leftTop:{points:["tr","tl"],overflow:d,offset:[-4,0],targetOffset:p},topRight:{points:["br","tr"],overflow:f,offset:[0,-4],targetOffset:p},rightTop:{points:["tl","tr"],overflow:d,offset:[4,0],targetOffset:p},bottomRight:{points:["tr","br"],overflow:f,offset:[0,4],targetOffset:p},rightBottom:{points:["bl","br"],overflow:d,offset:[4,0],targetOffset:p},bottomLeft:{points:["tl","bl"],overflow:f,offset:[0,4],targetOffset:p},leftBottom:{points:["br","bl"],overflow:d,offset:[-4,0],targetOffset:p}},m=["overlayClassName","trigger","mouseEnterDelay","mouseLeaveDelay","overlayStyle","prefixCls","children","onVisibleChange","afterVisibleChange","transitionName","animation","motion","placement","align","destroyTooltipOnHide","defaultVisible","getTooltipContainer","overlayInnerStyle","arrowContent","overlay","id","showArrow"],v=(0,r.forwardRef)(function(e,t){var n=e.overlayClassName,o=e.trigger,i=e.mouseEnterDelay,f=e.mouseLeaveDelay,d=e.overlayStyle,p=e.prefixCls,v=void 0===p?"rc-tooltip":p,g=e.children,y=e.onVisibleChange,b=e.afterVisibleChange,x=e.transitionName,w=e.animation,E=e.motion,O=e.placement,S=e.align,C=e.destroyTooltipOnHide,k=e.defaultVisible,j=e.getTooltipContainer,P=e.overlayInnerStyle,M=(e.arrowContent,e.overlay),A=e.id,T=e.showArrow,N=(0,u.Z)(e,m),I=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,function(){return I.current});var Z=(0,l.Z)({},N);return"visible"in e&&(Z.popupVisible=e.visible),r.createElement(s.Z,(0,c.Z)({popupClassName:n,prefixCls:v,popup:function(){return r.createElement(a,{key:"content",prefixCls:v,id:A,overlayInnerStyle:P},M)},action:void 0===o?["hover"]:o,builtinPlacements:h,popupPlacement:void 0===O?"right":O,ref:I,popupAlign:void 0===S?{}:S,getPopupContainer:j,onPopupVisibleChange:y,afterPopupVisibleChange:b,popupTransitionName:x,popupAnimation:w,popupMotion:E,defaultPopupVisible:k,autoDestroy:void 0!==C&&C,mouseLeaveDelay:void 0===f?.1:f,popupStyle:d,mouseEnterDelay:void 0===i?0:i,arrow:void 0===T||T},Z),g)}),g=n(44329),y=n(51761),b=n(47387),x=n(8985);let w=(e,t,n)=>{let{sizePopupArrow:r,arrowPolygon:o,arrowPath:i,arrowShadowWidth:a,borderRadiusXS:c,calc:l}=e;return{pointerEvents:"none",width:r,height:r,overflow:"hidden","&::before":{position:"absolute",bottom:0,insetInlineStart:0,width:r,height:l(r).div(2).equal(),background:t,clipPath:{_multi_value_:!0,value:[o,i]},content:'""'},"&::after":{content:'""',position:"absolute",width:a,height:a,bottom:0,insetInline:0,margin:"auto",borderRadius:{_skip_check_:!0,value:"0 0 ".concat((0,x.bf)(c)," 0")},transform:"translateY(50%) rotate(-135deg)",boxShadow:n,zIndex:0,background:"transparent"}}};function E(e){let{contentRadius:t,limitVerticalRadius:n}=e,r=t>12?t+2:12;return{arrowOffsetHorizontal:r,arrowOffsetVertical:n?8:r}}let O={left:{points:["cr","cl"]},right:{points:["cl","cr"]},top:{points:["bc","tc"]},bottom:{points:["tc","bc"]},topLeft:{points:["bl","tl"]},leftTop:{points:["tr","tl"]},topRight:{points:["br","tr"]},rightTop:{points:["tl","tr"]},bottomRight:{points:["tr","br"]},rightBottom:{points:["bl","br"]},bottomLeft:{points:["tl","bl"]},leftBottom:{points:["br","bl"]}},S={topLeft:{points:["bl","tc"]},leftTop:{points:["tr","cl"]},topRight:{points:["br","tc"]},rightTop:{points:["tl","cr"]},bottomRight:{points:["tr","bc"]},rightBottom:{points:["bl","cr"]},bottomLeft:{points:["tl","bc"]},leftBottom:{points:["br","cl"]}},C=new Set(["topLeft","topRight","bottomLeft","bottomRight","leftTop","leftBottom","rightTop","rightBottom"]);var k=n(65823),j=n(76564),P=n(86718),M=n(57499),A=n(92801),T=n(24750),N=n(11303),I=n(58854);let Z=["blue","purple","cyan","green","magenta","pink","red","orange","yellow","volcano","geekblue","lime","gold"];var R=n(80316),_=n(76585);let D=e=>{var t;let{componentCls:n,tooltipMaxWidth:r,tooltipColor:o,tooltipBg:i,tooltipBorderRadius:a,zIndexPopup:c,controlHeight:l,boxShadowSecondary:u,paddingSM:s,paddingXS:f}=e;return[{[n]:Object.assign(Object.assign(Object.assign(Object.assign({},(0,N.Wf)(e)),{position:"absolute",zIndex:c,display:"block",width:"max-content",maxWidth:r,visibility:"visible",transformOrigin:"var(--arrow-x, 50%) var(--arrow-y, 50%)","&-hidden":{display:"none"},"--antd-arrow-background-color":i,["".concat(n,"-inner")]:{minWidth:l,minHeight:l,padding:"".concat((0,x.bf)(e.calc(s).div(2).equal())," ").concat((0,x.bf)(f)),color:o,textAlign:"start",textDecoration:"none",wordWrap:"break-word",backgroundColor:i,borderRadius:a,boxShadow:u,boxSizing:"border-box"},"&-placement-left,&-placement-leftTop,&-placement-leftBottom,&-placement-right,&-placement-rightTop,&-placement-rightBottom":{["".concat(n,"-inner")]:{borderRadius:e.min(a,8)}},["".concat(n,"-content")]:{position:"relative"}}),(t=(e,t)=>{let{darkColor:r}=t;return{["&".concat(n,"-").concat(e)]:{["".concat(n,"-inner")]:{backgroundColor:r},["".concat(n,"-arrow")]:{"--antd-arrow-background-color":r}}}},Z.reduce((n,r)=>{let o=e["".concat(r,"1")],i=e["".concat(r,"3")],a=e["".concat(r,"6")],c=e["".concat(r,"7")];return Object.assign(Object.assign({},n),t(r,{lightColor:o,lightBorderColor:i,darkColor:a,textColor:c}))},{}))),{"&-rtl":{direction:"rtl"}})},function(e,t,n){var r,o,i,a,c,l,u,s;let{componentCls:f,boxShadowPopoverArrow:d,arrowOffsetVertical:p,arrowOffsetHorizontal:h}=e,{arrowDistance:m=0,arrowPlacement:v={left:!0,right:!0,top:!0,bottom:!0}}={};return{[f]:Object.assign(Object.assign(Object.assign(Object.assign({["".concat(f,"-arrow")]:[Object.assign(Object.assign({position:"absolute",zIndex:1,display:"block"},w(e,t,d)),{"&:before":{background:t}})]},(r=!!v.top,o={[["&-placement-top > ".concat(f,"-arrow"),"&-placement-topLeft > ".concat(f,"-arrow"),"&-placement-topRight > ".concat(f,"-arrow")].join(",")]:{bottom:m,transform:"translateY(100%) rotate(180deg)"},["&-placement-top > ".concat(f,"-arrow")]:{left:{_skip_check_:!0,value:"50%"},transform:"translateX(-50%) translateY(100%) rotate(180deg)"},["&-placement-topLeft > ".concat(f,"-arrow")]:{left:{_skip_check_:!0,value:h}},["&-placement-topRight > ".concat(f,"-arrow")]:{right:{_skip_check_:!0,value:h}}},r?o:{})),(i=!!v.bottom,a={[["&-placement-bottom > ".concat(f,"-arrow"),"&-placement-bottomLeft > ".concat(f,"-arrow"),"&-placement-bottomRight > ".concat(f,"-arrow")].join(",")]:{top:m,transform:"translateY(-100%)"},["&-placement-bottom > ".concat(f,"-arrow")]:{left:{_skip_check_:!0,value:"50%"},transform:"translateX(-50%) translateY(-100%)"},["&-placement-bottomLeft > ".concat(f,"-arrow")]:{left:{_skip_check_:!0,value:h}},["&-placement-bottomRight > ".concat(f,"-arrow")]:{right:{_skip_check_:!0,value:h}}},i?a:{})),(c=!!v.left,l={[["&-placement-left > ".concat(f,"-arrow"),"&-placement-leftTop > ".concat(f,"-arrow"),"&-placement-leftBottom > ".concat(f,"-arrow")].join(",")]:{right:{_skip_check_:!0,value:m},transform:"translateX(100%) rotate(90deg)"},["&-placement-left > ".concat(f,"-arrow")]:{top:{_skip_check_:!0,value:"50%"},transform:"translateY(-50%) translateX(100%) rotate(90deg)"},["&-placement-leftTop > ".concat(f,"-arrow")]:{top:p},["&-placement-leftBottom > ".concat(f,"-arrow")]:{bottom:p}},c?l:{})),(u=!!v.right,s={[["&-placement-right > ".concat(f,"-arrow"),"&-placement-rightTop > ".concat(f,"-arrow"),"&-placement-rightBottom > ".concat(f,"-arrow")].join(",")]:{left:{_skip_check_:!0,value:m},transform:"translateX(-100%) rotate(-90deg)"},["&-placement-right > ".concat(f,"-arrow")]:{top:{_skip_check_:!0,value:"50%"},transform:"translateY(-50%) translateX(-100%) rotate(-90deg)"},["&-placement-rightTop > ".concat(f,"-arrow")]:{top:p},["&-placement-rightBottom > ".concat(f,"-arrow")]:{bottom:p}},u?s:{}))}}(e,"var(--antd-arrow-background-color)"),{["".concat(n,"-pure")]:{position:"relative",maxWidth:"none",margin:e.sizePopupArrow}}]},B=e=>Object.assign(Object.assign({zIndexPopup:e.zIndexPopupBase+70},E({contentRadius:e.borderRadius,limitVerticalRadius:!0})),function(e){let{sizePopupArrow:t,borderRadiusXS:n,borderRadiusOuter:r}=e,o=t/2,i=1*r/Math.sqrt(2),a=o-r*(1-1/Math.sqrt(2)),c=o-1/Math.sqrt(2)*n,l=r*(Math.sqrt(2)-1)+1/Math.sqrt(2)*n,u=2*o-c,s=2*o-i,f=2*o-0,d=o*Math.sqrt(2)+r*(Math.sqrt(2)-2),p=r*(Math.sqrt(2)-1),h="polygon(".concat(p,"px 100%, 50% ").concat(p,"px, ").concat(2*o-p,"px 100%, ").concat(p,"px 100%)");return{arrowShadowWidth:d,arrowPath:"path('M ".concat(0," ").concat(o," A ").concat(r," ").concat(r," 0 0 0 ").concat(i," ").concat(a," L ").concat(c," ").concat(l," A ").concat(n," ").concat(n," 0 0 1 ").concat(u," ").concat(l," L ").concat(s," ").concat(a," A ").concat(r," ").concat(r," 0 0 0 ").concat(f," ").concat(o," Z')"),arrowPolygon:h}}((0,R.TS)(e,{borderRadiusOuter:Math.min(e.borderRadiusOuter,4)})));function L(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return(0,_.I$)("Tooltip",e=>{let{borderRadius:t,colorTextLightSolid:n,colorBgSpotlight:r}=e;return[D((0,R.TS)(e,{tooltipMaxWidth:250,tooltipColor:n,tooltipBorderRadius:t,tooltipBg:r})),(0,I._y)(e,"zoom-big-fast")]},B,{resetStyle:!1,injectStyle:t})(e)}var z=n(63787);let F=Z.map(e=>"".concat(e,"-inverse"));function H(e,t){let n=function(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return t?[].concat((0,z.Z)(F),(0,z.Z)(Z)).includes(e):Z.includes(e)}(t),r=i()({["".concat(e,"-").concat(t)]:t&&n}),o={},a={};return t&&!n&&(o.background=t,a["--antd-arrow-background-color"]=t),{className:r,overlayStyle:o,arrowStyle:a}}var W=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);ot.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n};let q=r.forwardRef((e,t)=>{var n,o;let{prefixCls:a,openClassName:c,getTooltipContainer:l,overlayClassName:u,color:s,overlayInnerStyle:f,children:d,afterOpenChange:p,afterVisibleChange:h,destroyTooltipOnHide:m,arrow:x=!0,title:w,overlay:N,builtinPlacements:I,arrowPointAtCenter:Z=!1,autoAdjustOverflow:R=!0}=e,_=!!x,[,D]=(0,T.ZP)(),{getPopupContainer:B,getPrefixCls:z,direction:F}=r.useContext(M.E_),q=(0,j.ln)("Tooltip"),V=r.useRef(null),U=()=>{var e;null===(e=V.current)||void 0===e||e.forceAlign()};r.useImperativeHandle(t,()=>({forceAlign:U,forcePopupAlign:()=>{q.deprecated(!1,"forcePopupAlign","forceAlign"),U()}}));let[X,G]=(0,g.Z)(!1,{value:null!==(n=e.open)&&void 0!==n?n:e.visible,defaultValue:null!==(o=e.defaultOpen)&&void 0!==o?o:e.defaultVisible}),K=!w&&!N&&0!==w,$=r.useMemo(()=>{var e,t;let n=Z;return"object"==typeof x&&(n=null!==(t=null!==(e=x.pointAtCenter)&&void 0!==e?e:x.arrowPointAtCenter)&&void 0!==t?t:Z),I||function(e){let{arrowWidth:t,autoAdjustOverflow:n,arrowPointAtCenter:r,offset:o,borderRadius:i,visibleFirst:a}=e,c=t/2,l={};return Object.keys(O).forEach(e=>{let u=Object.assign(Object.assign({},r&&S[e]||O[e]),{offset:[0,0],dynamicInset:!0});switch(l[e]=u,C.has(e)&&(u.autoArrow=!1),e){case"top":case"topLeft":case"topRight":u.offset[1]=-c-o;break;case"bottom":case"bottomLeft":case"bottomRight":u.offset[1]=c+o;break;case"left":case"leftTop":case"leftBottom":u.offset[0]=-c-o;break;case"right":case"rightTop":case"rightBottom":u.offset[0]=c+o}let s=E({contentRadius:i,limitVerticalRadius:!0});if(r)switch(e){case"topLeft":case"bottomLeft":u.offset[0]=-s.arrowOffsetHorizontal-c;break;case"topRight":case"bottomRight":u.offset[0]=s.arrowOffsetHorizontal+c;break;case"leftTop":case"rightTop":u.offset[1]=-s.arrowOffsetHorizontal-c;break;case"leftBottom":case"rightBottom":u.offset[1]=s.arrowOffsetHorizontal+c}u.overflow=function(e,t,n,r){if(!1===r)return{adjustX:!1,adjustY:!1};let o={};switch(e){case"top":case"bottom":o.shiftX=2*t.arrowOffsetHorizontal+n,o.shiftY=!0,o.adjustY=!0;break;case"left":case"right":o.shiftY=2*t.arrowOffsetVertical+n,o.shiftX=!0,o.adjustX=!0}let i=Object.assign(Object.assign({},o),r&&"object"==typeof r?r:{});return i.shiftX||(i.adjustX=!0),i.shiftY||(i.adjustY=!0),i}(e,s,t,n),a&&(u.htmlRegion="visibleFirst")}),l}({arrowPointAtCenter:n,autoAdjustOverflow:R,arrowWidth:_?D.sizePopupArrow:0,borderRadius:D.borderRadius,offset:D.marginXXS,visibleFirst:!0})},[Z,x,I,D]),Y=r.useMemo(()=>0===w?w:N||w||"",[N,w]),Q=r.createElement(A.BR,null,"function"==typeof Y?Y():Y),{getPopupContainer:J,placement:ee="top",mouseEnterDelay:et=.1,mouseLeaveDelay:en=.1,overlayStyle:er,rootClassName:eo}=e,ei=W(e,["getPopupContainer","placement","mouseEnterDelay","mouseLeaveDelay","overlayStyle","rootClassName"]),ea=z("tooltip",a),ec=z(),el=e["data-popover-inject"],eu=X;"open"in e||"visible"in e||!K||(eu=!1);let es=(0,k.l$)(d)&&!(0,k.M2)(d)?d:r.createElement("span",null,d),ef=es.props,ed=ef.className&&"string"!=typeof ef.className?ef.className:i()(ef.className,c||"".concat(ea,"-open")),[ep,eh,em]=L(ea,!el),ev=H(ea,s),eg=ev.arrowStyle,ey=Object.assign(Object.assign({},f),ev.overlayStyle),eb=i()(u,{["".concat(ea,"-rtl")]:"rtl"===F},ev.className,eo,eh,em),[ex,ew]=(0,y.Cn)("Tooltip",ei.zIndex),eE=r.createElement(v,Object.assign({},ei,{zIndex:ex,showArrow:_,placement:ee,mouseEnterDelay:et,mouseLeaveDelay:en,prefixCls:ea,overlayClassName:eb,overlayStyle:Object.assign(Object.assign({},eg),er),getTooltipContainer:J||l||B,ref:V,builtinPlacements:$,overlay:Q,visible:eu,onVisibleChange:t=>{var n,r;G(!K&&t),K||(null===(n=e.onOpenChange)||void 0===n||n.call(e,t),null===(r=e.onVisibleChange)||void 0===r||r.call(e,t))},afterVisibleChange:null!=p?p:h,overlayInnerStyle:ey,arrowContent:r.createElement("span",{className:"".concat(ea,"-arrow-content")}),motion:{motionName:(0,b.m)(ec,"zoom-big-fast",e.transitionName),motionDeadline:1e3},destroyTooltipOnHide:!!m}),eu?(0,k.Tm)(es,{className:ed}):es);return ep(r.createElement(P.Z.Provider,{value:ew},eE))});q._InternalPanelDoNotUseOrYouWillBeFired=e=>{let{prefixCls:t,className:n,placement:o="top",title:c,color:l,overlayInnerStyle:u}=e,{getPrefixCls:s}=r.useContext(M.E_),f=s("tooltip",t),[d,p,h]=L(f),m=H(f,l),v=m.arrowStyle,g=Object.assign(Object.assign({},u),m.overlayStyle),y=i()(p,h,f,"".concat(f,"-pure"),"".concat(f,"-placement-").concat(o),n,m.className);return d(r.createElement("div",{className:y,style:v},r.createElement("div",{className:"".concat(f,"-arrow")}),r.createElement(a,Object.assign({},e,{className:p,prefixCls:f,overlayInnerStyle:g}),c)))};var V=q},6122:function(e,t,n){var r;!function(o){var i,a={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286"},c=!0,l="[DecimalError] ",u=l+"Invalid argument: ",s=l+"Exponent out of range: ",f=Math.floor,d=Math.pow,p=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,h=f(1286742750677284.5),m={};function v(e,t){var n,r,o,i,a,l,u,s,f=e.constructor,d=f.precision;if(!e.s||!t.s)return t.s||(t=new f(e)),c?k(t,d):t;if(u=e.d,s=t.d,a=e.e,o=t.e,u=u.slice(),i=a-o){for(i<0?(r=u,i=-i,l=s.length):(r=s,o=a,l=u.length),i>(l=(a=Math.ceil(d/7))>l?a+1:l+1)&&(i=l,r.length=1),r.reverse();i--;)r.push(0);r.reverse()}for((l=u.length)-(i=s.length)<0&&(i=l,r=s,s=u,u=r),n=0;i;)n=(u[--i]=u[i]+s[i]+n)/1e7|0,u[i]%=1e7;for(n&&(u.unshift(n),++o),l=u.length;0==u[--l];)u.pop();return t.d=u,t.e=o,c?k(t,d):t}function g(e,t,n){if(e!==~~e||en)throw Error(u+e)}function y(e){var t,n,r,o=e.length-1,i="",a=e[0];if(o>0){for(i+=a,t=1;te.e^this.s<0?1:-1;for(t=0,n=(r=this.d.length)<(o=e.d.length)?r:o;te.d[t]^this.s<0?1:-1;return r===o?0:r>o^this.s<0?1:-1},m.decimalPlaces=m.dp=function(){var e=this.d.length-1,t=(e-this.e)*7;if(e=this.d[e])for(;e%10==0;e/=10)t--;return t<0?0:t},m.dividedBy=m.div=function(e){return b(this,new this.constructor(e))},m.dividedToIntegerBy=m.idiv=function(e){var t=this.constructor;return k(b(this,new t(e),0,1),t.precision)},m.equals=m.eq=function(e){return!this.cmp(e)},m.exponent=function(){return w(this)},m.greaterThan=m.gt=function(e){return this.cmp(e)>0},m.greaterThanOrEqualTo=m.gte=function(e){return this.cmp(e)>=0},m.isInteger=m.isint=function(){return this.e>this.d.length-2},m.isNegative=m.isneg=function(){return this.s<0},m.isPositive=m.ispos=function(){return this.s>0},m.isZero=function(){return 0===this.s},m.lessThan=m.lt=function(e){return 0>this.cmp(e)},m.lessThanOrEqualTo=m.lte=function(e){return 1>this.cmp(e)},m.logarithm=m.log=function(e){var t,n=this.constructor,r=n.precision,o=r+5;if(void 0===e)e=new n(10);else if((e=new n(e)).s<1||e.eq(i))throw Error(l+"NaN");if(this.s<1)throw Error(l+(this.s?"NaN":"-Infinity"));return this.eq(i)?new n(0):(c=!1,t=b(S(this,o),S(e,o),o),c=!0,k(t,r))},m.minus=m.sub=function(e){return e=new this.constructor(e),this.s==e.s?j(this,e):v(this,(e.s=-e.s,e))},m.modulo=m.mod=function(e){var t,n=this.constructor,r=n.precision;if(!(e=new n(e)).s)throw Error(l+"NaN");return this.s?(c=!1,t=b(this,e,0,1).times(e),c=!0,this.minus(t)):k(new n(this),r)},m.naturalExponential=m.exp=function(){return x(this)},m.naturalLogarithm=m.ln=function(){return S(this)},m.negated=m.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e},m.plus=m.add=function(e){return e=new this.constructor(e),this.s==e.s?v(this,e):j(this,(e.s=-e.s,e))},m.precision=m.sd=function(e){var t,n,r;if(void 0!==e&&!!e!==e&&1!==e&&0!==e)throw Error(u+e);if(t=w(this)+1,n=7*(r=this.d.length-1)+1,r=this.d[r]){for(;r%10==0;r/=10)n--;for(r=this.d[0];r>=10;r/=10)n++}return e&&t>n?t:n},m.squareRoot=m.sqrt=function(){var e,t,n,r,o,i,a,u=this.constructor;if(this.s<1){if(!this.s)return new u(0);throw Error(l+"NaN")}for(e=w(this),c=!1,0==(o=Math.sqrt(+this))||o==1/0?(((t=y(this.d)).length+e)%2==0&&(t+="0"),o=Math.sqrt(t),e=f((e+1)/2)-(e<0||e%2),r=new u(t=o==1/0?"5e"+e:(t=o.toExponential()).slice(0,t.indexOf("e")+1)+e)):r=new u(o.toString()),o=a=(n=u.precision)+3;;)if(r=(i=r).plus(b(this,i,a+2)).times(.5),y(i.d).slice(0,a)===(t=y(r.d)).slice(0,a)){if(t=t.slice(a-3,a+1),o==a&&"4999"==t){if(k(i,n+1,0),i.times(i).eq(this)){r=i;break}}else if("9999"!=t)break;a+=4}return c=!0,k(r,n)},m.times=m.mul=function(e){var t,n,r,o,i,a,l,u,s,f=this.constructor,d=this.d,p=(e=new f(e)).d;if(!this.s||!e.s)return new f(0);for(e.s*=this.s,n=this.e+e.e,(u=d.length)<(s=p.length)&&(i=d,d=p,p=i,a=u,u=s,s=a),i=[],r=a=u+s;r--;)i.push(0);for(r=s;--r>=0;){for(t=0,o=u+r;o>r;)l=i[o]+p[r]*d[o-r-1]+t,i[o--]=l%1e7|0,t=l/1e7|0;i[o]=(i[o]+t)%1e7|0}for(;!i[--a];)i.pop();return t?++n:i.shift(),e.d=i,e.e=n,c?k(e,f.precision):e},m.toDecimalPlaces=m.todp=function(e,t){var n=this,r=n.constructor;return(n=new r(n),void 0===e)?n:(g(e,0,1e9),void 0===t?t=r.rounding:g(t,0,8),k(n,e+w(n)+1,t))},m.toExponential=function(e,t){var n,r=this,o=r.constructor;return void 0===e?n=P(r,!0):(g(e,0,1e9),void 0===t?t=o.rounding:g(t,0,8),n=P(r=k(new o(r),e+1,t),!0,e+1)),n},m.toFixed=function(e,t){var n,r,o=this.constructor;return void 0===e?P(this):(g(e,0,1e9),void 0===t?t=o.rounding:g(t,0,8),n=P((r=k(new o(this),e+w(this)+1,t)).abs(),!1,e+w(r)+1),this.isneg()&&!this.isZero()?"-"+n:n)},m.toInteger=m.toint=function(){var e=this.constructor;return k(new e(this),w(this)+1,e.rounding)},m.toNumber=function(){return+this},m.toPower=m.pow=function(e){var t,n,r,o,a,u,s=this,d=s.constructor,p=+(e=new d(e));if(!e.s)return new d(i);if(!(s=new d(s)).s){if(e.s<1)throw Error(l+"Infinity");return s}if(s.eq(i))return s;if(r=d.precision,e.eq(i))return k(s,r);if(u=(t=e.e)>=(n=e.d.length-1),a=s.s,u){if((n=p<0?-p:p)<=9007199254740991){for(o=new d(i),t=Math.ceil(r/7+4),c=!1;n%2&&M((o=o.times(s)).d,t),0!==(n=f(n/2));)M((s=s.times(s)).d,t);return c=!0,e.s<0?new d(i).div(o):k(o,r)}}else if(a<0)throw Error(l+"NaN");return a=a<0&&1&e.d[Math.max(t,n)]?-1:1,s.s=1,c=!1,o=e.times(S(s,r+12)),c=!0,(o=x(o)).s=a,o},m.toPrecision=function(e,t){var n,r,o=this,i=o.constructor;return void 0===e?(n=w(o),r=P(o,n<=i.toExpNeg||n>=i.toExpPos)):(g(e,1,1e9),void 0===t?t=i.rounding:g(t,0,8),n=w(o=k(new i(o),e,t)),r=P(o,e<=n||n<=i.toExpNeg,e)),r},m.toSignificantDigits=m.tosd=function(e,t){var n=this.constructor;return void 0===e?(e=n.precision,t=n.rounding):(g(e,1,1e9),void 0===t?t=n.rounding:g(t,0,8)),k(new n(this),e,t)},m.toString=m.valueOf=m.val=m.toJSON=function(){var e=w(this),t=this.constructor;return P(this,e<=t.toExpNeg||e>=t.toExpPos)};var b=function(){function e(e,t){var n,r=0,o=e.length;for(e=e.slice();o--;)n=e[o]*t+r,e[o]=n%1e7|0,r=n/1e7|0;return r&&e.unshift(r),e}function t(e,t,n,r){var o,i;if(n!=r)i=n>r?1:-1;else for(o=i=0;ot[o]?1:-1;break}return i}function n(e,t,n){for(var r=0;n--;)e[n]-=r,r=e[n]1;)e.shift()}return function(r,o,i,a){var c,u,s,f,d,p,h,m,v,g,y,b,x,E,O,S,C,j,P=r.constructor,M=r.s==o.s?1:-1,A=r.d,T=o.d;if(!r.s)return new P(r);if(!o.s)throw Error(l+"Division by zero");for(s=0,u=r.e-o.e,C=T.length,O=A.length,m=(h=new P(M)).d=[];T[s]==(A[s]||0);)++s;if(T[s]>(A[s]||0)&&--u,(b=null==i?i=P.precision:a?i+(w(r)-w(o))+1:i)<0)return new P(0);if(b=b/7+2|0,s=0,1==C)for(f=0,T=T[0],b++;(s1&&(T=e(T,f),A=e(A,f),C=T.length,O=A.length),E=C,g=(v=A.slice(0,C)).length;g=1e7/2&&++S;do f=0,(c=t(T,v,C,g))<0?(y=v[0],C!=g&&(y=1e7*y+(v[1]||0)),(f=y/S|0)>1?(f>=1e7&&(f=1e7-1),p=(d=e(T,f)).length,g=v.length,1==(c=t(d,v,p,g))&&(f--,n(d,C16)throw Error(s+w(e));if(!e.s)return new p(i);for(null==t?(c=!1,l=h):l=t,a=new p(.03125);e.abs().gte(.1);)e=e.times(a),f+=5;for(l+=Math.log(d(2,f))/Math.LN10*2+5|0,n=r=o=new p(i),p.precision=l;;){if(r=k(r.times(e),l),n=n.times(++u),y((a=o.plus(b(r,n,l))).d).slice(0,l)===y(o.d).slice(0,l)){for(;f--;)o=k(o.times(o),l);return p.precision=h,null==t?(c=!0,k(o,h)):o}o=a}}function w(e){for(var t=7*e.e,n=e.d[0];n>=10;n/=10)t++;return t}function E(e,t,n){if(t>e.LN10.sd())throw c=!0,n&&(e.precision=n),Error(l+"LN10 precision limit exceeded");return k(new e(e.LN10),t)}function O(e){for(var t="";e--;)t+="0";return t}function S(e,t){var n,r,o,a,u,s,f,d,p,h=1,m=e,v=m.d,g=m.constructor,x=g.precision;if(m.s<1)throw Error(l+(m.s?"NaN":"-Infinity"));if(m.eq(i))return new g(0);if(null==t?(c=!1,d=x):d=t,m.eq(10))return null==t&&(c=!0),E(g,d);if(d+=10,g.precision=d,r=(n=y(v)).charAt(0),!(15e14>Math.abs(a=w(m))))return f=E(g,d+2,x).times(a+""),m=S(new g(r+"."+n.slice(1)),d-10).plus(f),g.precision=x,null==t?(c=!0,k(m,x)):m;for(;r<7&&1!=r||1==r&&n.charAt(1)>3;)r=(n=y((m=m.times(e)).d)).charAt(0),h++;for(a=w(m),r>1?(m=new g("0."+n),a++):m=new g(r+"."+n.slice(1)),s=u=m=b(m.minus(i),m.plus(i),d),p=k(m.times(m),d),o=3;;){if(u=k(u.times(p),d),y((f=s.plus(b(u,new g(o),d))).d).slice(0,d)===y(s.d).slice(0,d))return s=s.times(2),0!==a&&(s=s.plus(E(g,d+2,x).times(a+""))),s=b(s,new g(h),d),g.precision=x,null==t?(c=!0,k(s,x)):s;s=f,o+=2}}function C(e,t){var n,r,o;for((n=t.indexOf("."))>-1&&(t=t.replace(".","")),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;48===t.charCodeAt(r);)++r;for(o=t.length;48===t.charCodeAt(o-1);)--o;if(t=t.slice(r,o)){if(o-=r,n=n-r-1,e.e=f(n/7),e.d=[],r=(n+1)%7,n<0&&(r+=7),rh||e.e<-h))throw Error(s+n)}else e.s=0,e.e=0,e.d=[0];return e}function k(e,t,n){var r,o,i,a,l,u,p,m,v=e.d;for(a=1,i=v[0];i>=10;i/=10)a++;if((r=t-a)<0)r+=7,o=t,p=v[m=0];else{if((m=Math.ceil((r+1)/7))>=(i=v.length))return e;for(a=1,p=i=v[m];i>=10;i/=10)a++;r%=7,o=r-7+a}if(void 0!==n&&(l=p/(i=d(10,a-o-1))%10|0,u=t<0||void 0!==v[m+1]||p%i,u=n<4?(l||u)&&(0==n||n==(e.s<0?3:2)):l>5||5==l&&(4==n||u||6==n&&(r>0?o>0?p/d(10,a-o):0:v[m-1])%10&1||n==(e.s<0?8:7))),t<1||!v[0])return u?(i=w(e),v.length=1,t=t-i-1,v[0]=d(10,(7-t%7)%7),e.e=f(-t/7)||0):(v.length=1,v[0]=e.e=e.s=0),e;if(0==r?(v.length=m,i=1,m--):(v.length=m+1,i=d(10,7-r),v[m]=o>0?(p/d(10,a-o)%d(10,o)|0)*i:0),u)for(;;){if(0==m){1e7==(v[0]+=i)&&(v[0]=1,++e.e);break}if(v[m]+=i,1e7!=v[m])break;v[m--]=0,i=1}for(r=v.length;0===v[--r];)v.pop();if(c&&(e.e>h||e.e<-h))throw Error(s+w(e));return e}function j(e,t){var n,r,o,i,a,l,u,s,f,d,p=e.constructor,h=p.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new p(e),c?k(t,h):t;if(u=e.d,d=t.d,r=t.e,s=e.e,u=u.slice(),a=s-r){for((f=a<0)?(n=u,a=-a,l=d.length):(n=d,r=s,l=u.length),a>(o=Math.max(Math.ceil(h/7),l)+2)&&(a=o,n.length=1),n.reverse(),o=a;o--;)n.push(0);n.reverse()}else{for((f=(o=u.length)<(l=d.length))&&(l=o),o=0;o0;--o)u[l++]=0;for(o=d.length;o>a;){if(u[--o]0?i=i.charAt(0)+"."+i.slice(1)+O(r):a>1&&(i=i.charAt(0)+"."+i.slice(1)),i=i+(o<0?"e":"e+")+o):o<0?(i="0."+O(-o-1)+i,n&&(r=n-a)>0&&(i+=O(r))):o>=a?(i+=O(o+1-a),n&&(r=n-o-1)>0&&(i=i+"."+O(r))):((r=o+1)0&&(o+1===a&&(i+="."),i+=O(r))),e.s<0?"-"+i:i}function M(e,t){if(e.length>t)return e.length=t,!0}function A(e){if(!e||"object"!=typeof e)throw Error(l+"Object expected");var t,n,r,o=["precision",1,1e9,"rounding",0,8,"toExpNeg",-1/0,0,"toExpPos",0,1/0];for(t=0;t=o[t+1]&&r<=o[t+2])this[n]=r;else throw Error(u+n+": "+r)}if(void 0!==(r=e[n="LN10"])){if(r==Math.LN10)this[n]=new this(r);else throw Error(u+n+": "+r)}return this}(a=function e(t){var n,r,o;function i(e){if(!(this instanceof i))return new i(e);if(this.constructor=i,e instanceof i){this.s=e.s,this.e=e.e,this.d=(e=e.d)?e.slice():e;return}if("number"==typeof e){if(0*e!=0)throw Error(u+e);if(e>0)this.s=1;else if(e<0)e=-e,this.s=-1;else{this.s=0,this.e=0,this.d=[0];return}if(e===~~e&&e<1e7){this.e=0,this.d=[e];return}return C(this,e.toString())}if("string"!=typeof e)throw Error(u+e);if(45===e.charCodeAt(0)?(e=e.slice(1),this.s=-1):this.s=1,p.test(e))C(this,e);else throw Error(u+e)}if(i.prototype=m,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=e,i.config=i.set=A,void 0===t&&(t={}),t)for(n=0,o=["precision","rounding","toExpNeg","toExpPos","LN10"];n-1}},64797:function(e){e.exports=function(e,t,n){for(var r=-1,o=null==e?0:e.length;++r0&&i(s)?n>1?e(s,n-1,i,a,c):r(c,s):a||(c[c.length]=s)}return c}},94410:function(e,t,n){var r=n(320)();e.exports=r},77458:function(e,t,n){var r=n(94410),o=n(39406);e.exports=function(e,t){return e&&r(e,t,o)}},38824:function(e,t,n){var r=n(53066),o=n(217);e.exports=function(e,t){t=r(t,e);for(var n=0,i=t.length;null!=e&&nt}},69959:function(e){e.exports=function(e,t){return null!=e&&t in Object(e)}},77095:function(e,t,n){var r=n(47495),o=n(77562),i=n(48150);e.exports=function(e,t,n){return t==t?i(e,t,n):r(e,o,n)}},63686:function(e,t,n){var r=n(7976),o=n(19340);e.exports=function(e){return o(e)&&"[object Arguments]"==r(e)}},29759:function(e,t,n){var r=n(28685),o=n(19340);e.exports=function e(t,n,i,a,c){return t===n||(null!=t&&null!=n&&(o(t)||o(n))?r(t,n,i,a,e,c):t!=t&&n!=n)}},28685:function(e,t,n){var r=n(4380),o=n(63859),i=n(41020),a=n(10701),c=n(96770),l=n(95059),u=n(64843),s=n(30484),f="[object Arguments]",d="[object Array]",p="[object Object]",h=Object.prototype.hasOwnProperty;e.exports=function(e,t,n,m,v,g){var y=l(e),b=l(t),x=y?d:c(e),w=b?d:c(t);x=x==f?p:x,w=w==f?p:w;var E=x==p,O=w==p,S=x==w;if(S&&u(e)){if(!u(t))return!1;y=!0,E=!1}if(S&&!E)return g||(g=new r),y||s(e)?o(e,t,n,m,v,g):i(e,t,x,n,m,v,g);if(!(1&n)){var C=E&&h.call(e,"__wrapped__"),k=O&&h.call(t,"__wrapped__");if(C||k){var j=C?e.value():e,P=k?t.value():t;return g||(g=new r),v(j,P,n,m,g)}}return!!S&&(g||(g=new r),a(e,t,n,m,v,g))}},59165:function(e,t,n){var r=n(4380),o=n(29759);e.exports=function(e,t,n,i){var a=n.length,c=a,l=!i;if(null==e)return!c;for(e=Object(e);a--;){var u=n[a];if(l&&u[2]?u[1]!==e[u[0]]:!(u[0]in e))return!1}for(;++ao?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var i=Array(o);++r=200){var m=t?null:c(e);if(m)return l(m);d=!1,s=a,h=new r}else h=t?[]:p;t:for(;++u=o?e:r(e,t,n)}},9058:function(e,t,n){var r=n(62704);e.exports=function(e,t){if(e!==t){var n=void 0!==e,o=null===e,i=e==e,a=r(e),c=void 0!==t,l=null===t,u=t==t,s=r(t);if(!l&&!s&&!a&&e>t||a&&c&&u&&!l&&!s||o&&c&&u||!n&&u||!i)return 1;if(!o&&!a&&!s&&e=l)return u;return u*("desc"==n[o]?-1:1)}}return e.index-t.index}},35852:function(e,t,n){var r=n(67741)["__core-js_shared__"];e.exports=r},91502:function(e,t,n){var r=n(10187);e.exports=function(e,t){return function(n,o){if(null==n)return n;if(!r(n))return e(n,o);for(var i=n.length,a=t?i:-1,c=Object(n);(t?a--:++a-1?c[l?t[u]:u]:void 0}}},16519:function(e,t,n){var r=n(67535),o=n(45021),i=n(55038);e.exports=function(e){return function(t,n,a){return a&&"number"!=typeof a&&o(t,n,a)&&(n=a=void 0),t=i(t),void 0===n?(n=t,t=0):n=i(n),a=void 0===a?ts))return!1;var d=l.get(e),p=l.get(t);if(d&&p)return d==t&&p==e;var h=-1,m=!0,v=2&n?new r:void 0;for(l.set(e,t),l.set(t,e);++h-1&&e%1==0&&e-1}},42572:function(e,t,n){var r=n(89329);e.exports=function(e,t){var n=this.__data__,o=r(n,e);return o<0?(++this.size,n.push([e,t])):n[o][1]=t,this}},26528:function(e,t,n){var r=n(68193),o=n(5835),i=n(58246);e.exports=function(){this.size=0,this.__data__={hash:new r,map:new(i||o),string:new r}}},90972:function(e,t,n){var r=n(72080);e.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}},55981:function(e,t,n){var r=n(72080);e.exports=function(e){return r(this,e).get(e)}},76656:function(e,t,n){var r=n(72080);e.exports=function(e){return r(this,e).has(e)}},45541:function(e,t,n){var r=n(72080);e.exports=function(e,t){var n=r(this,e),o=n.size;return n.set(e,t),this.size+=n.size==o?0:1,this}},38737:function(e){e.exports=function(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}},69794:function(e){e.exports=function(e,t){return function(n){return null!=n&&n[e]===t&&(void 0!==t||e in Object(n))}}},53092:function(e,t,n){var r=n(49512);e.exports=function(e){var t=r(e,function(e){return 500===n.size&&n.clear(),e}),n=t.cache;return t}},83463:function(e,t,n){var r=n(93245)(Object,"create");e.exports=r},51678:function(e,t,n){var r=n(93332)(Object.keys,Object);e.exports=r},16474:function(e,t,n){e=n.nmd(e);var r=n(58584),o=t&&!t.nodeType&&t,i=o&&e&&!e.nodeType&&e,a=i&&i.exports===o&&r.process,c=function(){try{var e=i&&i.require&&i.require("util").types;if(e)return e;return a&&a.binding&&a.binding("util")}catch(e){}}();e.exports=c},8611:function(e){var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},93332:function(e){e.exports=function(e,t){return function(n){return e(t(n))}}},7157:function(e,t,n){var r=n(24821),o=Math.max;e.exports=function(e,t,n){return t=o(void 0===t?e.length-1:t,0),function(){for(var i=arguments,a=-1,c=o(i.length-t,0),l=Array(c);++a0){if(++n>=800)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}},4800:function(e,t,n){var r=n(5835);e.exports=function(){this.__data__=new r,this.size=0}},73987:function(e){e.exports=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}},59728:function(e){e.exports=function(e){return this.__data__.get(e)}},4146:function(e){e.exports=function(e){return this.__data__.has(e)}},81333:function(e,t,n){var r=n(5835),o=n(58246),i=n(93785);e.exports=function(e,t){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!o||a.length<199)return a.push([e,t]),this.size=++n.size,this;n=this.__data__=new i(a)}return n.set(e,t),this.size=n.size,this}},48150:function(e){e.exports=function(e,t,n){for(var r=n-1,o=e.length;++r=t||n<0||v&&r>=s}function x(){var e,n,r,i=o();if(b(i))return w(i);d=setTimeout(x,(e=i-p,n=i-h,r=t-e,v?c(r,s-n):r))}function w(e){return(d=void 0,g&&l)?y(e):(l=u=void 0,f)}function E(){var e,n=o(),r=b(n);if(l=arguments,u=this,p=n,r){if(void 0===d)return h=e=p,d=setTimeout(x,t),m?y(e):f;if(v)return clearTimeout(d),d=setTimeout(x,t),y(p)}return void 0===d&&(d=setTimeout(x,t)),f}return t=i(t)||0,r(n)&&(m=!!n.leading,s=(v="maxWait"in n)?a(i(n.maxWait)||0,t):s,g="trailing"in n?!!n.trailing:g),E.cancel=function(){void 0!==d&&clearTimeout(d),h=0,l=p=u=d=void 0},E.flush=function(){return void 0===d?f:w(o())},E}},61595:function(e){e.exports=function(e,t){return e===t||e!=e&&t!=t}},72986:function(e,t,n){var r=n(31917),o=n(31062),i=n(49452),a=n(95059),c=n(45021);e.exports=function(e,t,n){var l=a(e)?r:o;return n&&c(e,t,n)&&(t=void 0),l(e,i(t,3))}},209:function(e,t,n){var r=n(70493)(n(87539));e.exports=r},87539:function(e,t,n){var r=n(47495),o=n(49452),i=n(26018),a=Math.max;e.exports=function(e,t,n){var c=null==e?0:e.length;if(!c)return -1;var l=null==n?0:i(n);return l<0&&(l=a(c+l,0)),r(e,o(t,3),l)}},20734:function(e,t,n){var r=n(9677),o=n(30677);e.exports=function(e,t){return r(o(e,t),1)}},44750:function(e,t,n){var r=n(38824);e.exports=function(e,t,n){var o=null==e?void 0:r(e,t);return void 0===o?n:o}},19955:function(e,t,n){var r=n(69959),o=n(24986);e.exports=function(e,t){return null!=e&&o(e,t,r)}},39100:function(e){e.exports=function(e){return e}},99782:function(e,t,n){var r=n(63686),o=n(19340),i=Object.prototype,a=i.hasOwnProperty,c=i.propertyIsEnumerable,l=r(function(){return arguments}())?r:function(e){return o(e)&&a.call(e,"callee")&&!c.call(e,"callee")};e.exports=l},95059:function(e){var t=Array.isArray;e.exports=t},10187:function(e,t,n){var r=n(80509),o=n(54512);e.exports=function(e){return null!=e&&o(e.length)&&!r(e)}},90849:function(e,t,n){var r=n(7976),o=n(19340);e.exports=function(e){return!0===e||!1===e||o(e)&&"[object Boolean]"==r(e)}},64843:function(e,t,n){e=n.nmd(e);var r=n(67741),o=n(33879),i=t&&!t.nodeType&&t,a=i&&e&&!e.nodeType&&e,c=a&&a.exports===i?r.Buffer:void 0,l=c?c.isBuffer:void 0;e.exports=l||o},93574:function(e,t,n){var r=n(29759);e.exports=function(e,t){return r(e,t)}},80509:function(e,t,n){var r=n(7976),o=n(70816);e.exports=function(e){if(!o(e))return!1;var t=r(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},54512:function(e){e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},96240:function(e,t,n){var r=n(39018);e.exports=function(e){return r(e)&&e!=+e}},71292:function(e){e.exports=function(e){return null==e}},39018:function(e,t,n){var r=n(7976),o=n(19340);e.exports=function(e){return"number"==typeof e||o(e)&&"[object Number]"==r(e)}},70816:function(e){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},19340:function(e){e.exports=function(e){return null!=e&&"object"==typeof e}},23393:function(e,t,n){var r=n(7976),o=n(28766),i=n(19340),a=Object.prototype,c=Function.prototype.toString,l=a.hasOwnProperty,u=c.call(Object);e.exports=function(e){if(!i(e)||"[object Object]"!=r(e))return!1;var t=o(e);if(null===t)return!0;var n=l.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&c.call(n)==u}},96907:function(e,t,n){var r=n(7976),o=n(95059),i=n(19340);e.exports=function(e){return"string"==typeof e||!o(e)&&i(e)&&"[object String]"==r(e)}},62704:function(e,t,n){var r=n(7976),o=n(19340);e.exports=function(e){return"symbol"==typeof e||o(e)&&"[object Symbol]"==r(e)}},30484:function(e,t,n){var r=n(80043),o=n(43863),i=n(16474),a=i&&i.isTypedArray,c=a?o(a):r;e.exports=c},39406:function(e,t,n){var r=n(26546),o=n(92916),i=n(10187);e.exports=function(e){return i(e)?r(e):o(e)}},36887:function(e){e.exports=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}},30677:function(e,t,n){var r=n(83690),o=n(49452),i=n(28245),a=n(95059);e.exports=function(e,t){return(a(e)?r:i)(e,o(t,3))}},50924:function(e,t,n){var r=n(30804),o=n(77458),i=n(49452);e.exports=function(e,t){var n={};return t=i(t,3),o(e,function(e,o,i){r(n,o,t(e,o,i))}),n}},5037:function(e,t,n){var r=n(41764),o=n(92262),i=n(39100);e.exports=function(e){return e&&e.length?r(e,i,o):void 0}},49512:function(e,t,n){var r=n(93785);function o(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw TypeError("Expected a function");var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var a=e.apply(this,r);return n.cache=i.set(o,a)||i,a};return n.cache=new(o.Cache||r),n}o.Cache=r,e.exports=o},30264:function(e,t,n){var r=n(41764),o=n(87004),i=n(39100);e.exports=function(e){return e&&e.length?r(e,i,o):void 0}},67222:function(e){e.exports=function(){}},80128:function(e,t,n){var r=n(67741);e.exports=function(){return r.Date.now()}},62973:function(e,t,n){var r=n(60411),o=n(34831),i=n(55632),a=n(217);e.exports=function(e){return i(e)?r(a(e)):o(e)}},1646:function(e,t,n){var r=n(16519)();e.exports=r},13435:function(e,t,n){var r=n(30927),o=n(49452),i=n(61700),a=n(95059),c=n(45021);e.exports=function(e,t,n){var l=a(e)?r:i;return n&&c(e,t,n)&&(t=void 0),l(e,o(t,3))}},97572:function(e,t,n){var r=n(9677),o=n(56871),i=n(70712),a=n(45021),c=i(function(e,t){if(null==e)return[];var n=t.length;return n>1&&a(e,t[0],t[1])?t=[]:n>2&&a(t[0],t[1],t[2])&&(t=[t[0]]),o(e,r(t,1),[])});e.exports=c},30786:function(e){e.exports=function(){return[]}},33879:function(e){e.exports=function(){return!1}},68417:function(e,t,n){var r=n(54525),o=n(70816);e.exports=function(e,t,n){var i=!0,a=!0;if("function"!=typeof e)throw TypeError("Expected a function");return o(n)&&(i="leading"in n?!!n.leading:i,a="trailing"in n?!!n.trailing:a),r(e,t,{leading:i,maxWait:t,trailing:a})}},55038:function(e,t,n){var r=n(89753),o=1/0;e.exports=function(e){return e?(e=r(e))===o||e===-o?(e<0?-1:1)*17976931348623157e292:e==e?e:0:0===e?e:0}},26018:function(e,t,n){var r=n(55038);e.exports=function(e){var t=r(e),n=t%1;return t==t?n?t-n:t:0}},89753:function(e,t,n){var r=n(33223),o=n(70816),i=n(62704),a=0/0,c=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,u=/^0o[0-7]+$/i,s=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(i(e))return a;if(o(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=o(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=r(e);var n=l.test(e);return n||u.test(e)?s(e.slice(2),n?2:8):c.test(e)?a:+e}},25635:function(e,t,n){var r=n(2218);e.exports=function(e){return null==e?"":r(e)}},98116:function(e,t,n){var r=n(49452),o=n(15375);e.exports=function(e,t){return e&&e.length?o(e,r(t,2)):[]}},9332:function(e,t,n){var r=n(6551)("toUpperCase");e.exports=r},8792:function(e,t,n){n.d(t,{default:function(){return o.a}});var r=n(25250),o=n.n(r)},47907:function(e,t,n){var r=n(15313);n.o(r,"useRouter")&&n.d(t,{useRouter:function(){return r.useRouter}}),n.o(r,"useSearchParams")&&n.d(t,{useSearchParams:function(){return r.useSearchParams}})},49079:function(e,t,n){var r,o;e.exports=(null==(r=n.g.process)?void 0:r.env)&&"object"==typeof(null==(o=n.g.process)?void 0:o.env)?n.g.process:n(13127)},12956:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return r}}),n(82139);let r=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r{})}}function b(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}let x=i.default.forwardRef(function(e,t){let n,r;let{href:l,as:g,children:x,prefetch:w=null,passHref:E,replace:O,shallow:S,scroll:C,locale:k,onClick:j,onMouseEnter:P,onTouchStart:M,legacyBehavior:A=!1,...T}=e;n=x,A&&("string"==typeof n||"number"==typeof n)&&(n=(0,o.jsx)("a",{children:n}));let N=i.default.useContext(f.RouterContext),I=i.default.useContext(d.AppRouterContext),Z=null!=N?N:I,R=!N,_=!1!==w,D=null===w?v.PrefetchKind.AUTO:v.PrefetchKind.FULL,{href:B,as:L}=i.default.useMemo(()=>{if(!N){let e=b(l);return{href:e,as:g?b(g):e}}let[e,t]=(0,a.resolveHref)(N,l,!0);return{href:e,as:g?(0,a.resolveHref)(N,g):t||e}},[N,l,g]),z=i.default.useRef(B),F=i.default.useRef(L);A&&(r=i.default.Children.only(n));let H=A?r&&"object"==typeof r&&r.ref:t,[W,q,V]=(0,p.useIntersection)({rootMargin:"200px"}),U=i.default.useCallback(e=>{(F.current!==L||z.current!==B)&&(V(),F.current=L,z.current=B),W(e),H&&("function"==typeof H?H(e):"object"==typeof H&&(H.current=e))},[L,H,B,V,W]);i.default.useEffect(()=>{Z&&q&&_&&y(Z,B,L,{locale:k},{kind:D},R)},[L,B,q,k,_,null==N?void 0:N.locale,Z,R,D]);let X={ref:U,onClick(e){A||"function"!=typeof j||j(e),A&&r.props&&"function"==typeof r.props.onClick&&r.props.onClick(e),Z&&!e.defaultPrevented&&function(e,t,n,r,o,a,l,u,s){let{nodeName:f}=e.currentTarget;if("A"===f.toUpperCase()&&(function(e){let t=e.currentTarget.getAttribute("target");return t&&"_self"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e)||!s&&!(0,c.isLocalURL)(n)))return;e.preventDefault();let d=()=>{let e=null==l||l;"beforePopState"in t?t[o?"replace":"push"](n,r,{shallow:a,locale:u,scroll:e}):t[o?"replace":"push"](r||n,{scroll:e})};s?i.default.startTransition(d):d()}(e,Z,B,L,O,S,C,k,R)},onMouseEnter(e){A||"function"!=typeof P||P(e),A&&r.props&&"function"==typeof r.props.onMouseEnter&&r.props.onMouseEnter(e),Z&&(_||!R)&&y(Z,B,L,{locale:k,priority:!0,bypassPrefetchedCheck:!0},{kind:D},R)},onTouchStart(e){A||"function"!=typeof M||M(e),A&&r.props&&"function"==typeof r.props.onTouchStart&&r.props.onTouchStart(e),Z&&(_||!R)&&y(Z,B,L,{locale:k,priority:!0,bypassPrefetchedCheck:!0},{kind:D},R)}};if((0,u.isAbsoluteUrl)(L))X.href=L;else if(!A||E||"a"===r.type&&!("href"in r.props)){let e=void 0!==k?k:null==N?void 0:N.locale,t=(null==N?void 0:N.isLocaleDomain)&&(0,h.getDomainLocale)(L,e,null==N?void 0:N.locales,null==N?void 0:N.domainLocales);X.href=t||(0,m.addBasePath)((0,s.addLocale)(L,e,null==N?void 0:N.defaultLocale))}return A?i.default.cloneElement(r,X):(0,o.jsx)("a",{...T,...X,children:n})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},52185:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{requestIdleCallback:function(){return n},cancelIdleCallback:function(){return r}});let n="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){let t=Date.now();return self.setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},r="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(e){return clearTimeout(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},14542:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"resolveHref",{enumerable:!0,get:function(){return f}});let r=n(95770),o=n(11030),i=n(24544),a=n(36874),c=n(82139),l=n(17434),u=n(22360),s=n(96735);function f(e,t,n){let f;let d="string"==typeof t?t:(0,o.formatWithValidation)(t),p=d.match(/^[a-zA-Z]{1,}:\/\//),h=p?d.slice(p[0].length):d;if((h.split("?",1)[0]||"").match(/(\/\/|\\)/)){console.error("Invalid href '"+d+"' passed to next/router in page: '"+e.pathname+"'. Repeated forward-slashes (//) or backslashes \\ are not valid in the href.");let t=(0,a.normalizeRepeatedSlashes)(h);d=(p?p[0]:"")+t}if(!(0,l.isLocalURL)(d))return n?[d]:d;try{f=new URL(d.startsWith("#")?e.asPath:e.pathname,"http://n")}catch(e){f=new URL("/","http://n")}try{let e=new URL(d,f);e.pathname=(0,c.normalizePathTrailingSlash)(e.pathname);let t="";if((0,u.isDynamicRoute)(e.pathname)&&e.searchParams&&n){let n=(0,r.searchParamsToUrlQuery)(e.searchParams),{result:a,params:c}=(0,s.interpolateAs)(e.pathname,e.pathname,n);a&&(t=(0,o.formatWithValidation)({pathname:a,hash:e.hash,query:(0,i.omit)(n,c)}))}let a=e.origin===f.origin?e.href.slice(e.origin.length):e.href;return n?[a,t||a]:a}catch(e){return n?[d]:d}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},45291:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useIntersection",{enumerable:!0,get:function(){return l}});let r=n(64090),o=n(52185),i="function"==typeof IntersectionObserver,a=new Map,c=[];function l(e){let{rootRef:t,rootMargin:n,disabled:l}=e,u=l||!i,[s,f]=(0,r.useState)(!1),d=(0,r.useRef)(null),p=(0,r.useCallback)(e=>{d.current=e},[]);return(0,r.useEffect)(()=>{if(i){if(u||s)return;let e=d.current;if(e&&e.tagName)return function(e,t,n){let{id:r,observer:o,elements:i}=function(e){let t;let n={root:e.root||null,margin:e.rootMargin||""},r=c.find(e=>e.root===n.root&&e.margin===n.margin);if(r&&(t=a.get(r)))return t;let o=new Map;return t={id:n,observer:new IntersectionObserver(e=>{e.forEach(e=>{let t=o.get(e.target),n=e.isIntersecting||e.intersectionRatio>0;t&&n&&t(n)})},e),elements:o},c.push(n),a.set(n,t),t}(n);return i.set(e,t),o.observe(e),function(){if(i.delete(e),o.unobserve(e),0===i.size){o.disconnect(),a.delete(r);let e=c.findIndex(e=>e.root===r.root&&e.margin===r.margin);e>-1&&c.splice(e,1)}}}(e,e=>e&&f(e),{root:null==t?void 0:t.current,rootMargin:n})}else if(!s){let e=(0,o.requestIdleCallback)(()=>f(!0));return()=>(0,o.cancelIdleCallback)(e)}},[u,n,t,s,d.current]),[p,s,(0,r.useCallback)(()=>{f(!1)},[])]}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},13127:function(e){!function(){var t={229:function(e){var t,n,r,o=e.exports={};function i(){throw Error("setTimeout has not been defined")}function a(){throw Error("clearTimeout has not been defined")}function c(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:i}catch(e){t=i}try{n="function"==typeof clearTimeout?clearTimeout:a}catch(e){n=a}}();var l=[],u=!1,s=-1;function f(){u&&r&&(u=!1,r.length?l=r.concat(l):s=-1,l.length&&d())}function d(){if(!u){var e=c(f);u=!0;for(var t=l.length;t;){for(r=l,l=[];++s1)for(var n=1;n{let t=l[e]||"",{repeat:n,optional:r}=c[e],o="["+(n?"...":"")+e+"]";return r&&(o=(t?"":"/")+"["+o+"]"),n&&!Array.isArray(t)&&(t=[t]),(r||e in l)&&(i=i.replace(o,n?t.map(e=>encodeURIComponent(e)).join("/"):encodeURIComponent(t))||"/")})||(i=""),{params:u,result:i}}},11305:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isDynamicRoute",{enumerable:!0,get:function(){return i}});let r=n(94749),o=/\/\[[^/]+?\](?=\/|$)/;function i(e){return(0,r.isInterceptionRouteAppPath)(e)&&(e=(0,r.extractInterceptionRouteInformation)(e).interceptedRoute),o.test(e)}},17434:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isLocalURL",{enumerable:!0,get:function(){return i}});let r=n(36874),o=n(87379);function i(e){if(!(0,r.isAbsoluteUrl)(e))return!0;try{let t=(0,r.getLocationOrigin)(),n=new URL(e,t);return n.origin===t&&(0,o.hasBasePath)(n.pathname)}catch(e){return!1}}},24544:function(e,t){function n(e,t){let n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"omit",{enumerable:!0,get:function(){return n}})},95770:function(e,t){function n(e){let t={};return e.forEach((e,n)=>{void 0===t[n]?t[n]=e:Array.isArray(t[n])?t[n].push(e):t[n]=[t[n],e]}),t}function r(e){return"string"!=typeof e&&("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function o(e){let t=new URLSearchParams;return Object.entries(e).forEach(e=>{let[n,o]=e;Array.isArray(o)?o.forEach(e=>t.append(n,r(e))):t.set(n,r(o))}),t}function i(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r{Array.from(t.keys()).forEach(t=>e.delete(t)),t.forEach((t,n)=>e.append(n,t))}),e}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{searchParamsToUrlQuery:function(){return n},urlQueryToSearchParams:function(){return o},assign:function(){return i}})},2395:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getRouteMatcher",{enumerable:!0,get:function(){return o}});let r=n(36874);function o(e){let{re:t,groups:n}=e;return e=>{let o=t.exec(e);if(!o)return!1;let i=e=>{try{return decodeURIComponent(e)}catch(e){throw new r.DecodeError("failed to decode param")}},a={};return Object.keys(n).forEach(e=>{let t=n[e],r=o[t.pos];void 0!==r&&(a[e]=~r.indexOf("/")?r.split("/").map(e=>i(e)):t.repeat?[i(r)]:i(r))}),a}}},19935:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{getRouteRegex:function(){return l},getNamedRouteRegex:function(){return f},getNamedMiddlewareRegex:function(){return d}});let r=n(94749),o=n(22202),i=n(95868);function a(e){let t=e.startsWith("[")&&e.endsWith("]");t&&(e=e.slice(1,-1));let n=e.startsWith("...");return n&&(e=e.slice(3)),{key:e,repeat:n,optional:t}}function c(e){let t=(0,i.removeTrailingSlash)(e).slice(1).split("/"),n={},c=1;return{parameterizedRoute:t.map(e=>{let t=r.INTERCEPTION_ROUTE_MARKERS.find(t=>e.startsWith(t)),i=e.match(/\[((?:\[.*\])|.+)\]/);if(t&&i){let{key:e,optional:r,repeat:l}=a(i[1]);return n[e]={pos:c++,repeat:l,optional:r},"/"+(0,o.escapeStringRegexp)(t)+"([^/]+?)"}if(!i)return"/"+(0,o.escapeStringRegexp)(e);{let{key:e,repeat:t,optional:r}=a(i[1]);return n[e]={pos:c++,repeat:t,optional:r},t?r?"(?:/(.+?))?":"/(.+?)":"/([^/]+?)"}}).join(""),groups:n}}function l(e){let{parameterizedRoute:t,groups:n}=c(e);return{re:RegExp("^"+t+"(?:/)?$"),groups:n}}function u(e){let{interceptionMarker:t,getSafeRouteKey:n,segment:r,routeKeys:i,keyPrefix:c}=e,{key:l,optional:u,repeat:s}=a(r),f=l.replace(/\W/g,"");c&&(f=""+c+f);let d=!1;(0===f.length||f.length>30)&&(d=!0),isNaN(parseInt(f.slice(0,1)))||(d=!0),d&&(f=n()),c?i[f]=""+c+l:i[f]=l;let p=t?(0,o.escapeStringRegexp)(t):"";return s?u?"(?:/"+p+"(?<"+f+">.+?))?":"/"+p+"(?<"+f+">.+?)":"/"+p+"(?<"+f+">[^/]+?)"}function s(e,t){let n;let a=(0,i.removeTrailingSlash)(e).slice(1).split("/"),c=(n=0,()=>{let e="",t=++n;for(;t>0;)e+=String.fromCharCode(97+(t-1)%26),t=Math.floor((t-1)/26);return e}),l={};return{namedParameterizedRoute:a.map(e=>{let n=r.INTERCEPTION_ROUTE_MARKERS.some(t=>e.startsWith(t)),i=e.match(/\[((?:\[.*\])|.+)\]/);if(n&&i){let[n]=e.split(i[0]);return u({getSafeRouteKey:c,interceptionMarker:n,segment:i[1],routeKeys:l,keyPrefix:t?"nxtI":void 0})}return i?u({getSafeRouteKey:c,segment:i[1],routeKeys:l,keyPrefix:t?"nxtP":void 0}):"/"+(0,o.escapeStringRegexp)(e)}).join(""),routeKeys:l}}function f(e,t){let n=s(e,t);return{...l(e),namedRegex:"^"+n.namedParameterizedRoute+"(?:/)?$",routeKeys:n.routeKeys}}function d(e,t){let{parameterizedRoute:n}=c(e),{catchAll:r=!0}=t;if("/"===n)return{namedRegex:"^/"+(r?".*":"")+"$"};let{namedParameterizedRoute:o}=s(e,!1);return{namedRegex:"^"+o+(r?"(?:(/.*)?)":"")+"$"}}},97409:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSortedRoutes",{enumerable:!0,get:function(){return r}});class n{insert(e){this._insert(e.split("/").filter(Boolean),[],!1)}smoosh(){return this._smoosh()}_smoosh(e){void 0===e&&(e="/");let t=[...this.children.keys()].sort();null!==this.slugName&&t.splice(t.indexOf("[]"),1),null!==this.restSlugName&&t.splice(t.indexOf("[...]"),1),null!==this.optionalRestSlugName&&t.splice(t.indexOf("[[...]]"),1);let n=t.map(t=>this.children.get(t)._smoosh(""+e+t+"/")).reduce((e,t)=>[...e,...t],[]);if(null!==this.slugName&&n.push(...this.children.get("[]")._smoosh(e+"["+this.slugName+"]/")),!this.placeholder){let t="/"===e?"/":e.slice(0,-1);if(null!=this.optionalRestSlugName)throw Error('You cannot define a route with the same specificity as a optional catch-all route ("'+t+'" and "'+t+"[[..."+this.optionalRestSlugName+']]").');n.unshift(t)}return null!==this.restSlugName&&n.push(...this.children.get("[...]")._smoosh(e+"[..."+this.restSlugName+"]/")),null!==this.optionalRestSlugName&&n.push(...this.children.get("[[...]]")._smoosh(e+"[[..."+this.optionalRestSlugName+"]]/")),n}_insert(e,t,r){if(0===e.length){this.placeholder=!1;return}if(r)throw Error("Catch-all must be the last part of the URL.");let o=e[0];if(o.startsWith("[")&&o.endsWith("]")){let n=o.slice(1,-1),a=!1;if(n.startsWith("[")&&n.endsWith("]")&&(n=n.slice(1,-1),a=!0),n.startsWith("...")&&(n=n.substring(3),r=!0),n.startsWith("[")||n.endsWith("]"))throw Error("Segment names may not start or end with extra brackets ('"+n+"').");if(n.startsWith("."))throw Error("Segment names may not start with erroneous periods ('"+n+"').");function i(e,n){if(null!==e&&e!==n)throw Error("You cannot use different slug names for the same dynamic path ('"+e+"' !== '"+n+"').");t.forEach(e=>{if(e===n)throw Error('You cannot have the same slug name "'+n+'" repeat within a single dynamic path');if(e.replace(/\W/g,"")===o.replace(/\W/g,""))throw Error('You cannot have the slug names "'+e+'" and "'+n+'" differ only by non-word symbols within a single dynamic path')}),t.push(n)}if(r){if(a){if(null!=this.restSlugName)throw Error('You cannot use both an required and optional catch-all route at the same level ("[...'+this.restSlugName+']" and "'+e[0]+'" ).');i(this.optionalRestSlugName,n),this.optionalRestSlugName=n,o="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Error('You cannot use both an optional and required catch-all route at the same level ("[[...'+this.optionalRestSlugName+']]" and "'+e[0]+'").');i(this.restSlugName,n),this.restSlugName=n,o="[...]"}}else{if(a)throw Error('Optional route parameters are not yet supported ("'+e[0]+'").');i(this.slugName,n),this.slugName=n,o="[]"}}this.children.has(o)||this.children.set(o,new n),this.children.get(o)._insert(e.slice(1),t,r)}constructor(){this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}}function r(e){let t=new n;return e.forEach(e=>t.insert(e)),t.smoosh()}},36874:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{WEB_VITALS:function(){return n},execOnce:function(){return r},isAbsoluteUrl:function(){return i},getLocationOrigin:function(){return a},getURL:function(){return c},getDisplayName:function(){return l},isResSent:function(){return u},normalizeRepeatedSlashes:function(){return s},loadGetInitialProps:function(){return f},SP:function(){return d},ST:function(){return p},DecodeError:function(){return h},NormalizeError:function(){return m},PageNotFoundError:function(){return v},MissingStaticPage:function(){return g},MiddlewareNotFoundError:function(){return y},stringifyError:function(){return b}});let n=["CLS","FCP","FID","INP","LCP","TTFB"];function r(e){let t,n=!1;return function(){for(var r=arguments.length,o=Array(r),i=0;io.test(e);function a(){let{protocol:e,hostname:t,port:n}=window.location;return e+"//"+t+(n?":"+n:"")}function c(){let{href:e}=window.location,t=a();return e.substring(t.length)}function l(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function u(e){return e.finished||e.headersSent}function s(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function f(e,t){let n=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await f(t.Component,t.ctx)}:{};let r=await e.getInitialProps(t);if(n&&u(n))return r;if(!r)throw Error('"'+l(e)+'.getInitialProps()" should resolve to an object. But found "'+r+'" instead.');return r}let d="undefined"!=typeof performance,p=d&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class h extends Error{}class m extends Error{}class v extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class g extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class y extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function b(e){return JSON.stringify({message:e.message,stack:e.stack})}},18314:function(e,t,n){var r=n(41811);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,i,a){if(a!==r){var c=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return n.PropTypes=n,n}},74404:function(e,t,n){e.exports=n(18314)()},41811:function(e){e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},76570:function(e,t,n){n.d(t,{gN:function(){return ev},zb:function(){return E},RV:function(){return ek},aV:function(){return eg},ZM:function(){return O},ZP:function(){return eN},cI:function(){return eS},qo:function(){return eA}});var r,o=n(64090),i=n(14749),a=n(6787),c=n(86926),l=n(74902),u=n(5239),s=n(63787),f=n(47365),d=n(65127),p=n(34951),h=n(27478),m=n(85430),v=n(50833),g=n(33054),y=n(92536),b=n(53850),x="RC_FORM_INTERNAL_HOOKS",w=function(){(0,b.ZP)(!1,"Can not find FormContext. Please make sure you wrap Field under Form.")},E=o.createContext({getFieldValue:w,getFieldsValue:w,getFieldError:w,getFieldWarning:w,getFieldsError:w,isFieldsTouched:w,isFieldTouched:w,isFieldValidating:w,isFieldsValidating:w,resetFields:w,setFields:w,setFieldValue:w,setFieldsValue:w,validateFields:w,submit:w,getInternalHooks:function(){return w(),{dispatch:w,initEntityValue:w,registerField:w,useSubscribe:w,setInitialValues:w,destroyForm:w,setCallbacks:w,registerWatch:w,getFields:w,setValidateMessages:w,setPreserve:w,getInitialValue:w}}}),O=o.createContext(null);function S(e){return null==e?[]:Array.isArray(e)?e:[e]}var C=n(49079);function k(){return(k=Object.assign?Object.assign.bind():function(e){for(var t=1;t1?t-1:0),r=1;r=i)return e;switch(e){case"%s":return String(n[o++]);case"%d":return Number(n[o++]);case"%j":try{return JSON.stringify(n[o++])}catch(e){return"[Circular]"}break;default:return e}}):e}function Z(e,t){return!!(null==e||"array"===t&&Array.isArray(e)&&!e.length)||("string"===t||"url"===t||"hex"===t||"email"===t||"date"===t||"pattern"===t)&&"string"==typeof e&&!e}function R(e,t,n){var r=0,o=e.length;!function i(a){if(a&&a.length){n(a);return}var c=r;r+=1,c()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},H={integer:function(e){return H.number(e)&&parseInt(e,10)===e},float:function(e){return H.number(e)&&!H.integer(e)},array:function(e){return Array.isArray(e)},regexp:function(e){if(e instanceof RegExp)return!0;try{return new RegExp(e),!0}catch(e){return!1}},date:function(e){return"function"==typeof e.getTime&&"function"==typeof e.getMonth&&"function"==typeof e.getYear&&!isNaN(e.getTime())},number:function(e){return!isNaN(e)&&"number"==typeof e},object:function(e){return"object"==typeof e&&!H.array(e)},method:function(e){return"function"==typeof e},email:function(e){return"string"==typeof e&&e.length<=320&&!!e.match(F.email)},url:function(e){return"string"==typeof e&&e.length<=2048&&!!e.match(z())},hex:function(e){return"string"==typeof e&&!!e.match(F.hex)}},W="enum",q={required:L,whitespace:function(e,t,n,r,o){(/^\s+$/.test(t)||""===t)&&r.push(I(o.messages.whitespace,e.fullField))},type:function(e,t,n,r,o){if(e.required&&void 0===t){L(e,t,n,r,o);return}var i=e.type;["integer","float","array","regexp","object","method","email","number","date","url","hex"].indexOf(i)>-1?H[i](t)||r.push(I(o.messages.types[i],e.fullField,e.type)):i&&typeof t!==e.type&&r.push(I(o.messages.types[i],e.fullField,e.type))},range:function(e,t,n,r,o){var i="number"==typeof e.len,a="number"==typeof e.min,c="number"==typeof e.max,l=t,u=null,s="number"==typeof t,f="string"==typeof t,d=Array.isArray(t);if(s?u="number":f?u="string":d&&(u="array"),!u)return!1;d&&(l=t.length),f&&(l=t.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"_").length),i?l!==e.len&&r.push(I(o.messages[u].len,e.fullField,e.len)):a&&!c&&le.max?r.push(I(o.messages[u].max,e.fullField,e.max)):a&&c&&(le.max)&&r.push(I(o.messages[u].range,e.fullField,e.min,e.max))},enum:function(e,t,n,r,o){e[W]=Array.isArray(e[W])?e[W]:[],-1===e[W].indexOf(t)&&r.push(I(o.messages[W],e.fullField,e[W].join(", ")))},pattern:function(e,t,n,r,o){!e.pattern||(e.pattern instanceof RegExp?(e.pattern.lastIndex=0,e.pattern.test(t)||r.push(I(o.messages.pattern.mismatch,e.fullField,t,e.pattern))):"string"!=typeof e.pattern||new RegExp(e.pattern).test(t)||r.push(I(o.messages.pattern.mismatch,e.fullField,t,e.pattern)))}},V=function(e,t,n,r,o){var i=e.type,a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Z(t,i)&&!e.required)return n();q.required(e,t,r,a,o,i),Z(t,i)||q.type(e,t,r,a,o)}n(a)},U={string:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Z(t,"string")&&!e.required)return n();q.required(e,t,r,i,o,"string"),Z(t,"string")||(q.type(e,t,r,i,o),q.range(e,t,r,i,o),q.pattern(e,t,r,i,o),!0===e.whitespace&&q.whitespace(e,t,r,i,o))}n(i)},method:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Z(t)&&!e.required)return n();q.required(e,t,r,i,o),void 0!==t&&q.type(e,t,r,i,o)}n(i)},number:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(""===t&&(t=void 0),Z(t)&&!e.required)return n();q.required(e,t,r,i,o),void 0!==t&&(q.type(e,t,r,i,o),q.range(e,t,r,i,o))}n(i)},boolean:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Z(t)&&!e.required)return n();q.required(e,t,r,i,o),void 0!==t&&q.type(e,t,r,i,o)}n(i)},regexp:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Z(t)&&!e.required)return n();q.required(e,t,r,i,o),Z(t)||q.type(e,t,r,i,o)}n(i)},integer:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Z(t)&&!e.required)return n();q.required(e,t,r,i,o),void 0!==t&&(q.type(e,t,r,i,o),q.range(e,t,r,i,o))}n(i)},float:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Z(t)&&!e.required)return n();q.required(e,t,r,i,o),void 0!==t&&(q.type(e,t,r,i,o),q.range(e,t,r,i,o))}n(i)},array:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(null==t&&!e.required)return n();q.required(e,t,r,i,o,"array"),null!=t&&(q.type(e,t,r,i,o),q.range(e,t,r,i,o))}n(i)},object:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Z(t)&&!e.required)return n();q.required(e,t,r,i,o),void 0!==t&&q.type(e,t,r,i,o)}n(i)},enum:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Z(t)&&!e.required)return n();q.required(e,t,r,i,o),void 0!==t&&q.enum(e,t,r,i,o)}n(i)},pattern:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Z(t,"string")&&!e.required)return n();q.required(e,t,r,i,o),Z(t,"string")||q.pattern(e,t,r,i,o)}n(i)},date:function(e,t,n,r,o){var i,a=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Z(t,"date")&&!e.required)return n();q.required(e,t,r,a,o),!Z(t,"date")&&(i=t instanceof Date?t:new Date(t),q.type(e,i,r,a,o),i&&q.range(e,i.getTime(),r,a,o))}n(a)},url:V,hex:V,email:V,required:function(e,t,n,r,o){var i=[],a=Array.isArray(t)?"array":typeof t;q.required(e,t,r,i,o,a),n(i)},any:function(e,t,n,r,o){var i=[];if(e.required||!e.required&&r.hasOwnProperty(e.field)){if(Z(t)&&!e.required)return n();q.required(e,t,r,i,o)}n(i)}};function X(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var e=JSON.parse(JSON.stringify(this));return e.clone=this.clone,e}}}var G=X(),K=function(){function e(e){this.rules=null,this._messages=G,this.define(e)}var t=e.prototype;return t.define=function(e){var t=this;if(!e)throw Error("Cannot configure a schema with no rules");if("object"!=typeof e||Array.isArray(e))throw Error("Rules must be an object");this.rules={},Object.keys(e).forEach(function(n){var r=e[n];t.rules[n]=Array.isArray(r)?r:[r]})},t.messages=function(e){return e&&(this._messages=B(X(),e)),this._messages},t.validate=function(t,n,r){var o=this;void 0===n&&(n={}),void 0===r&&(r=function(){});var i=t,a=n,c=r;if("function"==typeof a&&(c=a,a={}),!this.rules||0===Object.keys(this.rules).length)return c&&c(null,i),Promise.resolve(i);if(a.messages){var l=this.messages();l===G&&(l=X()),B(l,a.messages),a.messages=l}else a.messages=this.messages();var u={};(a.keys||Object.keys(this.rules)).forEach(function(e){var n=o.rules[e],r=i[e];n.forEach(function(n){var a=n;"function"==typeof a.transform&&(i===t&&(i=k({},i)),r=i[e]=a.transform(r)),(a="function"==typeof a?{validator:a}:k({},a)).validator=o.getValidationMethod(a),a.validator&&(a.field=e,a.fullField=a.fullField||e,a.type=o.getType(a),u[e]=u[e]||[],u[e].push({rule:a,value:r,source:i,field:e}))})});var s={};return function(e,t,n,r,o){if(t.first){var i=new Promise(function(t,i){var a;R((a=[],Object.keys(e).forEach(function(t){a.push.apply(a,e[t]||[])}),a),n,function(e){return r(e),e.length?i(new _(e,N(e))):t(o)})});return i.catch(function(e){return e}),i}var a=!0===t.firstFields?Object.keys(e):t.firstFields||[],c=Object.keys(e),l=c.length,u=0,s=[],f=new Promise(function(t,i){var f=function(e){if(s.push.apply(s,e),++u===l)return r(s),s.length?i(new _(s,N(s))):t(o)};c.length||(r(s),t(o)),c.forEach(function(t){var r=e[t];-1!==a.indexOf(t)?R(r,n,f):function(e,t,n){var r=[],o=0,i=e.length;function a(e){r.push.apply(r,e||[]),++o===i&&n(r)}e.forEach(function(e){t(e,a)})}(r,n,f)})});return f.catch(function(e){return e}),f}(u,a,function(t,n){var r,o=t.rule,c=("object"===o.type||"array"===o.type)&&("object"==typeof o.fields||"object"==typeof o.defaultField);function l(e,t){return k({},t,{fullField:o.fullField+"."+e,fullFields:o.fullFields?[].concat(o.fullFields,[e]):[e]})}function u(r){void 0===r&&(r=[]);var u=Array.isArray(r)?r:[r];!a.suppressWarning&&u.length&&e.warning("async-validator:",u),u.length&&void 0!==o.message&&(u=[].concat(o.message));var f=u.map(D(o,i));if(a.first&&f.length)return s[o.field]=1,n(f);if(c){if(o.required&&!t.value)return void 0!==o.message?f=[].concat(o.message).map(D(o,i)):a.error&&(f=[a.error(o,I(a.messages.required,o.field))]),n(f);var d={};o.defaultField&&Object.keys(t.value).map(function(e){d[e]=o.defaultField});var p={};Object.keys(d=k({},d,t.rule.fields)).forEach(function(e){var t=d[e],n=Array.isArray(t)?t:[t];p[e]=n.map(l.bind(null,e))});var h=new e(p);h.messages(a.messages),t.rule.options&&(t.rule.options.messages=a.messages,t.rule.options.error=a.error),h.validate(t.value,t.rule.options||a,function(e){var t=[];f&&f.length&&t.push.apply(t,f),e&&e.length&&t.push.apply(t,e),n(t.length?t:null)})}else n(f)}if(c=c&&(o.required||!o.required&&t.value),o.field=t.field,o.asyncValidator)r=o.asyncValidator(o,t.value,u,t.source,a);else if(o.validator){try{r=o.validator(o,t.value,u,t.source,a)}catch(e){null==console.error||console.error(e),a.suppressValidatorError||setTimeout(function(){throw e},0),u(e.message)}!0===r?u():!1===r?u("function"==typeof o.message?o.message(o.fullField||o.field):o.message||(o.fullField||o.field)+" fails"):r instanceof Array?u(r):r instanceof Error&&u(r.message)}r&&r.then&&r.then(function(){return u()},function(e){return u(e)})},function(e){!function(e){for(var t=[],n={},r=0;r2&&void 0!==arguments[2]&&arguments[2];return e&&e.some(function(e){return eu(t,e,n)})}function eu(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return!!e&&!!t&&(!!n||e.length===t.length)&&t.every(function(t,n){return e[n]===t})}function es(e){var t=arguments.length<=1?void 0:arguments[1];return t&&t.target&&"object"===(0,eo.Z)(t.target)&&e in t.target?t.target[e]:t}function ef(e,t,n){var r=e.length;if(t<0||t>=r||n<0||n>=r)return e;var o=e[t],i=t-n;return i>0?[].concat((0,s.Z)(e.slice(0,n)),[o],(0,s.Z)(e.slice(n,t)),(0,s.Z)(e.slice(t+1,r))):i<0?[].concat((0,s.Z)(e.slice(0,t)),(0,s.Z)(e.slice(t+1,n+1)),[o],(0,s.Z)(e.slice(n+1,r))):e}var ed=["name"],ep=[];function eh(e,t,n,r,o,i){return"function"==typeof e?e(t,n,"source"in i?{source:i.source}:{}):r!==o}var em=function(e){(0,h.Z)(n,e);var t=(0,m.Z)(n);function n(e){var r;return(0,f.Z)(this,n),r=t.call(this,e),(0,v.Z)((0,p.Z)(r),"state",{resetCount:0}),(0,v.Z)((0,p.Z)(r),"cancelRegisterFunc",null),(0,v.Z)((0,p.Z)(r),"mounted",!1),(0,v.Z)((0,p.Z)(r),"touched",!1),(0,v.Z)((0,p.Z)(r),"dirty",!1),(0,v.Z)((0,p.Z)(r),"validatePromise",void 0),(0,v.Z)((0,p.Z)(r),"prevValidating",void 0),(0,v.Z)((0,p.Z)(r),"errors",ep),(0,v.Z)((0,p.Z)(r),"warnings",ep),(0,v.Z)((0,p.Z)(r),"cancelRegister",function(){var e=r.props,t=e.preserve,n=e.isListField,o=e.name;r.cancelRegisterFunc&&r.cancelRegisterFunc(n,t,ea(o)),r.cancelRegisterFunc=null}),(0,v.Z)((0,p.Z)(r),"getNamePath",function(){var e=r.props,t=e.name,n=e.fieldContext.prefixName;return void 0!==t?[].concat((0,s.Z)(void 0===n?[]:n),(0,s.Z)(t)):[]}),(0,v.Z)((0,p.Z)(r),"getRules",function(){var e=r.props,t=e.rules,n=e.fieldContext;return(void 0===t?[]:t).map(function(e){return"function"==typeof e?e(n):e})}),(0,v.Z)((0,p.Z)(r),"refresh",function(){r.mounted&&r.setState(function(e){return{resetCount:e.resetCount+1}})}),(0,v.Z)((0,p.Z)(r),"metaCache",null),(0,v.Z)((0,p.Z)(r),"triggerMetaEvent",function(e){var t=r.props.onMetaChange;if(t){var n=(0,u.Z)((0,u.Z)({},r.getMeta()),{},{destroy:e});(0,y.Z)(r.metaCache,n)||t(n),r.metaCache=n}else r.metaCache=null}),(0,v.Z)((0,p.Z)(r),"onStoreChange",function(e,t,n){var o=r.props,i=o.shouldUpdate,a=o.dependencies,c=void 0===a?[]:a,l=o.onReset,u=n.store,s=r.getNamePath(),f=r.getValue(e),d=r.getValue(u),p=t&&el(t,s);switch("valueUpdate"===n.type&&"external"===n.source&&f!==d&&(r.touched=!0,r.dirty=!0,r.validatePromise=null,r.errors=ep,r.warnings=ep,r.triggerMetaEvent()),n.type){case"reset":if(!t||p){r.touched=!1,r.dirty=!1,r.validatePromise=void 0,r.errors=ep,r.warnings=ep,r.triggerMetaEvent(),null==l||l(),r.refresh();return}break;case"remove":if(i){r.reRender();return}break;case"setField":var h=n.data;if(p){"touched"in h&&(r.touched=h.touched),"validating"in h&&!("originRCField"in h)&&(r.validatePromise=h.validating?Promise.resolve([]):null),"errors"in h&&(r.errors=h.errors||ep),"warnings"in h&&(r.warnings=h.warnings||ep),r.dirty=!0,r.triggerMetaEvent(),r.reRender();return}if("value"in h&&el(t,s,!0)||i&&!s.length&&eh(i,e,u,f,d,n)){r.reRender();return}break;case"dependenciesUpdate":if(c.map(ea).some(function(e){return el(n.relatedFields,e)})){r.reRender();return}break;default:if(p||(!c.length||s.length||i)&&eh(i,e,u,f,d,n)){r.reRender();return}}!0===i&&r.reRender()}),(0,v.Z)((0,p.Z)(r),"validateRules",function(e){var t=r.getNamePath(),n=r.getValue(),o=e||{},i=o.triggerName,a=o.validateOnly,f=Promise.resolve().then((0,l.Z)((0,c.Z)().mark(function o(){var a,d,p,h,m,v,g;return(0,c.Z)().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(r.mounted){o.next=2;break}return o.abrupt("return",[]);case 2:if(p=void 0!==(d=(a=r.props).validateFirst)&&d,h=a.messageVariables,m=a.validateDebounce,v=r.getRules(),i&&(v=v.filter(function(e){return e}).filter(function(e){var t=e.validateTrigger;return!t||S(t).includes(i)})),!(m&&i)){o.next=10;break}return o.next=8,new Promise(function(e){setTimeout(e,m)});case 8:if(!(r.validatePromise!==f)){o.next=10;break}return o.abrupt("return",[]);case 10:return(g=function(e,t,n,r,o,i){var a,s,f=e.join("."),d=n.map(function(e,t){var n=e.validator,r=(0,u.Z)((0,u.Z)({},e),{},{ruleIndex:t});return n&&(r.validator=function(e,t,r){var o=!1,i=n(e,t,function(){for(var e=arguments.length,t=Array(e),n=0;n0&&void 0!==arguments[0]?arguments[0]:ep;if(r.validatePromise===f){r.validatePromise=null;var t,n=[],o=[];null===(t=e.forEach)||void 0===t||t.call(e,function(e){var t=e.rule.warningOnly,r=e.errors,i=void 0===r?ep:r;t?o.push.apply(o,(0,s.Z)(i)):n.push.apply(n,(0,s.Z)(i))}),r.errors=n,r.warnings=o,r.triggerMetaEvent(),r.reRender()}}),o.abrupt("return",g);case 13:case"end":return o.stop()}},o)})));return void 0!==a&&a||(r.validatePromise=f,r.dirty=!0,r.errors=ep,r.warnings=ep,r.triggerMetaEvent(),r.reRender()),f}),(0,v.Z)((0,p.Z)(r),"isFieldValidating",function(){return!!r.validatePromise}),(0,v.Z)((0,p.Z)(r),"isFieldTouched",function(){return r.touched}),(0,v.Z)((0,p.Z)(r),"isFieldDirty",function(){return!!r.dirty||void 0!==r.props.initialValue||void 0!==(0,r.props.fieldContext.getInternalHooks(x).getInitialValue)(r.getNamePath())}),(0,v.Z)((0,p.Z)(r),"getErrors",function(){return r.errors}),(0,v.Z)((0,p.Z)(r),"getWarnings",function(){return r.warnings}),(0,v.Z)((0,p.Z)(r),"isListField",function(){return r.props.isListField}),(0,v.Z)((0,p.Z)(r),"isList",function(){return r.props.isList}),(0,v.Z)((0,p.Z)(r),"isPreserve",function(){return r.props.preserve}),(0,v.Z)((0,p.Z)(r),"getMeta",function(){return r.prevValidating=r.isFieldValidating(),{touched:r.isFieldTouched(),validating:r.prevValidating,errors:r.errors,warnings:r.warnings,name:r.getNamePath(),validated:null===r.validatePromise}}),(0,v.Z)((0,p.Z)(r),"getOnlyChild",function(e){if("function"==typeof e){var t=r.getMeta();return(0,u.Z)((0,u.Z)({},r.getOnlyChild(e(r.getControlled(),t,r.props.fieldContext))),{},{isFunction:!0})}var n=(0,g.Z)(e);return 1===n.length&&o.isValidElement(n[0])?{child:n[0],isFunction:!1}:{child:n,isFunction:!1}}),(0,v.Z)((0,p.Z)(r),"getValue",function(e){var t=r.props.fieldContext.getFieldsValue,n=r.getNamePath();return(0,ei.Z)(e||t(!0),n)}),(0,v.Z)((0,p.Z)(r),"getControlled",function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=r.props,n=t.trigger,o=t.validateTrigger,i=t.getValueFromEvent,a=t.normalize,c=t.valuePropName,l=t.getValueProps,s=t.fieldContext,f=void 0!==o?o:s.validateTrigger,d=r.getNamePath(),p=s.getInternalHooks,h=s.getFieldsValue,m=p(x).dispatch,g=r.getValue(),y=l||function(e){return(0,v.Z)({},c,e)},b=e[n],w=(0,u.Z)((0,u.Z)({},e),y(g));return w[n]=function(){r.touched=!0,r.dirty=!0,r.triggerMetaEvent();for(var e,t=arguments.length,n=Array(t),o=0;o=0&&t<=n.length?(d.keys=[].concat((0,s.Z)(d.keys.slice(0,t)),[d.id],(0,s.Z)(d.keys.slice(t))),o([].concat((0,s.Z)(n.slice(0,t)),[e],(0,s.Z)(n.slice(t))))):(d.keys=[].concat((0,s.Z)(d.keys),[d.id]),o([].concat((0,s.Z)(n),[e]))),d.id+=1},remove:function(e){var t=a(),n=new Set(Array.isArray(e)?e:[e]);n.size<=0||(d.keys=d.keys.filter(function(e,t){return!n.has(t)}),o(t.filter(function(e,t){return!n.has(t)})))},move:function(e,t){if(e!==t){var n=a();e<0||e>=n.length||t<0||t>=n.length||(d.keys=ef(d.keys,e,t),o(ef(n,e,t)))}}},t)})))},ey=n(80406),eb="__@field_split__";function ex(e){return e.map(function(e){return"".concat((0,eo.Z)(e),":").concat(e)}).join(eb)}var ew=function(){function e(){(0,f.Z)(this,e),(0,v.Z)(this,"kvs",new Map)}return(0,d.Z)(e,[{key:"set",value:function(e,t){this.kvs.set(ex(e),t)}},{key:"get",value:function(e){return this.kvs.get(ex(e))}},{key:"update",value:function(e,t){var n=t(this.get(e));n?this.set(e,n):this.delete(e)}},{key:"delete",value:function(e){this.kvs.delete(ex(e))}},{key:"map",value:function(e){return(0,s.Z)(this.kvs.entries()).map(function(t){var n=(0,ey.Z)(t,2),r=n[0],o=n[1];return e({key:r.split(eb).map(function(e){var t=e.match(/^([^:]*):(.*)$/),n=(0,ey.Z)(t,3),r=n[1],o=n[2];return"number"===r?Number(o):o}),value:o})})}},{key:"toJSON",value:function(){var e={};return this.map(function(t){var n=t.key,r=t.value;return e[n.join(".")]=r,null}),e}}]),e}(),eE=["name"],eO=(0,d.Z)(function e(t){var n=this;(0,f.Z)(this,e),(0,v.Z)(this,"formHooked",!1),(0,v.Z)(this,"forceRootUpdate",void 0),(0,v.Z)(this,"subscribable",!0),(0,v.Z)(this,"store",{}),(0,v.Z)(this,"fieldEntities",[]),(0,v.Z)(this,"initialValues",{}),(0,v.Z)(this,"callbacks",{}),(0,v.Z)(this,"validateMessages",null),(0,v.Z)(this,"preserve",null),(0,v.Z)(this,"lastValidatePromise",null),(0,v.Z)(this,"getForm",function(){return{getFieldValue:n.getFieldValue,getFieldsValue:n.getFieldsValue,getFieldError:n.getFieldError,getFieldWarning:n.getFieldWarning,getFieldsError:n.getFieldsError,isFieldsTouched:n.isFieldsTouched,isFieldTouched:n.isFieldTouched,isFieldValidating:n.isFieldValidating,isFieldsValidating:n.isFieldsValidating,resetFields:n.resetFields,setFields:n.setFields,setFieldValue:n.setFieldValue,setFieldsValue:n.setFieldsValue,validateFields:n.validateFields,submit:n.submit,_init:!0,getInternalHooks:n.getInternalHooks}}),(0,v.Z)(this,"getInternalHooks",function(e){return e===x?(n.formHooked=!0,{dispatch:n.dispatch,initEntityValue:n.initEntityValue,registerField:n.registerField,useSubscribe:n.useSubscribe,setInitialValues:n.setInitialValues,destroyForm:n.destroyForm,setCallbacks:n.setCallbacks,setValidateMessages:n.setValidateMessages,getFields:n.getFields,setPreserve:n.setPreserve,getInitialValue:n.getInitialValue,registerWatch:n.registerWatch}):((0,b.ZP)(!1,"`getInternalHooks` is internal usage. Should not call directly."),null)}),(0,v.Z)(this,"useSubscribe",function(e){n.subscribable=e}),(0,v.Z)(this,"prevWithoutPreserves",null),(0,v.Z)(this,"setInitialValues",function(e,t){if(n.initialValues=e||{},t){var r,o=(0,Q.T)(e,n.store);null===(r=n.prevWithoutPreserves)||void 0===r||r.map(function(t){var n=t.key;o=(0,Q.Z)(o,n,(0,ei.Z)(e,n))}),n.prevWithoutPreserves=null,n.updateStore(o)}}),(0,v.Z)(this,"destroyForm",function(){var e=new ew;n.getFieldEntities(!0).forEach(function(t){n.isMergedPreserve(t.isPreserve())||e.set(t.getNamePath(),!0)}),n.prevWithoutPreserves=e}),(0,v.Z)(this,"getInitialValue",function(e){var t=(0,ei.Z)(n.initialValues,e);return e.length?(0,Q.T)(t):t}),(0,v.Z)(this,"setCallbacks",function(e){n.callbacks=e}),(0,v.Z)(this,"setValidateMessages",function(e){n.validateMessages=e}),(0,v.Z)(this,"setPreserve",function(e){n.preserve=e}),(0,v.Z)(this,"watchList",[]),(0,v.Z)(this,"registerWatch",function(e){return n.watchList.push(e),function(){n.watchList=n.watchList.filter(function(t){return t!==e})}}),(0,v.Z)(this,"notifyWatch",function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(n.watchList.length){var t=n.getFieldsValue(),r=n.getFieldsValue(!0);n.watchList.forEach(function(n){n(t,r,e)})}}),(0,v.Z)(this,"timeoutId",null),(0,v.Z)(this,"warningUnhooked",function(){}),(0,v.Z)(this,"updateStore",function(e){n.store=e}),(0,v.Z)(this,"getFieldEntities",function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return e?n.fieldEntities.filter(function(e){return e.getNamePath().length}):n.fieldEntities}),(0,v.Z)(this,"getFieldsMap",function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=new ew;return n.getFieldEntities(e).forEach(function(e){var n=e.getNamePath();t.set(n,e)}),t}),(0,v.Z)(this,"getFieldEntitiesForNamePathList",function(e){if(!e)return n.getFieldEntities(!0);var t=n.getFieldsMap(!0);return e.map(function(e){var n=ea(e);return t.get(n)||{INVALIDATE_NAME_PATH:ea(e)}})}),(0,v.Z)(this,"getFieldsValue",function(e,t){if(n.warningUnhooked(),!0===e||Array.isArray(e)?(r=e,o=t):e&&"object"===(0,eo.Z)(e)&&(i=e.strict,o=e.filter),!0===r&&!o)return n.store;var r,o,i,a=n.getFieldEntitiesForNamePathList(Array.isArray(r)?r:null),c=[];return a.forEach(function(e){var t,n,a,l="INVALIDATE_NAME_PATH"in e?e.INVALIDATE_NAME_PATH:e.getNamePath();if(i){if(null!==(a=e.isList)&&void 0!==a&&a.call(e))return}else if(!r&&null!==(t=(n=e).isListField)&&void 0!==t&&t.call(n))return;if(o){var u="getMeta"in e?e.getMeta():null;o(u)&&c.push(l)}else c.push(l)}),ec(n.store,c.map(ea))}),(0,v.Z)(this,"getFieldValue",function(e){n.warningUnhooked();var t=ea(e);return(0,ei.Z)(n.store,t)}),(0,v.Z)(this,"getFieldsError",function(e){return n.warningUnhooked(),n.getFieldEntitiesForNamePathList(e).map(function(t,n){return!t||"INVALIDATE_NAME_PATH"in t?{name:ea(e[n]),errors:[],warnings:[]}:{name:t.getNamePath(),errors:t.getErrors(),warnings:t.getWarnings()}})}),(0,v.Z)(this,"getFieldError",function(e){n.warningUnhooked();var t=ea(e);return n.getFieldsError([t])[0].errors}),(0,v.Z)(this,"getFieldWarning",function(e){n.warningUnhooked();var t=ea(e);return n.getFieldsError([t])[0].warnings}),(0,v.Z)(this,"isFieldsTouched",function(){n.warningUnhooked();for(var e,t=arguments.length,r=Array(t),o=0;o0&&void 0!==arguments[0]?arguments[0]:{},r=new ew,o=n.getFieldEntities(!0);o.forEach(function(e){var t=e.props.initialValue,n=e.getNamePath();if(void 0!==t){var o=r.get(n)||new Set;o.add({entity:e,value:t}),r.set(n,o)}}),t.entities?e=t.entities:t.namePathList?(e=[],t.namePathList.forEach(function(t){var n,o=r.get(t);o&&(n=e).push.apply(n,(0,s.Z)((0,s.Z)(o).map(function(e){return e.entity})))})):e=o,function(e){e.forEach(function(e){if(void 0!==e.props.initialValue){var o=e.getNamePath();if(void 0!==n.getInitialValue(o))(0,b.ZP)(!1,"Form already set 'initialValues' with path '".concat(o.join("."),"'. Field can not overwrite it."));else{var i=r.get(o);if(i&&i.size>1)(0,b.ZP)(!1,"Multiple Field with path '".concat(o.join("."),"' set 'initialValue'. Can not decide which one to pick."));else if(i){var a=n.getFieldValue(o);e.isListField()||t.skipExist&&void 0!==a||n.updateStore((0,Q.Z)(n.store,o,(0,s.Z)(i)[0].value))}}}})}(e)}),(0,v.Z)(this,"resetFields",function(e){n.warningUnhooked();var t=n.store;if(!e){n.updateStore((0,Q.T)(n.initialValues)),n.resetWithFieldInitialValue(),n.notifyObservers(t,null,{type:"reset"}),n.notifyWatch();return}var r=e.map(ea);r.forEach(function(e){var t=n.getInitialValue(e);n.updateStore((0,Q.Z)(n.store,e,t))}),n.resetWithFieldInitialValue({namePathList:r}),n.notifyObservers(t,r,{type:"reset"}),n.notifyWatch(r)}),(0,v.Z)(this,"setFields",function(e){n.warningUnhooked();var t=n.store,r=[];e.forEach(function(e){var o=e.name,i=(0,a.Z)(e,eE),c=ea(o);r.push(c),"value"in i&&n.updateStore((0,Q.Z)(n.store,c,i.value)),n.notifyObservers(t,[c],{type:"setField",data:e})}),n.notifyWatch(r)}),(0,v.Z)(this,"getFields",function(){return n.getFieldEntities(!0).map(function(e){var t=e.getNamePath(),r=e.getMeta(),o=(0,u.Z)((0,u.Z)({},r),{},{name:t,value:n.getFieldValue(t)});return Object.defineProperty(o,"originRCField",{value:!0}),o})}),(0,v.Z)(this,"initEntityValue",function(e){var t=e.props.initialValue;if(void 0!==t){var r=e.getNamePath();void 0===(0,ei.Z)(n.store,r)&&n.updateStore((0,Q.Z)(n.store,r,t))}}),(0,v.Z)(this,"isMergedPreserve",function(e){var t=void 0!==e?e:n.preserve;return null==t||t}),(0,v.Z)(this,"registerField",function(e){n.fieldEntities.push(e);var t=e.getNamePath();if(n.notifyWatch([t]),void 0!==e.props.initialValue){var r=n.store;n.resetWithFieldInitialValue({entities:[e],skipExist:!0}),n.notifyObservers(r,[e.getNamePath()],{type:"valueUpdate",source:"internal"})}return function(r,o){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if(n.fieldEntities=n.fieldEntities.filter(function(t){return t!==e}),!n.isMergedPreserve(o)&&(!r||i.length>1)){var a=r?void 0:n.getInitialValue(t);if(t.length&&n.getFieldValue(t)!==a&&n.fieldEntities.every(function(e){return!eu(e.getNamePath(),t)})){var c=n.store;n.updateStore((0,Q.Z)(c,t,a,!0)),n.notifyObservers(c,[t],{type:"remove"}),n.triggerDependenciesUpdate(c,t)}}n.notifyWatch([t])}}),(0,v.Z)(this,"dispatch",function(e){switch(e.type){case"updateValue":var t=e.namePath,r=e.value;n.updateValue(t,r);break;case"validateField":var o=e.namePath,i=e.triggerName;n.validateFields([o],{triggerName:i})}}),(0,v.Z)(this,"notifyObservers",function(e,t,r){if(n.subscribable){var o=(0,u.Z)((0,u.Z)({},r),{},{store:n.getFieldsValue(!0)});n.getFieldEntities().forEach(function(n){(0,n.onStoreChange)(e,t,o)})}else n.forceRootUpdate()}),(0,v.Z)(this,"triggerDependenciesUpdate",function(e,t){var r=n.getDependencyChildrenFields(t);return r.length&&n.validateFields(r),n.notifyObservers(e,r,{type:"dependenciesUpdate",relatedFields:[t].concat((0,s.Z)(r))}),r}),(0,v.Z)(this,"updateValue",function(e,t){var r=ea(e),o=n.store;n.updateStore((0,Q.Z)(n.store,r,t)),n.notifyObservers(o,[r],{type:"valueUpdate",source:"internal"}),n.notifyWatch([r]);var i=n.triggerDependenciesUpdate(o,r),a=n.callbacks.onValuesChange;a&&a(ec(n.store,[r]),n.getFieldsValue()),n.triggerOnFieldsChange([r].concat((0,s.Z)(i)))}),(0,v.Z)(this,"setFieldsValue",function(e){n.warningUnhooked();var t=n.store;if(e){var r=(0,Q.T)(n.store,e);n.updateStore(r)}n.notifyObservers(t,null,{type:"valueUpdate",source:"external"}),n.notifyWatch()}),(0,v.Z)(this,"setFieldValue",function(e,t){n.setFields([{name:e,value:t}])}),(0,v.Z)(this,"getDependencyChildrenFields",function(e){var t=new Set,r=[],o=new ew;return n.getFieldEntities().forEach(function(e){(e.props.dependencies||[]).forEach(function(t){var n=ea(t);o.update(n,function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Set;return t.add(e),t})})}),function e(n){(o.get(n)||new Set).forEach(function(n){if(!t.has(n)){t.add(n);var o=n.getNamePath();n.isFieldDirty()&&o.length&&(r.push(o),e(o))}})}(e),r}),(0,v.Z)(this,"triggerOnFieldsChange",function(e,t){var r=n.callbacks.onFieldsChange;if(r){var o=n.getFields();if(t){var i=new ew;t.forEach(function(e){var t=e.name,n=e.errors;i.set(t,n)}),o.forEach(function(e){e.errors=i.get(e.name)||e.errors})}var a=o.filter(function(t){return el(e,t.name)});a.length&&r(a,o)}}),(0,v.Z)(this,"validateFields",function(e,t){n.warningUnhooked(),Array.isArray(e)||"string"==typeof e||"string"==typeof t?(a=e,c=t):c=e;var r,o,i,a,c,l=!!a,f=l?a.map(ea):[],d=[],p=String(Date.now()),h=new Set,m=c||{},v=m.recursive,g=m.dirty;n.getFieldEntities(!0).forEach(function(e){if(l||f.push(e.getNamePath()),e.props.rules&&e.props.rules.length&&(!g||e.isFieldDirty())){var t=e.getNamePath();if(h.add(t.join(p)),!l||el(f,t,v)){var r=e.validateRules((0,u.Z)({validateMessages:(0,u.Z)((0,u.Z)({},Y),n.validateMessages)},c));d.push(r.then(function(){return{name:t,errors:[],warnings:[]}}).catch(function(e){var n,r=[],o=[];return(null===(n=e.forEach)||void 0===n||n.call(e,function(e){var t=e.rule.warningOnly,n=e.errors;t?o.push.apply(o,(0,s.Z)(n)):r.push.apply(r,(0,s.Z)(n))}),r.length)?Promise.reject({name:t,errors:r,warnings:o}):{name:t,errors:r,warnings:o}}))}}});var y=(r=!1,o=d.length,i=[],d.length?new Promise(function(e,t){d.forEach(function(n,a){n.catch(function(e){return r=!0,e}).then(function(n){o-=1,i[a]=n,o>0||(r&&t(i),e(i))})})}):Promise.resolve([]));n.lastValidatePromise=y,y.catch(function(e){return e}).then(function(e){var t=e.map(function(e){return e.name});n.notifyObservers(n.store,t,{type:"validateFinish"}),n.triggerOnFieldsChange(t,e)});var b=y.then(function(){return n.lastValidatePromise===y?Promise.resolve(n.getFieldsValue(f)):Promise.reject([])}).catch(function(e){var t=e.filter(function(e){return e&&e.errors.length});return Promise.reject({values:n.getFieldsValue(f),errorFields:t,outOfDate:n.lastValidatePromise!==y})});b.catch(function(e){return e});var x=f.filter(function(e){return h.has(e.join(p))});return n.triggerOnFieldsChange(x),b}),(0,v.Z)(this,"submit",function(){n.warningUnhooked(),n.validateFields().then(function(e){var t=n.callbacks.onFinish;if(t)try{t(e)}catch(e){console.error(e)}}).catch(function(e){var t=n.callbacks.onFinishFailed;t&&t(e)})}),this.forceRootUpdate=t}),eS=function(e){var t=o.useRef(),n=o.useState({}),r=(0,ey.Z)(n,2)[1];if(!t.current){if(e)t.current=e;else{var i=new eO(function(){r({})});t.current=i.getForm()}}return[t.current]},eC=o.createContext({triggerFormChange:function(){},triggerFormFinish:function(){},registerForm:function(){},unregisterForm:function(){}}),ek=function(e){var t=e.validateMessages,n=e.onFormChange,r=e.onFormFinish,i=e.children,a=o.useContext(eC),c=o.useRef({});return o.createElement(eC.Provider,{value:(0,u.Z)((0,u.Z)({},a),{},{validateMessages:(0,u.Z)((0,u.Z)({},a.validateMessages),t),triggerFormChange:function(e,t){n&&n(e,{changedFields:t,forms:c.current}),a.triggerFormChange(e,t)},triggerFormFinish:function(e,t){r&&r(e,{values:t,forms:c.current}),a.triggerFormFinish(e,t)},registerForm:function(e,t){e&&(c.current=(0,u.Z)((0,u.Z)({},c.current),{},(0,v.Z)({},e,t))),a.registerForm(e,t)},unregisterForm:function(e){var t=(0,u.Z)({},c.current);delete t[e],c.current=t,a.unregisterForm(e)}})},i)},ej=["name","initialValues","fields","form","preserve","children","component","validateMessages","validateTrigger","onValuesChange","onFieldsChange","onFinish","onFinishFailed"];function eP(e){try{return JSON.stringify(e)}catch(e){return Math.random()}}var eM=function(){},eA=function(){for(var e=arguments.length,t=Array(e),n=0;n1?t-1:0),o=1;oen;(0,u.useImperativeHandle)(t,function(){return{focus:V,blur:function(){var e;null===(e=q.current)||void 0===e||e.blur()},setSelectionRange:function(e,t,n){var r;null===(r=q.current)||void 0===r||r.setSelectionRange(e,t,n)},select:function(){var e;null===(e=q.current)||void 0===e||e.select()},input:q.current}}),(0,u.useEffect)(function(){H(function(e){return(!e||!C)&&e})},[C]);var ei=function(e,t,n){var r,o,i=t;if(!W.current&&et.exceedFormatter&&et.max&&et.strategy(t)>et.max)i=et.exceedFormatter(t,{max:et.max}),t!==i&&ee([(null===(r=q.current)||void 0===r?void 0:r.selectionStart)||0,(null===(o=q.current)||void 0===o?void 0:o.selectionEnd)||0]);else if("compositionEnd"===n.source)return;K(i),q.current&&(0,s.rJ)(q.current,e,c,i)};(0,u.useEffect)(function(){if(J){var e;null===(e=q.current)||void 0===e||e.setSelectionRange.apply(e,(0,d.Z)(J))}},[J]);var ea=eo&&"".concat(S,"-out-of-range");return u.createElement(f,(0,o.Z)({},B,{prefixCls:S,className:l()(j,ea),handleReset:function(e){K(""),V(),q.current&&(0,s.rJ)(q.current,e,c)},value:$,focused:F,triggerFocus:V,suffix:function(){var e=Number(en)>0;if(M||et.show){var t=et.showFormatter?et.showFormatter({value:$,count:er,maxLength:en}):"".concat(er).concat(e?" / ".concat(en):"");return u.createElement(u.Fragment,null,et.show&&u.createElement("span",{className:l()("".concat(S,"-show-count-suffix"),(0,i.Z)({},"".concat(S,"-show-count-has-suffix"),!!M),null==Z?void 0:Z.count),style:(0,r.Z)({},null==R?void 0:R.count)},t),M)}return null}(),disabled:C,classes:I,classNames:Z,styles:R}),(n=(0,v.Z)(e,["prefixCls","onPressEnter","addonBefore","addonAfter","prefix","suffix","allowClear","defaultValue","showCount","count","classes","htmlSize","styles","classNames"]),u.createElement("input",(0,o.Z)({autoComplete:a},n,{onChange:function(e){ei(e,e.target.value,{source:"change"})},onFocus:function(e){H(!0),null==b||b(e)},onBlur:function(e){H(!1),null==x||x(e)},onKeyDown:function(e){w&&"Enter"===e.key&&w(e),null==E||E(e)},className:l()(S,(0,i.Z)({},"".concat(S,"-disabled"),C),null==Z?void 0:Z.input),style:null==R?void 0:R.input,ref:q,size:k,type:void 0===N?"text":N,onCompositionStart:function(e){W.current=!0,null==_||_(e)},onCompositionEnd:function(e){W.current=!1,ei(e,e.currentTarget.value,{source:"compositionEnd"}),null==D||D(e)}}))))})},8002:function(e,t,n){function r(e){return!!(e.addonBefore||e.addonAfter)}function o(e){return!!(e.prefix||e.suffix||e.allowClear)}function i(e,t,n,r){if(n){var o=t;if("click"===t.type){var i=e.cloneNode(!0);o=Object.create(t,{target:{value:i},currentTarget:{value:i}}),i.value="",n(o);return}if("file"!==e.type&&void 0!==r){var a=e.cloneNode(!0);o=Object.create(t,{target:{value:a},currentTarget:{value:a}}),a.value=r,n(o);return}n(o)}}function a(e,t){if(e){e.focus(t);var n=(t||{}).cursor;if(n){var r=e.value.length;switch(n){case"start":e.setSelectionRange(0,0);break;case"end":e.setSelectionRange(r,r);break;default:e.setSelectionRange(0,r)}}}}n.d(t,{He:function(){return r},X3:function(){return o},nH:function(){return a},rJ:function(){return i}})},49367:function(e,t,n){n.d(t,{V4:function(){return es},zt:function(){return x},ZP:function(){return ef}});var r,o,i,a,c,l=n(50833),u=n(5239),s=n(80406),f=n(6976),d=n(16480),p=n.n(d),h=n(97472),m=n(74084),v=n(64090),g=n(6787),y=["children"],b=v.createContext({});function x(e){var t=e.children,n=(0,g.Z)(e,y);return v.createElement(b.Provider,{value:n},t)}var w=n(47365),E=n(65127),O=n(27478),S=n(85430),C=function(e){(0,O.Z)(n,e);var t=(0,S.Z)(n);function n(){return(0,w.Z)(this,n),t.apply(this,arguments)}return(0,E.Z)(n,[{key:"render",value:function(){return this.props.children}}]),n}(v.Component),k=n(89211),j="none",P="appear",M="enter",A="leave",T="none",N="prepare",I="start",Z="active",R="prepared",_=n(22127);function D(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit".concat(e)]="webkit".concat(t),n["Moz".concat(e)]="moz".concat(t),n["ms".concat(e)]="MS".concat(t),n["O".concat(e)]="o".concat(t.toLowerCase()),n}var B=(r=(0,_.Z)(),o=window,i={animationend:D("Animation","AnimationEnd"),transitionend:D("Transition","TransitionEnd")},!r||("AnimationEvent"in o||delete i.animationend.animation,"TransitionEvent"in o||delete i.transitionend.transition),i),L={};(0,_.Z)()&&(L=document.createElement("div").style);var z={};function F(e){if(z[e])return z[e];var t=B[e];if(t)for(var n=Object.keys(t),r=n.length,o=0;o0&&(clearTimeout(em.current),em.current=setTimeout(function(){ey({deadline:!0})},S))),ek===R&&eg(),!0},i=(0,k.Z)(T),c=(a=(0,s.Z)(i,2))[0],f=a[1],d=function(){var e=v.useRef(null);function t(){K.Z.cancel(e.current)}return v.useEffect(function(){return function(){t()}},[]),[function n(r){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;t();var i=(0,K.Z)(function(){o<=1?r({isCanceled:function(){return i!==e.current}}):n(r,o-1)});e.current=i},t]}(),h=(p=(0,s.Z)(d,2))[0],m=p[1],g=e?$:Y,G(function(){if(c!==T&&"end"!==c){var e=g.indexOf(c),t=g[e+1],n=o(c);!1===n?f(t,!0):t&&h(function(e){function r(){e.isCanceled()||f(t,!0)}!0===n?r():Promise.resolve(n).then(r)})}},[el,c]),v.useEffect(function(){return function(){m()}},[]),[function(){f(N,!0)},c]),eS=(0,s.Z)(eO,2),eC=eS[0],ek=eS[1],ej=Q(ek);ev.current=ej,G(function(){ei(t);var n,r=eh.current;eh.current=!0,!r&&t&&w&&(n=P),r&&t&&b&&(n=M),(r&&!t&&O||!r&&C&&!t&&O)&&(n=A);var o=ew(n);n&&(e||o[N])?(eu(n),eC()):eu(j)},[t]),(0,v.useEffect)(function(){(el!==P||w)&&(el!==M||b)&&(el!==A||O)||eu(j)},[w,b,O]),(0,v.useEffect)(function(){return function(){eh.current=!1,clearTimeout(em.current)}},[]);var eP=v.useRef(!1);(0,v.useEffect)(function(){eo&&(eP.current=!0),void 0!==eo&&el===j&&((eP.current||eo)&&(null==et||et(eo)),eP.current=!0)},[eo,el]);var eM=ed;return eE[N]&&ek===I&&(eM=(0,u.Z)({transition:"none"},eM)),[el,ek,eM,null!=eo?eo:t]}(w,r,function(){try{return E.current instanceof HTMLElement?E.current:(0,h.Z)(O.current)}catch(e){return null}},e),_=(0,s.Z)(S,4),D=_[0],B=_[1],L=_[2],z=_[3],F=v.useRef(z);z&&(F.current=!0);var H=v.useCallback(function(e){E.current=e,(0,m.mH)(t,e)},[t]),W=(0,u.Z)((0,u.Z)({},y),{},{visible:r});if(f){if(D===j)q=z?f((0,u.Z)({},W),H):!i&&F.current&&g?f((0,u.Z)((0,u.Z)({},W),{},{className:g}),H):!c&&(i||g)?null:f((0,u.Z)((0,u.Z)({},W),{},{style:{display:"none"}}),H);else{B===N?ee="prepare":Q(B)?ee="active":B===I&&(ee="start");var q,J,ee,et=X(d,"".concat(D,"-").concat(ee));q=f((0,u.Z)((0,u.Z)({},W),{},{className:p()(X(d,D),(J={},(0,l.Z)(J,et,et&&ee),(0,l.Z)(J,d,"string"==typeof d),J)),style:L}),H)}}else q=null;return v.isValidElement(q)&&(0,m.Yr)(q)&&!q.ref&&(q=v.cloneElement(q,{ref:H})),v.createElement(C,{ref:O},q)})).displayName="CSSMotion",c),ee=n(14749),et=n(34951),en="keep",er="remove",eo="removed";function ei(e){var t;return t=e&&"object"===(0,f.Z)(e)&&"key"in e?e:{key:e},(0,u.Z)((0,u.Z)({},t),{},{key:String(t.key)})}function ea(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.map(ei)}var ec=["component","children","onVisibleChanged","onAllRemoved"],el=["status"],eu=["eventProps","visible","children","motionName","motionAppear","motionEnter","motionLeave","motionLeaveImmediately","motionDeadline","removeOnLeave","leavedClassName","onAppearPrepare","onAppearStart","onAppearActive","onAppearEnd","onEnterStart","onEnterActive","onEnterEnd","onLeaveStart","onLeaveActive","onLeaveEnd"],es=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:J,n=function(e){(0,O.Z)(r,e);var n=(0,S.Z)(r);function r(){var e;(0,w.Z)(this,r);for(var t=arguments.length,o=Array(t),i=0;i0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=[],r=0,o=t.length,i=ea(e),a=ea(t);i.forEach(function(e){for(var t=!1,i=r;i1}).forEach(function(e){(n=n.filter(function(t){var n=t.key,r=t.status;return n!==e||r!==er})).forEach(function(t){t.key===e&&(t.status=en)})}),n})(r,ea(n)).filter(function(e){var t=r.find(function(t){var n=t.key;return e.key===n});return!t||t.status!==eo||e.status!==er})}}}]),r}(v.Component);return(0,l.Z)(n,"defaultProps",{component:"div"}),n}(q),ef=J},54739:function(e,t,n){n.d(t,{Z:function(){return M}});var r=n(14749),o=n(5239),i=n(80406),a=n(6787),c=n(64090),l=n(16480),u=n.n(l),s=n(46505),f=n(24800),d=["prefixCls","invalidate","item","renderItem","responsive","responsiveDisabled","registerSize","itemKey","className","style","children","display","order","component"],p=void 0,h=c.forwardRef(function(e,t){var n,i=e.prefixCls,l=e.invalidate,f=e.item,h=e.renderItem,m=e.responsive,v=e.responsiveDisabled,g=e.registerSize,y=e.itemKey,b=e.className,x=e.style,w=e.children,E=e.display,O=e.order,S=e.component,C=(0,a.Z)(e,d),k=m&&!E;c.useEffect(function(){return function(){g(y,null)}},[]);var j=h&&f!==p?h(f):w;l||(n={opacity:k?0:1,height:k?0:p,overflowY:k?"hidden":p,order:m?O:p,pointerEvents:k?"none":p,position:k?"absolute":p});var P={};k&&(P["aria-hidden"]=!0);var M=c.createElement(void 0===S?"div":S,(0,r.Z)({className:u()(!l&&i,b),style:(0,o.Z)((0,o.Z)({},n),x)},P,C,{ref:t}),j);return m&&(M=c.createElement(s.Z,{onResize:function(e){g(y,e.offsetWidth)},disabled:v},M)),M});h.displayName="Item";var m=n(54811),v=n(89542),g=n(19223);function y(e,t){var n=c.useState(t),r=(0,i.Z)(n,2),o=r[0],a=r[1];return[o,(0,m.Z)(function(t){e(function(){a(t)})})]}var b=c.createContext(null),x=["component"],w=["className"],E=["className"],O=c.forwardRef(function(e,t){var n=c.useContext(b);if(!n){var o=e.component,i=(0,a.Z)(e,x);return c.createElement(void 0===o?"div":o,(0,r.Z)({},i,{ref:t}))}var l=n.className,s=(0,a.Z)(n,w),f=e.className,d=(0,a.Z)(e,E);return c.createElement(b.Provider,{value:null},c.createElement(h,(0,r.Z)({ref:t,className:u()(l,f)},s,d)))});O.displayName="RawItem";var S=["prefixCls","data","renderItem","renderRawItem","itemKey","itemWidth","ssr","style","className","maxCount","renderRest","renderRawRest","suffix","component","itemComponent","onVisibleChange"],C="responsive",k="invalidate";function j(e){return"+ ".concat(e.length," ...")}var P=c.forwardRef(function(e,t){var n,l,d=e.prefixCls,p=void 0===d?"rc-overflow":d,m=e.data,x=void 0===m?[]:m,w=e.renderItem,E=e.renderRawItem,O=e.itemKey,P=e.itemWidth,M=void 0===P?10:P,A=e.ssr,T=e.style,N=e.className,I=e.maxCount,Z=e.renderRest,R=e.renderRawRest,_=e.suffix,D=e.component,B=e.itemComponent,L=e.onVisibleChange,z=(0,a.Z)(e,S),F="full"===A,H=(n=c.useRef(null),function(e){n.current||(n.current=[],function(e){if("undefined"==typeof MessageChannel)(0,g.Z)(e);else{var t=new MessageChannel;t.port1.onmessage=function(){return e()},t.port2.postMessage(void 0)}}(function(){(0,v.unstable_batchedUpdates)(function(){n.current.forEach(function(e){e()}),n.current=null})})),n.current.push(e)}),W=y(H,null),q=(0,i.Z)(W,2),V=q[0],U=q[1],X=V||0,G=y(H,new Map),K=(0,i.Z)(G,2),$=K[0],Y=K[1],Q=y(H,0),J=(0,i.Z)(Q,2),ee=J[0],et=J[1],en=y(H,0),er=(0,i.Z)(en,2),eo=er[0],ei=er[1],ea=y(H,0),ec=(0,i.Z)(ea,2),el=ec[0],eu=ec[1],es=(0,c.useState)(null),ef=(0,i.Z)(es,2),ed=ef[0],ep=ef[1],eh=(0,c.useState)(null),em=(0,i.Z)(eh,2),ev=em[0],eg=em[1],ey=c.useMemo(function(){return null===ev&&F?Number.MAX_SAFE_INTEGER:ev||0},[ev,V]),eb=(0,c.useState)(!1),ex=(0,i.Z)(eb,2),ew=ex[0],eE=ex[1],eO="".concat(p,"-item"),eS=Math.max(ee,eo),eC=I===C,ek=x.length&&eC,ej=I===k,eP=ek||"number"==typeof I&&x.length>I,eM=(0,c.useMemo)(function(){var e=x;return ek?e=null===V&&F?x:x.slice(0,Math.min(x.length,X/M)):"number"==typeof I&&(e=x.slice(0,I)),e},[x,M,V,I,ek]),eA=(0,c.useMemo)(function(){return ek?x.slice(ey+1):x.slice(eM.length)},[x,eM,ek,ey]),eT=(0,c.useCallback)(function(e,t){var n;return"function"==typeof O?O(e):null!==(n=O&&(null==e?void 0:e[O]))&&void 0!==n?n:t},[O]),eN=(0,c.useCallback)(w||function(e){return e},[w]);function eI(e,t,n){(ev!==e||void 0!==t&&t!==ed)&&(eg(e),n||(eE(eX){eI(r-1,e-o-el+eo);break}}_&&eR(0)+el>X&&ep(null)}},[X,$,eo,el,eT,eM]);var e_=ew&&!!eA.length,eD={};null!==ed&&ek&&(eD={position:"absolute",left:ed,top:0});var eB={prefixCls:eO,responsive:ek,component:B,invalidate:ej},eL=E?function(e,t){var n=eT(e,t);return c.createElement(b.Provider,{key:n,value:(0,o.Z)((0,o.Z)({},eB),{},{order:t,item:e,itemKey:n,registerSize:eZ,display:t<=ey})},E(e,t))}:function(e,t){var n=eT(e,t);return c.createElement(h,(0,r.Z)({},eB,{order:t,key:n,item:e,renderItem:eN,itemKey:n,registerSize:eZ,display:t<=ey}))},ez={order:e_?ey:Number.MAX_SAFE_INTEGER,className:"".concat(eO,"-rest"),registerSize:function(e,t){ei(t),et(eo)},display:e_};if(R)R&&(l=c.createElement(b.Provider,{value:(0,o.Z)((0,o.Z)({},eB),ez)},R(eA)));else{var eF=Z||j;l=c.createElement(h,(0,r.Z)({},eB,ez),"function"==typeof eF?eF(eA):eF)}var eH=c.createElement(void 0===D?"div":D,(0,r.Z)({className:u()(!ej&&p,N),style:T,ref:t},z),eM.map(eL),eP?l:null,_&&c.createElement(h,(0,r.Z)({},eB,{responsive:eC,responsiveDisabled:!ek,order:ey,className:"".concat(eO,"-suffix"),registerSize:function(e,t){eu(t)},display:!0,style:eD}),_));return eC&&(eH=c.createElement(s.Z,{onResize:function(e,t){U(t.clientWidth)},disabled:!ek},eH)),eH});P.displayName="Overflow",P.Item=O,P.RESPONSIVE=C,P.INVALIDATE=k;var M=P},46505:function(e,t,n){n.d(t,{Z:function(){return z}});var r=n(14749),o=n(64090),i=n(33054);n(53850);var a=n(5239),c=n(6976),l=n(97472),u=n(74084),s=o.createContext(null),f=function(){if("undefined"!=typeof Map)return Map;function e(e,t){var n=-1;return e.some(function(e,r){return e[0]===t&&(n=r,!0)}),n}return function(){function t(){this.__entries__=[]}return Object.defineProperty(t.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),t.prototype.get=function(t){var n=e(this.__entries__,t),r=this.__entries__[n];return r&&r[1]},t.prototype.set=function(t,n){var r=e(this.__entries__,t);~r?this.__entries__[r][1]=n:this.__entries__.push([t,n])},t.prototype.delete=function(t){var n=this.__entries__,r=e(n,t);~r&&n.splice(r,1)},t.prototype.has=function(t){return!!~e(this.__entries__,t)},t.prototype.clear=function(){this.__entries__.splice(0)},t.prototype.forEach=function(e,t){void 0===t&&(t=null);for(var n=0,r=this.__entries__;n0},e.prototype.connect_=function(){d&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),v?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},e.prototype.disconnect_=function(){d&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},e.prototype.onTransitionEnd_=function(e){var t=e.propertyName,n=void 0===t?"":t;m.some(function(e){return!!~n.indexOf(e)})&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=new e),this.instance_},e.instance_=null,e}(),y=function(e,t){for(var n=0,r=Object.keys(t);n0},e}(),P="undefined"!=typeof WeakMap?new WeakMap:new f,M=function e(t){if(!(this instanceof e))throw TypeError("Cannot call a class as a function.");if(!arguments.length)throw TypeError("1 argument required, but only 0 present.");var n=new j(t,g.getInstance(),this);P.set(this,n)};["observe","unobserve","disconnect"].forEach(function(e){M.prototype[e]=function(){var t;return(t=P.get(this))[e].apply(t,arguments)}});var A=void 0!==p.ResizeObserver?p.ResizeObserver:M,T=new Map,N=new A(function(e){e.forEach(function(e){var t,n=e.target;null===(t=T.get(n))||void 0===t||t.forEach(function(e){return e(n)})})}),I=n(47365),Z=n(65127),R=n(27478),_=n(85430),D=function(e){(0,R.Z)(n,e);var t=(0,_.Z)(n);function n(){return(0,I.Z)(this,n),t.apply(this,arguments)}return(0,Z.Z)(n,[{key:"render",value:function(){return this.props.children}}]),n}(o.Component),B=o.forwardRef(function(e,t){var n=e.children,r=e.disabled,i=o.useRef(null),f=o.useRef(null),d=o.useContext(s),p="function"==typeof n,h=p?n(i):n,m=o.useRef({width:-1,height:-1,offsetWidth:-1,offsetHeight:-1}),v=!p&&o.isValidElement(h)&&(0,u.Yr)(h),g=v?h.ref:null,y=(0,u.x1)(g,i),b=function(){var e;return(0,l.Z)(i.current)||(i.current&&"object"===(0,c.Z)(i.current)?(0,l.Z)(null===(e=i.current)||void 0===e?void 0:e.nativeElement):null)||(0,l.Z)(f.current)};o.useImperativeHandle(t,function(){return b()});var x=o.useRef(e);x.current=e;var w=o.useCallback(function(e){var t=x.current,n=t.onResize,r=t.data,o=e.getBoundingClientRect(),i=o.width,c=o.height,l=e.offsetWidth,u=e.offsetHeight,s=Math.floor(i),f=Math.floor(c);if(m.current.width!==s||m.current.height!==f||m.current.offsetWidth!==l||m.current.offsetHeight!==u){var p={width:s,height:f,offsetWidth:l,offsetHeight:u};m.current=p;var h=(0,a.Z)((0,a.Z)({},p),{},{offsetWidth:l===Math.round(i)?i:l,offsetHeight:u===Math.round(c)?c:u});null==d||d(h,e,r),n&&Promise.resolve().then(function(){n(h,e)})}},[]);return o.useEffect(function(){var e=b();return e&&!r&&(T.has(e)||(T.set(e,new Set),N.observe(e)),T.get(e).add(w)),function(){T.has(e)&&(T.get(e).delete(w),T.get(e).size||(N.unobserve(e),T.delete(e)))}},[i.current,r]),o.createElement(D,{ref:f},v?o.cloneElement(h,{ref:y}):h)}),L=o.forwardRef(function(e,t){var n=e.children;return("function"==typeof n?[n]:(0,i.Z)(n)).map(function(n,i){var a=(null==n?void 0:n.key)||"".concat("rc-observer-key","-").concat(i);return o.createElement(B,(0,r.Z)({},e,{key:a,ref:0===i?t:void 0}),n)})});L.Collection=function(e){var t=e.children,n=e.onBatchResize,r=o.useRef(0),i=o.useRef([]),a=o.useContext(s),c=o.useCallback(function(e,t,o){r.current+=1;var c=r.current;i.current.push({size:e,element:t,data:o}),Promise.resolve().then(function(){c===r.current&&(null==n||n(i.current),i.current=[])}),null==a||a(e,t,o)},[n,a]);return o.createElement(s.Provider,{value:c},t)};var z=L},33054:function(e,t,n){n.d(t,{Z:function(){return function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=[];return r.Children.forEach(t,function(t){(null!=t||n.keepEmpty)&&(Array.isArray(t)?i=i.concat(e(t)):(0,o.isFragment)(t)&&t.props?i=i.concat(e(t.props.children,n)):i.push(t))}),i}}});var r=n(64090),o=n(24185)},22127:function(e,t,n){n.d(t,{Z:function(){return r}});function r(){return!!window.document&&!!window.document.createElement}},31506:function(e,t,n){n.d(t,{Z:function(){return r}});function r(e,t){if(!e)return!1;if(e.contains)return e.contains(t);for(var n=t;n;){if(n===e)return!0;n=n.parentNode}return!1}},24050:function(e,t,n){n.d(t,{hq:function(){return h},jL:function(){return p}});var r=n(22127),o=n(31506),i="data-rc-order",a="data-rc-priority",c=new Map;function l(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.mark;return t?t.startsWith("data-")?t:"data-".concat(t):"rc-util-key"}function u(e){return e.attachTo?e.attachTo:document.querySelector("head")||document.body}function s(e){return Array.from((c.get(e)||e).children).filter(function(e){return"STYLE"===e.tagName})}function f(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(0,r.Z)())return null;var n=t.csp,o=t.prepend,c=t.priority,l=void 0===c?0:c,f="queue"===o?"prependQueue":o?"prepend":"append",d="prependQueue"===f,p=document.createElement("style");p.setAttribute(i,f),d&&l&&p.setAttribute(a,"".concat(l)),null!=n&&n.nonce&&(p.nonce=null==n?void 0:n.nonce),p.innerHTML=e;var h=u(t),m=h.firstChild;if(o){if(d){var v=s(h).filter(function(e){return!!["prepend","prependQueue"].includes(e.getAttribute(i))&&l>=Number(e.getAttribute(a)||0)});if(v.length)return h.insertBefore(p,v[v.length-1].nextSibling),p}h.insertBefore(p,m)}else h.appendChild(p);return p}function d(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return s(u(t)).find(function(n){return n.getAttribute(l(t))===e})}function p(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=d(e,t);n&&u(t).removeChild(n)}function h(e,t){var n,r,i,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!function(e,t){var n=c.get(e);if(!n||!(0,o.Z)(document,n)){var r=f("",t),i=r.parentNode;c.set(e,i),e.removeChild(r)}}(u(a),a);var s=d(t,a);if(s)return null!==(n=a.csp)&&void 0!==n&&n.nonce&&s.nonce!==(null===(r=a.csp)||void 0===r?void 0:r.nonce)&&(s.nonce=null===(i=a.csp)||void 0===i?void 0:i.nonce),s.innerHTML!==e&&(s.innerHTML=e),s;var p=f(e,a);return p.setAttribute(l(a),t),p}},97472:function(e,t,n){n.d(t,{S:function(){return i},Z:function(){return a}});var r=n(64090),o=n(89542);function i(e){return e instanceof HTMLElement||e instanceof SVGElement}function a(e){return i(e)?e:e instanceof r.Component?o.findDOMNode(e):null}},73193:function(e,t,n){n.d(t,{Z:function(){return r}});function r(e){if(!e)return!1;if(e instanceof Element){if(e.offsetParent)return!0;if(e.getBBox){var t=e.getBBox(),n=t.width,r=t.height;if(n||r)return!0}if(e.getBoundingClientRect){var o=e.getBoundingClientRect(),i=o.width,a=o.height;if(i||a)return!0}}return!1}},74687:function(e,t,n){function r(e){var t;return null==e||null===(t=e.getRootNode)||void 0===t?void 0:t.call(e)}function o(e){return r(e) instanceof ShadowRoot?r(e):null}n.d(t,{A:function(){return o}})},4295:function(e,t){var n={MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,QUESTION_MARK:63,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,PERIOD:190,SLASH:191,APOSTROPHE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,WIN_IME:229,isTextModifyingKeyEvent:function(e){var t=e.keyCode;if(e.altKey&&!e.ctrlKey||e.metaKey||t>=n.F1&&t<=n.F12)return!1;switch(t){case n.ALT:case n.CAPS_LOCK:case n.CONTEXT_MENU:case n.CTRL:case n.DOWN:case n.END:case n.ESC:case n.HOME:case n.INSERT:case n.LEFT:case n.MAC_FF_META:case n.META:case n.NUMLOCK:case n.NUM_CENTER:case n.PAGE_DOWN:case n.PAGE_UP:case n.PAUSE:case n.PRINT_SCREEN:case n.RIGHT:case n.SHIFT:case n.UP:case n.WIN_KEY:case n.WIN_KEY_RIGHT:return!1;default:return!0}},isCharacterKey:function(e){if(e>=n.ZERO&&e<=n.NINE||e>=n.NUM_ZERO&&e<=n.NUM_MULTIPLY||e>=n.A&&e<=n.Z||-1!==window.navigator.userAgent.indexOf("WebKit")&&0===e)return!0;switch(e){case n.SPACE:case n.QUESTION_MARK:case n.NUM_PLUS:case n.NUM_MINUS:case n.NUM_PERIOD:case n.NUM_DIVISION:case n.SEMICOLON:case n.DASH:case n.EQUALS:case n.COMMA:case n.PERIOD:case n.SLASH:case n.APOSTROPHE:case n.SINGLE_QUOTE:case n.OPEN_SQUARE_BRACKET:case n.BACKSLASH:case n.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}};t.Z=n},37274:function(e,t,n){n.d(t,{s:function(){return v},v:function(){return y}});var r,o,i=n(86926),a=n(74902),c=n(6976),l=n(5239),u=n(89542),s=(0,l.Z)({},r||(r=n.t(u,2))),f=s.version,d=s.render,p=s.unmountComponentAtNode;try{Number((f||"").split(".")[0])>=18&&(o=s.createRoot)}catch(e){}function h(e){var t=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;t&&"object"===(0,c.Z)(t)&&(t.usingClientEntryPoint=e)}var m="__rc_react_root__";function v(e,t){if(o){var n;h(!0),n=t[m]||o(t),h(!1),n.render(e),t[m]=n;return}d(e,t)}function g(){return(g=(0,a.Z)((0,i.Z)().mark(function e(t){return(0,i.Z)().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Promise.resolve().then(function(){var e;null===(e=t[m])||void 0===e||e.unmount(),delete t[m]}));case 1:case"end":return e.stop()}},e)}))).apply(this,arguments)}function y(e){return b.apply(this,arguments)}function b(){return(b=(0,a.Z)((0,i.Z)().mark(function e(t){return(0,i.Z)().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!(void 0!==o)){e.next=2;break}return e.abrupt("return",function(e){return g.apply(this,arguments)}(t));case 2:p(t);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}},54811:function(e,t,n){n.d(t,{Z:function(){return o}});var r=n(64090);function o(e){var t=r.useRef();return t.current=e,r.useCallback(function(){for(var e,n=arguments.length,r=Array(n),o=0;o2&&void 0!==arguments[2]&&arguments[2],i=new Set;return function e(t,a){var c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,l=i.has(t);if((0,o.ZP)(!l,"Warning: There may be circular references"),l)return!1;if(t===a)return!0;if(n&&c>1)return!1;i.add(t);var u=c+1;if(Array.isArray(t)){if(!Array.isArray(a)||t.length!==a.length)return!1;for(var s=0;s